3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-31 08:23:17 +00:00

Fix dependency tracking for viable_fallback

now takes into account explanations for overlapping variables
This commit is contained in:
Jakob Rath 2023-12-01 15:45:23 +01:00
parent 555ac49023
commit e1d23642bc
5 changed files with 33 additions and 90 deletions

View file

@ -288,13 +288,15 @@ namespace polysat {
SASSERT(!empty());
}
void conflict::init_by_viable_fallback(pvar v, univariate_solver& us) {
void conflict::init_viable_fallback_begin(pvar v) {
LOG("Conflict: viable_fallback v" << v);
SASSERT(empty());
SASSERT(!s.is_assigned(v));
m_level = s.m_level;
logger().begin_conflict(header_with_var("viable_fallback v", v));
VERIFY(s.m_viable.resolve_fallback(v, us, *this));
}
void conflict::init_viable_fallback_end(pvar v) {
SASSERT(!empty());
revert_pvar(v); // at this point, v is not assigned
}