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

wip - trim

This commit is contained in:
Nikolaj Bjorner 2022-10-06 18:19:03 +02:00
parent 4e780d0cc8
commit 9f78a96c1d
5 changed files with 114 additions and 22 deletions

View file

@ -174,6 +174,7 @@ namespace sat {
literal_vector m_trail;
clause_wrapper_vector m_clauses_to_reinit;
std::string m_reason_unknown;
bool m_trim = false;
svector<unsigned> m_visited;
unsigned m_visited_ts;
@ -203,7 +204,7 @@ namespace sat {
class lookahead* m_cuber;
class i_local_search* m_local_search;
statistics m_aux_stats;
statistics m_aux_stats;
void del_clauses(clause_vector& clauses);
@ -283,6 +284,8 @@ namespace sat {
random_gen& rand() { return m_rand; }
void set_trim() { m_trim = true; }
protected:
void reset_var(bool_var v, bool ext, bool dvar);
@ -399,7 +402,7 @@ namespace sat {
}
}
void update_assign(literal l, justification j) {
if (j.level() == 0)
if (j.level() == 0 && !m_trim)
m_justification[l.var()] = j;
}
void assign_unit(literal l) { assign(l, justification(0)); }