mirror of
https://github.com/Z3Prover/z3
synced 2025-11-22 13:41:27 +00:00
Switch to using solver instead of smt::kernel all around
This commit is contained in:
parent
4b09cefb97
commit
c2b8f25cf9
9 changed files with 146 additions and 138 deletions
|
|
@ -2289,33 +2289,56 @@ void context::reset_lemma_generalizers()
|
|||
// initialize global SMT parameters shared by all solvers
|
||||
void context::init_global_smt_params() {
|
||||
m.toggle_proof_mode(PGM_ENABLED);
|
||||
smt_params &fparams = m_pm.fparams ();
|
||||
params_ref p;
|
||||
if (!m_params.spacer_eq_prop ()) {
|
||||
fparams.m_arith_bound_prop = BP_NONE;
|
||||
fparams.m_arith_auto_config_simplex = true;
|
||||
fparams.m_arith_propagate_eqs = false;
|
||||
fparams.m_arith_eager_eq_axioms = false;
|
||||
// arith_propagation_mode
|
||||
p.set_uint("arith.propagation_mode", 0);
|
||||
// fparams.m_arith_bound_prop = BP_NONE;
|
||||
// NOT AVAILABLE
|
||||
// fparams.m_arith_auto_config_simplex = true;
|
||||
// arith_propagate_eqs
|
||||
// fparams.m_arith_propagate_eqs = false;
|
||||
p.set_bool("arith.propagate_eqs", false);
|
||||
// NOT AVAILABLE
|
||||
// fparams.m_arith_eager_eq_axioms = false;
|
||||
}
|
||||
fparams.m_random_seed = m_params.spacer_random_seed ();
|
||||
// fparams.m_random_seed = m_params.spacer_random_seed ();
|
||||
p.set_uint("random_seed", m_params.spacer_random_seed());
|
||||
|
||||
fparams.m_dump_benchmarks = m_params.spacer_vs_dump_benchmarks();
|
||||
fparams.m_dump_min_time = m_params.spacer_vs_dump_min_time();
|
||||
fparams.m_dump_recheck = m_params.spacer_vs_recheck();
|
||||
// fparams.m_dump_benchmarks = m_params.spacer_vs_dump_benchmarks();
|
||||
// fparams.m_dump_min_time = m_params.spacer_vs_dump_min_time();
|
||||
// fparams.m_dump_recheck = m_params.spacer_vs_recheck();
|
||||
|
||||
fparams.m_mbqi = m_params.spacer_mbqi();
|
||||
// mbqi
|
||||
// fparams.m_mbqi = m_params.spacer_mbqi();
|
||||
p.set_bool("mbqi", m_params.spacer_mbqi());
|
||||
|
||||
if (!m_params.spacer_ground_cti()) {
|
||||
fparams.m_pi_use_database = true; // you don't need this
|
||||
fparams.m_phase_selection = PS_CACHING_CONSERVATIVE2;
|
||||
fparams.m_restart_strategy = RS_GEOMETRIC;
|
||||
fparams.m_restart_factor = 1.5;
|
||||
fparams.m_eliminate_bounds = true;
|
||||
fparams.m_qi_quick_checker = MC_UNSAT; //
|
||||
fparams.m_qi_eager_threshold = 10;
|
||||
fparams.m_qi_lazy_threshold = 20;
|
||||
fparams.m_ng_lift_ite = LI_FULL; // ? probably useless
|
||||
// fparams.m_pi_use_database = true; // you don't need this
|
||||
// phase_selection
|
||||
// fparams.m_phase_selection = PS_CACHING_CONSERVATIVE2;
|
||||
p.set_uint("phase_selection", 4);
|
||||
// restart_strategy
|
||||
// fparams.m_restart_strategy = RS_GEOMETRIC;
|
||||
p.set_uint("restart_strategy", 0);
|
||||
// restart factor
|
||||
// fparams.m_restart_factor = 1.5;
|
||||
p.set_double("restart_factor", 1.5);
|
||||
// probably not needed in our use case
|
||||
// fparams.m_eliminate_bounds = true;
|
||||
// NONE
|
||||
// fparams.m_qi_quick_checker = MC_UNSAT; //
|
||||
// qi_eager_threshold
|
||||
// fparams.m_qi_eager_threshold = 10;
|
||||
p.set_double("qi.eager_threshold", 10.0);
|
||||
// qi_lazy_threshold
|
||||
// fparams.m_qi_lazy_threshold = 20;
|
||||
p.set_double("qi.lazy_threshold", 20.0);
|
||||
// useless
|
||||
// fparams.m_ng_lift_ite = LI_FULL;
|
||||
}
|
||||
|
||||
m_pm.updt_params(p);
|
||||
}
|
||||
void context::init_lemma_generalizers()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue