simulation: improve merging of transiant-SCCs
* spot/twaalgos/simulation.cc: Code this. * tests/core/det.test, tests/core/dra2dba.test, tests/core/satmin.test, tests/core/sim3.test, tests/python/decompose.ipynb, tests/python/dualize.py: Adjust test cases. * NEWS: Mention the optimization.
This commit is contained in:
parent
c9ddbd0a73
commit
f3e57901a4
8 changed files with 221 additions and 231 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2013-2018 Laboratoire de Recherche et Développement de
|
||||
# Copyright (C) 2013-2019 Laboratoire de Recherche et Développement de
|
||||
# l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -24,17 +24,17 @@ set -e
|
|||
cat >formulas <<'EOF'
|
||||
1,13,X((a M F((!b & !c) | (b & c))) W (G!c U b))
|
||||
1,5,X(((a & b) R (!a U !c)) R b)
|
||||
1,9,XXG(Fa U Xb)
|
||||
1,8,XXG(Fa U Xb)
|
||||
1,5,(!a M !b) W F!c
|
||||
1,3,(b & Fa & GFc) R a
|
||||
1,2,(a R (b W a)) W G(!a M (b | c))
|
||||
1,11,(Fa W b) R (!a | Fc)
|
||||
1,7,X(G(!a M !b) | G(a | G!a))
|
||||
1,6,X(G(!a M !b) | G(a | G!a))
|
||||
1,2,Fa W Gb
|
||||
1,3,Ga | GFb
|
||||
1,2,Ga | GFb
|
||||
1,9,G((G!a & ((!b & X!c) | (b & Xc))) | (Fa & ((!b & Xc) | (b & X!c))))
|
||||
1,5,a M G(F!b | X!a)
|
||||
1,4,G!a R XFb
|
||||
1,3,G!a R XFb
|
||||
1,4,XF(!a | GFb)
|
||||
1,5,X(GF!a U a)
|
||||
1,5,(a | G(a M !b)) W Fc
|
||||
|
|
@ -43,14 +43,14 @@ cat >formulas <<'EOF'
|
|||
1,2,XG!a R Fb
|
||||
1,4,GFc | (a & Fb)
|
||||
1,6,X(a R (Fb R F!b))
|
||||
1,2,G(Xa M Fa)
|
||||
1,4,X(Gb | GFa)
|
||||
1,1,G(Xa M Fa)
|
||||
1,3,X(Gb | GFa)
|
||||
1,9,X(Gc | XG((b & Ga) | (!b & F!a)))
|
||||
1,2,Ga R Fb
|
||||
1,3,G(a U (b | X((!a & !c) | (a & c))))
|
||||
1,5,XG((G!a & F!b) | (Fa & (a | Gb)))
|
||||
1,9,(a U X!a) | XG(!b & Fc)
|
||||
1,4,X(G!a | GFa)
|
||||
1,7,(a U X!a) | XG(!b & Fc)
|
||||
1,3,X(G!a | GFa)
|
||||
1,4,G(G!a | F!c | G!b)
|
||||
EOF
|
||||
|
||||
|
|
|
|||
|
|
@ -330,4 +330,5 @@ Acc-Sig: +2
|
|||
EOF
|
||||
|
||||
autcross 'dstar2tgba -D' --language-preserved -F in.dra --csv=out.csv
|
||||
grep '3,18,107,144,1,2,0,0,0$' out.csv
|
||||
cat out.csv
|
||||
grep '3,17,104,136,1,1,0,0,0$' out.csv
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2013, 2017, 2018 Laboratoire de Recherche et Développement
|
||||
# Copyright (C) 2013, 2017, 2018, 2019 Laboratoire de Recherche et Développement
|
||||
# de l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -949,7 +949,7 @@ cat >expected <<'EOF'
|
|||
"!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","16",4
|
||||
"!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","17",4
|
||||
"X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","1",5
|
||||
"X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","2",7
|
||||
"X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","2",6
|
||||
"X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","3",6
|
||||
"X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","4",6
|
||||
"X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","6",6
|
||||
|
|
@ -1013,7 +1013,7 @@ cat >expected <<'EOF'
|
|||
"!((F(p0)) W (G(p1)))","16",2
|
||||
"!((F(p0)) W (G(p1)))","17",2
|
||||
"(G(F(p1))) | (G(p0))","1",3
|
||||
"(G(F(p1))) | (G(p0))","2",3
|
||||
"(G(F(p1))) | (G(p0))","2",2
|
||||
"(G(F(p1))) | (G(p0))","3",2
|
||||
"(G(F(p1))) | (G(p0))","4",2
|
||||
"(G(F(p1))) | (G(p0))","6",2
|
||||
|
|
@ -1076,8 +1076,8 @@ cat >expected <<'EOF'
|
|||
"!((p0) M (G((F(!(p1))) | (X(!(p0))))))","15",4
|
||||
"!((p0) M (G((F(!(p1))) | (X(!(p0))))))","16",4
|
||||
"!((p0) M (G((F(!(p1))) | (X(!(p0))))))","17",4
|
||||
"(G(!(p0))) R (X(F(p1)))","1",4
|
||||
"(G(!(p0))) R (X(F(p1)))","2",4
|
||||
"(G(!(p0))) R (X(F(p1)))","1",3
|
||||
"(G(!(p0))) R (X(F(p1)))","2",3
|
||||
"(G(!(p0))) R (X(F(p1)))","3",3
|
||||
"(G(!(p0))) R (X(F(p1)))","4",3
|
||||
"(G(!(p0))) R (X(F(p1)))","6",3
|
||||
|
|
@ -1333,7 +1333,7 @@ cat >expected <<'EOF'
|
|||
"!(X((p0) R ((F(p1)) R (F(!(p1))))))","16",3
|
||||
"!(X((p0) R ((F(p1)) R (F(!(p1))))))","17",3
|
||||
"G((X(p0)) M (F(p0)))","1",2
|
||||
"G((X(p0)) M (F(p0)))","2",2
|
||||
"G((X(p0)) M (F(p0)))","2",1
|
||||
"G((X(p0)) M (F(p0)))","3",1
|
||||
"G((X(p0)) M (F(p0)))","4",1
|
||||
"G((X(p0)) M (F(p0)))","6",1
|
||||
|
|
@ -1365,7 +1365,7 @@ cat >expected <<'EOF'
|
|||
"!(G((X(p0)) M (F(p0))))","16",2
|
||||
"!(G((X(p0)) M (F(p0))))","17",2
|
||||
"X((G(F(p1))) | (G(p0)))","1",4
|
||||
"X((G(F(p1))) | (G(p0)))","2",4
|
||||
"X((G(F(p1))) | (G(p0)))","2",3
|
||||
"X((G(F(p1))) | (G(p0)))","3",3
|
||||
"X((G(F(p1))) | (G(p0)))","4",3
|
||||
"X((G(F(p1))) | (G(p0)))","6",3
|
||||
|
|
@ -1493,7 +1493,7 @@ cat >expected <<'EOF'
|
|||
"!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","16",7
|
||||
"!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","17",7
|
||||
"X((G(F(p0))) | (G(!(p0))))","1",4
|
||||
"X((G(F(p0))) | (G(!(p0))))","2",4
|
||||
"X((G(F(p0))) | (G(!(p0))))","2",3
|
||||
"X((G(F(p0))) | (G(!(p0))))","3",3
|
||||
"X((G(F(p0))) | (G(!(p0))))","4",3
|
||||
"X((G(F(p0))) | (G(!(p0))))","6",3
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ State: 6 {0 3}
|
|||
--END--
|
||||
EOF
|
||||
|
||||
test "`autfilt --small input --stats=%S,%s`" = 7,2
|
||||
test "`autfilt --small input --stats=%S,%s`" = 7,1
|
||||
|
||||
autfilt -S --high --small input -H > out
|
||||
cat >expected <<EOF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue