ltlsynt: replace -x specification-decomposition by --decompose
* bin/ltlsynt.cc: Implement the option, and enable it by default. * doc/org/ltlsynt.org, doc/org/ltlsynt.tex, bin/spot-x.cc, NEWS: Document it. * tests/core/ltlsynt.test: Adjust test cases.
This commit is contained in:
parent
5d722ca584
commit
af5474d791
6 changed files with 40 additions and 18 deletions
|
|
@ -121,12 +121,12 @@ game using Zielonka's recursive algorithm. The process can be pictured as follo
|
|||
|
||||
[[file:ltlsynt.svg]]
|
||||
|
||||
LTL decomposition is described by [[https://arxiv.org/abs/2103.08459][Finkbeiner, Geier, and Passing]], and
|
||||
can be disabled by passing option =-x specification-decomposition=0=.
|
||||
The idea is to split the specification into multiple smaller
|
||||
constraints on disjoint subsets of the output values, solve those
|
||||
constraints separately, and then combine them while encoding the AIGER
|
||||
circuit.
|
||||
LTL decomposition consist in splitting the specification into multiple
|
||||
smaller constraints on disjoint subsets of the output values (as
|
||||
described by [[https://arxiv.org/abs/2103.08459][Finkbeiner, Geier, and Passing]]), solve those constraints
|
||||
separately, and then combine them while encoding the AIGER circuit.
|
||||
This is enabled by default, but can be disabled by passing option
|
||||
=--decompose=no=.
|
||||
|
||||
The ad hoc construction on the top is just a shortcut for some type of
|
||||
constraints that can be solved directly by converting the constraint
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
lproc/.style={proc,text width=2cm},
|
||||
choice/.style={circle,fill=yellow!20,inner sep=0,minimum size=2mm,draw},
|
||||
algoopt/.style={postaction={decorate,decoration={text along path, raise=1mm,text={|\ttfamily\small|#1}}}},
|
||||
algooptd/.style={postaction={decorate,decoration={text along path, raise=-1em,text={|\ttfamily\small|#1}}}},
|
||||
outopt/.style={postaction={decorate,decoration={text along path, text align=right,raise=1mm,text={|\ttfamily\small|#1}}}},
|
||||
]
|
||||
\node[proc] (transSD) {translate to NBA};
|
||||
|
|
@ -64,7 +65,7 @@
|
|||
\draw[->] (decomp) to[out=-45,in=180] (bypassin);
|
||||
\draw[->,gray] (decomp) to[out=-55,in=180] ($(bypassin.west)+(0,-0.33)$);
|
||||
\draw[->,gray] (decomp) to[out=-65,in=180] ($(bypassin.west)+(0,-0.66)$);
|
||||
\draw[->,gray] (decomp) to[out=-75,in=180] ($(bypassin.west)+(0,-1)$);
|
||||
\draw[->,gray,algooptd={-{}-decompose}] (decomp) to[out=-75,in=180] ($(bypassin.west)+(0,-1)$);
|
||||
\draw[->] (bypassin) -- (algoin);
|
||||
|
||||
\node[lproc, right=of detSD, xshift=4mm] (solve) {solve\linebreak parity game};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue