3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00

update var dependency tracking

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-09-15 09:10:36 +01:00
parent 4b3af1d0a4
commit 3c8c8f5d40
4 changed files with 33 additions and 30 deletions

View file

@ -138,7 +138,7 @@ namespace polysat {
unsigned_vector m_vars;
lbool m_external_sign = l_undef;
bool m_is_marked = false;
bool m_is_bool_propagated = false;
bool m_is_var_dependent = false;
/** The boolean variable associated to this constraint, if any.
* If this is not null_bool_var, then the constraint corresponds to a literal on the assignment stack.
* Convention: the plain constraint corresponds the positive sat::literal.
@ -193,9 +193,9 @@ namespace polysat {
void unset_mark() { m_is_marked = false; }
bool is_marked() const { return m_is_marked; }
void set_bool_propagated() { m_is_bool_propagated = true; }
void unset_bool_propagated() { m_is_bool_propagated = false; }
bool is_bool_propagated() { return m_is_bool_propagated; }
void set_var_dependent() { m_is_var_dependent = true; }
void unset_var_dependent() { m_is_var_dependent = false; }
bool is_var_dependent() { return m_is_var_dependent; }
};
inline std::ostream& operator<<(std::ostream& out, constraint const& c) { return c.display(out); }