3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

fix a bug in unit nl prop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2023-10-10 07:32:07 -07:00
parent adbee0cd3f
commit 180ab727e7
2 changed files with 41 additions and 23 deletions

View file

@ -24,6 +24,7 @@ namespace nla {
bool propagate_value(dep_interval& range, lpvar v, unsigned power);
void compute_product(unsigned start, monic const& m, scoped_dep_interval& i);
bool propagate(monic const& m);
void propagate_fixed_to_zero(monic const& m, lpvar fixed_to_zero);
void propagate_fixed(monic const& m, rational const& k);
void propagate_nonfixed(monic const& m, rational const& k, lpvar w);
u_dependency* explain_fixed(monic const& m, rational const& k);
@ -35,8 +36,8 @@ namespace nla {
// monomial propagation
void unit_propagate(monic & m);
bool is_linear(monic const& m);
rational fixed_var_product(monic const& m);
bool is_linear(monic const& m, lpvar& w, lpvar & fixed_to_zero);
rational fixed_var_product(monic const& m, lpvar w);
lpvar non_fixed_var(monic const& m);
public:
monomial_bounds(core* core);