Add implication-based rewritings from Babiak et al. (TACAS'12)

* src/ltlvisit/simplify.cc: Implement them here, and augment them
to support M, and W operators.
* src/ltltest/reduccmp.test: Add some tests.
* doc/tl/tl.tex (Simplifications Based on Implications): Document
these rules.
* doc/tl/tl.bib (babiak.12.tacas): New entry.
This commit is contained in:
Alexandre Duret-Lutz 2012-01-10 19:34:41 +01:00
parent ed0dd0b48d
commit 212c7ebdd7
4 changed files with 124 additions and 5 deletions

View file

@ -1,4 +1,17 @@
@InProceedings{ babiak.12.tacas,
author = {Thom{\'a}{\v{s}} Babiak and Mojm{\'i}r
K{\v{r}}et{\'i}nsk{\'y} and Vojt{\v{e}}ch {\v{R}e}eh{\'a}k
and Jan Strej{\v c}ek},
title = {{LTL} to {B\"u}chi Automata Translation: Fast and More
Deterministic},
year = 2012,
booktitle = {Proceedings of the 18th International Conference on Tools
and Algorithms for the Construction and Analysis of Systems
(TACAS'12)},
note = {To appear}
}
@InProceedings{ beer.01.cav,
author = {Ilan Beer and Shoham Ben-David and Cindy Eisner and Dana
Fisman and Anna Gringauze and Yoav Rodeh},

View file

@ -1472,8 +1472,8 @@ implication can be done in two ways:
In the following rewritings rules, $f\simp g$ means that $g$ was
proved to be implied by $f$ using either of the above two methods.
Additionally, implications denoted by $f\Simp g$ are only checked
if the ``\verb|ltl_simplifier_options::containment_checks_stronger|''
Additionally, implications denoted by $f\Simp g$ are only checked if
the ``\verb|ltl_simplifier_options::containment_checks_stronger|''
option is set (otherwise the rewriting rule is not applied).
\begin{equation*}
@ -1487,23 +1487,36 @@ option is set (otherwise the rewriting rule is not applied).
\text{if}& (\NOT f)\simp g &\text{then}& f\U g &\equiv \F g \\
\text{if}& f\simp g &\text{then}& f\U (g \U h) &\equiv g \U h \\
\text{if}& f\simp g &\text{then}& f\U (g \W h) &\equiv g \W h \\
\text{if}& g\simp f &\text{then}& f\U (g \U h) &\equiv f \U h \\
\text{if}& f\simp h &\text{then}& f\U (g \R (h \U k)) &\equiv g \R (h \U k) \\
\text{if}& f\simp h &\text{then}& f\U (g \R (h \W k)) &\equiv g \R (h \W k) \\
\text{if}& f\simp h &\text{then}& f\U (g \M (h \U k)) &\equiv g \M (h \U k) \\
\text{if}& f\simp h &\text{then}& f\U (g \M (h \W k)) &\equiv g \M (h \W k) \\
\text{if}& f\simp g &\text{then}& f\W g &\equiv g \\
\text{if}& (f\W g)\Simp g &\text{then}& f\W g &\equiv g \\
\text{if}& (\NOT f)\simp g &\text{then}& f\W g &\equiv \1 \\
\text{if}& f\simp g &\text{then}& f\W (g \W h) &\equiv g \W h \\
\text{if}& g\simp f &\text{then}& f\W (g \U h) &\equiv f \W h \\
\text{if}& g\simp f &\text{then}& f\W (g \W h) &\equiv f \W h \\
\text{if}& g\simp f &\text{then}& f\R g &\equiv g \\
\text{if}& g\simp \NOT f &\text{then}& f\R g &\equiv \G g \\
\text{if}& g\simp f &\text{then}& f\R (g \R h) &\equiv g \R h \\
\text{if}& g\simp f &\text{then}& f\R (g \M h) &\equiv g \M h \\
\text{if}& f\simp g &\text{then}& f\R (g \R h) &\equiv f \R h \\
\text{if}& h\simp f &\text{then}& (f\R g) \R h &\equiv g \R h \\
\text{if}& h\simp f &\text{then}& (f\M g) \R h &\equiv g \R h \\
\text{if}& g\simp f &\text{then}& f\M g &\equiv g \\
\text{if}& g\simp \NOT f &\text{then}& f\M g &\equiv \0 \\
\text{if}& g\simp f &\text{then}& f\M (g \M h) &\equiv g \M h \\
\text{if}& f\simp g &\text{then}& f\M (g \M h) &\equiv f \M h \\
\text{if}& f\simp g &\text{then}& f\M (g \R h) &\equiv f \M h \\
\text{if}& h\simp f &\text{then}& (f\M g) \M h &\equiv g \M h \\
\end{array}
\end{equation*}
The above rules were collected from various
sources~\cite{somenzi.00.cav,tauriainen.03.a83,babiak.12.tacas} and
sometimes generalized to support operators such as $\M$ and $\W$.
\appendix
\chapter{Syntactic Implications}\label{ann:syntimpl}