ctx_solver_simplify_tactic(ast_manager & m, params_ref const & p = params_ref()):
     m(m), m_params(p), m_solver(m, m_front_p),  
     m_arith(m), m_mk_app(m), m_fn(m), m_num_steps(0), 
     m_cancel(false) {
     sort* i_sort = m_arith.mk_int();
     m_fn = m.mk_func_decl(symbol(0xbeef101), i_sort, m.mk_bool_sort());
 }
Beispiel #2
0
 rule_manager::rule_manager(context& ctx)
     : m(ctx.get_manager()),
       m_ctx(ctx),
       m_body(m),
       m_head(m),
       m_args(m),
       m_hnf(m),
       m_qe(m, params_ref(), false),
       m_rwr(m),
       m_ufproc(m),
       m_fd_proc(m) {}
Beispiel #3
0
 theory_fpa::theory_fpa(ast_manager & m) :
     theory(m.mk_family_id("fpa")),
     m_converter(m, this),
     m_rw(m, m_converter, params_ref()),
     m_th_rw(m),
     m_trail_stack(*this),
     m_fpa_util(m_converter.fu()),
     m_bv_util(m_converter.bu()),
     m_arith_util(m_converter.au())
 {
     params_ref p;
     p.set_bool("arith_lhs", true);
     m_th_rw.updt_params(p);
 }
Beispiel #4
0
static void display_functions(std::ostream & out, model_core const & md) {
    ast_manager & m = md.get_manager();
    unsigned sz = md.get_num_functions();
    for (unsigned i = 0; i < sz; i++) {
        func_decl * f = md.get_function(i);
        out << "(define (" << f->get_name();
        unsigned arity = f->get_arity();
        func_interp * fi = md.get_func_interp(f);
        for (unsigned j = 0; j < arity; j++) {
            out << " " << "x!" << j;
        }
        out << ")\n";
        
        unsigned num_entries = fi->num_entries();
        for (unsigned j = 0; j < num_entries; j++) {
            func_entry const * curr = fi->get_entry(j);
            out << "  (if ";
            if (arity > 1)
                out << "(and ";
            for (unsigned j = 0; j < arity; j++) {
                out << "(= x!" << j << " " << mk_ismt2_pp(curr->get_arg(j), m) << ")";
                if (j + 1 < arity)
                    out << " ";
            }
            if (arity > 1)
                out << ")";
            out << " " << mk_ismt2_pp(curr->get_result(), m) << "\n";
        }
        if (num_entries > 0)
            out << "  ";
        if (fi->is_partial())
            out << "  #unspecified";
        else {
            out << "  " << mk_ismt2_pp(fi->get_else(), m, params_ref(), 5, arity, "x");
        }
        for (unsigned j = 0; j < num_entries; j++)
            out << ")";
        out << ")\n";
    }
}
Beispiel #5
0
 bv1_blaster_tactic(ast_manager & m, params_ref const & p = params_ref()):
     m_params(p) {
     m_imp = alloc(imp, m, p);
 }
Beispiel #6
0
 aig_tactic(params_ref const & p = params_ref()):m_aig_manager(0) { 
     updt_params(p); 
 }
 pb_preprocess_tactic(ast_manager& m, params_ref const& p = params_ref()): 
     m(m), pb(m), m_r(m) {}
tactic * tactic_cmd::mk(ast_manager & m) { 
    return (*m_factory)(m, params_ref()); 
}