translate: extract obligations terms when translating LTL to Parity

* spot/twaalgos/translate.cc: Here.
* NEWS: Mention the change.
* tests/core/genltl.test: Add parity automata sizes for a set of
formulas.
* tests/core/parity2.test: Add another formula to the tests.
This commit is contained in:
Alexandre Duret-Lutz 2018-06-25 15:36:05 +02:00
parent 0690a547a5
commit 0a8c6479b7
4 changed files with 948 additions and 94 deletions

View file

@ -156,60 +156,61 @@ test $(genltl --kr-n=4 | ltl2tgba --low --stats=%s) -ge 16
genltl --ms-example=0..4 --ms-phi-r=0..2 --ms-phi-s=0..2 --ms-phi-h=0..4 \
--gf-equiv=0..5 --gf-implies=0..5 --gf-equiv-xn=1..3 --gf-implies-xn=3 \
--format='"%F=%L",%f' |
ltl2tgba -G -D -F-/2 --stats='%<,%s' > out
ltl2tgba -G -D -F-/2 --stats='%f,%<,%s' |
ltl2tgba -P -D -F-/1 --stats='%>,%s' > out
cat >exp<<EOF
"ms-example=0,0",1
"ms-example=0,1",2
"ms-example=0,2",3
"ms-example=0,3",4
"ms-example=0,4",5
"ms-example=1,0",1
"ms-example=1,1",2
"ms-example=1,2",3
"ms-example=1,3",4
"ms-example=1,4",5
"ms-example=2,0",2
"ms-example=2,1",3
"ms-example=2,2",4
"ms-example=2,3",5
"ms-example=2,4",6
"ms-example=3,0",4
"ms-example=3,1",5
"ms-example=3,2",6
"ms-example=3,3",7
"ms-example=3,4",8
"ms-example=4,0",8
"ms-example=4,1",9
"ms-example=4,2",10
"ms-example=4,3",11
"ms-example=4,4",12
"ms-phi-r=0",1
"ms-phi-r=1",1
"ms-phi-r=2",1
"ms-phi-s=0",1
"ms-phi-s=1",1
"ms-phi-s=2",1
"ms-phi-h=0",1
"ms-phi-h=1",2
"ms-phi-h=2",4
"ms-phi-h=3",8
"ms-phi-h=4",16
"gf-equiv=0",1
"gf-equiv=1",1
"gf-equiv=2",1
"gf-equiv=3",1
"gf-equiv=4",1
"gf-equiv=5",1
"gf-implies=0",1
"gf-implies=1",1
"gf-implies=2",1
"gf-implies=3",1
"gf-implies=4",1
"gf-implies=5",1
"gf-equiv-xn=1",2
"gf-equiv-xn=2",4
"gf-equiv-xn=3",8
"gf-implies-xn=3",1
"ms-example=0,0",1,1
"ms-example=0,1",2,2
"ms-example=0,2",3,3
"ms-example=0,3",4,4
"ms-example=0,4",5,5
"ms-example=1,0",1,1
"ms-example=1,1",2,2
"ms-example=1,2",3,3
"ms-example=1,3",4,4
"ms-example=1,4",5,5
"ms-example=2,0",2,2
"ms-example=2,1",3,3
"ms-example=2,2",4,4
"ms-example=2,3",5,5
"ms-example=2,4",6,6
"ms-example=3,0",4,4
"ms-example=3,1",5,5
"ms-example=3,2",6,6
"ms-example=3,3",7,7
"ms-example=3,4",8,8
"ms-example=4,0",8,8
"ms-example=4,1",9,9
"ms-example=4,2",10,10
"ms-example=4,3",11,11
"ms-example=4,4",12,12
"ms-phi-r=0",1,2
"ms-phi-r=1",1,16
"ms-phi-r=2",1,29
"ms-phi-s=0",1,5
"ms-phi-s=1",1,8
"ms-phi-s=2",1,494
"ms-phi-h=0",1,1
"ms-phi-h=1",2,3
"ms-phi-h=2",4,7
"ms-phi-h=3",8,15
"ms-phi-h=4",16,31
"gf-equiv=0",1,1
"gf-equiv=1",1,4
"gf-equiv=2",1,8
"gf-equiv=3",1,21
"gf-equiv=4",1,81
"gf-equiv=5",1,431
"gf-implies=0",1,1
"gf-implies=1",1,5
"gf-implies=2",1,12
"gf-implies=3",1,41
"gf-implies=4",1,186
"gf-implies=5",1,1047
"gf-equiv-xn=1",2,2
"gf-equiv-xn=2",4,4
"gf-equiv-xn=3",8,8
"gf-implies-xn=3",1,1
EOF
diff out exp
@ -217,7 +218,8 @@ diff out exp
genltl --ms-example=0..4 --ms-phi-r=0..2 --ms-phi-s=0..2 --ms-phi-h=0..4 \
--gf-equiv=0..5 --gf-implies=0..5 --gf-equiv-xn=1..3 --gf-implies-xn=3 \
--format='"%F=%L",%f' |
ltldo -F-/2 'ltl2tgba -G -D' --stats='%<,%s' > out
ltldo 'ltl2tgba -DG' -F-/2 --stats='%f,%<,%s' |
ltldo 'ltl2tgba -DP' -F-/1 --stats='%>,%s' > out
diff out exp
# Test out-of-range conditions