3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-02 13:27:01 +00:00

Add support for bailout lemma

This commit is contained in:
Jakob Rath 2021-09-08 16:37:47 +02:00
parent f2c79b851f
commit a0570908fb
5 changed files with 28 additions and 21 deletions

View file

@ -14,6 +14,7 @@ Author:
#pragma once
#include "math/polysat/constraint.h"
#include "math/polysat/clause_builder.h"
#include <optional>
namespace polysat {
@ -38,6 +39,7 @@ namespace polysat {
/** Whether we are in a bailout state. We enter a bailout state when we give up on proper conflict resolution. */
bool m_bailout = false;
std::optional<clause_builder> m_bailout_lemma;
solver* m_solver = nullptr;
constraint_manager& cm();
@ -69,6 +71,7 @@ namespace polysat {
m_conflict_var = null_var;
m_saturation_premises.reset();
m_bailout = false;
m_bailout_lemma.reset();
SASSERT(empty());
}