3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-26 18:45:33 +00:00

Nikolaj's changes related to dependencies on infinite interval bounds

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-07-30 10:48:24 -07:00
parent 1915812f84
commit ccc9a77a1f
3 changed files with 10 additions and 34 deletions

View file

@ -4,31 +4,6 @@
#include "util/mpq.h"
namespace nla {
void intervals::test_inf() {
interval a; // [1, inf)
m_config.set_lower(a, rational(1));
m_config.set_lower_is_open(a, false);
m_config.set_upper_is_inf(a, true);
a.m_lower_dep = mk_dep(1);
interval b; // [-1,-1]
m_config.set_lower(b, rational(-1));
m_config.set_lower_is_open(b, false);
m_config.set_upper(b, rational(-1));
m_config.set_upper_is_open(b, false);
b.m_lower_dep = mk_dep(2);
b.m_upper_dep = mk_dep(4);
interval_deps_combine_rule comb_rule;
interval c;
mul(a, b, c, comb_rule);
TRACE("nla_horner_test", tout << "c before combine_deps() "; display(tout, c););
combine_deps(a, b, comb_rule, c);
SASSERT(lower_is_inf(c));
SASSERT(!dep_in_upper1(comb_rule.m_lower_combine));
}
void intervals::set_var_interval_with_deps(lpvar v, interval& b) {
lp::constraint_index ci;
rational val;