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:
parent
c6cd35508b
commit
46147c2fc3
1 changed files with 6 additions and 7 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue