mirror of
https://github.com/Z3Prover/z3
synced 2025-04-06 17:44:08 +00:00
parent
bd3d288a08
commit
f50f21198e
|
@ -72,11 +72,11 @@ struct mbp_dt_tg::impl {
|
||||||
|
|
||||||
// rewrite head(x) with y
|
// rewrite head(x) with y
|
||||||
// and x with list(y, z)
|
// and x with list(y, z)
|
||||||
void rm_select(expr *term) {
|
void rm_accessor(expr *term) {
|
||||||
SASSERT(is_app(term) &&
|
SASSERT(is_app(term) &&
|
||||||
m_dt_util.is_accessor(to_app(term)->get_decl()) &&
|
m_dt_util.is_accessor(to_app(term)->get_decl()) &&
|
||||||
is_var(to_app(term)->get_arg(0)));
|
has_var(to_app(term)->get_arg(0)));
|
||||||
TRACE("mbp_tg", tout << "applying rm_select on " << expr_ref(term, m););
|
TRACE("mbp_tg", tout << "applying rm_accessor on " << expr_ref(term, m););
|
||||||
expr *v = to_app(term)->get_arg(0);
|
expr *v = to_app(term)->get_arg(0);
|
||||||
expr_ref sel(m);
|
expr_ref sel(m);
|
||||||
app_ref u(m);
|
app_ref u(m);
|
||||||
|
@ -162,10 +162,10 @@ struct mbp_dt_tg::impl {
|
||||||
if (m_tg.is_cgr(term)) continue;
|
if (m_tg.is_cgr(term)) continue;
|
||||||
if (is_app(term) &&
|
if (is_app(term) &&
|
||||||
m_dt_util.is_accessor(to_app(term)->get_decl()) &&
|
m_dt_util.is_accessor(to_app(term)->get_decl()) &&
|
||||||
is_var(to_app(term)->get_arg(0))) {
|
has_var(to_app(term)->get_arg(0))) {
|
||||||
mark_seen(term);
|
mark_seen(term);
|
||||||
progress = true;
|
progress = true;
|
||||||
rm_select(term);
|
rm_accessor(term);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (is_constructor_app(term, cons, rhs)) {
|
if (is_constructor_app(term, cons, rhs)) {
|
||||||
|
|
Loading…
Reference in a new issue