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

resume conflict

This commit is contained in:
Jakob Rath 2023-03-17 14:35:15 +01:00
parent cdd2dbcc41
commit 89aaf4b1a6

View file

@ -1516,9 +1516,14 @@ namespace polysat {
void solver::report_unsat() {
// NOTE: backjump may destroy dependencies of the conflict (e.g., lose boolean propagations).
// so we reset the conflict, backjump, then propagate to restore the conflicts
clause_ref confl = m_conflict.build_lemma();
LOG("confl: " << show_deref(confl));
m_conflict.reset();
backjump(base_level());
propagate_clause(*confl);
propagate();
if (!is_conflict())
add_clause(confl);
VERIFY(!m_conflict.empty());
}