translate: add support for -x exprop

This helped confirming a behavior observed in #298.

* spot/twaalgos/translate.cc, spot/twaalgos/translate.hh: Add support
for -x exprop.
* bin/spot-x.cc, NEWS: Document it.
* tests/core/ltl2tgba2.test: Test it.
This commit is contained in:
Alexandre Duret-Lutz 2020-12-14 15:53:19 +01:00
parent 71f1928052
commit 142460628c
5 changed files with 44 additions and 5 deletions

View file

@ -485,3 +485,21 @@ f='(!(G({(a)} |=> {(b)[*12]})))'
test 14,1 = `ltl2tgba -B --stats=%s,%d "$f"`
f='(!(G({(a)} |=> {(b)[*13]})))'
test 15,0 = `ltl2tgba -B --stats=%s,%d "$f"`
# Related to Issue #298. The difference between the translation of
# this formula with --med and --high is just a different ordering of
# the states caused by the use of exprop.
opts="-x scc-filter=0,tls-impl=0,gf-guarantee=0,wdba-minimize=0"
f='G(p0 -> F(p1 & !p2 & X(!p2 U p3)))'
ltl2tgba $opts --med "$f" >med.hoa
ltl2tgba $opts,exprop=0 "$f" > high.hoa
diff med.hoa high.hoa
ltl2tgba $opts "$f" > high.hoa
test $(wc -l < med.hoa) = $(wc -l < high.hoa)
cmp med.hoa high.hoa && exit 1
autfilt --stats=%F:%s,%e med.hoa high.hoa >out
cat >exp <<EOF
med.hoa:4,14
high.hoa:4,14
EOF
diff exp out