mirror of
https://github.com/Z3Prover/z3
synced 2025-10-08 17:01:55 +00:00
Transformation to eliminate term-ite expressions from DL rules
This commit is contained in:
parent
6d75c31468
commit
5d1149adb2
6 changed files with 107 additions and 13 deletions
|
@ -308,6 +308,9 @@ namespace datalog {
|
|||
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();}
|
||||
unsigned context::blast_term_ite_inflation() const {
|
||||
return m_params->xform_elim_term_ite_inflation();
|
||||
}
|
||||
|
||||
|
||||
void context::register_finite_sort(sort * s, sort_kind k) {
|
||||
|
|
|
@ -281,6 +281,7 @@ namespace datalog {
|
|||
bool array_blast() const;
|
||||
bool array_blast_full() const;
|
||||
bool elim_term_ite() const;
|
||||
unsigned blast_term_ite_inflation() const;
|
||||
|
||||
void register_finite_sort(sort * s, sort_kind k);
|
||||
|
||||
|
|
|
@ -132,7 +132,8 @@ 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"),
|
||||
('xform.elim_term_ite', BOOL, False, 'Eliminate term-ite expressions'),
|
||||
('xform.elim_term_ite.inflation', UINT, 3, 'Maximum inflation for non-Boolean ite-terms blasting: 0 (none), k (multiplicative)'),
|
||||
('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"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue