3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 11:37:54 +00:00

overflow example works

- introduce weak/strong eval to temper unit propagation to use only weak evaluation.
- harness the amount of interval propagation provided on overflow constraints
- weak evaluation on overflow constraints is now trivialized
- viable insertion also does conflict detection
This commit is contained in:
Nikolaj Bjorner 2024-01-04 15:55:24 -08:00
parent 5fc208cefc
commit cb672c7992
14 changed files with 122 additions and 76 deletions

View file

@ -68,7 +68,11 @@ namespace polysat {
return eval(p(), q());
}
lbool umul_ovfl_constraint::eval(assignment const& a) const {
lbool umul_ovfl_constraint::weak_eval(assignment const& a) const {
return eval();
}
lbool umul_ovfl_constraint::strong_eval(assignment const& a) const {
return eval(a.apply_to(p()), a.apply_to(q()));
}