Commit daab30b8 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

org: more hyperlinks

* doc/org/ltlfilt.org, doc/org/tut12.org: Add links.
parent 18420ca4
Pipeline #7374 passed with stages
in 146 minutes
......@@ -285,6 +285,9 @@ ltldo ltl3ba -f '"proc@loc1" U "proc@loc2"' --spin
This case also relabels the formula before calling =ltl3ba=, and it
then rename all the atomic propositions in the output.
An example showing how to use the =--from-ltlf= option is on [[file:tut12.org][a
separate page]].
* Filtering
=ltlfilt= supports many ways to filter formulas:
......
......@@ -60,8 +60,13 @@ initially, as required in the first paper...
* Shell version
The first four steps of the the above sequence of operations can be
executed as follows. Interpreting the resulting Büchi automaton as a
finite automaton is out of scope for Spot.
executed as follows. Transforming LTLf to LTL can be done using
[[file:ltlfilt.org][=ltlfilt=]]'s =--from-ltlf= option, translating the resulting formula
into a Büchi automaton is obviously done with [[file:ltl2tgba.org][=ltl2tgba=]], and removing
an atomic proposition from an automaton can be done using [[file:autfilt.org][=autfilt=]]'s
=--remove-ap= option (adding =--small= will also simplify the
automaton). Interpreting the resulting Büchi automaton as a finite
automaton is out of scope for Spot.
#+begin_src sh :exports both :results verbatim
ltlfilt --from-ltlf -f "(a U b) & Fc" |
......@@ -101,9 +106,14 @@ automaton is output.
* Python version
In Python, we need to the =remove_ap()= object, which we must first
setup with some atomic propositions to remove.
In Python, we use the =from_ltlf()= function to convert from LTLf to
LTL and translate the result into a Büchi automaton using
=translate()= [[file:tut10.org][as usual]]. Then we need to use the =remove_ap()= object,
which we must first setup with some atomic propositions to remove.
Finally we call the =postprocess()= function for automata
simplifications. (Note that =postprocess()= is already called by
=translate()=, but in this case removing the atomic proposition allows
more simplification opportunities.)
#+begin_src python :results output :exports both
import spot
......@@ -148,6 +158,11 @@ State: 3 {0}
* C++ version
The C++ version is straightforward adaptation of the Python version.
The Python functions =translate()= and =postprocess()= are convenient
wrappers around the =spot::translator= and =spot::postprocessor=
objects that we need to use here.
#+begin_src cpp :results verbatim :exports both
#include <iostream>
#include <spot/tl/parse.hh>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment