Simplify {b && {r1;...;rn}}.

* doc/tl/tl.tex: Document the rules.
* src/ltlvisit/simplify.cc (simplify_visitor): Implement them.
* src/ltltest/reduccmp.test: Test them.
This commit is contained in:
Alexandre Duret-Lutz 2011-12-01 18:41:00 +01:00
parent d0cfd44ba6
commit 614810c0db
3 changed files with 65 additions and 10 deletions

View file

@ -208,9 +208,17 @@ for x in ../reduccmp ../reductaustr; do
run 0 $x '{a && b && c[+]} <>-> d' 'a&b&c&d'
run 0 $x '{a && b && c[=1]} <>-> d' 'a&b&c&d'
run 0 $x '{a && b && d[=2]} <>-> d' '0'
run 0 $x '{a && b && d[->2..4]} <>-> d' '0'
run 0 $x '{a && b && d[*2..]} <>-> d' '0'
run 0 $x '{a && b && d[->2..4]} <>-> d' '0'
run 0 $x '{a && { c* : b* : (g|h)*}} <>-> d' 'a & c & b & (g | h) & d'
run 0 $x '{a && {b;c}} <>-> d' '0'
run 0 $x '{a && {b;c:e}} <>-> d' '0'
run 0 $x '{a && {b*;c*}} <>-> d' '{a && {b*|c*}} <>-> d' # until better
run 0 $x '{a && {b*;c*:e}} <>-> d' '{a && {b*|c*} && e} <>-> d' # idem
run 0 $x '{a && {b*;c}} <>-> d' 'a & c & d'
run 0 $x '{a && {b*;c:e}} <>-> d' 'a & c & d & e'
run 0 $x '{a && {b;c*}} <>-> d' 'a & b & d'
run 0 $x '{a && {b;c*:e}} <>-> d' 'a & b & d & e'
;;
esac