Trivially reduce [*];f to [*] if f accepts the empty word.

* src/ltlast/multop.cc (instance): Implement the reduction.
* src/ltlast/multop.hh, doc/tl/tl.tex: Document it.
* src/ltltest/equals.test: Test it.
This commit is contained in:
Alexandre Duret-Lutz 2012-04-24 18:36:20 +02:00
parent e06b3b7974
commit 4a775a17a3
4 changed files with 47 additions and 5 deletions

View file

@ -707,17 +707,17 @@ The following rules are all valid with the two arguments swapped.
\0 \CONCAT f &\equiv \0 \\
\1\AND f&\equiv
\begin{cases}
1 &\mathrlap{\text{if~} \varepsilon\VDash f} \\
f &\mathrlap{\text{if~} \varepsilon\nVDash f} \\
1\mathrlap{\text{~if~} \varepsilon\VDash f} \\
f\mathrlap{\text{~if~} \varepsilon\nVDash f} \\
\end{cases} &
\1\ANDALT b &\equiv b &
\1\OR b &\equiv \1 &
\1 \FUSION f & \equiv f\mathrlap{\text{~if~}\varepsilon\nVDash f}\\
&&
\1\STAR{} \AND f &\equiv f &
\1\STAR{} \OR f &\equiv \1\STAR{} &
\STAR{} \AND f &\equiv f &
\STAR{} \OR f &\equiv \1\STAR{} &
&&
&& \\
\STAR{} \CONCAT f &\equiv \STAR{}\mathrlap{\text{~if~}\varepsilon\VDash f}& \\
\eword\AND f &\equiv f &
\eword\ANDALT f &\equiv
\begin{cases}