mirror of
https://github.com/Z3Prover/z3
synced 2025-09-09 11:11:25 +00:00
First draft of elim_term_ite xform. Not working.
This commit is contained in:
parent
7acea2791d
commit
6d75c31468
9 changed files with 171 additions and 5 deletions
|
@ -307,6 +307,7 @@ namespace datalog {
|
|||
bool context::instantiate_quantifiers() const { return m_params->xform_instantiate_quantifiers(); }
|
||||
bool context::array_blast() const { return m_params->xform_array_blast(); }
|
||||
bool context::array_blast_full() const { return m_params->xform_array_blast_full(); }
|
||||
bool context::elim_term_ite() const {return m_params->xform_elim_term_ite();}
|
||||
|
||||
|
||||
void context::register_finite_sort(sort * s, sort_kind k) {
|
||||
|
|
|
@ -280,6 +280,7 @@ namespace datalog {
|
|||
bool xform_coi() const;
|
||||
bool array_blast() const;
|
||||
bool array_blast_full() const;
|
||||
bool elim_term_ite() const;
|
||||
|
||||
void register_finite_sort(sort * s, sort_kind k);
|
||||
|
||||
|
|
|
@ -132,10 +132,11 @@ def_module_params('fp',
|
|||
('spacer.use_derivations', BOOL, True, 'SPACER: using derivation mechanism to cache intermediate results for non-linear rules'),
|
||||
('xform.array_blast', BOOL, False, "try to eliminate local array terms using Ackermannization -- some array terms may remain"),
|
||||
('xform.array_blast_full', BOOL, False, "eliminate all local array variables by QE"),
|
||||
('xform.elim_term_ite', BOOL, False, "Eliminate term-ite expressions"),
|
||||
('spacer.propagate', BOOL, True, 'Enable propagate/pushing phase'),
|
||||
('spacer.max_level', UINT, UINT_MAX, "Maximum level to explore"),
|
||||
('spacer.elim_aux', BOOL, True, "Eliminate auxiliary variables in reachability facts"),
|
||||
('spacer.blast_term_ite', BOOL, True, "Expand non-Boolean ite-terms"),
|
||||
('spacer.blast_term_ite_inflation', UINT, 3, 'Maximum inflation for non-Boolean ite-terms expansion: 0 (none), k (multiplicative)'),
|
||||
('spacer.reach_dnf', BOOL, True, "Restrict reachability facts to DNF"),
|
||||
('bmc.linear_unrolling_depth', UINT, UINT_MAX, "Maximal level to explore"),
|
||||
('spacer.iuc.split_farkas_literals', BOOL, False, "Split Farkas literals"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue