3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 08:35:31 +00:00

fix unsound merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2024-01-13 17:47:20 -08:00
parent aed48e9f9b
commit 3f369ae962
3 changed files with 2 additions and 3 deletions

View file

@ -171,7 +171,7 @@ namespace euf {
if (is_extract(p, lo, hi)) {
auto val_p = mod2k(machine_div2k(val_x, lo), hi - lo + 1);
push_merge(p, mk_value(val_p, width(p)));
push_merge(bv.mk_extract(x->get_interpreted(), lo, hi), mk_value(val_p, width(p)));
}
}

View file

@ -804,7 +804,7 @@ namespace polysat {
return find_t::multiple;
}
else {
IF_VERBOSE(0, display_one(verbose_stream() << "full: ", v, ne) << "\n");
// IF_VERBOSE(0, display_one(verbose_stream() << "full: ", v, ne) << "\n");
SASSERT(hi < lo);
ne->interval = eval_interval::full();
ne->coeff = 1;

View file

@ -515,7 +515,6 @@ namespace polysat {
pdd b = expr2pdd(y);
auto& m = a.manager();
unsigned sz = m.power_of_2();
verbose_stream() << "quot-rem " << a << " " << b << "\n";
if (b.is_zero()) {
// By SMT-LIB specification, b = 0 ==> q = -1, r = a.
internalize_set(quot, m.mk_val(m.max_value()));