3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-28 17:08:45 +00:00

refactor get_sort

This commit is contained in:
Nikolaj Bjorner 2021-02-02 04:45:54 -08:00
parent 4455f6caf8
commit 3ae4c6e9de
129 changed files with 362 additions and 362 deletions

View file

@ -63,7 +63,7 @@ expr * datatype_factory::get_last_fresh_value(sort * s) {
bool datatype_factory::is_subterm_of_last_value(app* e) {
expr* last;
if (!m_last_fresh_value.find(m_manager.get_sort(e), last)) {
if (!m_last_fresh_value.find(e->get_sort(), last)) {
return false;
}
contains_app contains(m_manager, e);

View file

@ -297,7 +297,7 @@ void func_interp::compress() {
}
m_entries.reset();
reset_interp_cache();
expr_ref new_else(m().mk_var(0, m().get_sort(m_else)), m());
expr_ref new_else(m().mk_var(0, m_else->get_sort()), m());
m().inc_ref(new_else);
m().dec_ref(m_else);
m_else = new_else;
@ -318,7 +318,7 @@ bool func_interp::is_identity() const {
}
if (is_var(m_else)) return true;
if (!m().is_value(m_else)) return false;
sort_size const& sz = m().get_sort(m_else)->get_num_elements();
sort_size const& sz = m_else->get_sort()->get_num_elements();
if (!sz.is_finite()) return false;
//
@ -340,7 +340,7 @@ expr * func_interp::get_interp_core() const {
}
if (vars.empty()) {
for (unsigned i = 0; i < m_arity; i++) {
vars.push_back(m().mk_var(i, m().get_sort(curr->get_arg(i))));
vars.push_back(m().mk_var(i, curr->get_arg(i)->get_sort()));
}
}
ptr_buffer<expr> eqs;
@ -399,7 +399,7 @@ expr_ref func_interp::get_array_interp_core(func_decl * f) const {
expr_ref_vector args(m());
array_util autil(m());
sort_ref A(autil.mk_array_sort(domain.size(), domain.c_ptr(), m().get_sort(m_else)), m());
sort_ref A(autil.mk_array_sort(domain.size(), domain.c_ptr(), m_else->get_sort()), m());
r = autil.mk_const_array(A, m_else);
for (func_entry * curr : m_entries) {
expr * res = curr->get_result();

View file

@ -70,7 +70,7 @@ static void mk_entry_cond(unsigned arity, func_entry const* entry, expr_ref& res
// no-op
}
else {
conjs.push_back(m.mk_eq(m.mk_var(i, m.get_sort(e)), e));
conjs.push_back(m.mk_eq(m.mk_var(i, e->get_sort()), e));
}
}
bool_rewriter(m).mk_and(conjs.size(), conjs.c_ptr(), result);

View file

@ -196,7 +196,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
if (k == OP_EQ) {
// theory dispatch for =
SASSERT(num == 2);
sort* s = m.get_sort(args[0]);
sort* s = args[0]->get_sort();
family_id s_fid = s->get_family_id();
if (s_fid == m_a_rw.get_fid())
st = m_a_rw.mk_eq_core(args[0], args[1], result);
@ -284,7 +284,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
if (m_array_as_stores &&
m_ar.is_array(val) &&
extract_array_func_interp(val, stores, else_case, _unused)) {
sort* srt = m.get_sort(val);
sort* srt = val->get_sort();
val = m_ar.mk_const_array(srt, else_case);
for (unsigned i = stores.size(); i-- > 0; ) {
expr_ref_vector args(m);
@ -400,7 +400,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
if (m.are_equal(else1, else2)) {
// no op
}
else if (m.are_distinct(else1, else2) && !(m.get_sort(else1)->get_info()->get_num_elements().is_finite())) {
else if (m.are_distinct(else1, else2) && !(else1->get_sort()->get_info()->get_num_elements().is_finite())) {
result = m.mk_false();
return BR_DONE;
}

View file

@ -436,7 +436,7 @@ void model_implicant::eval_arith(app* e) {
void model_implicant::inherit_value(expr* e, expr* v) {
expr* w;
SASSERT(!is_unknown(v));
SASSERT(m.get_sort(e) == m.get_sort(v));
SASSERT(e->get_sort() == v->get_sort());
if (is_x(v)) {
set_x(e);
}
@ -541,7 +541,7 @@ void model_implicant::eval_array_eq(app* e, expr* arg1, expr* arg2) {
set_true(e);
return;
}
sort* s = m.get_sort(arg1);
sort* s = arg1->get_sort();
sort* r = get_array_range(s);
// give up evaluating finite domain/range arrays
if (!r->is_infinite() && !r->is_very_big() && !s->is_infinite() && !s->is_very_big()) {
@ -888,7 +888,7 @@ expr_ref model_implicant::eval(model_ref& model, expr* e) {
expr_ref_vector args(m);
expr_ref else_case(m);
if (extract_array_func_interp(result, stores, else_case)) {
result = m_array.mk_const_array(m.get_sort(e), else_case);
result = m_array.mk_const_array(e->get_sort(), else_case);
while (!stores.empty() && stores.back().back() == else_case) {
stores.pop_back();
}

View file

@ -53,7 +53,7 @@ public:
// generic method for setting unique sequences
void set_prefix(expr* uniq) {
m_trail.push_back(uniq);
m_unique_sequences.insert(m.get_sort(uniq), uniq);
m_unique_sequences.insert(uniq->get_sort(), uniq);
}
expr* get_some_value(sort* s) override {

View file

@ -43,7 +43,7 @@ struct_factory::~struct_factory() {
}
void struct_factory::register_value(expr * new_value) {
sort * s = m_manager.get_sort(new_value);
sort * s = new_value->get_sort();
value_set * set = get_value_set(s);
if (!set->contains(new_value)) {
m_values.push_back(new_value);

View file

@ -202,7 +202,7 @@ public:
}
void register_value(expr * n) override {
sort * s = this->m_manager.get_sort(n);
sort * s = n->get_sort();
value_set * set = get_value_set(s);
if (!set->m_values.contains(n)) {
m_values.push_back(n);