mirror of
https://github.com/Z3Prover/z3
synced 2025-04-10 03:07:07 +00:00
add dependencies lost in case of an empty intersection
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
4621767968
commit
c5e08f0444
|
@ -350,6 +350,7 @@ bool intervals::interval_of_sum(const nex_sum& e, scoped_dep_interval& a, const
|
|||
if(! interval_of_sum_no_term<wd>(e, a, f)) {
|
||||
return false;
|
||||
}
|
||||
TRACE("nla_intervals_details", tout << "a = "; display(tout, a););
|
||||
if (e.is_a_linear_term()) {
|
||||
SASSERT(e.is_sum() && e.size() > 1);
|
||||
scoped_dep_interval i_from_term(get_dep_intervals());
|
||||
|
@ -363,6 +364,8 @@ bool intervals::interval_of_sum(const nex_sum& e, scoped_dep_interval& a, const
|
|||
T expl;
|
||||
get_dep_intervals().linearize(r.m_upper_dep, expl);
|
||||
get_dep_intervals().linearize(r.m_lower_dep, expl);
|
||||
get_dep_intervals().linearize(a.get().m_upper_dep, expl);
|
||||
get_dep_intervals().linearize(a.get().m_lower_dep, expl);
|
||||
f(expl);
|
||||
} else {
|
||||
// need to recalculate the interval with dependencies
|
||||
|
@ -372,7 +375,6 @@ bool intervals::interval_of_sum(const nex_sum& e, scoped_dep_interval& a, const
|
|||
return false;
|
||||
}
|
||||
m_dep_intervals.set<wd>(a, r);
|
||||
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue