3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-27 02:45:51 +00:00

Re-integrate forbidden intervals

This commit is contained in:
Jakob Rath 2021-09-08 16:51:16 +02:00
parent a0570908fb
commit 75bac21574
4 changed files with 11 additions and 15 deletions

View file

@ -516,20 +516,6 @@ namespace polysat {
/** Conflict resolution case where propagation 'v := ...' is on top of the stack */
void solver::resolve_value(pvar v) {
// SASSERT(m_justification[v].is_propagation()); // doesn't hold if we enter because of conflict_var
// Conceptually:
// - Value Resolution
// - Variable Elimination
// - if VE isn't possible, try to derive new constraints using core saturation
// m_conflict.set_var(v);
// TODO:
// 1. try "perfect" rules if any match, e.g., poly superposition allows us to eliminate variable immediately if it works
// 2. if none match, then apply any saturation rules that do
// 3. following saturation, check if we can apply other variable elimination
// 4. fallback lemma if we have to (collect decisions)
if (m_conflict.is_bailout()) {
for (auto c : m_cjust[v])
m_conflict.insert(c);