mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
adding consequence examples
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
82d0310d94
commit
2263be1b4d
3 changed files with 26 additions and 1 deletions
|
@ -1723,6 +1723,11 @@ namespace z3 {
|
|||
return to_check_result(r);
|
||||
}
|
||||
model get_model() const { Z3_model m = Z3_solver_get_model(ctx(), m_solver); check_error(); return model(ctx(), m); }
|
||||
check_result consequences(expr_vector& assumptions, expr_vector& vars, expr_vector& conseq) {
|
||||
Z3_lbool r = Z3_solver_get_consequences(ctx(), m_solver, assumptions, vars, conseq);
|
||||
check_error();
|
||||
return to_check_result(r);
|
||||
}
|
||||
std::string reason_unknown() const { Z3_string r = Z3_solver_get_reason_unknown(ctx(), m_solver); check_error(); return r; }
|
||||
stats statistics() const { Z3_stats r = Z3_solver_get_statistics(ctx(), m_solver); check_error(); return stats(ctx(), r); }
|
||||
expr_vector unsat_core() const { Z3_ast_vector r = Z3_solver_get_unsat_core(ctx(), m_solver); check_error(); return expr_vector(ctx(), r); }
|
||||
|
|
|
@ -25,7 +25,8 @@ namespace smt {
|
|||
expr_ref_vector premises(m_manager);
|
||||
uint_set::iterator it = vars.begin(), end = vars.end();
|
||||
for (; it != end; ++it) {
|
||||
premises.push_back(bool_var2expr(*it));
|
||||
expr* e = bool_var2expr(*it);
|
||||
premises.push_back(get_assignment(*it) != l_false ? e : m_manager.mk_not(e));
|
||||
}
|
||||
return mk_and(premises);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue