| Home | • | Docs | • | Download | • | • | FAQ | • | Awards | • | Status | • | MSR |
|---|
An Efficient SMT Solver
Z3 checks whether a set of formulas is satisfiable in the built-in theories. When, the set of formulas is existential (i.e., it does not contain universal quantifiers), then Z3 is in fact a decision procedure: it is always guaranteed (modulo bugs and memory limits) to return a correct answer. When a set of formulas F is satisfiable, Z3 can produce a model for F. Models are particularly useful in software verification, because they can be easily translated into execution traces. If a set of formulas contains universal quantifiers, then the model produced by Z3 should be viewed as a potential model, since Z3 is incomplete in this case.
Z3 can be used as a command-line executable, or a library. In the current version, we provide APIs for: C, .NET, and OCaml.
Last modified Tue Jul 8 06:37:27 2008