Пример #1
0
// Create SMT solver that does not use cuts
static tactic * mk_no_cut_no_relevancy_smt_tactic(unsigned rs) {
    params_ref solver_p;
    solver_p.set_uint("arith.branch_cut_ratio", 10000000);
    solver_p.set_uint("random_seed", rs);
    solver_p.set_uint("relevancy", 0);
    return using_params(mk_smt_tactic_using(false), solver_p);
}
Пример #2
0
tactic * mk_ufbv_tactic(ast_manager & m, params_ref const & p) {
    params_ref main_p(p);
    main_p.set_bool("mbqi", true);
    main_p.set_uint("mbqi.max_iterations", UINT_MAX);
    main_p.set_bool("elim_and", true);

    tactic * t = and_then(repeat(mk_ufbv_preprocessor_tactic(m, main_p), 2),
                          mk_smt_tactic_using(false, main_p));

    t->updt_params(p);

    return t;
}
Пример #3
0
// Create SMT solver that does not use cuts
static tactic * mk_no_cut_smt_tactic(unsigned rs) {
    params_ref solver_p;
    solver_p.set_uint(":arith-branch-cut-ratio", 10000000);
    solver_p.set_uint(":random-seed", rs);
    return using_params(mk_smt_tactic_using(false), solver_p);
}