3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 03:27:52 +00:00

updates to handle bugs exposed by qf-abv for local search

- ctx.is_true(e) - changed to work with expressions that are not literals, but come from top-level assertions
- set fixed in sls_bv_fixed to work with non-zero low order bits
- array plugin to deal with cases where e-graph is inconsistent after a merge.
This commit is contained in:
Nikolaj Bjorner 2025-01-27 10:35:29 -08:00
parent 7ffed8613a
commit b6e7b80704
5 changed files with 92 additions and 38 deletions

View file

@ -413,10 +413,8 @@ namespace sls {
if (j > 0 && k > 0) {
for (unsigned i = 0; i < std::min(k, j); ++i) {
SASSERT(!v.get_bit(i));
v.set_fixed_bit(i, false);
}
for (unsigned i = 0; i < std::min(k, j); ++i)
v.set_fixed_bit(i, v.get_bit(i));
}
// lower zj + jk bits are 0
if (zk > 0 || zj > 0) {