mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
Simplified asserted_formulas. From now on, we should use tactics for qe, der, solve, etc.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
4237ac0dbf
commit
026c81ba29
15 changed files with 20 additions and 975 deletions
|
@ -188,7 +188,6 @@ namespace smt {
|
|||
|
||||
void setup::setup_QF_UF() {
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
}
|
||||
|
||||
|
@ -201,7 +200,6 @@ namespace smt {
|
|||
void setup::setup_QF_UF(static_features const & st) {
|
||||
check_no_arithmetic(st, "QF_UF");
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
m_params.m_restart_strategy = RS_LUBY;
|
||||
m_params.m_phase_selection = PS_CACHING_CONSERVATIVE2;
|
||||
|
@ -215,7 +213,6 @@ namespace smt {
|
|||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_expand_eqs = true;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_nnf_cnf = false;
|
||||
setup_mi_arith();
|
||||
|
@ -256,7 +253,6 @@ namespace smt {
|
|||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_expand_eqs = true;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_nnf_cnf = false;
|
||||
if (is_dense(st)) {
|
||||
|
@ -308,7 +304,6 @@ namespace smt {
|
|||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_expand_eqs = true;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_arith_small_lemma_size = 30;
|
||||
m_params.m_nnf_cnf = false;
|
||||
|
@ -327,7 +322,6 @@ namespace smt {
|
|||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_expand_eqs = true;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_arith_small_lemma_size = 30;
|
||||
m_params.m_nnf_cnf = false;
|
||||
|
@ -377,7 +371,6 @@ namespace smt {
|
|||
TRACE("setup", tout << "setup_QF_UFIDL()\n";);
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
m_params.m_arith_eq_bounds = true;
|
||||
m_params.m_phase_selection = PS_ALWAYS_FALSE;
|
||||
|
@ -393,7 +386,6 @@ namespace smt {
|
|||
throw default_exception("Benchmark has real variables but it is marked as QF_UFIDL (uninterpreted functions and difference logic).");
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
if (st.m_num_uninterpreted_functions == 0) {
|
||||
m_params.m_arith_expand_eqs = true;
|
||||
|
@ -434,7 +426,6 @@ namespace smt {
|
|||
m_params.m_arith_reflect = false;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_eliminate_term_ite = true;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
setup_mi_arith();
|
||||
}
|
||||
|
@ -446,7 +437,6 @@ namespace smt {
|
|||
m_params.m_arith_reflect = false;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_eliminate_term_ite = true;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
if (numerator(st.m_arith_k_sum) > rational(2000000) && denominator(st.m_arith_k_sum) > rational(500)) {
|
||||
m_params.m_relevancy_lvl = 2;
|
||||
|
@ -519,7 +509,6 @@ namespace smt {
|
|||
void setup::setup_QF_UFLIA() {
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
m_params.m_arith_propagation_threshold = 1000;
|
||||
setup_i_arith();
|
||||
|
@ -534,7 +523,6 @@ namespace smt {
|
|||
void setup::setup_QF_UFLRA() {
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
setup_mi_arith();
|
||||
}
|
||||
|
@ -542,7 +530,6 @@ namespace smt {
|
|||
void setup::setup_QF_BV() {
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_bv_cc = false;
|
||||
m_params.m_bb_ext_gates = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
|
@ -552,7 +539,6 @@ namespace smt {
|
|||
void setup::setup_QF_AUFBV() {
|
||||
m_params.m_array_mode = AR_SIMPLE;
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_solver = true;
|
||||
m_params.m_bv_cc = false;
|
||||
m_params.m_bb_ext_gates = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
|
@ -575,7 +561,6 @@ namespace smt {
|
|||
}
|
||||
else {
|
||||
m_params.m_relevancy_lvl = 2;
|
||||
m_params.m_solver = true;
|
||||
}
|
||||
m_context.register_plugin(alloc(smt::theory_array, m_manager, m_params));
|
||||
}
|
||||
|
@ -609,7 +594,6 @@ namespace smt {
|
|||
m_params.m_phase_selection = PS_CACHING_CONSERVATIVE2;
|
||||
m_params.m_random_initial_activity = IA_ZERO;
|
||||
}
|
||||
// m_params.m_solver = true;
|
||||
// if (st.m_num_arith_ineqs == st.m_num_diff_ineqs && st.m_num_arith_eqs == st.m_num_diff_eqs && st.m_arith_k_sum < rational(INT_MAX / 8))
|
||||
// m_context.register_plugin(new smt::theory_si_arith(m_manager, m_params));
|
||||
// else
|
||||
|
@ -688,14 +672,10 @@ namespace smt {
|
|||
}
|
||||
|
||||
void setup::setup_LRA() {
|
||||
m_params.m_quant_elim = true;
|
||||
// after quantifier elimination, the result is a QF_LRA benchmark
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
// m_params.m_arith_expand_eqs = true; << may affect quant_elim
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_eliminate_term_ite = true;
|
||||
m_params.m_solver = true;
|
||||
setup_mi_arith();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue