minimize_wdba: use a product to decide accepting SCCs

Fixes #347.

* spot/twaalgos/minimize.cc, spot/twaalgos/minimize.hh: An SCC of the
determinized automaton is marked as accepting if it intersects any
accepting SCC of the original automaton.  This can be checked by
making a product.  As a consequence the output of minimize_wdba() now
always includes the original language, and minimize_obligation() only
needs a single containment check.
* NEWS: Mention this.
This commit is contained in:
Alexandre Duret-Lutz 2018-06-05 17:42:44 +02:00
parent 4afd1856a6
commit 730c6bbca2
3 changed files with 48 additions and 124 deletions

6
NEWS
View file

@ -130,6 +130,12 @@ New in spot 2.5.3.dev (not yet released)
the resulting TGBA makes it more likely that simulation-based
reductions will reduce it.
- When applied to automata that are not WDBA-realizable,
spot::minimize_wdba() was changed to produce an automaton
recognizing a language that includes the original one. As a
consequence spot::minimize_obligation() now only needs one
containement check instead of two.
- The LTL simplification routine learned the following reductions,
where f is any formula, and q is a "suspendable" formula (a.k.a.
both a pure eventuality and purely universal).