mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
refactor get_sort
This commit is contained in:
parent
4455f6caf8
commit
3ae4c6e9de
129 changed files with 362 additions and 362 deletions
|
@ -89,7 +89,7 @@ expr_ref bind_variables::abstract(expr* term, cache_t& cache, unsigned scope) {
|
|||
cache.insert(e, v);
|
||||
}
|
||||
else {
|
||||
var* v1 = m.mk_var(scope + v->get_idx(), m.get_sort(v));
|
||||
var* v1 = m.mk_var(scope + v->get_idx(), v->get_sort());
|
||||
m_pinned.push_back(v1);
|
||||
cache.insert(e, v1);
|
||||
}
|
||||
|
|
|
@ -782,13 +782,13 @@ namespace datalog {
|
|||
else if (is_var(e) && m.is_bool(e)) {
|
||||
m_engine_type = SPACER_ENGINE;
|
||||
}
|
||||
else if (dt.is_datatype(m.get_sort(e))) {
|
||||
else if (dt.is_datatype(e->get_sort())) {
|
||||
m_engine_type = SPACER_ENGINE;
|
||||
}
|
||||
else if (is_large_bv(m.get_sort(e))) {
|
||||
else if (is_large_bv(e->get_sort())) {
|
||||
m_engine_type = SPACER_ENGINE;
|
||||
}
|
||||
else if (!m.get_sort(e)->get_num_elements().is_finite()) {
|
||||
else if (!e->get_sort()->get_num_elements().is_finite()) {
|
||||
m_engine_type = SPACER_ENGINE;
|
||||
}
|
||||
else if (ar.is_array(e)) {
|
||||
|
|
|
@ -198,7 +198,7 @@ void rule_properties::insert(ptr_vector<rule>& rules, rule* r) {
|
|||
}
|
||||
|
||||
void rule_properties::operator()(var* n) {
|
||||
check_sort(m.get_sort(n));
|
||||
check_sort(n->get_sort());
|
||||
}
|
||||
|
||||
void rule_properties::operator()(quantifier* n) {
|
||||
|
@ -245,7 +245,7 @@ void rule_properties::operator()(app* n) {
|
|||
else if (m_rec.is_defined(f)) {
|
||||
m_uninterp_funs.insert(f, m_rule);
|
||||
}
|
||||
check_sort(m.get_sort(n));
|
||||
check_sort(n->get_sort());
|
||||
}
|
||||
|
||||
bool rule_properties::evaluates_to_numeral(expr * n, rational& val) {
|
||||
|
|
|
@ -435,7 +435,7 @@ namespace datalog {
|
|||
rule_vars[to_var(arg)->get_idx()] = 0;
|
||||
}
|
||||
else {
|
||||
sort* srt = m.get_sort(arg);
|
||||
sort* srt = arg->get_sort();
|
||||
args.push_back(m.mk_var(rule_vars.size()+num_vars, srt));
|
||||
conjs.push_back(m.mk_eq(args.back(), arg));
|
||||
++num_vars;
|
||||
|
@ -604,7 +604,7 @@ namespace datalog {
|
|||
expr_ref_vector binding(m);
|
||||
ptr_vector<sort> arg_sorts;
|
||||
for (unsigned i = 0; i < args.size(); ++i) {
|
||||
arg_sorts.push_back(m.get_sort(args[i]));
|
||||
arg_sorts.push_back(args[i]->get_sort());
|
||||
}
|
||||
for (unsigned i = 0; i < vars.size(); ++i) {
|
||||
if (vars[i]) {
|
||||
|
|
|
@ -959,9 +959,9 @@ protected:
|
|||
v = m.mk_var(idx, s);
|
||||
m_vars.insert(data.bare_str(), v);
|
||||
}
|
||||
else if (s != m.get_sort(v)) {
|
||||
else if (s != v->get_sort()) {
|
||||
throw default_exception(default_exception::fmt(), "sort: %s expected, but got: %s\n",
|
||||
s->get_name().bare_str(), m.get_sort(v)->get_name().bare_str());
|
||||
s->get_name().bare_str(), v->get_sort()->get_name().bare_str());
|
||||
}
|
||||
args.push_back(v);
|
||||
}
|
||||
|
|
|
@ -902,7 +902,7 @@ namespace datalog {
|
|||
expr* e = it->m_value;
|
||||
if (!pos_vars.contains(v)) {
|
||||
single_res_expr.push_back(e);
|
||||
make_add_unbound_column(r, v, pred, single_res, m.get_sort(e), single_res, dealloc, acc);
|
||||
make_add_unbound_column(r, v, pred, single_res, e->get_sort(), single_res, dealloc, acc);
|
||||
TRACE("dl", tout << "Adding unbound column: " << mk_pp(e, m) << "\n";);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -326,7 +326,7 @@ namespace datalog {
|
|||
for (unsigned i = 0; i < f.size(); ++i) {
|
||||
app_ref eq(m);
|
||||
expr* e = f[i];
|
||||
eq = m.mk_eq(m.mk_var(i, m.get_sort(e)), e);
|
||||
eq = m.mk_eq(m.mk_var(i, e->get_sort()), e);
|
||||
r.filter_interpreted(eq.get());
|
||||
}
|
||||
mk_union(r, nullptr, false);
|
||||
|
|
|
@ -162,7 +162,7 @@ namespace datalog {
|
|||
for (expr* arg : *t) {
|
||||
unsigned var_idx = to_var(arg)->get_idx();
|
||||
if (!result.get(res_ofs - var_idx)) {
|
||||
result[res_ofs - var_idx] = m.mk_var(next_var++, m.get_sort(arg));
|
||||
result[res_ofs - var_idx] = m.mk_var(next_var++, arg->get_sort());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -335,7 +335,7 @@ namespace datalog {
|
|||
var * v = to_var(arg);
|
||||
if (v->get_idx() == var_idx) {
|
||||
args.push_back(v);
|
||||
domain.push_back(m.get_sort(v));
|
||||
domain.push_back(v->get_sort());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -594,7 +594,7 @@ namespace datalog {
|
|||
|
||||
|
||||
cost get_domain_size(expr* e) const {
|
||||
return get_domain_size(m.get_sort(e));
|
||||
return get_domain_size(e->get_sort());
|
||||
}
|
||||
|
||||
cost get_domain_size(sort* s) const {
|
||||
|
|
|
@ -263,7 +263,7 @@ namespace datalog {
|
|||
}
|
||||
uint64_t n, sz;
|
||||
ast_manager& m = get_ast_manager();
|
||||
if (dl.is_numeral(e, n) && dl.try_get_size(m.get_sort(e), sz)) {
|
||||
if (dl.is_numeral(e, n) && dl.try_get_size(e->get_sort(), sz)) {
|
||||
num_bits = 0;
|
||||
while (sz > 0) ++num_bits, sz = sz/2;
|
||||
r = rational(n, rational::ui64());
|
||||
|
|
|
@ -363,7 +363,7 @@ void model_evaluator::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);
|
||||
} else if (m.is_bool(e)) {
|
||||
|
@ -807,7 +807,7 @@ expr_ref model_evaluator::eval(const 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();
|
||||
}
|
||||
|
|
|
@ -198,7 +198,7 @@ void model_evaluator_array_util::eval(model& mdl, expr* e, expr_ref& r, bool mod
|
|||
expr_ref_vector args(m);
|
||||
expr_ref else_case(m);
|
||||
if (extract_array_func_interp(mdl, r, stores, else_case)) {
|
||||
r = m_array.mk_const_array(m.get_sort(e), else_case);
|
||||
r = m_array.mk_const_array(e->get_sort(), else_case);
|
||||
while (!stores.empty() && stores.back().back() == else_case) {
|
||||
stores.pop_back();
|
||||
}
|
||||
|
|
|
@ -273,13 +273,13 @@ namespace spacer_qe {
|
|||
if (a.is_le(lit, e1, e2) || a.is_ge(lit, e2, e1)) {
|
||||
if (!is_linear( mul, e1, c, ts) || !is_linear(-mul, e2, c, ts))
|
||||
return false;
|
||||
s = m.get_sort(e1);
|
||||
s = e1->get_sort();
|
||||
is_strict = is_not;
|
||||
}
|
||||
else if (a.is_lt(lit, e1, e2) || a.is_gt(lit, e2, e1)) {
|
||||
if (!is_linear( mul, e1, c, ts) || !is_linear(-mul, e2, c, ts))
|
||||
return false;
|
||||
s = m.get_sort(e1);
|
||||
s = e1->get_sort();
|
||||
is_strict = !is_not;
|
||||
}
|
||||
else if (m.is_eq(lit, e1, e2) && a.is_int_real (e1)) {
|
||||
|
@ -311,7 +311,7 @@ namespace spacer_qe {
|
|||
if (is_not) is_diseq = true;
|
||||
else is_eq = true;
|
||||
}
|
||||
s = m.get_sort(e1);
|
||||
s = e1->get_sort();
|
||||
}
|
||||
else {
|
||||
IF_VERBOSE(2, verbose_stream() << "can't project:" << mk_pp(lit, m) << "\n";);
|
||||
|
|
|
@ -91,7 +91,7 @@ namespace datalog {
|
|||
r.get_vars(m, vars);
|
||||
m_next_var = vars.size() + 1;
|
||||
}
|
||||
v = m.mk_var(m_next_var, m.get_sort(e));
|
||||
v = m.mk_var(m_next_var, e->get_sort());
|
||||
m_defs.insert(e, v);
|
||||
++m_next_var;
|
||||
}
|
||||
|
|
|
@ -186,7 +186,7 @@ namespace datalog {
|
|||
}
|
||||
else {
|
||||
m_args.push_back(arg);
|
||||
m_f_vars.push_back(m.mk_var(idx++, m.get_sort(arg)));
|
||||
m_f_vars.push_back(m.mk_var(idx++, arg->get_sort()));
|
||||
m_g_vars.push_back(m_f_vars.back());
|
||||
}
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ namespace datalog {
|
|||
|
||||
ptr_vector<sort> domain;
|
||||
for (expr* arg : m_args) {
|
||||
domain.push_back(m.get_sort(arg));
|
||||
domain.push_back(arg->get_sort());
|
||||
}
|
||||
g = m_context.mk_fresh_head_predicate(f->get_name(), symbol("bv"), m_args.size(), domain.c_ptr(), f);
|
||||
m_old_funcs.push_back(f);
|
||||
|
|
|
@ -67,7 +67,7 @@ namespace datalog {
|
|||
bool_vector valid(sorts.size(), true);
|
||||
for (unsigned i = 0; i < sub.size(); ++i) {
|
||||
expr* e = sub[i];
|
||||
sort* s = m.get_sort(e);
|
||||
sort* s = e->get_sort();
|
||||
expr_ref w(m.mk_var(i, s), m);
|
||||
if (is_var(e)) {
|
||||
unsigned v = to_var(e)->get_idx();
|
||||
|
@ -87,7 +87,7 @@ namespace datalog {
|
|||
}
|
||||
else {
|
||||
SASSERT(m.is_value(e));
|
||||
SASSERT(m.get_sort(e) == m.get_sort(w));
|
||||
SASSERT(e->get_sort() == m.get_sort(w));
|
||||
conjs.push_back(m.mk_eq(e, w));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -149,7 +149,7 @@ namespace datalog {
|
|||
for (unsigned j = 0; j < head->get_num_args(); ++j) {
|
||||
expr* arg = head->get_arg(j);
|
||||
if (!is_var(arg)) {
|
||||
conj.push_back(m.mk_eq(m.mk_var(j, m.get_sort(arg)), arg));
|
||||
conj.push_back(m.mk_eq(m.mk_var(j, arg->get_sort()), arg));
|
||||
}
|
||||
}
|
||||
fmls.push_back(mk_and(conj));
|
||||
|
|
|
@ -228,7 +228,7 @@ namespace datalog {
|
|||
unsigned sz = p->get_num_args();
|
||||
for (unsigned i = 0; i < sz; ++i) {
|
||||
arg = p->get_arg(i);
|
||||
sort* s = m.get_sort(arg);
|
||||
sort* s = arg->get_sort();
|
||||
while (a.is_array(s)) {
|
||||
unsigned arity = get_array_arity(s);
|
||||
for (unsigned j = 0; j < arity; ++j) {
|
||||
|
@ -268,7 +268,7 @@ namespace datalog {
|
|||
unsigned sz = p->get_num_args();
|
||||
for (unsigned i = 0; i < sz; ++i) {
|
||||
arg = ps->get_arg(i);
|
||||
sort* s = m.get_sort(arg);
|
||||
sort* s = arg->get_sort();
|
||||
bool is_pattern = false;
|
||||
while (a.is_array(s)) {
|
||||
is_pattern = true;
|
||||
|
|
|
@ -64,7 +64,7 @@ namespace datalog {
|
|||
expr* arg = p->get_arg(i);
|
||||
if (!m_vars.contains(arg)) {
|
||||
args.push_back(arg);
|
||||
sorts.push_back(m.get_sort(arg));
|
||||
sorts.push_back(arg->get_sort());
|
||||
}
|
||||
}
|
||||
fn = m.mk_fresh_func_decl(p->get_decl()->get_name(), symbol("N"), sorts.size(), sorts.c_ptr(), m.mk_bool_sort());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue