mirror of
https://github.com/Z3Prover/z3
synced 2025-05-12 02:04:43 +00:00
Polysat: expand conflict explanation rules (#5366)
* update example to match slides * Add normalized view of inequalities * workaround * Add a conflict explanation rule * unit clauses should be asserted at the base level * Add src constraint to interval * support non-strict case in first rule * print conflict constraints only once * update second rule * update third rule as well
This commit is contained in:
parent
dec37aee34
commit
20a5baeb70
10 changed files with 249 additions and 159 deletions
|
@ -288,4 +288,12 @@ namespace polysat {
|
|||
return true;
|
||||
}
|
||||
|
||||
inequality ule_constraint::as_inequality() const {
|
||||
SASSERT(!is_undef());
|
||||
if (is_positive()) {
|
||||
return { .lhs = lhs(), .rhs = rhs(), .is_strict = false, .src = this };
|
||||
} else {
|
||||
return { .lhs = rhs(), .rhs = lhs(), .is_strict = true, .src = this };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue