Пример #1
0
 inc_sat_solver(ast_manager& m, params_ref const& p):
     m(m), m_solver(p, m.limit(), 0),
     m_params(p), m_optimize_model(false),
     m_fmls(m),
     m_asmsf(m),
     m_fmls_head(0),
     m_core(m),
     m_map(m),
     m_bb_rewriter(m, p),
     m_num_scopes(0),
     m_dep_core(m),
     m_unknown("no reason given") {
     m_params.set_bool("elim_vars", false);
     m_solver.updt_params(m_params);
     params_ref simp2_p = p;
     simp2_p.set_bool("som", true);
     simp2_p.set_bool("pull_cheap_ite", true);
     simp2_p.set_bool("push_ite_bv", false);
     simp2_p.set_bool("local_ctx", true);
     simp2_p.set_uint("local_ctx_limit", 10000000);
     simp2_p.set_bool("flat", true); // required by som
     simp2_p.set_bool("hoist_mul", false); // required by som
     simp2_p.set_bool("elim_and", true);
     m_preprocess =
         and_then(mk_card2bv_tactic(m, m_params),
                  using_params(mk_simplify_tactic(m), simp2_p),
                  mk_max_bv_sharing_tactic(m),
                  mk_bit_blaster_tactic(m, &m_bb_rewriter),
                  //mk_aig_tactic(),
                  using_params(mk_simplify_tactic(m), simp2_p));
 }
Пример #2
0
 inc_sat_solver(ast_manager& m, params_ref const& p):
     m(m), m_solver(p,0), m_params(p),
     m_fmls(m), m_map(m) {
     m_params.set_bool("elim_vars", false);
     m_solver.updt_params(m_params);
     params_ref simp2_p = p;
     simp2_p.set_bool("som", true);
     simp2_p.set_bool("pull_cheap_ite", true);
     simp2_p.set_bool("push_ite_bv", false);
     simp2_p.set_bool("local_ctx", true);
     simp2_p.set_uint("local_ctx_limit", 10000000);
     simp2_p.set_bool("flat", true); // required by som
     simp2_p.set_bool("hoist_mul", false); // required by som
     m_preprocess = 
         and_then(mk_card2bv_tactic(m, m_params),
                  mk_simplify_tactic(m),
                  mk_propagate_values_tactic(m),
                  using_params(mk_simplify_tactic(m), simp2_p),
                  mk_max_bv_sharing_tactic(m),
                  mk_bit_blaster_tactic(m), 
                  mk_aig_tactic());
     
     
 }