3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-01 00:43:18 +00:00

flip args to match description

This commit is contained in:
Jakob Rath 2023-01-05 16:41:54 +01:00
parent 55a50ea461
commit ffa12eb37c
2 changed files with 8 additions and 10 deletions

View file

@ -1704,15 +1704,13 @@ namespace polysat {
vector<signed_constraint> bounds; vector<signed_constraint> bounds;
rational x_min, x_max; rational x_min, x_max;
if (!s.m_viable.has_max_forbidden(x, a_l_b.as_signed_constraint(), x_min, x_max, bounds)) if (!s.m_viable.has_max_forbidden(x, a_l_b.as_signed_constraint(), x_max, x_min, bounds))
return false; return false;
VERIFY(x_min != x_max); // retrieved maximal forbidden interval [x_max, x_min[.
// [x_min, x_max[ is allowed interval. // [x_min, x_max[ is the allowed interval.
// compute [x_min, x_max - 1] // compute [x_min, x_max - 1]
VERIFY(x_min != x_max);
// From forbidden interval [x_min, x_max[ compute
// allowed range: [x_max, x_min - 1]
SASSERT(0 <= x_min && x_min <= m.max_value()); SASSERT(0 <= x_min && x_min <= m.max_value());
SASSERT(0 <= x_max && x_max <= m.max_value()); SASSERT(0 <= x_max && x_max <= m.max_value());
rational M = m.two_to_N(); rational M = m.two_to_N();

View file

@ -758,14 +758,14 @@ namespace polysat {
} }
if (e == e0) { if (e == e0) {
out_hi = n->interval.lo_val(); out_lo = n->interval.lo_val();
if (!n->interval.lo().is_val()) if (!n->interval.lo().is_val())
out_c.push_back(s.eq(n->interval.lo(), out_hi)); out_c.push_back(s.eq(n->interval.lo(), out_lo));
} }
else if (n == e0) { else if (n == e0) {
out_lo = e->interval.hi_val(); out_hi = e->interval.hi_val();
if (!e->interval.hi().is_val()) if (!e->interval.hi().is_val())
out_c.push_back(s.eq(e->interval.hi(), out_lo)); out_c.push_back(s.eq(e->interval.hi(), out_hi));
} }
else if (!e->interval.is_full()) { else if (!e->interval.is_full()) {
auto const& hi = e->interval.hi(); auto const& hi = e->interval.hi();