postproc: add support for co-Büchi output
* spot/twaalgos/cobuchi.cc, spot/twaalgos/cobuchi.hh (to_nca): New function. (weak_to_cobuchi): New internal function, used in to_nca and to_dca when appropriate. * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Implement the CoBuchi option. * python/spot/__init__.py: Support it in Python. * bin/common_post.cc: Add support for --buchi. * bin/autfilt.cc: Remove the --dca option. * tests/core/dca.test, tests/python/automata.ipynb: Adjust and add more tests. In particular, add more complex persistence and recurrence formulas to the list of dca.test. * tests/python/dca.test: Adjust and rename to... * tests/core/dca2.test: ... this. Add more tests, to the point that this is now failing, as described in issue #317. * tests/python/dca.py: Remove. * tests/Makefile.am: Adjust.
This commit is contained in:
parent
9464043d39
commit
61b0a542f1
14 changed files with 618 additions and 531 deletions
25
NEWS
25
NEWS
|
|
@ -30,6 +30,11 @@ New in spot 2.4.4.dev (net yet released)
|
|||
output. Different styles can be requested using for instance
|
||||
--parity='min odd' or --parity='max even'.
|
||||
|
||||
- ltl2tgba, autfilt, and dstar2tgba have some new '--cobuchi' option
|
||||
to force co-Büchi acceptance on the output. Beware: if the input
|
||||
language is not co-Büchi realizable the output automaton will
|
||||
recognize a superset of the input.
|
||||
|
||||
- genltl learned to generate six new families of formulas, taken from
|
||||
the SYNTCOMP competition on reactive synthesis, and from from
|
||||
Müller & Sickert's GandALF'17 paper:
|
||||
|
|
@ -40,11 +45,8 @@ New in spot 2.4.4.dev (net yet released)
|
|||
--ms-phi-r=RANGE (FGa{n}&GFb{n})|((FGa{n-1}|GFb{n-1})&(...))
|
||||
--ms-phi-s=RANGE (FGa{n}|GFb{n})&((FGa{n-1}&GFb{n-1})|(...))
|
||||
|
||||
- autfilt learned a couple of acceptance transformations:
|
||||
--streett-like converts automata with DNF acceptance
|
||||
into automata with Streett-like acceptance.
|
||||
--dca converts automata with DNF or Streett-like
|
||||
acceptance into deterministic co-Büchi.
|
||||
- autfilt learned --streett-like to convert automata with DNF
|
||||
acceptance into automata with Streett-like acceptance.
|
||||
|
||||
- autfilt learned --acceptance-is=ACC to filter automata by
|
||||
acceptance condition. ACC can be the name of some acceptance
|
||||
|
|
@ -91,10 +93,11 @@ New in spot 2.4.4.dev (net yet released)
|
|||
- spot::nsa_to_nca(), spot::dfn_to_nca(), spot::dfn_to_dca(), and
|
||||
spot::nsa_to_dca(), convert automata with DNF or Streett-like
|
||||
acceptance into deterministic or non-deterministic co-Büchi
|
||||
automata. spot::to_dca() dispatches between the last two
|
||||
functions. The language of produced automata include the original
|
||||
language, but may be larger if the original automaton is not
|
||||
co-Büchi realizable. Based on Boker & Kupferman FOSSACS'11 paper.
|
||||
automata. spot::to_dca() and spot::to_nca() dispatches between
|
||||
these four functions. The language of produced automata include
|
||||
the original language, but may be larger if the original automaton
|
||||
is not co-Büchi realizable. Based on Boker & Kupferman FOSSACS'11
|
||||
paper.
|
||||
|
||||
- spot::scc_info::states_on_acc_cycle_of() return all states
|
||||
visited by any accepting cycle of the specified SCC. It only
|
||||
|
|
@ -182,6 +185,10 @@ New in spot 2.4.4.dev (net yet released)
|
|||
have parity acceptance, it will simply be degeneralized or
|
||||
determinized.
|
||||
|
||||
- spot::postprocessor::set_type() can now request co-Büchi
|
||||
acceptance as output. This calls the aforementioned to_nca() or
|
||||
to_dca() functions.
|
||||
|
||||
- spot::remove_fin() will now call simplify_acceptance(),
|
||||
introduced in 2.4, before attempting its different Fin-removal
|
||||
strategies.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue