sccfilter: some inherently-weak automata should have t acceptance
* spot/twaalgos/sccfilter.cc: If an inherently-weak automaton has no rejecting cycle, reduce its acceptance to t instead of Büchi. * spot/twa/acc.hh (operator==, operator<): Fix comparisons of true acceptances. * NEWS: Mention these two changes. * spot/twaalgos/sccfilter.hh: Update documentation. * spot/twaalgos/determinize.cc (tgba_determinize): The call to scc_filter assume that the input BA is never reduced to t acceptance. Call scc_filter with an extra option to ensure that. * spot/twaalgos/postproc.cc (do_scc_filter): Adjust to add the extra option when we want to build Büchi or coBuchi. (ensure_ba): Don't mark trivial SCCs as accepting. * tests/core/complement.test, tests/core/dstar.test, tests/core/ltlsynt.test, tests/core/readsave.test, tests/core/wdba2.test, tests/python/_product_susp.ipynb, tests/python/automata-io.ipynb, tests/python/dualize.py, tests/python/highlighting.ipynb, tests/python/intrun.py, tests/python/setacc.py, tests/python/simstate.py, tests/python/stutter-inv.ipynb, tests/python/zlktree.py: Adjust test cases.
This commit is contained in:
parent
13377542cd
commit
0e71dd70c1
20 changed files with 857 additions and 842 deletions
13
NEWS
13
NEWS
|
|
@ -108,6 +108,15 @@ New in spot 2.11.6.dev (not yet released)
|
|||
removal of superfluous APs that is now performed by ltlsynt
|
||||
(search for --polarity and --global-equivalence above).
|
||||
|
||||
- scc_filter used to reduce automata tagged with the inherently-weak
|
||||
property to weak Büchi automata (unless the acceptance was already
|
||||
t or co-Büchi). In case where the input automaton had no
|
||||
rejecting cycle, the Büchi acceptance was overkill: scc_filter
|
||||
will now use "t" acceptance. This change may have unexpected
|
||||
conseqences in code paths that assume running scc_filter on a
|
||||
Büchi automaton will always return a Büchi automaton. For those,
|
||||
a "keep_one_color" option has been added to scc_filter.
|
||||
|
||||
- ltsmin's interface will now point to README.ltsmin in case an
|
||||
error is found while running divine or spins.
|
||||
|
||||
|
|
@ -143,6 +152,10 @@ New in spot 2.11.6.dev (not yet released)
|
|||
- The automaton parser forgot to update the list of highlighted
|
||||
edges while dropping edges labeled by bddfalse. (issue #548.)
|
||||
|
||||
- The comparison operators for acceptance condition (==, !=)
|
||||
could fail to equate two "t" condition, because we have two ways
|
||||
to represent "t": the empty condition, or the empty "Inf({})".
|
||||
|
||||
New in spot 2.11.6 (2023-08-01)
|
||||
|
||||
Bug fixes:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue