mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 17:45:32 +00:00
refactor get_sort
This commit is contained in:
parent
4455f6caf8
commit
3ae4c6e9de
129 changed files with 362 additions and 362 deletions
|
@ -114,7 +114,7 @@ expr* bv2real_util::mk_bv2real_c(expr* s, expr* t, rational const& d, rational c
|
|||
sig.m_r = r;
|
||||
func_decl* f;
|
||||
if (!m_sig2decl.find(sig, f)) {
|
||||
sort* domain[2] = { m_manager.get_sort(s), m_manager.get_sort(t) };
|
||||
sort* domain[2] = { s->get_sort(), t->get_sort() };
|
||||
sort* real = m_arith.mk_real();
|
||||
f = m_manager.mk_fresh_func_decl("bv2real", "", 2, domain, real);
|
||||
m_decls.push_back(f);
|
||||
|
|
|
@ -51,7 +51,7 @@ class fix_dl_var_tactic : public tactic {
|
|||
}
|
||||
|
||||
bool is_arith(expr * n) {
|
||||
sort * s = m.get_sort(n);
|
||||
sort * s = n->get_sort();
|
||||
return s->get_family_id() == m_util.get_family_id();
|
||||
}
|
||||
|
||||
|
|
|
@ -802,7 +802,7 @@ class fm_tactic : public tactic {
|
|||
forbidden_proc(imp & o):m_owner(o) {}
|
||||
void operator()(::var * n) {}
|
||||
void operator()(app * n) {
|
||||
if (is_uninterp_const(n) && m_owner.m.get_sort(n)->get_family_id() == m_owner.m_util.get_family_id()) {
|
||||
if (is_uninterp_const(n) && n->get_sort()->get_family_id() == m_owner.m_util.get_family_id()) {
|
||||
m_owner.m_forbidden_set.insert(n->get_decl());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -134,7 +134,7 @@ class lia2pb_tactic : public tactic {
|
|||
}
|
||||
}
|
||||
else {
|
||||
sort * s = m_owner.m.get_sort(n);
|
||||
sort * s = n->get_sort();
|
||||
if (s->get_family_id() == m_owner.m_util.get_family_id())
|
||||
throw_failed(n);
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ class normalize_bounds_tactic : public tactic {
|
|||
for (expr * x : m_bm) {
|
||||
if (is_target(x, val)) {
|
||||
num_norm_bounds++;
|
||||
sort * s = m.get_sort(x);
|
||||
sort * s = x->get_sort();
|
||||
app * x_prime = m.mk_fresh_const(nullptr, s);
|
||||
expr * def = m_util.mk_add(x_prime, m_util.mk_numeral(val, s));
|
||||
subst.insert(x, def);
|
||||
|
|
|
@ -136,7 +136,7 @@ struct has_nlmul {
|
|||
has_nlmul(ast_manager& m):m(m), a(m) {}
|
||||
|
||||
void throw_found(expr* e) {
|
||||
TRACE("probe", tout << expr_ref(e, m) << ": " << sort_ref(m.get_sort(e), m) << "\n";);
|
||||
TRACE("probe", tout << expr_ref(e, m) << ": " << sort_ref(e->get_sort(), m) << "\n";);
|
||||
throw found();
|
||||
}
|
||||
|
||||
|
@ -356,7 +356,7 @@ static bool is_lp(goal const & g) {
|
|||
while (m.is_not(f, f))
|
||||
sign = !sign;
|
||||
if (m.is_eq(f) && !sign) {
|
||||
if (m.get_sort(to_app(f)->get_arg(0))->get_family_id() != u.get_family_id())
|
||||
if (to_app(f)->get_arg(0)->get_sort()->get_family_id() != u.get_family_id())
|
||||
return false;
|
||||
continue;
|
||||
}
|
||||
|
@ -438,7 +438,7 @@ struct is_non_nira_functor {
|
|||
is_non_nira_functor(ast_manager & _m, bool _int, bool _real, bool _quant, bool linear):m(_m), u(m), m_int(_int), m_real(_real), m_quant(_quant), m_linear(linear) {}
|
||||
|
||||
void throw_found(expr* e) {
|
||||
TRACE("probe", tout << expr_ref(e, m) << ": " << sort_ref(m.get_sort(e), m) << "\n";);
|
||||
TRACE("probe", tout << expr_ref(e, m) << ": " << sort_ref(e->get_sort(), m) << "\n";);
|
||||
throw found();
|
||||
}
|
||||
|
||||
|
|
|
@ -217,7 +217,7 @@ public:
|
|||
return;
|
||||
}
|
||||
else if (l == u) {
|
||||
new_def = m_util.mk_numeral(l, m.get_sort(v));
|
||||
new_def = m_util.mk_numeral(l, v->get_sort());
|
||||
}
|
||||
else {
|
||||
// l < u
|
||||
|
@ -312,7 +312,7 @@ public:
|
|||
return;
|
||||
}
|
||||
else if (l == u) {
|
||||
new_def = m_util.mk_numeral(l, m.get_sort(v));
|
||||
new_def = m_util.mk_numeral(l, v->get_sort());
|
||||
}
|
||||
else {
|
||||
// 0 <= l <= v <= u
|
||||
|
|
|
@ -55,7 +55,7 @@ bvarray2uf_rewriter_cfg::~bvarray2uf_rewriter_cfg() {
|
|||
void bvarray2uf_rewriter_cfg::reset() {}
|
||||
|
||||
sort * bvarray2uf_rewriter_cfg::get_index_sort(expr * e) {
|
||||
return get_index_sort(m_manager.get_sort(e));
|
||||
return get_index_sort(e->get_sort());
|
||||
}
|
||||
|
||||
sort * bvarray2uf_rewriter_cfg::get_index_sort(sort * s) {
|
||||
|
@ -71,7 +71,7 @@ sort * bvarray2uf_rewriter_cfg::get_index_sort(sort * s) {
|
|||
}
|
||||
|
||||
sort * bvarray2uf_rewriter_cfg::get_value_sort(expr * e) {
|
||||
return get_value_sort(m_manager.get_sort(e));
|
||||
return get_value_sort(e->get_sort());
|
||||
}
|
||||
|
||||
sort * bvarray2uf_rewriter_cfg::get_value_sort(sort * s) {
|
||||
|
@ -82,7 +82,7 @@ sort * bvarray2uf_rewriter_cfg::get_value_sort(sort * s) {
|
|||
}
|
||||
|
||||
bool bvarray2uf_rewriter_cfg::is_bv_array(expr * e) {
|
||||
return is_bv_array(m_manager.get_sort(e));
|
||||
return is_bv_array(e->get_sort());
|
||||
}
|
||||
|
||||
bool bvarray2uf_rewriter_cfg::is_bv_array(sort * s) {
|
||||
|
|
|
@ -92,7 +92,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
return false; // variable already existed for this application
|
||||
}
|
||||
|
||||
v = m().mk_fresh_const(nullptr, m().get_sort(t));
|
||||
v = m().mk_fresh_const(nullptr, t->get_sort());
|
||||
TRACE("elim_uncnstr_bug", tout << "eliminating:\n" << mk_ismt2_pp(t, m()) << "\n";);
|
||||
TRACE("elim_uncnstr_bug_ll", tout << "eliminating:\n" << mk_bounded_pp(t, m()) << "\n";);
|
||||
m_fresh_vars.push_back(v);
|
||||
|
@ -131,7 +131,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
|
||||
// return a term that is different from t.
|
||||
bool mk_diff(expr * t, expr_ref & r) {
|
||||
sort * s = m().get_sort(t);
|
||||
sort * s = t->get_sort();
|
||||
if (m().is_bool(s)) {
|
||||
r = m().mk_not(t);
|
||||
return true;
|
||||
|
@ -221,7 +221,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
sort * s = m().get_sort(arg1);
|
||||
sort * s = arg1->get_sort();
|
||||
|
||||
// Remark:
|
||||
// I currently do not support unconstrained vars that have
|
||||
|
@ -359,7 +359,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
return u;
|
||||
// v = ite(u, t, t + 1) if le
|
||||
// v = ite(u, t, t - 1) if !le
|
||||
add_def(v, m().mk_ite(u, t, m_a_util.mk_add(t, m_a_util.mk_numeral(rational(le ? 1 : -1), m().get_sort(arg1)))));
|
||||
add_def(v, m().mk_ite(u, t, m_a_util.mk_add(t, m_a_util.mk_numeral(rational(le ? 1 : -1), arg1->get_sort()))));
|
||||
return u;
|
||||
}
|
||||
|
||||
|
@ -405,7 +405,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
app * process_arith_mul(func_decl * f, unsigned num, expr * const * args) {
|
||||
if (num == 0)
|
||||
return nullptr;
|
||||
sort * s = m().get_sort(args[0]);
|
||||
sort * s = args[0]->get_sort();
|
||||
if (uncnstr(num, args)) {
|
||||
app * r;
|
||||
if (!mk_fresh_uncnstr_var_for(f, num, args, r))
|
||||
|
@ -455,7 +455,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
if (num == 0)
|
||||
return nullptr;
|
||||
if (uncnstr(num, args)) {
|
||||
sort * s = m().get_sort(args[0]);
|
||||
sort * s = args[0]->get_sort();
|
||||
app * r;
|
||||
if (!mk_fresh_uncnstr_var_for(f, num, args, r))
|
||||
return r;
|
||||
|
@ -474,7 +474,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
app * r;
|
||||
if (!mk_fresh_uncnstr_var_for(f, num, args, r))
|
||||
return r;
|
||||
sort * s = m().get_sort(args[1]);
|
||||
sort * s = args[1]->get_sort();
|
||||
if (m_mc)
|
||||
add_def(args[1], m_bv_util.mk_bv_mul(m_bv_util.mk_numeral(inv, s), r));
|
||||
return r;
|
||||
|
@ -492,7 +492,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
return r;
|
||||
unsigned high = m_bv_util.get_extract_high(f);
|
||||
unsigned low = m_bv_util.get_extract_low(f);
|
||||
unsigned bv_size = m_bv_util.get_bv_size(m().get_sort(arg));
|
||||
unsigned bv_size = m_bv_util.get_bv_size(arg->get_sort());
|
||||
if (bv_size == high - low + 1) {
|
||||
add_def(arg, r);
|
||||
}
|
||||
|
@ -510,7 +510,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
|
||||
app * process_bv_div(func_decl * f, expr * arg1, expr * arg2) {
|
||||
if (uncnstr(arg1) && uncnstr(arg2)) {
|
||||
sort * s = m().get_sort(arg1);
|
||||
sort * s = arg1->get_sort();
|
||||
app * r;
|
||||
if (!mk_fresh_uncnstr_var_for(f, arg1, arg2, r))
|
||||
return r;
|
||||
|
@ -630,7 +630,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
return nullptr;
|
||||
case OP_BOR:
|
||||
if (num > 0 && uncnstr(num, args)) {
|
||||
sort * s = m().get_sort(args[0]);
|
||||
sort * s = args[0]->get_sort();
|
||||
app * r;
|
||||
if (!mk_fresh_uncnstr_var_for(f, num, args, r))
|
||||
return r;
|
||||
|
@ -652,7 +652,7 @@ class elim_uncnstr_tactic : public tactic {
|
|||
app * r;
|
||||
if (!mk_fresh_uncnstr_var_for(f, num, args, r))
|
||||
return r;
|
||||
sort * s = m().get_sort(args[0]);
|
||||
sort * s = args[0]->get_sort();
|
||||
if (m_mc)
|
||||
add_def(args[0], m_ar_util.mk_const_array(s, r));
|
||||
return r;
|
||||
|
|
|
@ -409,7 +409,7 @@ private:
|
|||
// diagonal functions for other types depend on theory.
|
||||
return false;
|
||||
}
|
||||
else if (is_var(v) && is_non_singleton_sort(m.get_sort(v))) {
|
||||
else if (is_var(v) && is_non_singleton_sort(v->get_sort())) {
|
||||
new_v = m.mk_var(to_var(v)->get_idx(), m.mk_bool_sort());
|
||||
return true;
|
||||
}
|
||||
|
@ -484,7 +484,7 @@ private:
|
|||
TRACE("invertible_tactic", tout << mk_pp(v, m) << " " << mk_pp(p, m) << "\n";);
|
||||
t.mark_inverted(p);
|
||||
sub.insert(p, new_v);
|
||||
new_sorts[i] = m.get_sort(new_v);
|
||||
new_sorts[i] = new_v->get_sort();
|
||||
has_new_var |= new_v != v;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1019,7 +1019,7 @@ namespace smtfd {
|
|||
expr_ref vA = eval_abs(arg);
|
||||
|
||||
table& tT = ast2table(vT, m.get_sort(t)); // select table of t
|
||||
table& tA = ast2table(vA, m.get_sort(arg)); // select table of arg
|
||||
table& tA = ast2table(vA, arg->get_sort()); // select table of arg
|
||||
|
||||
if (vT == vA) {
|
||||
return;
|
||||
|
@ -1380,7 +1380,7 @@ namespace smtfd {
|
|||
}
|
||||
|
||||
void register_value(expr* e) {
|
||||
sort* s = m.get_sort(e);
|
||||
sort* s = e->get_sort();
|
||||
obj_hashtable<expr>* values = nullptr;
|
||||
if (!m_fresh.find(s, values)) {
|
||||
values = alloc(obj_hashtable<expr>);
|
||||
|
@ -1478,7 +1478,7 @@ namespace smtfd {
|
|||
break;
|
||||
}
|
||||
expr* t = nullptr;
|
||||
if (m_val2term.find(val, m.get_sort(v), t)) {
|
||||
if (m_val2term.find(val, v->get_sort(), t)) {
|
||||
val = t;
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -35,7 +35,7 @@ generic_model_converter::~generic_model_converter() {
|
|||
|
||||
void generic_model_converter::add(func_decl * d, expr* e) {
|
||||
VERIFY(e);
|
||||
VERIFY(d->get_range() == m.get_sort(e));
|
||||
VERIFY(d->get_range() == e->get_sort());
|
||||
m_first_idx.insert_if_not_there(d, m_entries.size());
|
||||
m_entries.push_back(entry(d, e, m, ADD));
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ bool horn_subsume_model_converter::mk_horn(
|
|||
for (unsigned i = 0; i < arity; ++i) {
|
||||
expr* arg = head->get_arg(i);
|
||||
var_ref v(m);
|
||||
v = m.mk_var(fv.size()+i, m.get_sort(arg));
|
||||
v = m.mk_var(fv.size()+i, arg->get_sort());
|
||||
|
||||
if (is_var(arg)) {
|
||||
unsigned w = to_var(arg)->get_idx();
|
||||
|
|
|
@ -27,7 +27,7 @@ void model_converter::display_add(std::ostream& out, ast_manager& m, func_decl*
|
|||
VERIFY(e);
|
||||
smt2_pp_environment_dbg env(m);
|
||||
smt2_pp_environment* _env = m_env ? m_env : &env;
|
||||
VERIFY(f->get_range() == m.get_sort(e));
|
||||
VERIFY(f->get_range() == e->get_sort());
|
||||
ast_smt2_pp(out, f, e, *_env, params_ref(), 0, "model-add") << "\n";
|
||||
}
|
||||
|
||||
|
|
|
@ -430,7 +430,7 @@ class num_consts_probe : public probe {
|
|||
m_counter++;
|
||||
}
|
||||
else {
|
||||
if (m.get_sort(n)->get_family_id() == m_fid)
|
||||
if (n->get_sort()->get_family_id() == m_fid)
|
||||
m_counter++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -507,7 +507,7 @@ public:
|
|||
for (unsigned i = 0; i < n_args; i++) {
|
||||
expr * arg = a->get_arg(i);
|
||||
const mpz & v = m_tracker.get_value(arg);
|
||||
m_temp_exprs.push_back(m_tracker.mpz2value(m_manager.get_sort(arg), v));
|
||||
m_temp_exprs.push_back(m_tracker.mpz2value(arg->get_sort(), v));
|
||||
}
|
||||
expr_ref q(m_manager), temp(m_manager);
|
||||
q = m_manager.mk_app(a->get_decl(), m_temp_exprs.size(), m_temp_exprs.c_ptr());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue