Rewrite "a U (a&b)" as "b M a", and "a W (a&b)" as "b R a".
* src/ltlvisit/simplify.cc (simplify_visitor): Implement these rules. * doc/tl/tl.tex: Document these rules.
This commit is contained in:
parent
55a1c6c12f
commit
c2ab4e781b
2 changed files with 41 additions and 11 deletions
|
|
@ -1326,14 +1326,15 @@ verified, there is no need to worry about the $\G\F g$ term.
|
|||
Here are the basic rewriting rules for binary operators (excluding $\OR$ and
|
||||
$\AND$ which are considered in Spot as $n$-ary operators):
|
||||
\begin{align*}
|
||||
\1 \U f &\equiv \F f & f \W \0 &\equiv \G f \\
|
||||
f \M \1 &\equiv \F f & \0 \R f &\equiv \G f \\
|
||||
(\X f)\U (\X g) &\equiv \X(f\U g) & (\X f)\W(\X g) &\equiv \X(f\W g) \\
|
||||
(\X f)\M (\X g) &\equiv \X(f\M g) & (\X f)\R(\X g) &\equiv \X(f\R g) \\
|
||||
f \U(\G f) &\equiv \G f & f \W(\G f) &\equiv \G f \\
|
||||
f \M(\F f) &\equiv \F f & f \R(\F f) &\equiv \F f \\
|
||||
f \U (g \OR \G(f)) &\equiv f\W g & f \W (g \OR \G(f)) &\equiv f\W g\\
|
||||
f \M (g \AND \F(f)) &\equiv f\M g & f \R (g \AND \F(f)) &\equiv f\M g
|
||||
\1 \U f & \equiv \F f & f \W \0 & \equiv \G f \\
|
||||
f \M \1 & \equiv \F f & \0 \R f & \equiv \G f \\
|
||||
(\X f)\U (\X g) & \equiv \X(f\U g) & (\X f)\W(\X g) & \equiv \X(f\W g) \\
|
||||
(\X f)\M (\X g) & \equiv \X(f\M g) & (\X f)\R(\X g) & \equiv \X(f\R g) \\
|
||||
f \U(\G f) & \equiv \G f & f \W(\G f) & \equiv \G f \\
|
||||
f \M(\F f) & \equiv \F f & f \R(\F f) & \equiv \F f \\
|
||||
f \U (g \OR \G(f)) & \equiv f\W g & f \W (g \OR \G(f)) & \equiv f\W g \\
|
||||
f \M (g \AND \F(f)) & \equiv f\M g & f \R (g \AND \F(f)) & \equiv f\M g \\
|
||||
f \U (g \AND f) & \equiv g\M f & f \W (g \AND f) & \equiv g\R f
|
||||
\end{align*}
|
||||
|
||||
Here are the basic rewriting rules for $n$-ary operators ($\AND$ and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue