gf_guarantee_to_ba: save states using histories
This improves gf_guarantee_to_ba() on formulas GF(φ) where the automaton for F(φ) as several leading transiant SCCs. E.g., GF(a <-> XXXa) where we know get results that are as good as those of delag without loosing on the cases where delag's technique would actually produce two big automata. * spot/twaalgos/gfguarantee.cc: Implement this. * spot/twaalgos/gfguarantee.hh, NEWS: Document it. * tests/core/ltl2tgba2.test, tests/core/ltl3ba.test: Add test cases.
This commit is contained in:
parent
730c6bbca2
commit
7e9325866f
5 changed files with 221 additions and 26 deletions
|
|
@ -360,3 +360,19 @@ p-patterns,20, 1,8, 1,8, 3,24, 3,24
|
|||
EOF
|
||||
|
||||
diff output expected
|
||||
|
||||
|
||||
# These four formulas appear in a NEWS entry for Spot 2.6
|
||||
cat >formulas <<EOF
|
||||
GF((a & XXa) | (!a & XX!a)), 4,8, 4,8, 6,14, 7,14
|
||||
GF((a & XXXa) | (!a & XXX!a)), 7,14, 8,16, 8,18, 15,30
|
||||
GF(((a & Xb) | XXc) & Xd), 4,60, 4,64, 4,68, 5,80
|
||||
GF((b | Fa) & (b R Xb)), 2,4, 2,4, 3,6, 3,12
|
||||
EOF
|
||||
|
||||
ltl2tgba -Fformulas/1 --stats='%f, %s,%t' |
|
||||
ltl2tgba -D -F-/1 --stats='%f,%>, %s,%t' |
|
||||
ltl2tgba -B -F-/1 --stats='%f,%>, %s,%t' |
|
||||
ltl2tgba -BD -F-/1 --stats='%f,%>, %s,%t' > output
|
||||
|
||||
diff formulas output
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue