translate, simplify: limit containment checks of n-ary operators
Fixes #521. * spot/tl/simplify.cc, spot/tl/simplify.hh, spot/twaalgos/translate.cc, spot/twaalgos/translate.hh: Add an option to limit automata-based implication checks of n-ary operators when too many operands are used. Defaults to 16. * bin/spot-x.cc, NEWS, doc/tl/tl.tex: Document it. * tests/core/bdd.test: Disable the limit for this test.
This commit is contained in:
parent
f2c65ea557
commit
843c4cdb91
8 changed files with 33 additions and 11 deletions
|
|
@ -1926,6 +1926,12 @@ Many of the above rules were collected from the
|
|||
literature~\cite{somenzi.00.cav,tauriainen.03.tr,babiak.12.tacas} and
|
||||
sometimes generalized to support operators such as $\M$ and $\W$.
|
||||
|
||||
The first six rules, about n-ary operators $\AND$ and $\OR$, are
|
||||
implemented for $n$ operands by testing each operand against all
|
||||
other. To prevent the complexity to escalate, this is only performed
|
||||
with up to 16 operands. That value can be changed in
|
||||
``\verb|tl_simplifier_options::containment_max_ops|''.
|
||||
|
||||
The following rules mix implication-based checks with formulas that
|
||||
are pure eventualities ($e$) or that are purely universal ($u$).
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue