* bin/ltlsynt.cc: Here. * doc/org/ltlsynt.org: Document it. * tests/core/ltlsynt.test: Test it.
1090 lines
14 KiB
Bash
1090 lines
14 KiB
Bash
#! /bin/sh
|
|
# -*- coding: utf-8 -*-
|
|
# Copyright (C) 2014, 2015 Laboratoire de Recherche et Développement
|
|
# de l'Epita (LRDE).
|
|
#
|
|
# This file is part of Spot, a model checking library.
|
|
#
|
|
# Spot is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
# License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
. ./defs || exit 1
|
|
|
|
set -e
|
|
|
|
F0='(G ((((req) -> (X ((grant) && (X ((grant) && (X (grant))))))) && ((grant)
|
|
-> (X (! (grant))))) && ((cancel) -> (X ((! (grant)) U (go))))))'
|
|
IN0='cancel, go, req'
|
|
OUT0='grant'
|
|
EXP0='UNREALIZABLE'
|
|
F1='(G ((((req) -> (X ((grant) || (X ((grant) || (X (grant))))))) && ((grant)
|
|
-> (X (! (grant))))) && ((cancel) -> (X ((! (grant)) U (go))))))'
|
|
IN1='cancel, go, req'
|
|
OUT1='grant'
|
|
EXP1='UNREALIZABLE'
|
|
F2='((G ((cancel) -> (X (go)))) -> (G ((((req) -> (X ((grant) || (X ((grant) ||
|
|
(X (grant))))))) && ((grant) -> (X (! (grant))))) && ((cancel) -> (X ((!
|
|
(grant)) U (go)))))))'
|
|
IN2='cancel, go, req'
|
|
OUT2='grant'
|
|
EXP2='REALIZABLE'
|
|
F3='((G ((cancel) -> (X ((go) || (X (go)))))) -> (G ((((req) -> (X ((grant) ||
|
|
(X ((grant) || (X (grant))))))) && ((grant) -> (X (! (grant))))) && ((cancel)
|
|
-> (X ((! (grant)) U (go)))))))'
|
|
IN3='cancel, go, req'
|
|
OUT3='grant'
|
|
EXP3='REALIZABLE'
|
|
F4='((G ((cancel) -> (X ((go) || (X (go)))))) -> (G ((((req) -> (X (((grant) ||
|
|
(cancel)) || (X (((grant) || (cancel)) || (X ((grant) || (cancel)))))))) &&
|
|
((grant) -> (X (! (grant))))) && ((cancel) -> (X ((! (grant)) U (go)))))))'
|
|
IN4='cancel, go, req'
|
|
OUT4='grant'
|
|
EXP4='REALIZABLE'
|
|
F5='((G ((cancel) -> (X ((go) || (X ((go) || (X (go)))))))) -> (G ((((req) ->
|
|
(X (((grant) || (cancel)) || (X (((grant) || (cancel)) || (X ((grant) ||
|
|
(cancel)))))))) && ((grant) -> (X (! (grant))))) && ((cancel) -> (X ((!
|
|
(grant)) U (go)))))))'
|
|
IN5='cancel, go, req'
|
|
OUT5='grant'
|
|
EXP5='REALIZABLE'
|
|
F6='((G ((cancel) -> (X ((go) || (X (go)))))) -> (G ((((cancel) -> (X ((!
|
|
(grant)) U (go)))) && ((grant) -> (X (! (grant))))) && ((req) -> (((grant) ||
|
|
(cancel)) || (X (((grant) || (cancel)) || (X (((grant) || (cancel)) || (X
|
|
((grant) || (cancel))))))))))))'
|
|
IN6='cancel, go, req'
|
|
OUT6='grant'
|
|
EXP6='REALIZABLE'
|
|
F7='(! ((G ((req) -> (F (ack)))) && (G ((go) -> (F (grant))))))'
|
|
IN7='go, req'
|
|
OUT7='ack, grant'
|
|
EXP7='UNREALIZABLE'
|
|
F8='(((G ((((r1) -> (F (a1))) && ((r2) -> (F (a2)))) && (! ((a1) && (a2))))) &&
|
|
(((a1) U (r1)) || (G (a1)))) && (((a2) U (r2)) || (G (a2))))'
|
|
IN8='r1, r2'
|
|
OUT8='a1, a2'
|
|
EXP8='UNREALIZABLE'
|
|
F9='((((G (((((((r0) -> (F (a0))) && ((r1) -> (F (a1)))) && ((r2) -> (F (a2))))
|
|
&& (! ((a0) && (a1)))) && (! ((a0) && (a2)))) && (! ((a1) && (a2))))) && (((a0)
|
|
U (r0)) || (G (a0)))) && (((a1) U (r1)) || (G (a1)))) && (((a2) U (r2)) || (G
|
|
(a2))))'
|
|
IN9='r0, r1, r2'
|
|
OUT9='a0, a1, a2'
|
|
EXP9='UNREALIZABLE'
|
|
|
|
cat <<EOF >exp2
|
|
REALIZABLE
|
|
aag 144 3 4 1 132
|
|
2
|
|
4
|
|
6
|
|
8 211
|
|
10 245
|
|
12 271
|
|
14 289
|
|
271
|
|
16 13 15
|
|
18 11 16
|
|
20 3 9
|
|
26 6 20
|
|
28 26 18
|
|
30 2 9
|
|
32 7 30
|
|
34 32 18
|
|
36 6 30
|
|
38 36 18
|
|
40 3 8
|
|
42 7 40
|
|
44 42 18
|
|
46 6 40
|
|
48 46 18
|
|
50 2 8
|
|
52 7 50
|
|
54 52 18
|
|
56 6 50
|
|
58 56 18
|
|
60 9 10
|
|
62 60 16
|
|
64 3 4
|
|
66 7 64
|
|
70 6 64
|
|
72 70 62
|
|
74 2 4
|
|
76 7 74
|
|
78 76 62
|
|
80 6 74
|
|
82 80 62
|
|
84 10 16
|
|
86 5 9
|
|
88 86 84
|
|
90 8 10
|
|
92 90 16
|
|
94 66 92
|
|
96 70 92
|
|
98 76 92
|
|
100 80 92
|
|
102 5 8
|
|
104 102 84
|
|
106 12 15
|
|
108 11 106
|
|
112 26 108
|
|
114 32 108
|
|
116 36 108
|
|
118 40 108
|
|
120 50 108
|
|
122 60 106
|
|
126 70 122
|
|
128 76 122
|
|
130 80 122
|
|
132 10 106
|
|
134 86 132
|
|
136 4 8
|
|
138 3 136
|
|
140 138 132
|
|
142 2 136
|
|
144 142 132
|
|
146 102 132
|
|
148 13 14
|
|
150 9 11
|
|
152 150 148
|
|
154 11 148
|
|
156 42 154
|
|
158 46 154
|
|
160 52 154
|
|
162 56 154
|
|
164 10 148
|
|
166 86 164
|
|
168 60 148
|
|
170 66 168
|
|
172 70 168
|
|
174 76 168
|
|
176 80 168
|
|
178 173 177
|
|
180 163 178
|
|
182 141 159
|
|
184 182 180
|
|
186 127 131
|
|
188 117 119
|
|
190 188 186
|
|
192 190 184
|
|
194 101 113
|
|
196 97 194
|
|
198 73 83
|
|
200 198 196
|
|
202 49 59
|
|
204 29 39
|
|
206 204 202
|
|
208 206 200
|
|
210 208 192
|
|
212 175 177
|
|
214 163 212
|
|
216 145 161
|
|
218 216 214
|
|
220 129 131
|
|
222 117 121
|
|
224 222 220
|
|
226 224 218
|
|
228 101 115
|
|
230 99 228
|
|
232 79 83
|
|
234 232 230
|
|
236 55 59
|
|
238 35 39
|
|
240 238 236
|
|
242 240 234
|
|
244 242 226
|
|
246 171 173
|
|
248 246 212
|
|
250 161 163
|
|
252 157 159
|
|
254 252 250
|
|
256 254 248
|
|
258 99 101
|
|
260 95 97
|
|
262 260 258
|
|
264 45 49
|
|
266 264 236
|
|
268 266 262
|
|
270 268 256
|
|
272 153 167
|
|
274 147 272
|
|
276 141 145
|
|
278 276 274
|
|
280 121 135
|
|
282 119 280
|
|
284 89 105
|
|
286 284 282
|
|
288 286 278
|
|
i0 cancel
|
|
i1 go
|
|
i2 req
|
|
o0 grant
|
|
EOF
|
|
|
|
cat <<EOF >exp3
|
|
REALIZABLE
|
|
aag 264 3 4 1 257
|
|
2
|
|
4
|
|
6
|
|
8 313
|
|
10 377
|
|
12 443
|
|
14 483
|
|
529
|
|
16 13 15
|
|
18 11 16
|
|
20 3 9
|
|
22 7 20
|
|
24 22 18
|
|
26 2 9
|
|
28 7 26
|
|
30 28 18
|
|
32 6 26
|
|
34 32 18
|
|
36 6 20
|
|
38 36 18
|
|
40 3 8
|
|
42 7 40
|
|
44 42 18
|
|
46 2 8
|
|
48 7 46
|
|
50 48 18
|
|
52 6 46
|
|
54 52 18
|
|
56 6 40
|
|
58 56 18
|
|
60 9 10
|
|
62 60 16
|
|
64 3 4
|
|
66 7 64
|
|
68 66 62
|
|
70 2 4
|
|
72 7 70
|
|
74 72 62
|
|
76 6 70
|
|
78 76 62
|
|
80 6 64
|
|
82 80 62
|
|
84 10 16
|
|
86 5 9
|
|
88 7 86
|
|
90 88 84
|
|
92 6 86
|
|
94 92 84
|
|
96 5 8
|
|
98 96 84
|
|
100 8 10
|
|
102 100 16
|
|
104 66 102
|
|
106 72 102
|
|
108 76 102
|
|
110 80 102
|
|
112 12 15
|
|
114 11 112
|
|
116 22 114
|
|
118 28 114
|
|
120 32 114
|
|
122 36 114
|
|
124 42 114
|
|
126 48 114
|
|
128 52 114
|
|
130 56 114
|
|
132 60 112
|
|
134 66 132
|
|
136 72 132
|
|
138 76 132
|
|
140 80 132
|
|
142 10 112
|
|
144 88 142
|
|
146 92 142
|
|
148 96 142
|
|
150 4 8
|
|
152 3 150
|
|
154 152 142
|
|
156 2 150
|
|
158 156 142
|
|
160 13 14
|
|
162 11 160
|
|
164 20 162
|
|
166 26 162
|
|
168 42 162
|
|
170 48 162
|
|
172 52 162
|
|
174 56 162
|
|
176 60 160
|
|
178 66 176
|
|
180 72 176
|
|
182 76 176
|
|
184 80 176
|
|
186 10 160
|
|
188 86 186
|
|
190 96 186
|
|
192 100 160
|
|
194 66 192
|
|
196 72 192
|
|
198 76 192
|
|
200 80 192
|
|
202 12 14
|
|
204 9 11
|
|
206 204 202
|
|
208 11 202
|
|
210 96 208
|
|
212 8 11
|
|
214 212 202
|
|
216 66 214
|
|
218 72 214
|
|
220 76 214
|
|
222 80 214
|
|
224 60 202
|
|
226 66 224
|
|
228 72 224
|
|
230 76 224
|
|
232 80 224
|
|
234 10 202
|
|
236 86 234
|
|
238 100 202
|
|
240 66 238
|
|
242 72 238
|
|
244 76 238
|
|
246 80 238
|
|
248 96 234
|
|
250 241 245
|
|
252 231 250
|
|
254 221 227
|
|
256 254 252
|
|
258 199 217
|
|
260 189 195
|
|
262 260 258
|
|
264 262 256
|
|
266 179 183
|
|
268 169 173
|
|
270 268 266
|
|
272 155 165
|
|
274 147 149
|
|
276 274 272
|
|
278 276 270
|
|
280 278 264
|
|
282 135 139
|
|
284 125 129
|
|
286 284 282
|
|
288 117 121
|
|
290 105 109
|
|
292 290 288
|
|
294 292 286
|
|
296 95 99
|
|
298 69 79
|
|
300 298 296
|
|
302 45 55
|
|
304 25 35
|
|
306 304 302
|
|
308 306 300
|
|
310 308 294
|
|
312 310 280
|
|
314 243 245
|
|
316 231 314
|
|
318 221 229
|
|
320 318 316
|
|
322 199 219
|
|
324 189 197
|
|
326 324 322
|
|
328 326 320
|
|
330 181 183
|
|
332 171 173
|
|
334 332 330
|
|
336 159 167
|
|
338 145 147
|
|
340 338 336
|
|
342 340 334
|
|
344 342 328
|
|
346 137 139
|
|
348 127 129
|
|
350 348 346
|
|
352 119 121
|
|
354 107 109
|
|
356 354 352
|
|
358 356 350
|
|
360 91 95
|
|
362 75 79
|
|
364 362 360
|
|
366 51 55
|
|
368 31 35
|
|
370 368 366
|
|
372 370 364
|
|
374 372 358
|
|
376 374 344
|
|
378 245 249
|
|
380 243 378
|
|
382 237 241
|
|
384 382 380
|
|
386 221 233
|
|
388 219 386
|
|
390 211 217
|
|
392 390 388
|
|
394 392 384
|
|
396 199 207
|
|
398 197 396
|
|
400 191 195
|
|
402 400 398
|
|
404 173 179
|
|
406 404 330
|
|
408 406 402
|
|
410 408 394
|
|
412 169 171
|
|
414 149 412
|
|
416 338 414
|
|
418 131 141
|
|
420 121 418
|
|
422 117 119
|
|
424 422 420
|
|
426 424 416
|
|
428 105 354
|
|
430 296 428
|
|
432 83 91
|
|
434 39 59
|
|
436 434 432
|
|
438 436 430
|
|
440 438 426
|
|
442 440 410
|
|
444 247 249
|
|
446 237 444
|
|
448 211 223
|
|
450 207 448
|
|
452 450 446
|
|
454 191 201
|
|
456 189 454
|
|
458 175 185
|
|
460 167 458
|
|
462 460 456
|
|
464 462 452
|
|
466 159 165
|
|
468 155 466
|
|
470 145 274
|
|
472 470 468
|
|
474 111 123
|
|
476 99 474
|
|
478 360 476
|
|
480 478 472
|
|
482 480 464
|
|
484 245 247
|
|
486 241 243
|
|
488 486 484
|
|
490 221 223
|
|
492 219 490
|
|
494 492 488
|
|
496 201 217
|
|
498 197 199
|
|
500 498 496
|
|
502 185 195
|
|
504 183 502
|
|
506 504 500
|
|
508 506 494
|
|
510 179 181
|
|
512 173 175
|
|
514 512 510
|
|
516 123 412
|
|
518 516 514
|
|
520 111 117
|
|
522 520 352
|
|
524 428 522
|
|
526 524 518
|
|
528 526 508
|
|
i0 cancel
|
|
i1 go
|
|
i2 req
|
|
o0 grant
|
|
EOF
|
|
|
|
cat <<EOF >exp4
|
|
REALIZABLE
|
|
aag 174 3 4 1 163
|
|
2
|
|
4
|
|
6
|
|
8 251
|
|
10 299
|
|
12 325
|
|
14 333
|
|
349
|
|
16 13 15
|
|
18 11 16
|
|
20 7 9
|
|
22 3 20
|
|
26 6 9
|
|
28 3 26
|
|
30 28 18
|
|
32 2 20
|
|
34 32 18
|
|
36 2 26
|
|
38 36 18
|
|
40 7 8
|
|
42 2 40
|
|
44 42 18
|
|
46 6 8
|
|
48 2 46
|
|
50 48 18
|
|
52 3 40
|
|
54 52 18
|
|
56 3 46
|
|
58 56 18
|
|
60 9 10
|
|
62 60 16
|
|
64 7 4
|
|
66 3 64
|
|
70 6 4
|
|
72 3 70
|
|
74 72 62
|
|
76 2 64
|
|
78 76 62
|
|
80 2 70
|
|
82 80 62
|
|
84 10 16
|
|
86 5 9
|
|
88 7 86
|
|
90 88 84
|
|
92 6 86
|
|
94 92 84
|
|
96 8 10
|
|
98 96 16
|
|
100 76 98
|
|
102 80 98
|
|
104 66 98
|
|
106 72 98
|
|
108 7 5
|
|
110 2 108
|
|
112 110 98
|
|
114 6 5
|
|
116 2 114
|
|
118 116 98
|
|
120 5 8
|
|
122 3 120
|
|
124 122 84
|
|
126 12 15
|
|
128 11 126
|
|
132 28 128
|
|
134 32 128
|
|
136 36 128
|
|
138 42 128
|
|
140 48 128
|
|
142 3 8
|
|
144 142 128
|
|
146 60 126
|
|
150 72 146
|
|
152 76 146
|
|
154 80 146
|
|
156 10 126
|
|
158 86 156
|
|
160 96 126
|
|
162 76 160
|
|
164 80 160
|
|
166 66 160
|
|
168 72 160
|
|
170 120 156
|
|
172 13 14
|
|
174 9 11
|
|
176 174 172
|
|
178 76 176
|
|
180 80 176
|
|
182 66 176
|
|
184 72 176
|
|
186 11 172
|
|
188 86 186
|
|
190 8 11
|
|
192 190 172
|
|
194 10 172
|
|
196 32 194
|
|
198 36 194
|
|
200 22 194
|
|
202 28 194
|
|
204 199 203
|
|
206 189 193
|
|
208 206 204
|
|
210 181 185
|
|
212 171 210
|
|
214 212 208
|
|
216 165 169
|
|
218 159 216
|
|
220 151 155
|
|
222 141 220
|
|
224 222 218
|
|
226 224 214
|
|
228 133 137
|
|
230 119 228
|
|
232 103 107
|
|
234 95 232
|
|
236 234 230
|
|
238 75 83
|
|
240 59 238
|
|
242 39 51
|
|
244 31 242
|
|
246 244 240
|
|
248 246 236
|
|
250 248 226
|
|
252 197 199
|
|
254 179 181
|
|
256 254 252
|
|
258 163 165
|
|
260 155 258
|
|
262 260 256
|
|
264 145 153
|
|
266 141 264
|
|
268 137 139
|
|
270 135 268
|
|
272 270 266
|
|
274 272 262
|
|
276 113 119
|
|
278 103 276
|
|
280 95 101
|
|
282 91 280
|
|
284 282 278
|
|
286 79 83
|
|
288 51 286
|
|
290 39 45
|
|
292 35 290
|
|
294 292 288
|
|
296 294 284
|
|
298 296 274
|
|
300 201 203
|
|
302 183 185
|
|
304 302 300
|
|
306 167 169
|
|
308 119 306
|
|
310 308 304
|
|
312 107 113
|
|
314 95 105
|
|
316 314 312
|
|
318 59 91
|
|
320 55 318
|
|
322 320 316
|
|
324 322 310
|
|
326 171 206
|
|
328 145 159
|
|
330 125 328
|
|
332 330 326
|
|
334 185 300
|
|
336 169 183
|
|
338 336 334
|
|
340 107 167
|
|
342 105 340
|
|
344 55 59
|
|
346 344 342
|
|
348 346 338
|
|
i0 cancel
|
|
i1 go
|
|
i2 req
|
|
o0 grant
|
|
EOF
|
|
|
|
cat <<EOF >exp5
|
|
REALIZABLE
|
|
aag 289 3 4 1 282
|
|
2
|
|
4
|
|
6
|
|
8 367
|
|
10 455
|
|
12 509
|
|
14 547
|
|
579
|
|
16 13 15
|
|
18 11 16
|
|
20 7 9
|
|
22 3 20
|
|
24 22 18
|
|
26 2 20
|
|
28 26 18
|
|
30 6 9
|
|
32 2 30
|
|
34 32 18
|
|
36 3 30
|
|
38 36 18
|
|
40 7 8
|
|
42 3 40
|
|
44 42 18
|
|
46 2 40
|
|
48 46 18
|
|
50 6 8
|
|
52 2 50
|
|
54 52 18
|
|
56 3 50
|
|
58 56 18
|
|
60 9 10
|
|
62 60 16
|
|
64 7 4
|
|
66 3 64
|
|
68 66 62
|
|
70 2 64
|
|
72 70 62
|
|
74 6 4
|
|
76 2 74
|
|
78 76 62
|
|
80 3 74
|
|
82 80 62
|
|
84 10 16
|
|
86 5 9
|
|
88 7 86
|
|
90 88 84
|
|
92 6 86
|
|
94 92 84
|
|
96 8 10
|
|
98 96 16
|
|
100 70 98
|
|
102 76 98
|
|
104 7 5
|
|
106 2 104
|
|
108 106 98
|
|
110 6 5
|
|
112 2 110
|
|
114 112 98
|
|
116 5 8
|
|
118 3 116
|
|
120 118 84
|
|
122 66 98
|
|
124 80 98
|
|
126 12 15
|
|
128 11 126
|
|
130 26 128
|
|
132 32 128
|
|
134 22 128
|
|
136 36 128
|
|
138 46 128
|
|
140 52 128
|
|
142 3 8
|
|
144 142 128
|
|
146 10 126
|
|
148 26 146
|
|
150 32 146
|
|
152 22 146
|
|
154 36 146
|
|
156 96 126
|
|
158 66 156
|
|
160 70 156
|
|
162 76 156
|
|
164 80 156
|
|
166 7 116
|
|
168 166 146
|
|
170 6 116
|
|
172 170 146
|
|
174 13 14
|
|
176 9 11
|
|
178 176 174
|
|
180 70 178
|
|
182 76 178
|
|
184 66 178
|
|
186 80 178
|
|
188 106 178
|
|
190 112 178
|
|
192 11 174
|
|
194 3 86
|
|
196 194 192
|
|
198 8 11
|
|
200 198 174
|
|
202 70 200
|
|
204 76 200
|
|
206 106 200
|
|
208 112 200
|
|
210 118 192
|
|
212 66 200
|
|
214 80 200
|
|
216 60 174
|
|
218 66 216
|
|
220 70 216
|
|
222 76 216
|
|
224 80 216
|
|
226 10 174
|
|
228 86 226
|
|
230 96 174
|
|
232 70 230
|
|
234 76 230
|
|
236 66 230
|
|
238 80 230
|
|
240 116 226
|
|
242 12 14
|
|
244 176 242
|
|
246 70 244
|
|
248 76 244
|
|
250 11 242
|
|
252 86 250
|
|
254 66 244
|
|
256 80 244
|
|
258 198 242
|
|
260 10 242
|
|
262 22 260
|
|
264 26 260
|
|
266 32 260
|
|
268 36 260
|
|
270 96 242
|
|
272 70 270
|
|
274 76 270
|
|
276 66 270
|
|
278 80 270
|
|
280 116 260
|
|
282 279 281
|
|
284 277 282
|
|
286 267 275
|
|
288 259 286
|
|
290 288 284
|
|
292 255 257
|
|
294 253 292
|
|
296 241 249
|
|
298 296 294
|
|
300 298 290
|
|
302 237 239
|
|
304 235 302
|
|
306 223 229
|
|
308 215 306
|
|
310 308 304
|
|
312 209 213
|
|
314 205 312
|
|
316 191 197
|
|
318 316 314
|
|
320 318 310
|
|
322 320 300
|
|
324 185 187
|
|
326 183 324
|
|
328 163 173
|
|
330 155 328
|
|
332 330 326
|
|
334 151 153
|
|
336 141 334
|
|
338 135 137
|
|
340 338 336
|
|
342 340 332
|
|
344 125 133
|
|
346 123 344
|
|
348 109 121
|
|
350 103 348
|
|
352 350 346
|
|
354 79 91
|
|
356 55 354
|
|
358 25 35
|
|
360 358 356
|
|
362 360 352
|
|
364 362 342
|
|
366 364 322
|
|
368 273 275
|
|
370 267 368
|
|
372 263 265
|
|
374 249 372
|
|
376 374 370
|
|
378 235 247
|
|
380 233 378
|
|
382 221 223
|
|
384 219 382
|
|
386 384 380
|
|
388 386 376
|
|
390 207 209
|
|
392 205 390
|
|
394 197 203
|
|
396 191 394
|
|
398 396 392
|
|
400 183 189
|
|
402 181 400
|
|
404 169 173
|
|
406 404 402
|
|
408 406 398
|
|
410 408 388
|
|
412 161 163
|
|
414 159 412
|
|
416 149 151
|
|
418 145 416
|
|
420 418 414
|
|
422 139 141
|
|
424 133 422
|
|
426 109 131
|
|
428 426 424
|
|
430 428 420
|
|
432 101 103
|
|
434 91 432
|
|
436 73 79
|
|
438 69 436
|
|
440 438 434
|
|
442 49 55
|
|
444 45 442
|
|
446 29 35
|
|
448 446 444
|
|
450 448 440
|
|
452 450 430
|
|
454 452 410
|
|
456 263 269
|
|
458 456 282
|
|
460 257 259
|
|
462 241 253
|
|
464 462 460
|
|
466 464 458
|
|
468 229 239
|
|
470 219 225
|
|
472 470 468
|
|
474 211 215
|
|
476 197 474
|
|
478 476 472
|
|
480 478 466
|
|
482 165 187
|
|
484 155 159
|
|
486 484 482
|
|
488 137 145
|
|
490 125 488
|
|
492 490 486
|
|
494 91 109
|
|
496 69 83
|
|
498 496 494
|
|
500 45 59
|
|
502 39 500
|
|
504 502 498
|
|
506 504 492
|
|
508 506 480
|
|
510 263 281
|
|
512 259 510
|
|
514 229 462
|
|
516 514 512
|
|
518 211 219
|
|
520 209 518
|
|
522 197 207
|
|
524 522 520
|
|
526 524 516
|
|
528 189 191
|
|
530 173 528
|
|
532 159 169
|
|
534 532 530
|
|
536 115 121
|
|
538 95 536
|
|
540 45 69
|
|
542 540 538
|
|
544 542 534
|
|
546 544 526
|
|
548 277 279
|
|
550 257 548
|
|
552 239 255
|
|
554 552 550
|
|
556 215 237
|
|
558 187 213
|
|
560 558 556
|
|
562 560 554
|
|
564 155 185
|
|
566 137 153
|
|
568 566 564
|
|
570 125 135
|
|
572 25 123
|
|
574 572 570
|
|
576 574 568
|
|
578 576 562
|
|
i0 cancel
|
|
i1 go
|
|
i2 req
|
|
o0 grant
|
|
EOF
|
|
|
|
cat <<EOF >exp6
|
|
REALIZABLE
|
|
aag 76 3 3 1 63
|
|
2
|
|
4
|
|
6
|
|
8 125
|
|
10 141
|
|
12 147
|
|
153
|
|
14 11 13
|
|
16 2 9
|
|
18 16 14
|
|
20 9 14
|
|
26 3 6
|
|
28 26 20
|
|
30 8 14
|
|
32 2 4
|
|
34 32 30
|
|
42 6 4
|
|
44 3 42
|
|
46 44 30
|
|
48 6 5
|
|
50 3 48
|
|
52 50 30
|
|
54 2 5
|
|
56 54 30
|
|
58 7 5
|
|
60 58 30
|
|
62 10 13
|
|
64 16 62
|
|
66 9 62
|
|
70 26 66
|
|
72 2 8
|
|
74 72 62
|
|
76 3 8
|
|
78 76 62
|
|
80 11 12
|
|
82 9 80
|
|
84 32 82
|
|
86 3 4
|
|
88 86 82
|
|
90 5 9
|
|
92 90 80
|
|
94 8 80
|
|
96 32 94
|
|
100 44 94
|
|
102 5 8
|
|
104 102 80
|
|
106 10 12
|
|
108 9 106
|
|
110 85 97
|
|
112 75 110
|
|
114 65 71
|
|
116 114 112
|
|
118 57 61
|
|
120 19 35
|
|
122 120 118
|
|
124 122 116
|
|
126 105 109
|
|
128 101 126
|
|
130 89 93
|
|
132 130 128
|
|
134 71 79
|
|
136 29 47
|
|
138 136 134
|
|
140 138 132
|
|
142 93 126
|
|
144 53 118
|
|
146 144 142
|
|
148 89 101
|
|
150 79 148
|
|
152 136 150
|
|
i0 cancel
|
|
i1 go
|
|
i2 req
|
|
o0 grant
|
|
EOF
|
|
|
|
for i in 0 1 7 8 9; do
|
|
F=$(eval echo \$F$i)
|
|
IN=$(eval echo \$IN$i)
|
|
OUT=$(eval echo \$OUT$i)
|
|
EXP=$(eval echo \$EXP$i)
|
|
REAL_REC=$(ltlsynt -f "$F" --input="$IN" --output="$OUT" \
|
|
--realizability --algo=rec)
|
|
test $REAL_REC = UNREALIZABLE
|
|
REAL_QP=$(ltlsynt -f "$F" --input="$IN" --output="$OUT" \
|
|
--realizability --algo=qp)
|
|
test $REAL_QP = UNREALIZABLE
|
|
SYNT=$(ltlsynt -f "$F" --input="$IN" --output="$OUT")
|
|
test $SYNT = UNREALIZABLE
|
|
PG=$(mktemp)
|
|
done
|
|
|
|
for i in 2 3 4 5 6; do
|
|
F=$(eval echo \$F$i)
|
|
IN=$(eval echo \$IN$i)
|
|
OUT=$(eval echo \$OUT$i)
|
|
EXP=$(eval echo \$EXP$i)
|
|
REAL=$(ltlsynt -f "$F" --input="$IN" --output="$OUT" --realizability)
|
|
test $REAL = REALIZABLE
|
|
ltlsynt -f "$F" --input="$IN" --output="$OUT" > out$i
|
|
diff out$i exp$i
|
|
done
|