mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 11:55:51 +00:00
redoing arrays
This commit is contained in:
parent
aa901c4e88
commit
0ef0ed3b94
7 changed files with 61 additions and 52 deletions
|
@ -66,6 +66,7 @@ namespace array {
|
|||
array_union_find m_find;
|
||||
|
||||
theory_var find(theory_var v) { return m_find.find(v); }
|
||||
theory_var find(euf::enode* n) { return find(n->get_th_var(get_id())); }
|
||||
func_decl_ref_vector const& sort2diff(sort* s);
|
||||
|
||||
// internalize
|
||||
|
@ -73,8 +74,8 @@ namespace array {
|
|||
bool visited(expr* e) override;
|
||||
bool post_visit(expr* e, bool sign, bool root) override;
|
||||
void ensure_var(euf::enode* n);
|
||||
void internalize_eh_lambda(euf::enode* n);
|
||||
void internalize_eh(euf::enode* n);
|
||||
void internalize_lambda_eh(euf::enode* n);
|
||||
|
||||
// axioms
|
||||
struct axiom_record {
|
||||
|
@ -192,7 +193,7 @@ namespace array {
|
|||
// solving
|
||||
void add_parent_select(theory_var v_child, euf::enode* select);
|
||||
void add_parent_default(theory_var v_child, euf::enode* def);
|
||||
void add_lambda(theory_var v, euf::enode* lambda);
|
||||
void add_lambda(theory_var v, euf::enode* lambda);
|
||||
void add_parent_lambda(theory_var v_child, euf::enode* lambda);
|
||||
|
||||
void propagate_select_axioms(var_data const& d, euf::enode* a);
|
||||
|
@ -227,8 +228,6 @@ namespace array {
|
|||
void set_else(theory_var v, expr* e);
|
||||
expr* get_else(theory_var v);
|
||||
|
||||
void internalized(euf::enode* n);
|
||||
|
||||
// diagnostics
|
||||
std::ostream& display_info(std::ostream& out, char const* id, euf::enode_vector const& v) const;
|
||||
std::ostream& display(std::ostream& out, axiom_record const& r) const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue