mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 02:42:02 +00:00
bugfix for variable unmarking in the sat solver.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
parent
2b627b0821
commit
ff265c6c6c
1 changed files with 4 additions and 2 deletions
|
@ -1290,13 +1290,13 @@ namespace sat {
|
||||||
bool solver::resolve_conflict() {
|
bool solver::resolve_conflict() {
|
||||||
while (true) {
|
while (true) {
|
||||||
bool r = resolve_conflict_core();
|
bool r = resolve_conflict_core();
|
||||||
|
CASSERT("sat_check_marks", check_marks());
|
||||||
// after pop, clauses are reinitialized, this may trigger another conflict.
|
// after pop, clauses are reinitialized, this may trigger another conflict.
|
||||||
if (!r)
|
if (!r)
|
||||||
return false;
|
return false;
|
||||||
if (!inconsistent())
|
if (!inconsistent())
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
CASSERT("sat_check_marks", check_marks());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool solver::resolve_conflict_core() {
|
bool solver::resolve_conflict_core() {
|
||||||
|
@ -1399,6 +1399,8 @@ namespace sat {
|
||||||
dyn_sub_res();
|
dyn_sub_res();
|
||||||
TRACE("sat_lemma", tout << "new lemma (after minimization) size: " << m_lemma.size() << "\n" << m_lemma << "\n";);
|
TRACE("sat_lemma", tout << "new lemma (after minimization) size: " << m_lemma.size() << "\n" << m_lemma << "\n";);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
reset_lemma_var_marks();
|
||||||
|
|
||||||
literal_vector::iterator it = m_lemma.begin();
|
literal_vector::iterator it = m_lemma.begin();
|
||||||
literal_vector::iterator end = m_lemma.end();
|
literal_vector::iterator end = m_lemma.end();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue