new conversion for Streett->GBA

* src/twaalgos/totgba.hh, src/twaalgos/totgba.cc: Implement
the new function.
* NEWS: Mention this new function.
* src/bin/man/spot-x.x: Document SPOT_STREETT_CONV_MIN.
* src/tests/ltl2dstar4.test: Add tests.
* src/tests/Makefile.am: Add it.
* src/bin/autfilt.cc: Do do call remove_fin explicitely
when --tgba is used, let the postprocessor do it.
* src/twa/acc.hh: Add shift operators for acceptance marks.
* src/twaalgos/remfin.cc: Use the new algorithm.
* src/twaalgos/sccinfo.cc, src/twaalgos/sccinfo.hh: Add
a new method to supply the acceptance sets visited by an SCC.
This commit is contained in:
Alexandre Duret-Lutz 2015-07-10 19:02:21 +02:00
parent c0ffe5cdff
commit d8a1dafad1
11 changed files with 419 additions and 11 deletions

18
NEWS
View file

@ -13,6 +13,24 @@ New in spot 1.99.1a (not yet released)
translation of one PSL formula and its now takes) now takes only
75s.
* streett_to_generalized_buchi() is a new function that implements
what its name suggests, with some SCC-based optimizations over the
naive definition. It is used by the to_generalized_buchi() and
remove_fin() function when the input automaton is a Streett
automaton with more than 3 pairs (this threeshold can be changed
via the SPOT_STREETT_CONV_MIN environment variable -- see the
spot-x(7) man page for details).
This is mainly useful to ltlcross, which has to get rid of "Fin"
acceptance to perform its checks. As an example, the Streett
automaton generatated by ltl2dstar (configured with ltl2tgba) for
the formula
!((GFa -> GFb) & (GFc -> GFd))
has 4307 states and 14 pairs. The new algorithm can translate it
into a TGBA with 9754 states and 7 acceptance sets, while the
default approch used for converting any acceptance to TGBA would
produce 250967 states and 7 acceptance sets.
* Bugs fixed:
- p[+][:*2] was not detected as belonging to siPSL
- scc_filter() would incorrectly remove Fin marks from