remfin: introduce less acceptance sets for interferences

Instead of adding one set per term in the DNF, reuse the
removed Fin(x) sets as Inf(x) sets.

* src/tgbaalgos/remfin.cc: Here.
* src/tgbatest/remfin.test: Additional test.
This commit is contained in:
Alexandre Duret-Lutz 2015-02-25 08:55:54 +01:00
parent 83dfb4a971
commit 9ccbc34964
2 changed files with 124 additions and 24 deletions

View file

@ -125,6 +125,39 @@ State: 1 {1}
1
1
--END--
HOA: v1
States: 8
Start: 2
AP: 1 "p1"
Acceptance: 4 (Fin(3) & Inf(0)) | (Fin(1) & Fin(3)) |
(Fin(1) & Inf(2)) | (Inf(0)&Inf(2))
properties: trans-labels explicit-labels state-acc complete deterministic
--BODY--
State: 0
[!0] 6
[0] 0
State: 1 {2}
[!0] 3
[0] 3
State: 2 {2}
[!0] 5
[0] 1
State: 3 {2}
[!0] 6
[0] 0
State: 4 {2}
[!0] 6
[0] 4
State: 5 {2}
[!0] 7
[0] 3
State: 6 {1 2}
[!0] 6
[0] 0
State: 7 {3}
[!0] 6
[0] 4
--END--
EOF
cat >expected <<EOF
@ -185,30 +218,30 @@ HOA: v1
States: 6
Start: 0
AP: 2 "a" "b"
Acceptance: 5 (Inf(0)&Inf(4)) | ((Inf(0) | (Inf(1)&Inf(2))) & Inf(3))
Acceptance: 5 (Inf(0)&Inf(1)&Inf(4)) | Inf(0) | (Inf(2)&Inf(3))
properties: trans-labels explicit-labels trans-acc
--BODY--
State: 0
[t] 0 {2 3}
[0] 1 {2 3}
[!0] 2 {0 2 3}
[t] 0 {3}
[0] 1 {3}
[!0] 2 {0 3}
State: 1
[1] 0 {2 3}
[0&1] 1 {0 2 3}
[!0&1] 2 {1 2 3}
[1] 0 {3}
[0&1] 1 {0 3}
[!0&1] 2 {2 3}
State: 2
[!1] 0 {3}
[0&!1] 1 {0 3}
[!0&!1] 2 {0 3}
[!1] 3 {3}
[0&!1] 4 {0 3}
[!0&!1] 5 {0 3}
[!1] 0
[0&!1] 1 {0}
[!0&!1] 2 {0}
[!1] 3
[0&!1] 4 {0}
[!0&!1] 5 {0}
State: 3
State: 4
State: 5
[!1] 3 {4}
[0&!1] 4 {0 4}
[!0&!1] 5 {0 4}
[!1] 3 {1 4}
[0&!1] 4 {0 1 4}
[!0&!1] 5 {0 1 4}
--END--
HOA: v1
States: 1
@ -245,6 +278,48 @@ State: 1 {0}
[!0] 1
[0] 1
--END--
HOA: v1
States: 12
Start: 2
AP: 1 "p1"
Acceptance: 2 Inf(1) | Inf(0)
properties: trans-labels explicit-labels state-acc
--BODY--
State: 0
[!0] 6
[0] 0
[0] 9
[0] 11
State: 1 {0 1}
[!0] 3
[0] 3
State: 2 {0 1}
[!0] 5
[0] 1
State: 3 {0 1}
[!0] 6
[0] 0
State: 4 {0 1}
[!0] 6
[0] 4
State: 5 {0 1}
[!0] 7
[0] 3
State: 6
[!0] 6
[0] 0
State: 7 {1}
[!0] 6
[0] 4
State: 8
State: 9
[!0] 8
[0] 9
State: 10
State: 11 {1}
[!0] 10
[0] 11
--END--
EOF
run 0 $autfilt -H --remove-fin test1 > output