3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-03 21:09:11 +00:00

re-organize proof and model converters to be associated with goals instead of external

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-18 16:33:54 -08:00
parent 00f5308a0e
commit 4bbece6616
118 changed files with 617 additions and 1070 deletions

View file

@ -202,10 +202,9 @@ namespace pdr {
void pred_transformer::simplify_formulas(tactic& tac, expr_ref_vector& v) {
goal_ref g(alloc(goal, m, false, false, false));
for (unsigned j = 0; j < v.size(); ++j) g->assert_expr(v[j].get());
model_converter_ref mc;
expr_dependency_ref core(m);
goal_ref_buffer result;
tac(g, result, mc, core);
tac(g, result, core);
SASSERT(result.size() == 1);
goal* r = result[0];
v.reset();
@ -390,7 +389,7 @@ namespace pdr {
md->register_decl(m_head, fi);
}
model_converter_ref mc = ctx.get_model_converter();
apply(mc, md, 0);
apply(mc, md);
if (p_orig->get_arity() == 0) {
result = md->get_const_interp(p_orig);
}

View file

@ -520,11 +520,10 @@ namespace pdr {
g->assert_expr(lemmas[i].get());
}
expr_ref tmp(m);
model_converter_ref mc;
expr_dependency_ref core(m);
goal_ref_buffer result;
tactic_ref simplifier = mk_arith_bounds_tactic(m);
(*simplifier)(g, result, mc, core);
(*simplifier)(g, result, core);
lemmas.reset();
SASSERT(result.size() == 1);
goal* r = result[0];

View file

@ -107,7 +107,7 @@ namespace pdr {
}
}
TRACE("pdr", model_smt2_pp(tout, m, *md, 0););
apply(const_cast<model_converter_ref&>(m_mc), md, 0);
apply(const_cast<model_converter_ref&>(m_mc), md);
}
expr_ref inductive_property::to_expr() const {