3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-30 19:22:28 +00:00

First draft of elim_term_ite xform. Not working.

This commit is contained in:
Arie Gurfinkel 2018-06-29 17:04:44 -04:00
parent 7acea2791d
commit 6d75c31468
9 changed files with 171 additions and 5 deletions

View file

@ -1683,7 +1683,10 @@ void pred_transformer::init_rule(decl2rel const& pts, datalog::rule const& rule)
// rewrite and simplify
th_rewriter rw(m);
rw(trans);
if (ctx.blast_term_ite()) {blast_term_ite(trans, 3); rw(trans);}
if (ctx.blast_term_ite_inflation() > 0) {
blast_term_ite(trans, ctx.blast_term_ite_inflation());
rw(trans);
}
TRACE("spacer_init_rule", tout << mk_pp(trans, m) << "\n";);
// allow quantifiers in init rule
@ -2265,7 +2268,7 @@ void context::updt_params() {
m_use_euf_gen = m_params.spacer_use_euf_gen();
m_use_ctp = m_params.spacer_ctp();
m_use_inc_clause = m_params.spacer_use_inc_clause();
m_blast_term_ite = m_params.spacer_blast_term_ite();
m_blast_term_ite_inflation = m_params.spacer_blast_term_ite_inflation();
m_use_ind_gen = m_params.spacer_use_inductive_generalizer();
m_use_array_eq_gen = m_params.spacer_use_array_eq_generalizer();
m_validate_lemmas = m_params.spacer_validate_lemmas();

View file

@ -940,7 +940,6 @@ class context {
bool m_use_euf_gen;
bool m_use_ctp;
bool m_use_inc_clause;
bool m_blast_term_ite;
bool m_use_ind_gen;
bool m_use_array_eq_gen;
bool m_validate_lemmas;
@ -962,6 +961,7 @@ class context {
unsigned m_push_pob_max_depth;
unsigned m_max_level;
unsigned m_restart_initial_threshold;
unsigned m_blast_term_ite_inflation;
scoped_ptr_vector<spacer_callback> m_callbacks;
json_marshaller m_json_marshaller;
@ -1036,7 +1036,7 @@ public:
bool simplify_pob() {return m_simplify_pob;}
bool use_ctp() {return m_use_ctp;}
bool use_inc_clause() {return m_use_inc_clause;}
bool blast_term_ite() {return m_blast_term_ite;}
unsigned blast_term_ite_inflation() {return m_blast_term_ite_inflation;}
bool elim_aux() {return m_elim_aux;}
bool reach_dnf() {return m_reach_dnf;}