mirror of
https://github.com/Z3Prover/z3
synced 2026-04-30 23:53:44 +00:00
fix #8105
This commit is contained in:
parent
d0add7e3d8
commit
8b683787d4
2 changed files with 7 additions and 1 deletions
|
|
@ -566,6 +566,8 @@ struct ctx_simplify_tactic::imp {
|
||||||
}
|
}
|
||||||
|
|
||||||
void operator()(goal & g) {
|
void operator()(goal & g) {
|
||||||
|
if (g.inconsistent())
|
||||||
|
return;
|
||||||
m_occs.reset();
|
m_occs.reset();
|
||||||
m_occs(g);
|
m_occs(g);
|
||||||
m_num_steps = 0;
|
m_num_steps = 0;
|
||||||
|
|
@ -578,6 +580,8 @@ struct ctx_simplify_tactic::imp {
|
||||||
proof_ref new_pr(m.mk_rewrite(t, r), m);
|
proof_ref new_pr(m.mk_rewrite(t, r), m);
|
||||||
new_pr = m.mk_modus_ponens(pr, new_pr);
|
new_pr = m.mk_modus_ponens(pr, new_pr);
|
||||||
g.update(idx++, r, new_pr, dep);
|
g.update(idx++, r, new_pr, dep);
|
||||||
|
if (g.inconsistent())
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,9 @@ public:
|
||||||
|
|
||||||
expr * form(unsigned i) const { return inconsistent() ? m().mk_false() : m().get(m_forms, i); }
|
expr * form(unsigned i) const { return inconsistent() ? m().mk_false() : m().get(m_forms, i); }
|
||||||
proof * pr(unsigned i) const { return m().size(m_proofs) > i ? static_cast<proof*>(m().get(m_proofs, i)) : nullptr; }
|
proof * pr(unsigned i) const { return m().size(m_proofs) > i ? static_cast<proof*>(m().get(m_proofs, i)) : nullptr; }
|
||||||
expr_dependency * dep(unsigned i) const { return unsat_core_enabled() ? m().get(m_dependencies, i) : nullptr; }
|
expr_dependency *dep(unsigned i) const {
|
||||||
|
return unsat_core_enabled() && i < m().size(m_dependencies) ? m().get(m_dependencies, i) : nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void update(unsigned i, expr * f, proof * pr = nullptr, expr_dependency * dep = nullptr);
|
void update(unsigned i, expr * f, proof * pr = nullptr, expr_dependency * dep = nullptr);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue