3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 11:37:54 +00:00

... and backtracking for bits

This commit is contained in:
Clemens Eisenhofer 2022-12-25 12:23:49 +01:00
parent 173fb9c2bd
commit 674e309fa3
4 changed files with 159 additions and 71 deletions

View file

@ -600,6 +600,7 @@ namespace polysat {
}
}
#endif
m_fixed_bits.push();
if (can_bdecide())
bdecide();
else
@ -822,6 +823,7 @@ namespace polysat {
continue;
}
if (j.is_decision()) {
m_fixed_bits.pop();
m_conflict.revert_pvar(v);
revert_decision(v);
return;
@ -850,6 +852,7 @@ namespace polysat {
}
SASSERT(!m_bvars.is_assumption(var)); // TODO: "assumption" is basically "propagated by unit clause" (or "at base level"); except we do not explicitly store the unit clause.
if (m_bvars.is_decision(var)) {
m_fixed_bits.pop();
revert_bool_decision(lit);
return;
}