spot/doc/tl
Alexandre Duret-Lutz 05ed3def00 snf: Fix the handling of bounded repetition.
star_normal_form() used to be called under bounded
repetitions like [*0..4], but some of these rewritings
are only correct for [*0..].  For instance
     (a*|1)[*]      can be rewritten to    1[*]
but  (a*|1)[*0..1]  cannot be rewritten to 1[*0..1]
it would be correct to rewrite the latter as (a[+]|1)[*0..1],
canceling the empty word in a*.

Also (a*;b*)[*]     can be rewritten to    (a|b)[*]
but  (a*;b*)[*0..1]  cannot be rewritten to (a|b)[*0..1]
and it cannot either be rewritten to (a[+]|b[+])[*0..1].

This patch introduces a new function to implement
rewritings under bounded repetition.

* src/ltlvisit/snf.hh, src/ltlvisit/snf.cc (star_normal_form_unbounded):
New function.
* src/ltlvisit/simplify.cc: Use it.
* src/ltltest/reduccmp.test: Add tests.
* doc/tl/tl.tex: Document the rewritings implemented.
2014-05-16 09:39:45 +02:00
..
.gitignore more files to ignore 2012-04-28 09:34:44 +02:00
Makefile.am tostring: add LaTeX output 2013-09-08 20:43:53 +02:00
spotltl.sty tostring: add LaTeX output 2013-09-08 20:43:53 +02:00
tl.bib Fix interpretation of {e[*]} and !{e[*]}. 2013-07-29 00:25:13 +02:00
tl.tex snf: Fix the handling of bounded repetition. 2014-05-16 09:39:45 +02:00