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

Fix unsoundness in ule_constraint lemma

This commit is contained in:
Jakob Rath 2023-01-23 13:59:00 +01:00
parent c6cd35508b
commit 46147c2fc3

View file

@ -240,14 +240,13 @@ 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, p), false);
if (first && !is_positive && !lhs().is_val() && !rhs().is_val()) {
// lhs > rhs ==> -1 > rhs
s.add_clause(~sc, s.ult(rhs(), -1), false);
// lhs > rhs ==> lhs > 0
s.add_clause(~sc, s.ult(0, lhs()), false);
}
#if 0
propagate_bits(s, is_positive);
#endif