ltlsynt: make sure the previous Xor optimization actually works

* spot/tl/simplify.hh, spot/tl/simplify.cc,
spot/twaalgos/translate.cc: Update the tl_simplification
options after all preferences have been given.
* bin/ltlsynt.cc: Display the size of the translation output.
* tests/core/ltlsynt.test: Add test case.
This commit is contained in:
Alexandre Duret-Lutz 2020-05-16 19:22:28 +02:00
parent 6ec6150462
commit fc1c17b91c
5 changed files with 48 additions and 6 deletions

View file

@ -103,6 +103,7 @@ diff out exp
cat >exp <<EOF
translating formula done in X seconds
automaton has 3 states and 2 colors
split inputs and outputs done in X seconds
automaton has 9 states
determinization done
@ -117,6 +118,21 @@ ltlsynt --ins='a' --outs='b' -f 'GFa <-> GFb' --verbose --realizability 2> out
sed 's/ [0-9.e-]* seconds/ X seconds/g' out > outx
diff outx exp
cat >exp <<EOF
translating formula done in X seconds
automaton has 16 states and 2 colors
split inputs and outputs done in X seconds
automaton has 47 states
LAR construction done in X seconds
DPA has 47 states, 4 colors
parity game built in X seconds
parity game solved in X seconds
EOF
ltlsynt --ins='a,b,c,d' --outs='e' -f '(Fa & Fb & Fc & Fd) <-> GFe' \
--verbose --realizability --algo=lar 2> out
sed 's/ [0-9.e-]* seconds/ X seconds/g' out > outx
diff outx exp
for r in '' '--real'; do
opts="$r --ins=a --outs=b -f"
ltlsynt --algo=ds $opts 'GFa <-> GFb' --csv=FILE || :