3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-27 08:28:44 +00:00

fixes to trim

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-07-03 19:26:12 +02:00
parent 30a2ced9aa
commit d9e7b8c21f
6 changed files with 123 additions and 34 deletions

View file

@ -30,9 +30,10 @@ namespace sat {
class proof_trim {
solver s;
literal_vector m_clause;
literal_vector m_clause, m_conflict;
uint_set m_in_clause;
uint_set m_in_coi;
clause* m_conflict_clause = nullptr;
vector<std::tuple<unsigned, literal_vector, clause*, bool, bool>> m_trail;
@ -70,10 +71,12 @@ namespace sat {
uint_set m_units;
bool unit_or_binary_occurs();
void set_conflict(literal_vector const& c, clause* cp) { m_conflict.reset(); m_conflict.append(c); m_conflict_clause = cp;}
public:
proof_trim(params_ref const& p, reslimit& lim);
~proof_trim();
bool_var mk_var() { return s.mk_var(true, true); }
void init_clause() { m_clause.reset(); }