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:
parent
173fb9c2bd
commit
674e309fa3
4 changed files with 159 additions and 71 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue