move spot/bin/ and spot/tests/ up by one level
* spot/bin/: Move... * bin/: ... here. * spot/tests/: Move... * tests/: ... here. * Makefile.am, README, bench/stutter/Makefile.am, bench/stutter/stutter_invariance_formulas.cc, doc/Makefile.am, configure.ac, debian/rules, spot/Makefile.am, spot/ltsmin/Makefile.am, spot/ltsmin/kripke.test, spot/sanity/style.test, python/tests/run.in: Adjust.
This commit is contained in:
parent
ff4837f4f2
commit
134dfc73de
220 changed files with 35 additions and 30 deletions
79
bin/man/Makefile.am
Normal file
79
bin/man/Makefile.am
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
## -*- coding: utf-8 -*-
|
||||
## Copyright (C) 2012, 2013, 2014, 2015 Laboratoire de Recherche et
|
||||
## Développement de l'Epita (LRDE).
|
||||
##
|
||||
## This file is part of Spot, a model checking library.
|
||||
##
|
||||
## Spot is free software; you can redistribute it and/or modify it
|
||||
## under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 3 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## Spot is distributed in the hope that it will be useful, but WITHOUT
|
||||
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
## License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
common_dep = $(top_srcdir)/configure.ac
|
||||
x_to_1 = $(top_builddir)/tools/x-to-1
|
||||
convman = ARGP_HELP_FMT=header-col=0 $(SHELL) "$(x_to_1)" \
|
||||
"$(PERL)" "$(top_srcdir)/tools/help2man -N -L 'en_US.UTF-8'"
|
||||
convman7 = ARGP_HELP_FMT=header-col=0 $(SHELL) "$(x_to_1)" \
|
||||
"$(PERL)" "$(top_srcdir)/tools/help2man -s7 -N -L 'en_US.UTF-8'"
|
||||
|
||||
dist_man1_MANS = \
|
||||
autfilt.1 \
|
||||
dstar2tgba.1 \
|
||||
genltl.1 \
|
||||
ltl2tgba.1 \
|
||||
ltl2tgta.1 \
|
||||
ltlcross.1 \
|
||||
ltldo.1 \
|
||||
ltlfilt.1 \
|
||||
ltlgrind.1 \
|
||||
randaut.1 \
|
||||
randltl.1
|
||||
dist_man7_MANS = \
|
||||
spot-x.7
|
||||
|
||||
MAINTAINERCLEANFILES = $(dist_man1_MANS) $(dist_man7_MANS)
|
||||
EXTRA_DIST = $(dist_man1_MANS:.1=.x) $(dist_man7_MANS:.7=.x)
|
||||
|
||||
autfilt.1: $(common_dep) $(srcdir)/autfilt.x $(srcdir)/../autfilt.cc
|
||||
$(convman) ../autfilt$(EXEEXT) $(srcdir)/autfilt.x $@
|
||||
|
||||
dstar2tgba.1: $(common_dep) $(srcdir)/dstar2tgba.x $(srcdir)/../dstar2tgba.cc
|
||||
$(convman) ../dstar2tgba$(EXEEXT) $(srcdir)/dstar2tgba.x $@
|
||||
|
||||
ltl2tgba.1: $(common_dep) $(srcdir)/ltl2tgba.x $(srcdir)/../ltl2tgba.cc
|
||||
$(convman) ../ltl2tgba$(EXEEXT) $(srcdir)/ltl2tgba.x $@
|
||||
|
||||
ltl2tgta.1: $(common_dep) $(srcdir)/ltl2tgta.x $(srcdir)/../ltl2tgta.cc
|
||||
$(convman) ../ltl2tgta$(EXEEXT) $(srcdir)/ltl2tgta.x $@
|
||||
|
||||
ltlcross.1: $(common_dep) $(srcdir)/ltlcross.x $(srcdir)/../ltlcross.cc
|
||||
$(convman) ../ltlcross$(EXEEXT) $(srcdir)/ltlcross.x $@
|
||||
|
||||
ltldo.1: $(common_dep) $(srcdir)/ltlcross.x $(srcdir)/../ltldo.cc
|
||||
$(convman) ../ltldo$(EXEEXT) $(srcdir)/ltldo.x $@
|
||||
|
||||
ltlfilt.1: $(common_dep) $(srcdir)/ltlfilt.x $(srcdir)/../ltlfilt.cc
|
||||
$(convman) ../ltlfilt$(EXEEXT) $(srcdir)/ltlfilt.x $@
|
||||
|
||||
genltl.1: $(common_dep) $(srcdir)/genltl.x $(srcdir)/../genltl.cc
|
||||
$(convman) ../genltl$(EXEEXT) $(srcdir)/genltl.x $@
|
||||
|
||||
randltl.1: $(common_dep) $(srcdir)/randltl.x $(srcdir)/../randltl.cc
|
||||
$(convman) ../randltl$(EXEEXT) $(srcdir)/randltl.x $@
|
||||
|
||||
randaut.1: $(common_dep) $(srcdir)/randaut.x $(srcdir)/../randaut.cc
|
||||
$(convman) ../randaut$(EXEEXT) $(srcdir)/randaut.x $@
|
||||
|
||||
spot-x.7: $(common_dep) $(srcdir)/spot-x.x $(srcdir)/../spot-x.cc
|
||||
$(convman7) ../spot-x$(EXEEXT) $(srcdir)/spot-x.x $@
|
||||
|
||||
ltlgrind.1: $(common_dep) $(srcdir)/ltlgrind.x $(srcdir)/../ltlgrind.cc
|
||||
$(convman) ../ltlgrind$(EXEEXT) $(srcdir)/ltlgrind.x $@
|
||||
44
bin/man/autfilt.x
Normal file
44
bin/man/autfilt.x
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
.\" -*- coding: utf-8 -*-
|
||||
[NAME]
|
||||
autfilt \- filter, convert, and transform omega-automata
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[BIBLIOGRAPHY]
|
||||
The following papers are related to some of the transformations implemented
|
||||
in autfilt.
|
||||
|
||||
.TP
|
||||
\(bu
|
||||
Etienne Renault, Alexandre Duret-Lutz, Fabrice Kordon, and Denis Poitrenaud:
|
||||
Strength-based decomposition of the property Büchi automaton for faster
|
||||
model checking. Proceedings of TACAS'13. LNCS 7795.
|
||||
|
||||
The \fB\-\-strength\-decompose\fR option implements the definitions
|
||||
given in the above paper.
|
||||
.TP
|
||||
\(bu
|
||||
František Blahoudek, Alexandre Duret-Lutz, Vojtčech Rujbr, and Jan Strejček:
|
||||
On refinement of Büchi automata for explicit model checking.
|
||||
Proceedings of SPIN'15. LNCS 9232.
|
||||
|
||||
That paper gives the motivation for options \fB\-\-exclusive\-ap\fR
|
||||
and \fB\-\-simplify\-exclusive\-ap\fR.
|
||||
.TP
|
||||
\(bu
|
||||
Thibaud Michaud and Alexandre Duret-Lutz:
|
||||
Practical stutter-invariance checks for ω-regular languages.
|
||||
Proceedings of SPIN'15. LNCS 9232.
|
||||
|
||||
Describes the algorithms used by the \fB\-\-destut\fR and
|
||||
\fB\-\-instut\fR options. These options correpond respectively to
|
||||
cl() and sl() in the paper.
|
||||
.TP
|
||||
\(bu
|
||||
Souheib Baarir and Alexandre Duret-Lutz: SAT-based minimization of
|
||||
deterministic ω-automata. Proceedings of LPAR'15 (a.k.a LPAR-20).
|
||||
LNCS 9450.
|
||||
|
||||
Describes the \fB\-\-sat\-minimize\fR option.
|
||||
[SEE ALSO]
|
||||
.BR spot-x (7)
|
||||
.BR dstar2tgba (1)
|
||||
107
bin/man/dstar2tgba.x
Normal file
107
bin/man/dstar2tgba.x
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
[NAME]
|
||||
dstar2tgba \- convert automata into Büchi automata
|
||||
[HISTORY]
|
||||
.B dstar2tgba
|
||||
was introduced in Spot 1.2 as a command that reads automata
|
||||
in
|
||||
.BR ltl2dstar 's
|
||||
format, and converts them into TGBA. At this time it was
|
||||
the only command-line tool being able to read automata.
|
||||
.PP
|
||||
In Spot 1.99.1 the
|
||||
.B autfilt
|
||||
command was introduced, but could only read automata
|
||||
in the HOA format, or in
|
||||
.BR lbtt 's
|
||||
format, or as never claims. So
|
||||
.B dstar2tgba
|
||||
was still the only way to process automata
|
||||
in
|
||||
.BR ltl2dstar 's
|
||||
format.
|
||||
.PP
|
||||
In Spot 1.99.4 the parser for
|
||||
.BR ltl2dstar 's
|
||||
format was finally merged with the parser
|
||||
used by
|
||||
.B autfilt
|
||||
for reading the other format. This implies not only
|
||||
that
|
||||
.B autfilt
|
||||
can now read
|
||||
.BR ltl2dstar's
|
||||
format, but also that
|
||||
.B dstar2tgba
|
||||
can read the other formats as well.
|
||||
|
||||
Nowadays, the command
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% dstar2tgba some files
|
||||
.fi
|
||||
.PP
|
||||
can be used as a shorthand for
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% autfilt \-\-tgba \-\-high \-\-small some files
|
||||
.fi
|
||||
.PP
|
||||
The name
|
||||
.B dstar2tgba
|
||||
is kept for backward compatibility and because it is used
|
||||
in at least one published paper, but naming this tool
|
||||
.B aut2tgba
|
||||
would make more sense.
|
||||
|
||||
[BIBLIOGRAPHY]
|
||||
.TP
|
||||
1.
|
||||
<http://www.ltl2dstar.de/docs/ltl2dstar.html>
|
||||
|
||||
Documents the output format of ltl2dstar.
|
||||
|
||||
.TP
|
||||
2.
|
||||
Chistof Löding: Mehods for the Transformation of ω-Automata:
|
||||
Complexity and Connection to Second Order Logic. Diploma Thesis.
|
||||
University of Kiel. 1998.
|
||||
|
||||
Describes various tranformations from non-deterministic Rabin and
|
||||
Streett automata to Büchi automata. Slightly optimized variants of
|
||||
these transformations are used by dstar2tgba for the general cases.
|
||||
|
||||
.TP
|
||||
3.
|
||||
Sriram C. Krishnan, Anuj Puri, and Robert K. Brayton: Deterministic
|
||||
ω-automata vis-a-vis Deterministic Büchi Automata. ISAAC'94.
|
||||
|
||||
Explains how to preserve the determinism of Rabin and Streett automata
|
||||
when the property can be repreted by a Deterministic automaton.
|
||||
dstar2tgba implements this for the Rabin case only. In other words,
|
||||
translating a deterministic Rabin automaton with dstar2tgba will
|
||||
produce a deterministic TGBA or BA if such a automaton exists.
|
||||
|
||||
.TP
|
||||
4.
|
||||
Souheib Baarir and Alexandre Duret-Lutz: Mechanizing the minimization
|
||||
of deterministic generalized Büchi automata. Proceedings of FORTE'14.
|
||||
LNCS 8461.
|
||||
|
||||
Explains the SAT-based minimization techniques that can be used (on
|
||||
request only) by dstar2tgba to minimize deterministic Büchi automata.
|
||||
|
||||
.TP
|
||||
5.
|
||||
Souheib Baarir and Alexandre Duret-Lutz: SAT-based minimization of
|
||||
deterministic ω-automata. Proceedings of LPAR'15 (a.k.a LPAR-20).
|
||||
LNCS 9450.
|
||||
|
||||
Extends the previous paper by allowing arbitrary acceptance
|
||||
conditions.
|
||||
[SEE ALSO]
|
||||
.BR spot-x (7),
|
||||
.BR autfilt (1)
|
||||
31
bin/man/genltl.x
Normal file
31
bin/man/genltl.x
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
[NAME]
|
||||
genltl \- generate LTL formulas from scalable patterns
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[BIBLIOGRAPHY]
|
||||
If you would like to give a reference to this tool in an article,
|
||||
we suggest you cite the following paper:
|
||||
.TP
|
||||
\(bu
|
||||
Alexandre Duret-Lutz: Manipulating LTL formulas using Spot 1.0.
|
||||
Proceedings of ATVA'13. LNCS 8172.
|
||||
.PP
|
||||
Prefixes used in pattern names refer to the following papers:
|
||||
.TP
|
||||
gh
|
||||
J. Geldenhuys and H. Hansen: Larger automata and less
|
||||
work for LTL model checking. Proceedings of Spin'06. LNCS 3925.
|
||||
.TP
|
||||
ccj
|
||||
J. Cichoń, A. Czubak, and A. Jasiński (DepCoS'09): Minimal Büchi
|
||||
Automata for Certain Classes of LTL Formulas. Proceedings of DepCoS'09.
|
||||
.TP
|
||||
go
|
||||
P. Gastin and D. Oddoux: Fast LTL to Büchi Automata Translation.
|
||||
Proceedings of CAV'01. LNCS 2102.
|
||||
.TP
|
||||
rv
|
||||
K. Rozier and M. Vardi: LTL Satisfiability Checking.
|
||||
Proceedings of Spin'07. LNCS 4595.
|
||||
[SEE ALSO]
|
||||
.BR randltl (1)
|
||||
202
bin/man/ltl2tgba.x
Normal file
202
bin/man/ltl2tgba.x
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
.\" -*- coding: utf-8 -*-
|
||||
[NAME]
|
||||
ltl2tgba \- translate LTL/PSL formulas into Büchi automata
|
||||
[NOTE ON TGBA]
|
||||
TGBA stands for Transition-based Generalized Büchi Automaton. The
|
||||
name was coined by Dimitra Giannakopoulou and Flavio Lerda in their
|
||||
FORTE'02 paper (From States to Transitions: Improving Translation of
|
||||
LTL Formulae to Büchi Automata), although similar automata have been
|
||||
used under different names long before that.
|
||||
.PP
|
||||
As its name implies a TGBA uses a generalized Büchi acceptance
|
||||
condition, meanings that a run of the automaton is accepted iff it
|
||||
visits ininitely often multiple acceptance sets, and it also uses
|
||||
transition-based acceptance, i.e., those acceptance sets are sets of
|
||||
transitions. TGBA are often more consise than traditional Büchi
|
||||
automata. For instance the LTL formula \f(CWGFa & GFb\fR can be
|
||||
translated into a single-state TGBA while a traditional Büchi
|
||||
automaton would need 3 states. Compare
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% ltl2tgba 'GFa & GFb'
|
||||
.fi
|
||||
.PP
|
||||
with
|
||||
.PP
|
||||
.in +4n
|
||||
.ft C
|
||||
.nf
|
||||
% ltl2tgba --ba 'GFa & GFb'
|
||||
.fi
|
||||
.PP
|
||||
In the dot output produced by the above commands, the membership of
|
||||
the transitions to the various acceptance sets is denoted using names
|
||||
in braces. The actuall names do not really matter as they may be
|
||||
produced by the translation algorithm or altered by any latter
|
||||
postprocessing.
|
||||
.PP
|
||||
When the \fB\-\-ba\fR option is used to request a Büchi automaton, Spot
|
||||
builds a TGBA with a single acceptance set, and in which for any state
|
||||
either all outgoing transitions are accepting (this is equivalent to
|
||||
the state being accepting) or none of them are. Double circles are
|
||||
used to highlight accepting states in the output, but the braces
|
||||
denoting the accepting transitions are still shown because the
|
||||
underling structure really is a TGBA.
|
||||
|
||||
[NOTE ON LBTT'S FORMAT]
|
||||
.UR http://www.tcs.hut.fi/Software/lbtt/doc/html/Format-for-automata.html
|
||||
LBTT's format
|
||||
.UE
|
||||
has support for both transition-based and state based generalized acceptance.
|
||||
.PP
|
||||
Because Spot uses transition-based generalized Büchi automata
|
||||
internally, it will normally use the transition-based flavor of that
|
||||
format, indicated with a 't' flag after the number of acceptance sets.
|
||||
For instance:
|
||||
.PP
|
||||
.in +4n
|
||||
.ft C
|
||||
.nf
|
||||
% ltl2tgba --lbtt 'GFp0 & GFp1 & FGp2'
|
||||
2 2t // 2 states, 2 transition-based acceptance sets
|
||||
0 1 // state 0: initial
|
||||
0 -1 t // trans. to state 0, no acc., label: true
|
||||
1 -1 | & p0 p2 & p1 p2 // trans. to state 1, no acc., label: (p0&p2)|(p1&p2)
|
||||
-1 // end of state 0
|
||||
1 0 // state 1: not initial
|
||||
1 0 1 -1 & & p0 p1 p2 // trans. to state 1, acc. 0 and 1, label: p0&p1&p2
|
||||
1 0 -1 & & p1 p2 ! p0 // trans. to state 1, acc. 0, label: !p0&p1&p2
|
||||
1 1 -1 & & p0 p2 ! p1 // trans. to state 1, acc. 1, label: p0&!p1&p2
|
||||
1 -1 & & p2 ! p0 ! p1 // trans. to state 1, no acc., label: !p0&!p1&p2
|
||||
-1 // end if state 1
|
||||
.fi
|
||||
.PP
|
||||
Here, the two acceptance sets are represented by the numbers 0 and 1,
|
||||
and they each contain two transitions (the first transition of state 1
|
||||
belongs to both sets).
|
||||
.PP
|
||||
When both \fB\-\-ba\fR and \fB\-\-lbtt\fR options are used,
|
||||
the state-based flavor of
|
||||
the format is used instead. Note that the LBTT format supports
|
||||
generalized acceptance conditions on states, but Spot only use this
|
||||
format for Büchi automata, where there is always only one acceptance
|
||||
set. Unlike in the LBTT documentation, we do not use the
|
||||
optional '\fBs\fR' flag to indicate the state-based acceptance, this way our
|
||||
output is also compatible with that of
|
||||
.UR http://www.tcs.hut.fi/Software/maria/tools/lbt/
|
||||
LBT
|
||||
.UE .
|
||||
.PP
|
||||
.in +4n
|
||||
.ft C
|
||||
.nf
|
||||
% ltl2tgba --ba --lbtt FGp0
|
||||
2 1 // 2 states, 1 (state-based) accepance set
|
||||
0 1 -1 // state 0: initial, non-accepting
|
||||
0 t // trans. to state 0, label: true
|
||||
1 p0 // trans. to state 1, label: p0
|
||||
-1 // end of state 0
|
||||
1 0 0 -1 // state 1: not initial, in acceptance set 0
|
||||
1 p0 // trans. to state 0, label: p0
|
||||
-1 // end if state 1
|
||||
.fi
|
||||
.PP
|
||||
You can force ltl2tgba to use the transition-based flavor of the
|
||||
format even for Büchi automaton using \fB\-\-lbtt=t\fR.
|
||||
.PP
|
||||
.in +4n
|
||||
.ft C
|
||||
.nf
|
||||
% ltl2tgba --ba --lbtt=t FGp0
|
||||
2 1t // 2 states, 1 transition-based accepance set.
|
||||
0 1 // state 0: initial
|
||||
0 -1 t // trans. to state 0, no acc., label: true
|
||||
1 -1 p0 // trans. to state 1, no acc., label: p0
|
||||
-1 // end of state 0
|
||||
1 0 // state 1: not initial
|
||||
1 0 -1 p0 // trans. to state 1, acc. 0, label: p0
|
||||
-1 // end if state 1
|
||||
.fi
|
||||
.PP
|
||||
When representing a Büchi automaton using transition-based acceptance,
|
||||
all transitions leaving accepting states are put into the acceptance set.
|
||||
.PP
|
||||
A final note concerns the name of the atomic propositions. The
|
||||
original LBTT and LBT formats require these atomic propositions to
|
||||
have names such as '\fBp0\fR', '\fBp32\fR', ... We extend the format to accept
|
||||
atomic proposition with arbitrary names that do not conflict with
|
||||
LBT's operators (e.g. '\fBi\fR' is the symbol of the implication operator so
|
||||
it may not be used as an atomic proposition), or as double-quoted
|
||||
strings. Spot will always output atomic-proposition that do not match
|
||||
\fBp[0-9]+\fR as double-quoted strings.
|
||||
.PP
|
||||
.in +4n
|
||||
.ft C
|
||||
.nf
|
||||
% ltl2tgba --lbtt 'GFa & GFb'
|
||||
1 2t
|
||||
0 1
|
||||
0 0 1 -1 & "a" "b"
|
||||
0 0 -1 & "b" ! "a"
|
||||
0 1 -1 & "a" ! "b"
|
||||
0 -1 & ! "b" ! "a"
|
||||
-1
|
||||
.fi
|
||||
|
||||
[NOTE ON GENERATING MONITORS]
|
||||
The monitors generated with option \fB\-M\fR are finite state automata
|
||||
used to reject finite words that cannot be extended to infinite words
|
||||
compatible with the supplied formula. The idea is that the monitor
|
||||
should progress alongside the system, and can only make decisions
|
||||
based on the finite prefix read so far.
|
||||
.PP
|
||||
Monitors can be seen as Büchi automata in which all recognized runs are
|
||||
accepting. As such, the only infinite words they can reject are those
|
||||
are not recognized, i.e., infinite words that start with a bad prefix.
|
||||
.PP
|
||||
Because of this limited expressiveness, a monitor for some given LTL
|
||||
or PSL formula may accept a larger language than the one specified by
|
||||
the formula. For instance a monitor for the LTL formula \f(CWa U b\fR
|
||||
will reject (for instance) any word starting with \f(CW!a&!b\fR as
|
||||
there is no way such a word can validate the formula, but it will not
|
||||
reject a finite prefix repeating only \f(CWa&!b\fR as such a prefix
|
||||
could be extented in a way that is comptible with \f(CWa U b\fR.
|
||||
.PP
|
||||
For more information about monitors, we refer the readers to the
|
||||
following two papers (the first paper describes the construction of
|
||||
the second paper in a more concise way):
|
||||
.TP
|
||||
\(bu
|
||||
Deian Tabakov and Moshe Y. Vardi: Optimized Temporal Monitors for SystemC.
|
||||
Proceedings of RV'10. LNCS 6418.
|
||||
.TP
|
||||
\(bu
|
||||
Marcelo d’Amorim and Grigoire Roşu: Efficient monitoring of
|
||||
ω-languages. Proceedings of CAV'05. LNCS 3576.
|
||||
|
||||
[BIBLIOGRAPHY]
|
||||
If you would like to give a reference to this tool in an article,
|
||||
we suggest you cite one of the following papers:
|
||||
.TP
|
||||
\(bu
|
||||
Alexandre Duret-Lutz: LTL translation improvements in Spot 1.0.
|
||||
Int. J. on Critical Computer-Based Systems, 5(1/2):31--54, March 2014.
|
||||
.TP
|
||||
\(bu
|
||||
Alexandre Duret-Lutz: Manipulating LTL formulas using Spot 1.0.
|
||||
Proceedings of ATVA'13. LNCS 8172.
|
||||
.TP
|
||||
\(bu
|
||||
Tomáš Babiak, Thomas Badie, Alexandre Duret-Lutz, Mojmír Křetínský,
|
||||
and Jan Strejček: Compositional approach to suspension and other
|
||||
improvements to LTL translation. Proceedings of SPIN'13. LNCS 7976.
|
||||
.TP
|
||||
\(bu
|
||||
Souheib Baarir and Alexandre Duret-Lutz: Mechanizing the minimization
|
||||
of deterministic generalized Büchi automata. Proceedings of FORTE'14.
|
||||
LNCS 8461.
|
||||
|
||||
[SEE ALSO]
|
||||
.BR spot-x (7)
|
||||
14
bin/man/ltl2tgta.x
Normal file
14
bin/man/ltl2tgta.x
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
[NAME]
|
||||
ltl2tgta \- translate LTL/PSL formulas into Testing Automata
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[BIBLIOGRAPHY]
|
||||
If you would like to give a reference to this tool in an article,
|
||||
we suggest you cite the following paper:
|
||||
.TP
|
||||
\(bu
|
||||
Ala Eddine Ben Salem, Alexandre Duret-Lutz, and Fabrice Kordon: Model
|
||||
checking using generalized testing automata. Transactions on Petri
|
||||
Nets and Other Models of Concurrency (ToPNoC VI), 7400:94-112, 2012.
|
||||
[SEE ALSO]
|
||||
.BR spot-x (7)
|
||||
270
bin/man/ltlcross.x
Normal file
270
bin/man/ltlcross.x
Normal file
|
|
@ -0,0 +1,270 @@
|
|||
.\" -*- coding: utf-8 -*-
|
||||
[NAME]
|
||||
ltlcross \- cross-compare LTL/PSL translators to Büchi automata
|
||||
[EXAMPLES]
|
||||
The following commands compare never claims produced by
|
||||
.BR ltl2tgba (1),
|
||||
.BR spin (1),
|
||||
and
|
||||
.B lbt
|
||||
for 100 random formulas, using a timeout of 2 minutes. Because
|
||||
.B ltlcross
|
||||
knows those tools, there is no need to specify their input and
|
||||
output. A trace of the execution of the two tools, including any
|
||||
potential issue detected, is reported on standard error, while
|
||||
statistics are written to \f(CWresults.json\fR.
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% randltl \-n100 \-\-tree\-size=20..30 a b c | \e
|
||||
ltlcross \-T120 ltl2tgba spin lbt \-\-json=results.json
|
||||
.fi
|
||||
.PP
|
||||
The next command compares
|
||||
.BR lbt ,
|
||||
.BR ltl3ba ,
|
||||
and
|
||||
.BR ltl2tgba (1)
|
||||
on a set of formulas saved in file \f(CWinput.ltl\fR.
|
||||
Statistics are again writen
|
||||
as CSV into \f(CWresults.csv\fR. This examples specify the
|
||||
input and output for each tool, to show how this can be done.
|
||||
Note the use of \f(CW%L\fR to indicate that the formula passed t
|
||||
for the formula in
|
||||
.BR spin (1)'s
|
||||
format, and \f(CW%f\fR for the
|
||||
formula in Spot's format. Each of these tool produces an
|
||||
automaton in a different format (respectively, LBTT's format,
|
||||
Spin's never claims, and HOA format), but Spot's parser can
|
||||
distinguish and understand these three formats.
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% ltlcross \-F input.ltl \-\-csv=results.csv \e
|
||||
'lbt <%L >%O' \e
|
||||
'ltl3ba \-f %s >%O' \e
|
||||
'ltl2tgba \-H %f >%O'
|
||||
.fi
|
||||
.PP
|
||||
Rabin or Streett automata output by
|
||||
.B ltl2dstar
|
||||
in its historical format can be read from a
|
||||
file specified with \f(CW%D\fR instead of \f(CW%O\fR. For instance:
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% ltlcross \-F input.ltl \e
|
||||
'ltl2dstar \-\-ltl2nba=spin:ltl2tgba@\-Ds %L %D' \e
|
||||
'ltl2dstar \-\-automata=streett \-\-ltl2nba=spin:ltl2tgba@\-Ds %L %D' \e
|
||||
.fi
|
||||
.PP
|
||||
However, we now recommand to use the HOA output of
|
||||
.BR ltl2dstar ,
|
||||
as supported since version 0.5.2:
|
||||
.PP
|
||||
.in +4n
|
||||
.nf
|
||||
.ft C
|
||||
% ltlcross \-F input.ltl \e
|
||||
'ltl2dstar \-\-output\-format=hoa \-\-ltl2nba=spin:ltl2tgba@\-Ds %L %O' \e
|
||||
'ltl2dstar \-\-output\-format=hoa \-\-automata=streett \-\-ltl2nba=spin:ltl2tgba@\-Ds %L %O' \e
|
||||
.fi
|
||||
.PP
|
||||
In more recent versions of ltl2dstar, \fB\-\-output\-format=hoa\fR can
|
||||
be abbreviated \fB-H\fR.
|
||||
|
||||
[ENVIRONMENT VARIABLES]
|
||||
.TP
|
||||
\fBSPOT_TMPDIR\fR, \fBTMPDIR\fR
|
||||
These variables control in which directory temporary files (e.g.,
|
||||
those who contain the input and output when interfacing with
|
||||
translators) are created. \fBTMPDIR\fR is only read if
|
||||
\fBSPOT_TMPDIR\fR does not exist. If none of these environment
|
||||
variables exist, or if their value is empty, files are created in the
|
||||
current directory.
|
||||
.TP
|
||||
\fBSPOT_TMPKEEP\fR
|
||||
When this variable is defined, temporary files are not removed.
|
||||
This is mostly useful for debugging.
|
||||
|
||||
[OUTPUT DATA]
|
||||
The following columns are output in the CSV or JSON files.
|
||||
.TP
|
||||
\fBformula\fR
|
||||
The formula translated.
|
||||
.TP
|
||||
\fBtool\fR
|
||||
The tool used to translate this formula. This is either the value of the
|
||||
full \fICOMMANDFMT\fR string specified on the command-line, or,
|
||||
if \fICOMMANDFMT\fR has the form \f(CW{\fISHORTNAME\fR\f(CW}\fR\fICMD\fR,
|
||||
the value of \fISHORTNAME\fR.
|
||||
.TP
|
||||
\fBexit_status\fR, \fBexit_code\fR
|
||||
Information about how the execution of the translator went. If the
|
||||
option \fB\-\-omit\-missing\fR is given, these two columns are omitted
|
||||
and only the lines corresponding to successful translation are output.
|
||||
Otherwise, \fBexit_status\fR is a string that can take the following
|
||||
values:
|
||||
.RS
|
||||
.TP
|
||||
\f(CW"ok"\fR
|
||||
The translator ran succesfully (this does not imply that the produced
|
||||
automaton is correct) and ltlcross could parse the resulting
|
||||
automaton. In this case \fBexit_code\fR is always 0.
|
||||
.TP
|
||||
\f(CW"timeout"\fR
|
||||
The translator ran for more than the number of seconds
|
||||
specified with the \fB\-\-timeout\fR option. In this
|
||||
case \fBexit_code\fR is always -1.
|
||||
.TP
|
||||
\f(CW"exit code"\fR
|
||||
The translator terminated with a non-zero exit code.
|
||||
\fBexit_code\fR contains that value.
|
||||
.TP
|
||||
\f(CW"signal"\fR
|
||||
The translator terminated with a signal.
|
||||
\fBexit_code\fR contains that signal's number.
|
||||
.TP
|
||||
\f(CW"parse error"\fR
|
||||
The translator terminated normally, but ltlcross could not
|
||||
parse its output. In this case \fBexit_code\fR is always -1.
|
||||
.TP
|
||||
\f(CW"no output"\fR
|
||||
The translator terminated normally, but without creating the specified
|
||||
output file. In this case \fBexit_code\fR is always -1.
|
||||
.RE
|
||||
.TP
|
||||
\fBtime\fR
|
||||
A floating point number giving the run time of the translator in seconds.
|
||||
This is reported for all executions, even failling ones.
|
||||
.PP
|
||||
Unless the \fB\-\-omit\-missing\fR option is used, data for all the
|
||||
following columns might be missing.
|
||||
.TP
|
||||
\fBstates\fR, \fBedges\fR, \fBtransitions\fR, \fBacc\fR
|
||||
The number of states, edges, transitions, and acceptance sets in the
|
||||
translated automaton. Column \fBedges\fR counts the number of edges
|
||||
(labeled by Boolean formulas) in the automaton seen as a graph, while
|
||||
\fBtransitions\fR counts the number of assignment-labeled transitions
|
||||
that might have been merged into a formula-labeled edge. For instance
|
||||
an edge labeled by \f(CWtrue\fR will be counted as 2^3=8 transitions if
|
||||
the automaton mention 3 atomic propositions.
|
||||
.PP
|
||||
If the translator produced a Streett or Rabin automaton, these columns
|
||||
contains the size of a TGBA (or BA) produced by ltlcross from that
|
||||
Streett or Rabin automaton. Check \fBin_states\fR, \fBin_edges\fR,
|
||||
\fBin_transitions\fR, and \fBin_acc\fR for statistics about the actual
|
||||
input automaton.
|
||||
.TP
|
||||
\fBscc\fR, \fBnonacc_scc\fR, \fBterminal_scc\fR, \fBweak_scc\fR, \fBstrong_scc\fR
|
||||
The number of strongly connected components in the automaton. The
|
||||
\fBscc\fR column gives the total number, while the other columns only
|
||||
count the SCCs that are non-accepting (a.k.a. transiant), terminal
|
||||
(recognizes and accepts all words), weak (do not recognize all words,
|
||||
but accepts all recognized words), or strong (accept some words, but
|
||||
reject some recognized words).
|
||||
.TP
|
||||
\fBnondet_states\fR, \fBnondet_aut\fR
|
||||
The number of nondeterministic states, and a Boolean indicating whether the
|
||||
automaton is nondeterministic.
|
||||
.TP
|
||||
\fBterminal_aut\fR, \fBweak_aut\fR, \fBstrong_aut\fR
|
||||
Three Boolean used to indicate whether the automaton is terminal (no
|
||||
weak nor strong SCCs), weak (some weak SCCs but no strong SCCs), or strong
|
||||
(some strong SCCs).
|
||||
.TP
|
||||
\fBproduct_states\fR, \fBproduct_transitions\fR, \fBproduct_scc\fR
|
||||
Size of the product between the translated automaton and a randomly
|
||||
generated state-space. For a given formula, the same state-space is
|
||||
of course used the result of each translator. When the
|
||||
\fB\-\-products\fR=\fIN\fR option is used, these values are averaged
|
||||
over the \fIN\fR products performed.
|
||||
|
||||
[DEPRECATED OUTPUT SPECIFIERS]
|
||||
Until version 1.2.6, the output of translators was specifed using the
|
||||
following escape sequences.
|
||||
.PP
|
||||
.TP
|
||||
%N
|
||||
An output file containing a never claim.
|
||||
.TP
|
||||
%T
|
||||
An output file in \fBlbtt\fR's format.
|
||||
.TP
|
||||
%D
|
||||
An output file in \fBltl2dstar\fR's format.
|
||||
.PP
|
||||
Some development versions leading to 1.99.1 also featured
|
||||
.PP
|
||||
.TP
|
||||
%H
|
||||
An output file in the HOA format.
|
||||
.PP
|
||||
Different specifiers were needed because Spot implemented
|
||||
different parsers for these formats. Nowadays, these parsers
|
||||
have been merged into a single parser that is able to
|
||||
distinguish these four formats automatically.
|
||||
.B ltlcross
|
||||
officially supports only one output specifier:
|
||||
.TP
|
||||
%O
|
||||
An output file in either \fBlbtt\fR's format, \fBltl2dstar\fR's format,
|
||||
as a never claim, or in the HOA format
|
||||
.P
|
||||
For backward compatibility, the sequences %D, %H, %N, and %T, are
|
||||
still supported (as aliases for %O), but are deprecated.
|
||||
|
||||
[SEE ALSO]
|
||||
.BR randltl (1),
|
||||
.BR genltl (1),
|
||||
.BR ltlfilt (1),
|
||||
.BR ltl2tgba (1),
|
||||
.BR ltldo (1)
|
||||
|
||||
[BIBLIOGRAPHY]
|
||||
If you would like to give a reference to this tool in an article,
|
||||
we suggest you cite the following paper:
|
||||
.PP
|
||||
.TP
|
||||
\(bu
|
||||
Alexandre Duret-Lutz: Manipulating LTL formulas using Spot 1.0.
|
||||
Proceedings of ATVA'13. LNCS 8172.
|
||||
.PP
|
||||
.B ltlcross
|
||||
is a Spot-based reimplementation of a tool called LBTT. LBTT
|
||||
was developped by Heikki Tauriainen at the Helsinki University of
|
||||
Technology. The main motivation for the reimplementation was to
|
||||
support PSL, and output more statistics about the translations.
|
||||
.PP
|
||||
The sanity checks performed on the result of each translator (by
|
||||
either LBTT or ltlcross) are described in the following paper:
|
||||
.PP
|
||||
.TP
|
||||
\(bu
|
||||
H. Tauriainen and K. Heljanko: Testing LTL formula translation into
|
||||
Büchi automata. Int. J. on Software Tools for Technology Transfer.
|
||||
Volume 4, number 1, October 2002.
|
||||
.PP
|
||||
LBTT did not implement Test 2 described in this paper. ltlcross
|
||||
implements a slight variation: when an automaton produced by some
|
||||
translator is deterministic, its complement is built and used for
|
||||
additional cross-comparisons with other tools. If the translation P1
|
||||
of the positive formula and the translation N1 of the negative formula
|
||||
both yield deterministic automata (this may only happen for obligation
|
||||
properties) then the emptiness check of Comp(P1)*Comp(N1) is
|
||||
equivalent to Test 2 of Tauriainen and Heljanko. If only one
|
||||
automaton is deterministic, say P1, it can still be used to check we
|
||||
can be used to check the result of another translators, for instance
|
||||
checking the emptiness of Comp(P1)*P2.
|
||||
.PP
|
||||
Our implementation will detect and reports problems (like
|
||||
inconsistencies between two translations) but unlike LBTT it does not
|
||||
offer an interactive mode to investigate such problems.
|
||||
.PP
|
||||
Another major difference with LBTT is that ltlcross is
|
||||
not restricted to generalized Büchi acceptance. It supports
|
||||
Rabin and Streett automata via ltl2dstar's format, and automata
|
||||
with arbitrary acceptance conditions via the HOA format.
|
||||
8
bin/man/ltldo.x
Normal file
8
bin/man/ltldo.x
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[NAME]
|
||||
ltldo \- run LTL/PSL formulas through other tools
|
||||
[SEE ALSO]
|
||||
.BR randltl (1),
|
||||
.BR genltl (1),
|
||||
.BR ltlfilt (1),
|
||||
.BR ltl2tgba (1),
|
||||
.BR ltldo (1)
|
||||
55
bin/man/ltlfilt.x
Normal file
55
bin/man/ltlfilt.x
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
[NAME]
|
||||
ltlfilt \- filter files or lists of LTL/PSL formulas
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[BIBLIOGRAPHY]
|
||||
If you would like to give a reference to this tool in an article,
|
||||
we suggest you cite the following paper:
|
||||
.TP
|
||||
\(bu
|
||||
Alexandre Duret-Lutz: Manipulating LTL formulas using Spot 1.0.
|
||||
Proceedings of ATVA'13. LNCS 8172.
|
||||
.PP
|
||||
The following papers describe algorithms used by ltlfilt:
|
||||
.TP
|
||||
\(bu
|
||||
Kousha Etessami: A note on a question of Peled and Wilke regarding
|
||||
stutter-invariant LTL. Information Processing Letters 75(6): 261-263
|
||||
(2000).
|
||||
|
||||
Describes the transformation behind the \fB\-\-remove\-x\fR option.
|
||||
.TP
|
||||
\(bu
|
||||
Thibaud Michaud and Alexandre Duret-Lutz:
|
||||
Practical stutter-invariance checks for ω-regular languages.
|
||||
Proceedings of SPIN'15. LNCS 9232.
|
||||
|
||||
Describes the algorithm used by \fB\-\-stutter\-insensitive\fR option.
|
||||
.TP
|
||||
\(bu
|
||||
Christian Dax, Jochen Eisinger, Felix Klaedtke: Mechanizing the
|
||||
Powerset Construction for Restricted Classes of
|
||||
ω-Automata. Proceedings of ATVA'07. LNCS 4762.
|
||||
|
||||
Describes the checks implemented by the \fB\-\-safety\fR,
|
||||
\fB\-\-guarantee\fR, and \fB\-\-obligation\fR options.
|
||||
.TP
|
||||
\(bu
|
||||
Ivana Černá, Radek Pelánek: Relating Hierarchy of Temporal Properties
|
||||
to Model Checking. Proceedings of MFCS'03. LNCS 2747.
|
||||
|
||||
Describes the syntactic LTL classes matched by the
|
||||
\fB\-\-syntactic\-safety\fR, \fB\-\-syntactic\-guarantee\fR,
|
||||
\fB\-\-syntactic\-obligation\fR options,
|
||||
\fB\-\-syntactic\-persistence\fR, and \fB\-\-syntactic\-recurrence\fR
|
||||
options.
|
||||
.TP
|
||||
\(bu
|
||||
Kousha Etessami, Gerard J. Holzmann: Optimizing Büchi
|
||||
Automata. Proceedings of CONCUR'00. LNCS 1877.
|
||||
|
||||
Describe the syntactic LTL classes matched by \fB\-\-eventual\fR, and
|
||||
\fB\-\-universal\fR.
|
||||
[SEE ALSO]
|
||||
.BR randltl (1),
|
||||
.BR ltldo (1)
|
||||
6
bin/man/ltlgrind.x
Normal file
6
bin/man/ltlgrind.x
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[NAME]
|
||||
ltlgrind \- list mutations of a formula.
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[SEE ALSO]
|
||||
.BR ltlcross (1)
|
||||
7
bin/man/randaut.x
Normal file
7
bin/man/randaut.x
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[NAME]
|
||||
randaut \- generate random automata
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[SEE ALSO]
|
||||
.BR randltl (1),
|
||||
.BR autfilt (1)
|
||||
15
bin/man/randltl.x
Normal file
15
bin/man/randltl.x
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[NAME]
|
||||
randltl \- generate random LTL/PSL formulas
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[BIBLIOGRAPHY]
|
||||
If you would like to give a reference to this tool in an article,
|
||||
we suggest you cite the following paper:
|
||||
.TP
|
||||
\(bu
|
||||
Alexandre Duret-Lutz: Manipulating LTL formulas using Spot 1.0.
|
||||
Proceedings of ATVA'13. LNCS 8172.
|
||||
[SEE ALSO]
|
||||
.BR genltl (1),
|
||||
.BR ltlfilt (1),
|
||||
.BR randaut (1)
|
||||
123
bin/man/spot-x.x
Normal file
123
bin/man/spot-x.x
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
[NAME]
|
||||
spot-x \- Common fine-tuning options.
|
||||
|
||||
[SYNOPSIS]
|
||||
.B \-\-extra-options STRING
|
||||
.br
|
||||
.B \-x STRING
|
||||
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
|
||||
[ENVIRONMENT VARIABLES]
|
||||
|
||||
.TP
|
||||
\fBSPOT_DOTDEFAULT\fR
|
||||
Whenever the \f(CW--dot\fR option is used without argument (even
|
||||
implicitely), the contents of this variable is used as default
|
||||
argument. If you have some default setting in \fBSPOT_DOTDEFAULT\fR
|
||||
but want to alter them temporarily for one call, use
|
||||
\f(CW--dot=.yyy\fR: the dot character will be replaced by the contents
|
||||
of the \f(CWSPOT_DOTDEFAULT\fR environment variable.
|
||||
|
||||
.TP
|
||||
\fBSPOT_DOTEXTRA\fR
|
||||
The contents of this variable is added to any dot output, immediately
|
||||
before the first state is output. This makes it easy to override
|
||||
global attributes of the graph.
|
||||
|
||||
.TP
|
||||
\fBSPOT_SATLOG\fR
|
||||
If set to a filename, the SAT-based minimization routines will append
|
||||
statistics about each iteration to the named file. Each line lists
|
||||
the following comma-separated values: requested number of states,
|
||||
number of reachable states in the output, number of edges in the
|
||||
output, number of transitions in the output, number of variables in
|
||||
the SAT problem, number of clauses in the SAT problem, user time for
|
||||
encoding the SAT problem, system time for encoding the SAT problem,
|
||||
user time for solving the SAT problem, system time for solving the SAT
|
||||
problem.
|
||||
|
||||
.TP
|
||||
\fBSPOT_SATSOLVER\fR
|
||||
If set, this variable should indicate how to call a SAT\-solver. This
|
||||
is used by the sat\-minimize option described above. The default
|
||||
value is \f(CW"glucose -verb=0 -model %I >%O"\fR, it is correct for
|
||||
glucose version 3.0 (for older versions, remove the \fCW(-model\fR
|
||||
option). The escape sequences \f(CW%I\fR and \f(CW%O\fR respectively
|
||||
denote the names of the input and output files. These temporary files
|
||||
are created in the directory specified by \fBSPOT_TMPDIR\fR or
|
||||
\fBTMPDIR\fR (see below). The SAT-solver should follow the convention
|
||||
of the SAT Competition for its input and output format.
|
||||
|
||||
.TP
|
||||
\fBSPOT_STREETT_CONV_MIN\fR
|
||||
The number of Streett pairs above which conversion from Streett
|
||||
acceptance to generalized-Büchi acceptance should be made with a
|
||||
dedicated algorithm. By default this is 3, i.e., if a Streett
|
||||
automaton with 3 acceptance pairs or more has to be converted into
|
||||
generalized-Büchi, the dedicated algorithm is used. This algorithm is
|
||||
close to the classical conversion from Streett to Büchi, but with
|
||||
several tweaks. When this algorithm is not used, the standard
|
||||
"Fin-removal" approach is used instead: first the acceptance condition
|
||||
is converted into disjunctive normal form (DNF), then Fin acceptance
|
||||
is removed like for Rabin automata, yielding a disjuction of
|
||||
generalized Büchi acceptance, and the result is finally converted into
|
||||
conjunctive normal form (CNF) to obtain a generalized Büchi
|
||||
acceptance. Both algorithms have a worst-case size that is
|
||||
exponential in the number of Streett pairs, but in practice the
|
||||
dedicated algorithm works better for most Streett automata with 3 or
|
||||
more pairs (and many 2-pair Streett automata as well, but the
|
||||
difference here is less clear). Setting this variable to 0 will
|
||||
disable the dedicated algorithm. Setting it to 1 will enable it for
|
||||
all Streett automata, however we do not recommand setting it to less
|
||||
than 2, because the "Fin-removal" approach is better for single-pair
|
||||
Streett automata.
|
||||
|
||||
.TP
|
||||
\fBSPOT_TMPDIR\fR, \fBTMPDIR\fR
|
||||
These variables control in which directory temporary files (e.g.,
|
||||
those who contain the input and output when interfacing with
|
||||
translators) are created. \fBTMPDIR\fR is only read if
|
||||
\fBSPOT_TMPDIR\fR does not exist. If none of these environment
|
||||
variables exist, or if their value is empty, files are created in the
|
||||
current directory.
|
||||
|
||||
.TP
|
||||
\fBSPOT_TMPKEEP\fR
|
||||
When this variable is defined, temporary files are not removed.
|
||||
This is mostly useful for debugging.
|
||||
|
||||
[BIBLIOGRAPHY]
|
||||
.TP
|
||||
1.
|
||||
Christian Dax, Jochen Eisinger, Felix Klaedtke: Mechanizing the
|
||||
Powerset Construction for Restricted Classes of
|
||||
ω-Automata. Proceedings of ATVA'07. LNCS 4762.
|
||||
|
||||
Describes the WDBA-minimization algorithm implemented in Spot. The
|
||||
algorithm used for the tba-det options is also a generalization (to
|
||||
TBA instead of BA) of what they describe in sections 3.2 and 3.3.
|
||||
|
||||
.TP
|
||||
2.
|
||||
Tomáš Babiak, Thomas Badie, Alexandre Duret-Lutz, Mojmír Křetínský,
|
||||
Jan Strejček: Compositional Approach to Suspension and Other
|
||||
Improvements to LTL Translation. Proceedings of SPIN'13. LNCS 7976.
|
||||
|
||||
Describes the compositional suspension, the simulation-based
|
||||
reductions, and the SCC-based simplifications.
|
||||
|
||||
.TP
|
||||
3.
|
||||
Rüdiger Ehlers: Minimising Deterministic Büchi Automata Precisely using
|
||||
SAT Solving. Proceedings of SAT'10. LNCS 6175.
|
||||
|
||||
Our SAT-based minimization procedures are generalizations of this
|
||||
paper to deal with TBA or TGBA.
|
||||
|
||||
[SEE ALSO]
|
||||
.BR ltl2tgba (1)
|
||||
.BR ltl2tgta (1)
|
||||
.BR dstar2tgba (1)
|
||||
.BR autfilt (1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue