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

add case for exclude 0

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2024-01-10 17:19:10 -08:00
parent 17f4e8033f
commit 86de8bd5b1
2 changed files with 12 additions and 5 deletions

View file

@ -746,11 +746,18 @@ namespace polysat {
if (new_lo == new_hi) {
IF_VERBOSE(0, verbose_stream() << "Check: always true " << "x*" << ne->coeff << " not in " << ne->interval << " " << new_hi << "\n");
// empty
if (lo < hi) {
m_alloc.push_back(ne);
return find_t::multiple;
}
else {
SASSERT(hi < lo);
// exclude 0
IF_VERBOSE(0, display_one(verbose_stream() << "Exclude 0: ", v, ne) << "\n");
SASSERT(new_lo == 0);
new_hi = 1;
}
}
ne->coeff = 1;
ne->interval = eval_interval::proper(pdd_lo, new_lo, pdd_hi, new_hi);