mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 14:13:23 +00:00
This commit is contained in:
parent
cd56d55e34
commit
ea93345b75
1 changed files with 7 additions and 7 deletions
|
@ -3655,17 +3655,17 @@ namespace sat {
|
||||||
clause_wrapper cw = m_clauses_to_reinit[i];
|
clause_wrapper cw = m_clauses_to_reinit[i];
|
||||||
bool reinit = false;
|
bool reinit = false;
|
||||||
if (cw.is_binary()) {
|
if (cw.is_binary()) {
|
||||||
if (propagate_bin_clause(cw[0], cw[1]) && !at_base_lvl())
|
if (propagate_bin_clause(cw[0], cw[1]) && !at_base_lvl())
|
||||||
m_clauses_to_reinit[j++] = cw;
|
m_clauses_to_reinit[j++] = cw;
|
||||||
else if (has_variables_to_reinit(cw[0], cw[1]))
|
else if (has_variables_to_reinit(cw[0], cw[1]) && !at_base_lvl())
|
||||||
m_clauses_to_reinit[j++] = cw;
|
m_clauses_to_reinit[j++] = cw;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
clause & c = *(cw.get_clause());
|
clause & c = *(cw.get_clause());
|
||||||
if (ENABLE_TERNARY && c.size() == 3) {
|
if (ENABLE_TERNARY && c.size() == 3) {
|
||||||
if (!at_base_lvl() && propagate_ter_clause(c))
|
if (propagate_ter_clause(c) && !at_base_lvl())
|
||||||
m_clauses_to_reinit[j++] = cw;
|
m_clauses_to_reinit[j++] = cw;
|
||||||
else if (has_variables_to_reinit(c))
|
else if (has_variables_to_reinit(c) && !at_base_lvl())
|
||||||
m_clauses_to_reinit[j++] = cw;
|
m_clauses_to_reinit[j++] = cw;
|
||||||
else
|
else
|
||||||
c.set_reinit_stack(false);
|
c.set_reinit_stack(false);
|
||||||
|
@ -3673,13 +3673,13 @@ namespace sat {
|
||||||
}
|
}
|
||||||
detach_clause(c);
|
detach_clause(c);
|
||||||
attach_clause(c, reinit);
|
attach_clause(c, reinit);
|
||||||
if (!at_base_lvl() && reinit)
|
if (reinit && !at_base_lvl())
|
||||||
// clause propagated literal, must keep it in the reinit stack.
|
// clause propagated literal, must keep it in the reinit stack.
|
||||||
m_clauses_to_reinit[j++] = cw;
|
m_clauses_to_reinit[j++] = cw;
|
||||||
else if (has_variables_to_reinit(c))
|
else if (has_variables_to_reinit(c) && !at_base_lvl())
|
||||||
m_clauses_to_reinit[j++] = cw;
|
m_clauses_to_reinit[j++] = cw;
|
||||||
else
|
else
|
||||||
c.set_reinit_stack(false);
|
c.set_reinit_stack(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_clauses_to_reinit.shrink(j);
|
m_clauses_to_reinit.shrink(j);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue