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:
Alexandre Duret-Lutz 2019-06-20 13:23:37 +02:00
parent c9ddbd0a73
commit f3e57901a4
8 changed files with 221 additions and 231 deletions

View file

@ -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