3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 15:55:46 +00:00

add assertion back for failing unit test, add comment about what is the bug

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-01-23 11:30:26 +01:00
parent 5e1ad37533
commit 5e7ff769b4
2 changed files with 9 additions and 3 deletions

View file

@ -76,8 +76,12 @@ namespace polysat {
// Ensure that c is assigned and justified
premises.push_back(c1);
premises.push_back(c2);
// var dependency on c is lost
// c evaluates to false, when the clause ~c1 or ~c2 or c
// gets created, c is assigned to false by evaluation propagation
// It should have been assigned true by unit propagation.
core.replace(c2, c, premises);
// SASSERT_EQ(l_true, c.bvalue(s)); // TODO: currently violated, check this!
SASSERT_EQ(l_true, c.bvalue(s)); // TODO: currently violated, check this!
SASSERT(c.is_currently_false(s));
break;
default:
@ -88,6 +92,7 @@ namespace polysat {
// c alone (+ variables) is now enough to represent the conflict.
core.reset();
core.set(c);
std::cout << "set c\n";
return c->contains_var(v) ? l_undef : l_true;
}
return l_false;