3
0
Fork 0
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:
Jakob Rath 2021-06-23 19:12:39 +02:00 committed by GitHub
parent dec37aee34
commit 20a5baeb70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 249 additions and 159 deletions

View file

@ -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 };
}
}
}