sccinfo: introduce is_rejecting()
Because scc_info does not perform a full emptiness check, it is not always able to tell whether an SCC is accepting if the acceptance condition use Fin primitives. This introduce is_rejecting_scc() in addition to to is_accepting_scc(). Only one of them may be true, but they can both be false if scc_info has no idea whether the SCC is accepting. * src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh: Implement is_rejecting_scc(). * src/bin/ltlcross.cc, src/tgba/acc.cc, src/tgba/acc.hh, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/isweakscc.cc, src/tgbaalgos/remfin.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/sccfilter.cc: Use it. * src/tgbaalgos/dotty.cc: Use is_rejecting_scc() and is_accepting_scc() to color SCCs. * doc/org/oaut.org: Document the colors used. * src/tgbatest/neverclaimread.test, src/tgbatest/readsave.test: Adjust tests. * src/tgbatest/sccdot.test: New test case. * src/tgbatest/Makefile.am: Add it.
This commit is contained in:
parent
8658441839
commit
ebe4ffc507
16 changed files with 475 additions and 45 deletions
|
|
@ -332,10 +332,12 @@ digraph G {
|
|||
I [label="", style=invis, width=0]
|
||||
I -> 0
|
||||
subgraph cluster_0 {
|
||||
color=green
|
||||
label=""
|
||||
1 [label="1", peripheries=2]
|
||||
}
|
||||
subgraph cluster_1 {
|
||||
color=red
|
||||
label=""
|
||||
0 [label="0"]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue