replace bdd_satoneset(x,y,bddtrue) loops by minterms_of(x,y)

Because the loops iterate in the opposite order, multiple
test cases need to be adjusted.

* spot/taalgos/tgba2ta.cc, spot/twaalgos/alternation.cc,
spot/twaalgos/dualize.cc, spot/twaalgos/ltl2tgba_fm.cc,
spot/twaalgos/simulation.cc, spot/twaalgos/stutter.cc,
spot/twaalgos/toweak.cc: Replace loops based on
bdd_satonest(x,y,bddtrue) by loops based on minterms_of(x,y).
* tests/core/degenscc.test, tests/core/dualize.test,
tests/core/genltl.test, tests/core/readsave.test,
tests/python/alternation.ipynb, tests/python/automata.ipynb,
tests/python/decompose.ipynb, tests/python/decompose_scc.py,
tests/python/dualize.py, tests/python/sccinfo.py,
tests/python/simstate.py, tests/python/testingaut.ipynb,
tests/python/word.ipynb: Adjust expected test cases.  The
only regression is in genltl.test, but the worsened case
should eventually be fixed as discussed in issue #425 anyway.
This commit is contained in:
Alexandre Duret-Lutz 2021-04-14 17:31:45 +02:00
parent d54dca610e
commit 2a38328a5c
20 changed files with 1315 additions and 1432 deletions

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017, 2019 Laboratoire de Recherche et Développement de
# Copyright (C) 2017, 2019, 2021 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -33,7 +33,7 @@ set -e
cat >input <<EOF
GF((Fp2 & X((p0 & Gp1) | (!p0 & F!p1))) | (G!p2 & X((p0 & F!p1) | (!p0 & Gp1))))
((Gp2&FG((Gp1&Xp0)|(F!p1&X!p0)))|(F!p2 & GF((Gp1 & X!p0) | (Xp0 & F!p1)))) W !p0
G(Fp0 & (F!p1 U (G!p2 M !p0)))
p2 & GF(G(p0 & !p1) | (F!p0 & Fp1))
G(((Fp1 & (p1 W Fp0)) | (G!p1 & (!p1 M G!p0))) M FG!p2)
Xp0 R F((p0 & FG(Gp2 U p1)) | (!p0 & GF(F!p2 R !p1)))
GF(p0 & (((p1 & Fp2) | (!p1 & G!p2)) M Gp1))
@ -48,8 +48,6 @@ G(XF((p2 & F!p1) | (!p2 & Gp1)) | (p1 & Fp0))
G!p0 | G((Fp1 U p2) & F!p2)
EOF
# We want to make sure the degeneralized automaton has fewer SCCs
# (it can be less if the simulation on the BA is lukier than on the TGBA)
ltl2tgba < input | autfilt -B --stats=": '%M'; test %C -ge %c" > test.sh

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017, 2019 Laboratoire de Recherche et
# Copyright (C) 2017, 2019, 2021 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -115,11 +115,11 @@ Acceptance: 1 Fin(0)
properties: trans-labels explicit-labels state-acc univ-branch
--BODY--
State: 0
[!0&!1] 0&7
[0&!1] 0&6&7
[!0&!1] 0&7
State: 1
[!0] 1&3
[0] 1&2&3
[!0] 1&3
State: 2
[0] 4
State: 3
@ -135,10 +135,10 @@ State: 6 {0}
State: 7
[!1] 7
State: 8
[!0] 1&3
[t] 1&2&3
[!0&!1] 0&7
[!0] 1&3
[!1] 0&6&7
[!0&!1] 0&7
--END--
EOF
diff output2 expected2

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2016-2020 Laboratoire de Recherche et Développement
# Copyright (C) 2016-2021 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -195,7 +195,7 @@ cat >exp<<EOF
"ms-phi-r=2",1,28
"ms-phi-s=0",1,3
"ms-phi-s=1",1,7
"ms-phi-s=2",1,387
"ms-phi-s=2",1,484
"ms-phi-h=0",1,1
"ms-phi-h=1",2,3
"ms-phi-h=2",4,7

View file

@ -1093,9 +1093,9 @@ ltl2tgba 'GF(a <-> Fb)' | autfilt -B --dot=dA | grep ' (' >out
cat >expected <<EOF
0 [label="0 (0)", peripheries=2]
1 [label="1 (0)"]
2 [label="2 (1)"]
3 [label="3 (2)", peripheries=2]
4 [label="4 (2)"]
2 [label="2 (1)", peripheries=2]
3 [label="3 (2)"]
4 [label="4 (1)"]
EOF
diff out expected
# --dot=d should also not use circles