mirror of
https://github.com/Z3Prover/z3
synced 2025-05-11 09:44:43 +00:00
change handling of weak array mode. Insert weak delay variables into a queue that gets consumed by the next propagation when the array_weak parameter is changed #2686
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e45bafe9bf
commit
566eacd424
5 changed files with 39 additions and 41 deletions
|
@ -30,7 +30,11 @@ namespace smt {
|
|||
friend class theory_array_bapa;
|
||||
protected:
|
||||
bool m_found_unsupported_op;
|
||||
|
||||
unsigned m_array_weak_head;
|
||||
svector<theory_var> m_array_weak_trail;
|
||||
bool has_propagate_up_trail() const { return m_array_weak_head < m_array_weak_trail.size(); }
|
||||
void add_weak_var(theory_var v);
|
||||
virtual void set_prop_upward(theory_var v) {}
|
||||
void found_unsupported_op(expr * n);
|
||||
void found_unsupported_op(enode* n) { found_unsupported_op(n->get_owner()); }
|
||||
void found_unsupported_op(theory_var v) { found_unsupported_op(get_enode(v)->get_owner()); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue