3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

create simplifier_solver wrapper to supply simplifier layer

move sat_smt_preprocess to solver
fix bugs in model_reconstruction_trail for dependency replay

This is a preparatory step for exposing pre-processing as tactics.
This commit is contained in:
Nikolaj Bjorner 2023-01-30 16:12:25 -08:00
parent 304b316314
commit dd0decfe5d
11 changed files with 474 additions and 248 deletions

View file

@ -70,7 +70,7 @@ class model_reconstruction_trail {
return true;
if (m_subst) {
for (auto const& [k, v] : m_subst->sub())
if (free_vars.is_marked(k))
if (free_vars.is_marked(to_app(k)->get_decl()))
return true;
}
return false;
@ -88,8 +88,10 @@ class model_reconstruction_trail {
void add_vars(expr* e, ast_mark& free_vars) {
for (expr* t : subterms::all(expr_ref(e, m)))
if (is_app(t))
if (is_app(t) && is_uninterp(t)) {
TRACE("simplifier", tout << "add var " << to_app(t)->get_decl()->get_name() << "\n");
free_vars.mark(to_app(t)->get_decl(), true);
}
}
void add_vars(dependent_expr const& d, ast_mark& free_vars) {