3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 11:55:51 +00:00

use var equivalence when evaluating the interval over an expression

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-08-21 14:35:21 -07:00
parent 81a9edae7e
commit 108bfa55ad
6 changed files with 40 additions and 10 deletions

View file

@ -147,6 +147,7 @@ public:
private:
void set_var_interval(lpvar v, interval & b) const;
ci_dependency* mk_dep(lp::constraint_index ci) const;
ci_dependency* mk_dep(lp::explanation const &) const;
lp::lar_solver& ls();
const lp::lar_solver& ls() const;
public:
@ -300,6 +301,7 @@ public:
bool lower_is_inf(const interval& a) const { return m_config.lower_is_inf(a); }
void set_var_interval_with_deps(lpvar, interval &) const;
void set_zero_interval_deps_for_mult(interval&);
void set_zero_interval_with_explanation(interval& , const lp::explanation& exp) const;
bool is_inf(const interval& i) const { return m_config.is_inf(i); }
bool check_interval_for_conflict_on_zero(const interval & i);
bool check_interval_for_conflict_on_zero_lower(const interval & i);