mirror of
https://github.com/Z3Prover/z3
synced 2025-08-07 11:41:22 +00:00
parent
9f6a0a0a48
commit
c613ab0ba0
6 changed files with 18 additions and 13 deletions
|
@ -68,11 +68,12 @@ public:
|
|||
proof_ref new_pr1(m), new_pr2(m);
|
||||
for (unsigned idx = 0; !g->inconsistent() && idx < g->size(); idx++) {
|
||||
rw1(g->form(idx), new_f1, new_pr1);
|
||||
TRACE("card2bv", tout << "Rewriting " << mk_ismt2_pp(new_f1.get(), m) << std::endl;);
|
||||
TRACE("card2bv", tout << "Rewriting " << new_f1 << "\n" << new_pr1 << std::endl;);
|
||||
rw2(false, new_f1, new_f2, new_pr2);
|
||||
TRACE("card2bv", tout << "Rewriting " << new_f2 << "\n" << new_pr2 << std::endl;);
|
||||
if (m.proofs_enabled()) {
|
||||
new_pr1 = m.mk_modus_ponens(g->pr(idx), new_pr1);
|
||||
new_pr1 = m.mk_modus_ponens(new_pr1, new_pr2);
|
||||
new_pr1 = m.mk_transitivity(new_pr1, new_pr2);
|
||||
new_pr1 = m.mk_modus_ponens(g->pr(idx), new_pr1);
|
||||
}
|
||||
g->update(idx, new_f2, new_pr1, g->dep(idx));
|
||||
}
|
||||
|
|
|
@ -195,15 +195,21 @@ public:
|
|||
TRACE("pb", tout << "add bound " << mk_pp(x, m) << "\n";);
|
||||
}
|
||||
}
|
||||
for (unsigned i = 0; i < g->size(); i++) {
|
||||
for (unsigned i = 0; !g->inconsistent() && i < g->size(); i++) {
|
||||
checkpoint();
|
||||
|
||||
expr_ref new_curr(m), tmp(m);
|
||||
proof_ref new_pr(m);
|
||||
proof_ref pr1(m), pr2(m), new_pr(m);
|
||||
rep(g->form(i), tmp);
|
||||
if (g->form(i) != tmp && m.proofs_enabled()) {
|
||||
pr1 = m.mk_rewrite(g->form(i), tmp);
|
||||
}
|
||||
m_rw(tmp, new_curr, new_pr);
|
||||
if (m.proofs_enabled() && !new_pr) {
|
||||
new_pr = m.mk_rewrite(g->form(i), new_curr);
|
||||
if (m.proofs_enabled() && tmp != new_curr) {
|
||||
pr2 = m.mk_rewrite(tmp, new_curr);
|
||||
}
|
||||
if (m.proofs_enabled()) {
|
||||
new_pr = m.mk_transitivity(pr1, pr2);
|
||||
new_pr = m.mk_modus_ponens(g->pr(i), new_pr);
|
||||
}
|
||||
// IF_VERBOSE(0, verbose_stream() << mk_pp(g->form(i), m) << "\n--->\n" << new_curr << "\n";);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue