3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

fix #3115 fix #3116 regressions from #3111 etc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-03-02 16:38:33 -08:00
parent c4d168205a
commit 8b720a0d66
8 changed files with 34 additions and 11 deletions

View file

@ -35,7 +35,7 @@ public:
tactic_report report("ackermannize_bv", *g);
fail_if_unsat_core_generation("ackermannize", g);
fail_if_proof_generation("ackermannize", g);
TRACE("ackermannize", g->display(tout << "in\n"););
TRACE("goal", g->display(tout << "in\n"););
ptr_vector<expr> flas;
const unsigned sz = g->size();
@ -58,7 +58,7 @@ public:
}
resg->inc_depth();
TRACE("ackermannize", resg->display(tout << "out\n"););
TRACE("goal", resg->display(tout << "out\n"););
SASSERT(resg->is_well_sorted());
}

View file

@ -30,7 +30,8 @@ public:
info(info),
abstr_model(abstr_model),
fixed_model(true)
{ }
{
}
ackr_model_converter(ast_manager & m,
const ackr_info_ref& info)
@ -44,6 +45,7 @@ public:
void get_units(obj_map<expr, bool>& units) override { units.reset(); }
void operator()(model_ref & md) override {
TRACE("ackermannize", tout << (fixed_model? "fixed" : "nonfixed") << "\n";);
SASSERT(!fixed_model || md.get() == 0 || (!md->get_num_constants() && !md->get_num_functions()));
model_ref& old_model = fixed_model ? abstr_model : md;
SASSERT(old_model.get());
@ -100,6 +102,7 @@ void ackr_model_converter::convert_constants(model * source, model * destination
func_decl * const c = source->get_constant(i);
app * const term = info->find_term(c);
expr * value = source->get_const_interp(c);
TRACE("ackermannize", tout << mk_ismt2_pp(c, m) << " " << term << "\n";);
if (!term) {
destination->register_decl(c, value);
}