A Z3-based implementation of AbstractSolver. Encapsulates a z3::solver and a z3::context.
More...
|
|
| Z3Solver (bool isIncremental=true, std::optional< std::istream * > inOpt=std::nullopt) |
| |
|
void | asrt (const Constraint *assertion) |
| | Inserts an assertion into the topmost solver context.
|
| |
|
void | asrt (const z3::expr &assert) |
| | Adds a Z3 assertion to the solver context.
|
| |
| std::optional< bool > | checkSat () |
| |
|
std::optional< bool > | checkSat (const std::vector< const Constraint * > &asserts) override |
| |
| std::optional< bool > | checkSat (const z3::expr_vector &asserts) |
| |
| void | clearMemory () |
| |
|
void | comment (cstring comment) override |
| |
| safe_vector< const Constraint * > | getAssertions () const |
| |
|
const SymbolicMapping & | getSymbolicMapping () const override |
| |
|
const z3::context & | getZ3Ctx () const |
| | Get the actual Z3 context that this class uses.
|
| |
|
const z3::solver & | getZ3Solver () const |
| | Get the actual Z3 solver backing this class.
|
| |
|
bool | isInIncrementalMode () const override |
| |
|
void | pop () |
| | Removes the last solver context.
|
| |
|
void | push () |
| | Pushes new (empty) solver context.
|
| |
| void | reset () |
| |
|
void | seed (unsigned seed) override |
| |
|
void | timeout (unsigned tm) override |
| |
|
void | toJSON (JSONGenerator &) const override |
| |
A Z3-based implementation of AbstractSolver. Encapsulates a z3::solver and a z3::context.