3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-05 17:47:41 +00:00

add propagation rule for strict inequality to force univariate polynomials

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-12-06 04:56:42 -08:00
parent 317edb2b03
commit ef811a3dd8
2 changed files with 11 additions and 0 deletions

View file

@ -200,6 +200,15 @@ namespace polysat {
}
s.m_viable.intersect(p, q, sc);
if (first && !is_positive) {
if (!p.is_val())
// -1 > q
s.add_clause(~sc, s.ult(q, -1), false);
if (!q.is_val())
// p > 0
s.add_clause(~sc, s.ult(0, q), false);
}
}
// Evaluate lhs <= rhs