fix "requires separate Inf and Fin sets" error from ltl2tgba -G

Report from David Müller.

* spot/twaalgos/simulation.cc: Add wrapper to deal with automata
sharing Fin/Inf sets.
* tests/core/ltl2tgba2.test: New test cases.
* NEWS: Mention the change.
This commit is contained in:
Alexandre Duret-Lutz 2019-04-26 11:33:04 +02:00
parent 26e2f9cec8
commit b928d8c82a
3 changed files with 58 additions and 12 deletions

View file

@ -409,3 +409,16 @@ f='(a R !b) & (c R !d) & G((!b | !d) & (!a | Fb) & (!c | Fd) '
f=$f'& (!b | X(b | (a R !b))) & (!d | X(d | (c R !d))) & F(a | !b) & F(c | !d))'
test '8,1' = `ltl2tgba "$f" --stats=%s,%d`
test '8,1' = `ltl2tgba -GD "$f" --stats=%s,%d`
# Two formulas for which ltl2tgba 2.7.3 was raising an error with -GDS
# Reported by David Müller.
cat >in <<EOF
& | G F p0 F G p1 | G F ! p1 F G p2
& & | G F p0 F G p1 | G F ! p1 F G p2 | G F ! p2 F G ! p0
EOF
ltl2tgba --lbt-input -GDS -Fin --stats='%s,%g' >out
cat >expected <<EOF
8,(Fin(1) | Inf(0)) & (Fin(2) | Inf(1))
8,(Fin(1) | Inf(0)) & (Fin(2) | Inf(1)) & (Fin(0) | Inf(2))
EOF