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

Phase saving and some minor changes (#5209)

* Implement phase saving

* Implement signed comparison on BDD vectors

* Add fdd::non_zero

* Simplify construction of fdds over disjoint variables

* Minor changes to adding constraint
This commit is contained in:
Jakob Rath 2021-04-22 18:47:46 +02:00 committed by GitHub
parent 09f31ebb0a
commit 12444c7e8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 156 additions and 31 deletions

View file

@ -41,6 +41,7 @@ namespace polysat {
friend class eq_constraint;
friend class var_constraint;
friend class ule_constraint;
typedef ptr_vector<constraint> constraints;
@ -150,6 +151,7 @@ namespace polysat {
dd::pdd_manager& sz2pdd(unsigned sz);
dd::fdd const& sz2bits(unsigned sz);
dd::fdd const& var2bits(pvar v) { return sz2bits(size(v)); }
void push_level();
void pop_levels(unsigned num_levels);
@ -201,6 +203,8 @@ namespace polysat {
void backjump(unsigned new_level);
void add_lemma(constraint* c);
void add_constraint(constraint* c);
bool invariant();
bool invariant(scoped_ptr_vector<constraint> const& cs);