3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-06 07:15:47 +00:00

refactor forbidden intervals

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-11-09 10:34:11 -08:00
parent 57c40e480b
commit d0c8240560
6 changed files with 209 additions and 191 deletions

View file

@ -33,7 +33,7 @@ namespace polysat {
for (auto c1 : core) {
if (!c1->is_ule())
continue;
if (c1.is_currently_true(s))
if (!c1.is_currently_false(s))
continue;
auto c = c1.as_inequality();
if (try_ugt_x(v, core, c))
@ -287,11 +287,11 @@ namespace polysat {
return false;
if (!is_non_overflow(x, y))
return false;
if (!c.is_strict && s.get_value(v).is_zero())
if (!xy_l_xz.is_strict && s.get_value(v).is_zero())
return false;
m_new_constraints.reset();
if (!c.is_strict)
if (!xy_l_xz.is_strict)
m_new_constraints.push_back(~s.eq(x));
push_omega(x, y);
return propagate(core, xy_l_xz, xy_l_xz, xy_l_xz.is_strict, y, z);