simplifier: new PSL simplifications

{e[*0..j]}<>->f = {e[*1..j]}<>->f
{e[*0..j]}[]->f = {e[*1..j]}[]->f

Fixes #81.

This required a small change to the bounded-star-normal-form to prevent
infinite recursion.

* spot/tl/simplify.cc: Implement these rules.
* doc/tl/tl.tex, NEWS: Document them.
* tests/core/reduccmp.test: Add tests, and adjust others.
* tests/core/unambig.test: Replace formula that used to generated an
ambiguous automaton, but now generates a deterministic one.
This commit is contained in:
Alexandre Duret-Lutz 2016-07-19 16:40:59 +02:00
parent d5b2de7fa8
commit abff7eba8e
5 changed files with 38 additions and 16 deletions

View file

@ -42,7 +42,7 @@ do
grep -E 'properties:.* (unambiguous|deterministic)'
done
for f in FGa '(({p1[*0..1]}[]-> 0) R XFp0)'
for f in FGa '{[*1..4]}<>-> (p1 & (p1 U p0))'
do
$ltl2tgba -H "$f" | $autfilt -qv --is-unambiguous
$ltl2tgba -UH "$f" | $autfilt -q --is-unambiguous