Exemple #1
0
        void operator()(app* a) {
            if (is_arith_op(a) || a->get_family_id() == m.get_basic_family_id()) {
                return;
            }

            if (m_arith.is_int_real(a)) {
                m_avars.push_back(a);
                if (!m_seen.contains(a)) {
                    m_proxies.push_back(a);
                    m_seen.insert(a);
                }
            }
            for (expr* arg : *a) {
                if (is_app(arg) && !m_seen.contains(arg) && m_arith.is_int_real(arg)) {
                    m_proxies.push_back(to_app(arg));
                    m_seen.insert(arg);
                }
            }
        }
Exemple #2
0
 void operator()(app * n) {
     if (m_util.is_le(n) || m_util.is_lt(n) || m_util.is_gt(n) || m_util.is_ge(n))
         process(n);
     if (m.is_eq(n) && m_util.is_int_real(n->get_arg(0)))
         process(n);
 }
Exemple #3
0
 bool is_int_real(expr * t) {
     return m_autil.is_int_real(t);
 }