mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
parent
d002423133
commit
f06deca7e0
1 changed files with 7 additions and 1 deletions
|
@ -523,6 +523,7 @@ struct ctx_simplify_tactic::imp {
|
|||
void process_goal(goal & g) {
|
||||
SASSERT(scope_level() == 0);
|
||||
// go forwards
|
||||
expr_ref_vector pinned(m);
|
||||
unsigned old_lvl = scope_level();
|
||||
unsigned sz = g.size();
|
||||
expr_ref r(m);
|
||||
|
@ -532,6 +533,7 @@ struct ctx_simplify_tactic::imp {
|
|||
if (i < sz - 1 && !m.is_true(r) && !m.is_false(r) && !g.dep(i) && !assert_expr(r, false)) {
|
||||
r = m.mk_false();
|
||||
}
|
||||
pinned.push_back(r);
|
||||
g.update(i, r, nullptr, g.dep(i));
|
||||
}
|
||||
pop(scope_level() - old_lvl);
|
||||
|
@ -570,12 +572,16 @@ struct ctx_simplify_tactic::imp {
|
|||
|
||||
void operator()(goal & g) {
|
||||
m_occs.reset();
|
||||
expr_ref_vector pinned(m);
|
||||
m_occs(g);
|
||||
unsigned sz = g.size();
|
||||
for (unsigned i = 0; i < sz; ++i) {
|
||||
pinned.push_back(g.form(i));
|
||||
}
|
||||
m_num_steps = 0;
|
||||
tactic_report report("ctx-simplify", g);
|
||||
if (g.proofs_enabled()) {
|
||||
expr_ref r(m);
|
||||
unsigned sz = g.size();
|
||||
for (unsigned i = 0; !g.inconsistent() && i < sz; ++i) {
|
||||
expr * t = g.form(i);
|
||||
process(t, r);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue