use reduce_parity in translator and posprocessor
* spot/twaalgos/postproc.cc, spot/twaalgos/translate.cc: Here. * tests/core/genltl.test, tests/core/parity2.test, tests/core/sccsimpl.test, tests/python/twagraph-internals.ipynb: Adjust test cases. * NEWS: Mention it.
This commit is contained in:
parent
ebfa3a377a
commit
eb7b68ad58
7 changed files with 2319 additions and 2034 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2016-2018 Laboratoire de Recherche et Développement
|
||||
# Copyright (C) 2016-2019 Laboratoire de Recherche et Développement
|
||||
# de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -185,28 +185,28 @@ cat >exp<<EOF
|
|||
"ms-example=4,3",11,11
|
||||
"ms-example=4,4",12,12
|
||||
"ms-phi-r=0",1,2
|
||||
"ms-phi-r=1",1,16
|
||||
"ms-phi-r=2",1,29
|
||||
"ms-phi-s=0",1,5
|
||||
"ms-phi-s=1",1,8
|
||||
"ms-phi-s=2",1,494
|
||||
"ms-phi-r=1",1,12
|
||||
"ms-phi-r=2",1,28
|
||||
"ms-phi-s=0",1,3
|
||||
"ms-phi-s=1",1,7
|
||||
"ms-phi-s=2",1,375
|
||||
"ms-phi-h=0",1,1
|
||||
"ms-phi-h=1",2,3
|
||||
"ms-phi-h=2",4,7
|
||||
"ms-phi-h=3",8,15
|
||||
"ms-phi-h=4",16,31
|
||||
"gf-equiv=0",1,1
|
||||
"gf-equiv=1",1,4
|
||||
"gf-equiv=2",1,8
|
||||
"gf-equiv=3",1,21
|
||||
"gf-equiv=4",1,81
|
||||
"gf-equiv=5",1,431
|
||||
"gf-equiv=1",1,3
|
||||
"gf-equiv=2",1,7
|
||||
"gf-equiv=3",1,20
|
||||
"gf-equiv=4",1,80
|
||||
"gf-equiv=5",1,430
|
||||
"gf-implies=0",1,1
|
||||
"gf-implies=1",1,5
|
||||
"gf-implies=2",1,12
|
||||
"gf-implies=3",1,41
|
||||
"gf-implies=4",1,186
|
||||
"gf-implies=5",1,1047
|
||||
"gf-implies=1",1,4
|
||||
"gf-implies=2",1,11
|
||||
"gf-implies=3",1,33
|
||||
"gf-implies=4",1,131
|
||||
"gf-implies=5",1,653
|
||||
"gf-equiv-xn=1",2,2
|
||||
"gf-equiv-xn=2",4,4
|
||||
"gf-equiv-xn=3",8,8
|
||||
|
|
|
|||
|
|
@ -317,14 +317,14 @@ State: 1
|
|||
[1&2] 4 {2}
|
||||
State: 2
|
||||
[!0] 1 {2}
|
||||
[0&1&2] 2 {1}
|
||||
[0&!1&2] 2 {2}
|
||||
[0&1&2] 2 {1}
|
||||
State: 3
|
||||
[0] 3 {2}
|
||||
[0&1&2] 4 {2}
|
||||
State: 4
|
||||
[0&1&2] 4 {1}
|
||||
[0&!1&2] 4 {2}
|
||||
[0&1&2] 4 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
|
|
@ -804,7 +804,7 @@ properties: trans-labels explicit-labels trans-acc deterministic
|
|||
State: 0
|
||||
[0&!1 | 0&!2] 0
|
||||
[!0] 1
|
||||
[0&1&2] 2 {1}
|
||||
[0&1&2] 2
|
||||
State: 1
|
||||
[!1 | !2] 3
|
||||
[1&2] 4
|
||||
|
|
@ -815,7 +815,7 @@ State: 2
|
|||
[0&1&2] 2 {1}
|
||||
State: 3
|
||||
[0&!1 | 0&!2] 3
|
||||
[0&1&2] 4 {1}
|
||||
[0&1&2] 4
|
||||
State: 4
|
||||
[0&!2] 3 {0}
|
||||
[0&!1&2] 4
|
||||
|
|
@ -865,7 +865,7 @@ properties: trans-labels explicit-labels trans-acc deterministic
|
|||
State: 0
|
||||
[0&!1 | 0&!2] 0
|
||||
[!0] 1
|
||||
[0&1&2] 2 {1}
|
||||
[0&1&2] 2
|
||||
State: 1
|
||||
[!1 | !2] 3
|
||||
[1&2] 4
|
||||
|
|
@ -876,7 +876,7 @@ State: 2
|
|||
[0&1&2] 2 {1}
|
||||
State: 3
|
||||
[0&!1 | 0&!2] 3
|
||||
[0&1&2] 4 {1}
|
||||
[0&1&2] 4
|
||||
State: 4
|
||||
[0&!2] 3 {0}
|
||||
[0&!1&2] 4
|
||||
|
|
@ -926,7 +926,7 @@ properties: trans-labels explicit-labels trans-acc deterministic
|
|||
State: 0
|
||||
[0&!1 | 0&!2] 0
|
||||
[!0] 1
|
||||
[0&1&2] 2 {0}
|
||||
[0&1&2] 2
|
||||
State: 1
|
||||
[!1 | !2] 3
|
||||
[1&2] 4
|
||||
|
|
@ -937,7 +937,7 @@ State: 2
|
|||
[0&1&2] 2 {0}
|
||||
State: 3
|
||||
[0&!1 | 0&!2] 3
|
||||
[0&1&2] 4 {0}
|
||||
[0&1&2] 4
|
||||
State: 4
|
||||
[0&!2] 3 {1}
|
||||
[0&!1&2] 4
|
||||
|
|
@ -988,22 +988,22 @@ properties: deterministic
|
|||
State: 0
|
||||
[0&!1 | 0&!2] 0 {2}
|
||||
[!0] 1 {2}
|
||||
[0&1&2] 2 {1}
|
||||
[0&1&2] 2 {2}
|
||||
State: 1
|
||||
[!1 | !2] 3 {2}
|
||||
[1&2] 4 {2}
|
||||
State: 2
|
||||
[0&!2] 0 {0}
|
||||
[!0] 1 {2}
|
||||
[0&1&2] 2 {1}
|
||||
[0&!1&2] 2 {2}
|
||||
[0&1&2] 2 {1}
|
||||
State: 3
|
||||
[0&!1 | 0&!2] 3 {2}
|
||||
[0&1&2] 4 {1}
|
||||
[0&1&2] 4 {2}
|
||||
State: 4
|
||||
[0&!2] 3 {0}
|
||||
[0&1&2] 4 {1}
|
||||
[0&!1&2] 4 {2}
|
||||
[0&1&2] 4 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
|
|
@ -1050,22 +1050,22 @@ properties: deterministic
|
|||
State: 0
|
||||
[0&!1 | 0&!2] 0 {2}
|
||||
[!0] 1 {2}
|
||||
[0&1&2] 2 {1}
|
||||
[0&1&2] 2 {2}
|
||||
State: 1
|
||||
[!1 | !2] 3 {2}
|
||||
[1&2] 4 {2}
|
||||
State: 2
|
||||
[0&!2] 0 {0}
|
||||
[!0] 1 {2}
|
||||
[0&1&2] 2 {1}
|
||||
[0&!1&2] 2 {2}
|
||||
[0&1&2] 2 {1}
|
||||
State: 3
|
||||
[0&!1 | 0&!2] 3 {2}
|
||||
[0&1&2] 4 {1}
|
||||
[0&1&2] 4 {2}
|
||||
State: 4
|
||||
[0&!2] 3 {0}
|
||||
[0&1&2] 4 {1}
|
||||
[0&!1&2] 4 {2}
|
||||
[0&1&2] 4 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
|
|
@ -1112,7 +1112,7 @@ properties: deterministic
|
|||
State: 0
|
||||
[0&!1 | 0&!2] 0 {1}
|
||||
[!0] 1 {1}
|
||||
[0&1&2] 2 {2}
|
||||
[0&1&2] 2 {1}
|
||||
State: 1
|
||||
[!1 | !2] 3 {1}
|
||||
[1&2] 4 {1}
|
||||
|
|
@ -1123,7 +1123,7 @@ State: 2
|
|||
[0&1&2] 2 {2}
|
||||
State: 3
|
||||
[0&!1 | 0&!2] 3 {1}
|
||||
[0&1&2] 4 {2}
|
||||
[0&1&2] 4 {1}
|
||||
State: 4
|
||||
[0&!2] 3 {3}
|
||||
[0&!1&2] 4 {1}
|
||||
|
|
@ -1135,20 +1135,17 @@ diff expected3 res3
|
|||
cat >expected4<<EOF
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
States: 2
|
||||
States: 1
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
acc-name: Rabin 1
|
||||
Acceptance: 2 Fin(0) & Inf(1)
|
||||
acc-name: co-Buchi
|
||||
Acceptance: 1 Fin(0)
|
||||
properties: trans-labels explicit-labels trans-acc complete
|
||||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0] 0
|
||||
[0] 1 {1}
|
||||
State: 1
|
||||
[0] 0
|
||||
[!0] 0 {0}
|
||||
[0] 1 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "G(Fa & Fb)"
|
||||
|
|
@ -1199,20 +1196,17 @@ State: 4
|
|||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
States: 2
|
||||
States: 1
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
acc-name: Rabin 1
|
||||
Acceptance: 2 Fin(0) & Inf(1)
|
||||
acc-name: co-Buchi
|
||||
Acceptance: 1 Fin(0)
|
||||
properties: trans-labels explicit-labels trans-acc complete
|
||||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0] 0
|
||||
[0] 1 {1}
|
||||
State: 1
|
||||
[0] 0
|
||||
[!0] 0 {0}
|
||||
[0] 1 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "G(Fa & Fb)"
|
||||
|
|
@ -1263,20 +1257,17 @@ State: 4
|
|||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
States: 2
|
||||
States: 1
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
acc-name: parity max even 2
|
||||
Acceptance: 2 Fin(1) & Inf(0)
|
||||
properties: trans-labels explicit-labels trans-acc complete
|
||||
properties: trans-labels explicit-labels trans-acc colored complete
|
||||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0] 0
|
||||
[0] 1 {0}
|
||||
State: 1
|
||||
[0] 0 {0}
|
||||
[!0] 0 {1}
|
||||
[0] 1 {0}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "G(Fa & Fb)"
|
||||
|
|
@ -1327,20 +1318,17 @@ State: 4
|
|||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
States: 2
|
||||
States: 1
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
acc-name: parity min odd 3
|
||||
Acceptance: 3 Fin(0) & (Inf(1) | Fin(2))
|
||||
acc-name: parity max even 2
|
||||
Acceptance: 2 Fin(1) & Inf(0)
|
||||
properties: trans-labels explicit-labels trans-acc colored complete
|
||||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0] 0 {2}
|
||||
[0] 1 {1}
|
||||
State: 1
|
||||
[!0] 0 {0}
|
||||
[0] 1 {1}
|
||||
[0] 0 {0}
|
||||
[!0] 0 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "G(Fa & Fb)"
|
||||
|
|
@ -1392,20 +1380,17 @@ State: 4
|
|||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
States: 2
|
||||
States: 1
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
acc-name: parity min odd 3
|
||||
Acceptance: 3 Fin(0) & (Inf(1) | Fin(2))
|
||||
acc-name: Rabin 1
|
||||
Acceptance: 2 Fin(0) & Inf(1)
|
||||
properties: trans-labels explicit-labels trans-acc colored complete
|
||||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0] 0 {2}
|
||||
[0] 1 {1}
|
||||
State: 1
|
||||
[0] 0 {1}
|
||||
[!0] 0 {0}
|
||||
[0] 1 {1}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "G(Fa & Fb)"
|
||||
|
|
@ -1457,20 +1442,17 @@ State: 4
|
|||
--END--
|
||||
HOA: v1
|
||||
name: "FGa"
|
||||
States: 2
|
||||
States: 1
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
acc-name: parity max even 4
|
||||
Acceptance: 4 Fin(3) & (Inf(2) | (Fin(1) & Inf(0)))
|
||||
acc-name: parity max even 2
|
||||
Acceptance: 2 Fin(1) & Inf(0)
|
||||
properties: trans-labels explicit-labels trans-acc colored complete
|
||||
properties: deterministic stutter-invariant
|
||||
--BODY--
|
||||
State: 0
|
||||
[0] 0 {0}
|
||||
[!0] 0 {1}
|
||||
[0] 1 {2}
|
||||
State: 1
|
||||
[!0] 0 {3}
|
||||
[0] 1 {2}
|
||||
--END--
|
||||
HOA: v1
|
||||
name: "G(Fa & Fb)"
|
||||
|
|
@ -1535,7 +1517,7 @@ cat >expected <<EOF
|
|||
"input.states","output.states"
|
||||
2,3
|
||||
3,15
|
||||
4,129
|
||||
5,2057
|
||||
4,120
|
||||
5,1801
|
||||
EOF
|
||||
diff sizes.csv expected
|
||||
|
|
|
|||
|
|
@ -292,16 +292,16 @@ HOA: v1
|
|||
States: 2
|
||||
Start: 1
|
||||
AP: 1 "p0"
|
||||
acc-name: Rabin 1
|
||||
Acceptance: 2 Fin(0) & Inf(1)
|
||||
properties: trans-labels explicit-labels trans-acc complete
|
||||
acc-name: Buchi
|
||||
Acceptance: 1 Inf(0)
|
||||
properties: trans-labels explicit-labels state-acc complete
|
||||
properties: deterministic
|
||||
--BODY--
|
||||
State: 0
|
||||
[t] 0 {1}
|
||||
State: 0 {0}
|
||||
[t] 0
|
||||
State: 1
|
||||
[0] 0
|
||||
[!0] 1 {0}
|
||||
[!0] 1
|
||||
--END--
|
||||
EOF
|
||||
cat output
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue