ltlf: ensure alive holds initially
Reported by Shufang Zhu. * spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion and update the comments. * tests/core/ltlfilt.test: Adjust test cases. * NEWS: Mention the fix. * THANKS: Add Shufang Zhu.
This commit is contained in:
parent
0ab8dc06c4
commit
413eab1d32
5 changed files with 31 additions and 23 deletions
|
|
@ -182,30 +182,30 @@ EOF
|
|||
run 0 ltlfilt --ltl formulas > formulas2
|
||||
mv formulas2 formulas
|
||||
|
||||
checkopt --ltl --from-ltlf <<EOF
|
||||
(G(!alive | F(a & alive)) | F(alive & G(!alive | b))) & (alive U G!alive)
|
||||
F(alive & (G(!alive | F(a & alive)) | G(!alive | b))) & (alive U G!alive)
|
||||
F(alive & ((!alive | b) W G(!alive | F(a & alive)))) & (alive U G!alive)
|
||||
(G(!alive | F(a & alive)) | G(!alive | b)) & (alive U G!alive)
|
||||
((!alive | b) W G(!alive | F(a & alive))) & (alive U G!alive)
|
||||
(a U (alive & F(alive & b))) & (alive U G!alive)
|
||||
G(!alive | (a & X(alive & b))) & (alive U G!alive)
|
||||
X(a & alive) & (alive U G!alive)
|
||||
F(a & alive & !X(a & alive) & X(alive & b)) & (alive U G!alive)
|
||||
a & (b | c) & (alive U G!alive)
|
||||
checkopt --ltl --from-ltlf=al <<EOF
|
||||
al & (G(!al | F(a & al)) | F(al & G(!al | b))) & (al U G!al)
|
||||
al & F(al & (G(!al | F(a & al)) | G(!al | b))) & (al U G!al)
|
||||
al & F(al & ((!al | b) W G(!al | F(a & al)))) & (al U G!al)
|
||||
al & (G(!al | F(a & al)) | G(!al | b)) & (al U G!al)
|
||||
al & ((!al | b) W G(!al | F(a & al))) & (al U G!al)
|
||||
al & (a U (al & F(al & b))) & (al U G!al)
|
||||
al & G(!al | (a & X(al & b))) & (al U G!al)
|
||||
al & X(a & al) & (al U G!al)
|
||||
al & F(a & al & !X(a & al) & X(al & b)) & (al U G!al)
|
||||
a & al & (b | c) & (al U G!al)
|
||||
EOF
|
||||
|
||||
checkopt --ltl --from-ltlf='!dead' <<EOF
|
||||
(G(dead | F(a & !dead)) | F(!dead & G(b | dead))) & (!dead U Gdead)
|
||||
F(!dead & (G(dead | F(a & !dead)) | G(b | dead))) & (!dead U Gdead)
|
||||
F(!dead & ((b | dead) W G(dead | F(a & !dead)))) & (!dead U Gdead)
|
||||
(G(dead | F(a & !dead)) | G(b | dead)) & (!dead U Gdead)
|
||||
((b | dead) W G(dead | F(a & !dead))) & (!dead U Gdead)
|
||||
(a U (!dead & F(b & !dead))) & (!dead U Gdead)
|
||||
G(dead | (a & X(b & !dead))) & (!dead U Gdead)
|
||||
X(a & !dead) & (!dead U Gdead)
|
||||
F(a & !dead & !X(a & !dead) & X(b & !dead)) & (!dead U Gdead)
|
||||
a & (b | c) & (!dead U Gdead)
|
||||
!dead & (G(dead | F(a & !dead)) | F(!dead & G(b | dead))) & (!dead U Gdead)
|
||||
!dead & F(!dead & (G(dead | F(a & !dead)) | G(b | dead))) & (!dead U Gdead)
|
||||
!dead & F(!dead & ((b | dead) W G(dead | F(a & !dead)))) & (!dead U Gdead)
|
||||
!dead & (G(dead | F(a & !dead)) | G(b | dead)) & (!dead U Gdead)
|
||||
!dead & ((b | dead) W G(dead | F(a & !dead))) & (!dead U Gdead)
|
||||
!dead & (a U (!dead & F(b & !dead))) & (!dead U Gdead)
|
||||
!dead & G(dead | (a & X(b & !dead))) & (!dead U Gdead)
|
||||
!dead & X(a & !dead) & (!dead U Gdead)
|
||||
!dead & F(a & !dead & !X(a & !dead) & X(b & !dead)) & (!dead U Gdead)
|
||||
a & !dead & (b | c) & (!dead U Gdead)
|
||||
EOF
|
||||
|
||||
cat >in <<EOF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue