3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-22 11:07:51 +00:00

Add monomials container to keep track of non-linear multipliers

Refine constraints to include an unfolded version of them where multiplier definitions are expanded.
This commit is contained in:
Nikolaj Bjorner 2023-12-30 14:14:12 -08:00
parent 78f32401ac
commit f328ddf88e
12 changed files with 587 additions and 115 deletions

View file

@ -35,7 +35,7 @@ namespace polysat {
saturation::saturation(core& c) : c(c), C(c.cs()) {}
bool saturation::resolve(pvar v, constraint_id id) {
if (c.eval(id) == l_true)
if (c.eval_unfold(id) == l_true)
return false;
auto sc = c.get_constraint(id);
if (!sc.vars().contains(v))