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:
Alexandre Duret-Lutz 2023-11-17 13:41:19 +01:00
parent 13377542cd
commit 0e71dd70c1
20 changed files with 857 additions and 842 deletions

View file

@ -736,7 +736,7 @@ there are 2 subformulas
trying to create strategy directly for (b & (b | y)) -> y
direct strategy might exist but was not found.
translating formula done in X seconds
automaton has 2 states and 1 colors
automaton has 2 states and 0 colors
LAR construction done in X seconds
DPA has 2 states, 0 colors
split inputs and outputs done in X seconds
@ -747,7 +747,7 @@ simplification took X seconds
trying to create strategy directly for (a | x) -> x
direct strategy might exist but was not found.
translating formula done in X seconds
automaton has 2 states and 1 colors
automaton has 2 states and 0 colors
LAR construction done in X seconds
DPA has 2 states, 0 colors
split inputs and outputs done in X seconds
@ -850,7 +850,7 @@ there are 3 subformulas
trying to create strategy directly for a -> b
direct strategy might exist but was not found.
translating formula done in X seconds
automaton has 2 states and 1 colors
automaton has 2 states and 0 colors
LAR construction done in X seconds
DPA has 2 states, 0 colors
split inputs and outputs done in X seconds
@ -861,7 +861,7 @@ simplification took X seconds
trying to create strategy directly for a -> c
direct strategy might exist but was not found.
translating formula done in X seconds
automaton has 2 states and 1 colors
automaton has 2 states and 0 colors
LAR construction done in X seconds
DPA has 2 states, 0 colors
split inputs and outputs done in X seconds
@ -872,7 +872,7 @@ simplification took X seconds
trying to create strategy directly for a -> d
direct strategy might exist but was not found.
translating formula done in X seconds
automaton has 2 states and 1 colors
automaton has 2 states and 0 colors
LAR construction done in X seconds
DPA has 2 states, 0 colors
split inputs and outputs done in X seconds
@ -934,7 +934,7 @@ ltlsynt -f 'G(c) & (G(a) <-> GFb)' --outs=b,c --decompose=yes --pol=no \
cat >exp <<EOF
there are 2 subformulas
translating formula done in X seconds
automaton has 1 states and 1 colors
automaton has 1 states and 0 colors
LAR construction done in X seconds
DPA has 1 states, 0 colors
split inputs and outputs done in X seconds
@ -967,7 +967,7 @@ solving game with acceptance: generalized-Streett 1 1
game solved in X seconds
simplification took X seconds
translating formula done in X seconds
automaton has 1 states and 1 colors
automaton has 1 states and 0 colors
ACD construction done in X seconds
DPA has 1 states, 0 colors
split inputs and outputs done in X seconds