degen: consider incoming edges to select initial levels

Fixes #257.

* spot/twaalgos/degen.cc: Implement this optimization.
* tests/core/degendet.test: Add a few test cases.
* tests/core/ltl2tgba2.test: Adjust expected sizes.
* NEWS: Mention the change.
This commit is contained in:
Alexandre Duret-Lutz 2017-05-05 16:39:11 +02:00
parent e1c14eb90a
commit 679b6cff78
4 changed files with 74 additions and 34 deletions

5
NEWS
View file

@ -57,6 +57,11 @@ New in spot 2.3.3.dev (not yet released)
Streett acceptance. The dual function is
spot::acc_cond::is_rabin_like() works similarly.
- The degeneralize() function has learned to consider acceptance
marks common to all edges comming to a state to select its initial
level. A similar trick was already used in sbacc(), and saves a
few states in some cases.
Python:
- The 'spot.gen' package exports the functions from libspotgen.