3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-12-10 18:37:30 -08:00
parent f2a7bcaf5d
commit 092c25d596
10 changed files with 62 additions and 20 deletions

View file

@ -468,6 +468,10 @@ expr_ref model::operator()(expr* t) {
return m_mev(t);
}
void model::set_solver(expr_solver* s) {
m_mev.set_solver(s);
}
expr_ref_vector model::operator()(expr_ref_vector const& ts) {
expr_ref_vector rs(m);
for (expr* t : ts) rs.push_back((*this)(t));

View file

@ -95,6 +95,7 @@ public:
bool is_false(expr* t);
bool is_true(expr_ref_vector const& ts);
void reset_eval_cache();
void set_solver(expr_solver* solver);
class scoped_model_completion {
bool m_old_completion;

View file

@ -627,3 +627,7 @@ bool model_evaluator::eval(expr_ref_vector const& ts, expr_ref& r, bool model_co
tmp = mk_and(ts);
return eval(tmp, r, model_completion);
}
void model_evaluator::set_solver(expr_solver* solver) {
m_imp->m_cfg.m_seq_rw.set_solver(solver);
}

View file

@ -25,6 +25,7 @@ Revision History:
class model;
class model_core;
class expr_solver;
typedef rewriter_exception model_evaluator_exception;
@ -55,6 +56,8 @@ public:
bool is_false(expr * t);
bool is_true(expr_ref_vector const& ts);
void set_solver(expr_solver* solver);
/**
* best effort evaluator of extensional array equality.
*/