Improve IAR construction

spot::iar() was fixed to handle correctly Rabin-like conditions.
It also now supports Streett-like conditions.

* NEWS, spot/twaalgos/postproc.cc: document it
* spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
  implement it
* tests/core/rabin2parity.test, tests/python/except.py: test it
This commit is contained in:
Maximilien Colange 2018-01-23 11:16:34 +01:00
parent ff2a96cc1a
commit 1ebd86de04
6 changed files with 103 additions and 33 deletions

8
NEWS
View file

@ -1,11 +1,17 @@
New in spot 2.5.0.dev (not yet released)
Library:
- iar() and iar_maybe() now also handle Streett-like conditions.
Bugs fixed:
- streett_to_generalized_buchi() could produce incorrect result on
Streett-like input with acceptance like (Inf(0)|Fin(1))&Fin(1)
where some Fin(x) is used both with and without a paired Fin(y).
- iar() and iar_maybe() properly handle Rabin-like conditions.
New in spot 2.5 (2018-01-20)
Build:
@ -92,7 +98,7 @@ New in spot 2.5 (2018-01-20)
New functions in the library:
- spot::iar() and spot::iar_maybe() use index appearance records (IAR)
to translate Rabin-like automata into equivalent parity automaton.
to translate Rabin-like automata into equivalent parity automata.
This translation preserves determinism and is especially useful when
the input automaton is deterministic.