3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-01-25 03:24:01 +00:00

resolve_bool should work normally also in bailout mode

This commit is contained in:
Jakob Rath 2021-09-07 11:35:38 +02:00
parent 15c094fa32
commit eed79df481
3 changed files with 16 additions and 14 deletions

View file

@ -83,7 +83,6 @@ namespace polysat {
// clause: x \/ u \/ v
// resolvent: ~y \/ ~z \/ u \/ v; as core: y, z, ~u, ~v
SASSERT(!is_bailout());
SASSERT(var != sat::null_bool_var);
DEBUG_CODE({
bool core_has_pos = std::count_if(begin(), end(), [var](auto c){ return c.blit() == sat::literal(var); }) > 0;
@ -110,6 +109,7 @@ namespace polysat {
}
clause_ref conflict_core::build_lemma() {
LOG_H3("build lemma from core");
sat::literal_vector literals;
p_dependency_ref dep = m_solver->mk_dep_ref(null_dependency);
unsigned lvl = 0;
@ -120,6 +120,7 @@ namespace polysat {
if (!c->has_bvar()) {
// temporary constraint -> keep it
cm().ensure_bvar(c.get());
LOG("new constraint: " << c);
// Insert the temporary constraint from saturation into \Gamma.
auto it = m_saturation_premises.find_iterator(c);
if (it != m_saturation_premises.end()) {