mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 04:03:39 +00:00
turn on ite simplification by default
This commit is contained in:
parent
8368094618
commit
e86a918ae7
|
@ -34,7 +34,6 @@ void bool_rewriter::updt_params(params_ref const & _p) {
|
||||||
m_blast_distinct = p.blast_distinct();
|
m_blast_distinct = p.blast_distinct();
|
||||||
m_blast_distinct_threshold = p.blast_distinct_threshold();
|
m_blast_distinct_threshold = p.blast_distinct_threshold();
|
||||||
m_ite_extra_rules = p.ite_extra_rules();
|
m_ite_extra_rules = p.ite_extra_rules();
|
||||||
m_elim_ite_value_tree = p.elim_ite_value_tree();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bool_rewriter::get_param_descrs(param_descrs & r) {
|
void bool_rewriter::get_param_descrs(param_descrs & r) {
|
||||||
|
@ -681,11 +680,9 @@ br_status bool_rewriter::try_ite_value(app * ite, app * val, expr_ref & result)
|
||||||
return BR_REWRITE2;
|
return BR_REWRITE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_elim_ite_value_tree) {
|
result = simplify_eq_ite(val, ite);
|
||||||
result = simplify_eq_ite(val, ite);
|
if (result)
|
||||||
if (result)
|
return BR_REWRITE_FULL;
|
||||||
return BR_REWRITE_FULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return BR_FAILED;
|
return BR_FAILED;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,6 @@ class bool_rewriter {
|
||||||
unsigned m_local_ctx_limit;
|
unsigned m_local_ctx_limit;
|
||||||
unsigned m_local_ctx_cost;
|
unsigned m_local_ctx_cost;
|
||||||
bool m_elim_ite;
|
bool m_elim_ite;
|
||||||
bool m_elim_ite_value_tree;
|
|
||||||
ptr_vector<expr> m_todo1, m_todo2;
|
ptr_vector<expr> m_todo1, m_todo2;
|
||||||
unsigned_vector m_counts1, m_counts2;
|
unsigned_vector m_counts1, m_counts2;
|
||||||
expr_fast_mark1 m_marked;
|
expr_fast_mark1 m_marked;
|
||||||
|
|
|
@ -7,7 +7,6 @@ def_module_params(module_name='rewriter',
|
||||||
("sort_disjunctions", BOOL, True, "sort subterms in disjunctions"),
|
("sort_disjunctions", BOOL, True, "sort subterms in disjunctions"),
|
||||||
("elim_and", BOOL, False, "conjunctions are rewritten using negation and disjunctions"),
|
("elim_and", BOOL, False, "conjunctions are rewritten using negation and disjunctions"),
|
||||||
('elim_ite', BOOL, True, "eliminate ite in favor of and/or"),
|
('elim_ite', BOOL, True, "eliminate ite in favor of and/or"),
|
||||||
('elim_ite_value_tree', BOOL, False, "eliminate equations 'v = ite(...)' where v is a value and each leaf in the ite tree is a value"),
|
|
||||||
("local_ctx", BOOL, False, "perform local (i.e., cheap) context simplifications"),
|
("local_ctx", BOOL, False, "perform local (i.e., cheap) context simplifications"),
|
||||||
("local_ctx_limit", UINT, UINT_MAX, "limit for applying local context simplifier"),
|
("local_ctx_limit", UINT, UINT_MAX, "limit for applying local context simplifier"),
|
||||||
("blast_distinct", BOOL, False, "expand a distinct predicate into a quadratic number of disequalities"),
|
("blast_distinct", BOOL, False, "expand a distinct predicate into a quadratic number of disequalities"),
|
||||||
|
|
Loading…
Reference in a new issue