improve fuse_marks_here by detecting more patterns
This remove some restrictions that prevented fuse_marks_here from simplifying certain patterns, as noted in the first comment of issue #405. * spot/twaalgos/cleanacc.cc (find_interm_rec, find_fusable): Remove some unnecessary restrictions to singleton marks, and replace the hack put one non-singleton mark at the beginning of the singleton list by a sort. * tests/python/simplacc.py: Add two test cases. * tests/python/automata.ipynb, tests/core/remfin.test: Improve expected results. * NEWS: Mention the bug.
This commit is contained in:
parent
645935f796
commit
260a141b1c
5 changed files with 87 additions and 70 deletions
|
|
@ -292,8 +292,6 @@ State: 1
|
|||
--END--
|
||||
EOF
|
||||
|
||||
acctwelve='Inf(0)&Inf(1)&Inf(2)&Inf(3)&Inf(4)&Inf(5)'
|
||||
acctwelve=$acctwelve'&Inf(6)&Inf(7)&Inf(8)&Inf(9)&Inf(10)&Inf(11)'
|
||||
cat >expected <<EOF
|
||||
HOA: v1
|
||||
States: 3
|
||||
|
|
@ -339,21 +337,22 @@ HOA: v1
|
|||
States: 3
|
||||
Start: 0
|
||||
AP: 2 "a" "b"
|
||||
Acceptance: 3 (Inf(1)&Inf(2)) | Inf(0)
|
||||
acc-name: generalized-Buchi 2
|
||||
Acceptance: 2 Inf(0)&Inf(1)
|
||||
properties: trans-labels explicit-labels trans-acc
|
||||
--BODY--
|
||||
State: 0
|
||||
[t] 0 {2}
|
||||
[0] 1 {2}
|
||||
[!0] 2 {0 2}
|
||||
[t] 0 {1}
|
||||
[0] 1 {1}
|
||||
[!0] 2 {0 1}
|
||||
State: 1
|
||||
[1] 0 {2}
|
||||
[0&1] 1 {0 2}
|
||||
[!0&1] 2 {1 2}
|
||||
[1] 0 {1}
|
||||
[0&1] 1 {0 1}
|
||||
[!0&1] 2 {0 1}
|
||||
State: 2
|
||||
[!1] 0
|
||||
[0&!1] 1 {0}
|
||||
[!0&!1] 2 {0}
|
||||
[0&!1] 1 {0 1}
|
||||
[!0&!1] 2 {0 1}
|
||||
--END--
|
||||
HOA: v1
|
||||
States: 1
|
||||
|
|
@ -867,7 +866,7 @@ HOA: v1
|
|||
States: 6
|
||||
Start: 0
|
||||
AP: 3 "a" "b" "c"
|
||||
Acceptance: 4 (Inf(0)&Inf(2)&Inf(3)) | (Inf(0)&Inf(1)&Inf(3))
|
||||
Acceptance: 3 (Inf(1)&Inf(2)) | (Inf(0)&Inf(2))
|
||||
properties: trans-labels explicit-labels trans-acc
|
||||
--BODY--
|
||||
State: 0
|
||||
|
|
@ -883,16 +882,16 @@ State: 1
|
|||
[2] 4
|
||||
[!2] 5
|
||||
State: 2
|
||||
[0] 2 {0 1 3}
|
||||
[0] 2 {0 2}
|
||||
State: 3
|
||||
[0&2] 2 {0 1 3}
|
||||
[0&!2] 3 {0 1}
|
||||
[0&2] 2 {0 2}
|
||||
[0&!2] 3 {0}
|
||||
State: 4
|
||||
[1 | 2] 4 {0 2 3}
|
||||
[!1&!2] 5 {0 2}
|
||||
[1 | 2] 4 {1 2}
|
||||
[!1&!2] 5 {1}
|
||||
State: 5
|
||||
[2] 4 {0 2 3}
|
||||
[!2] 5 {0 2}
|
||||
[2] 4 {1 2}
|
||||
[!2] 5 {1}
|
||||
--END--
|
||||
EOF
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue