3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 19:47:52 +00:00

delay (lazy) process equalities.

This commit is contained in:
Nikolaj Bjorner 2021-03-17 15:34:04 -07:00
parent ddbcd08d46
commit 156139622c
3 changed files with 49 additions and 20 deletions

View file

@ -969,6 +969,9 @@ namespace arith {
TRACE("arith", ctx.display(tout););
if (!check_delayed_eqs())
return sat::check_result::CR_CONTINUE;
switch (check_lia()) {
case l_true:
break;
@ -1064,6 +1067,19 @@ namespace arith {
}
}
bool solver::check_delayed_eqs() {
for (auto p : m_delayed_eqs) {
auto const& e = p.first;
if (p.second)
new_eq_eh(e);
else if (is_eq(e.v1(), e.v2())) {
mk_diseq_axiom(e);
return false;
}
}
return true;
}
lbool solver::check_lia() {
TRACE("arith", );
if (!m.inc())