determinize: don't emit colors for temporary braces

Related to issue #298.

* spot/twaalgos/determinize.cc: Recognize braces that are temporary
to avoid emitting colors when they become empty.
* tests/python/298.py: New file, showing a reduction of colors.
* tests/Makefile.am: Add it.
* tests/core/ltlsynt.test: Adjust expected output (now smaller).
* tests/core/genltl.test: Adjust one expected output (now larger).
* NEWS: Mention the issue.
This commit is contained in:
Alexandre Duret-Lutz 2020-12-14 22:48:51 +01:00
parent 142460628c
commit f6be083050
6 changed files with 107 additions and 100 deletions

View file

@ -23,44 +23,39 @@
set -e
cat >exp <<EOF
parity 19;
0 1 0 8,9 "INIT";
9 3 1 1,2;
2 1 0 12,13;
13 5 1 1,4;
4 1 0 8,15;
parity 17;
0 1 0 7,8 "INIT";
8 3 1 1,2;
2 1 0 11,12;
12 5 1 1,4;
4 1 0 7,15;
15 3 1 5,6;
6 1 0 8,15;
8 3 1 2;
6 1 0 7,15;
7 3 1 2;
5 1 0 16,17;
17 4 1 5,6;
16 4 1 2;
1 1 0 10,11;
11 4 1 5,7;
7 1 0 18,19;
19 3 1 5,7;
18 3 1 2,3;
3 1 0 10,14;
1 1 0 9,10;
10 3 1 1,5;
9 3 1 2,3;
3 1 0 13,14;
14 4 1 1,4;
10 4 1 2,3;
12 5 1 2,3;
parity 16;
13 4 1 2,3;
11 5 1 2,3;
parity 13;
0 1 0 1,2 "INIT";
2 1 1 3;
3 2 0 4,5;
3 3 0 4,5;
5 1 1 6,7;
7 1 0 8,9;
9 1 1 10,11;
11 1 0 8,12;
12 1 1 10,11;
11 1 0 8,9;
8 3 1 3,12;
12 2 0 4,5;
4 2 1 3,12;
10 2 0 8,9;
8 3 1 3,13;
13 3 0 4,5;
4 1 1 3,13;
6 2 0 14,15;
15 2 1 3,13;
14 1 1 10,16;
16 1 0 14,15;
6 1 0 13,4;
13 1 1 6,10;
1 1 1 3,6;
parity 5;
1 1 0 4,5 "INIT";
@ -79,38 +74,24 @@ diff out exp
cat >exp <<EOF
REALIZABLE
aag 31 1 3 1 26
aag 16 1 2 1 13
2
4 49
6 57
8 59
63
10 7 9
12 5 10
14 12 3
16 12 2
18 4 10
20 18 3
22 18 2
24 6 9
26 5 24
30 26 3
32 4 24
34 32 2
36 32 3
38 7 8
40 5 38
42 40 2
44 40 3
46 21 31
48 15 46
50 17 23
52 35 43
54 50 52
56 27 54
58 37 45
60 27 52
62 23 60
4 29
6 33
31
8 5 7
10 8 3
12 8 2
14 4 7
16 14 3
18 14 2
20 5 6
22 20 2
24 20 3
26 17 25
28 11 26
30 19 23
32 13 30
i0 a
o0 b
EOF
@ -119,36 +100,18 @@ diff out exp
cat >exp <<EOF
REALIZABLE
aag 28 1 3 1 24
aag 10 1 2 1 7
2
4 38
6 49
8 56
29
10 6 9
12 5 10
14 7 8
16 15 11
18 4 9
20 5 17
22 21 19
24 2 23
26 3 12
28 27 25
30 7 9
32 4 30
34 5 9
36 35 33
38 3 37
40 6 11
42 5 41
44 43 19
46 2 45
48 27 47
50 4 10
52 5 14
54 53 51
56 3 55
4 18
6 20
14
8 4 7
10 5 6
12 11 9
14 2 13
16 4 9
18 3 17
20 2 17
i0 a
o0 b
EOF
@ -213,7 +176,7 @@ automaton has 9 states
determinization done
DPA has 12 states, 4 colors
simplification done
DPA has 11 states
DPA has 10 states
determinization and simplification took X seconds
parity game solved in X seconds
EOF
@ -223,11 +186,11 @@ diff outx exp
cat >exp <<EOF
translating formula done in X seconds
automaton has 3 states and 4 colors
automaton has 2 states and 4 colors
simplification done in X seconds
DPA has 3 states
DPA has 2 states
split inputs and outputs done in X seconds
automaton has 8 states
automaton has 6 states
parity game solved in X seconds
EOF
ltlsynt --ins=a --outs=b -f 'GFa <-> GFb' --verbose --algo=ps 2> out