3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-10 09:48:05 +00:00

working on new clause management

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-09-26 00:05:53 -07:00
parent d41696b91e
commit e7449f3811
2 changed files with 123 additions and 32 deletions

View file

@ -158,9 +158,10 @@ namespace sat {
vector<unsigned_vector> m_clauses2; // lit |-> vector of clause_id
unsigned_vector m_clause_count; // lit |-> number of valid clause_id in m_clauses2[lit]
unsigned_vector m_clause_len; // clause_id |-> current clause length
unsigned_vector m_clause_size; // clause_id |-> size of clause >= m_clause_len[clause_id]
literal_vector m_clause_literals; // the actual literals
unsigned_vector m_clause_len; // clause_id |-> current clause length, clauses are terminated using null_literal
literal_vector m_clause_literals; // the actual literals, clauses are separated by a null_literal
svector<std::pair<literal, unsigned> > m_removed_clauses;
unsigned_vector m_removed_clauses_lim;
// TBD trail.. for clause updates?
#endif
@ -417,7 +418,9 @@ namespace sat {
void propagate_clauses2(literal l);
void restore_clauses2(literal l);
void restore_clauses2();
void remove_clause(literal l, unsigned clause_idx);
void remove_clause_at(literal l, unsigned clause_idx);
#endif
// ------------------------------------
// initialization