UP | HOME

LTLSYNT

Table of Contents

NAME

ltlsynt - reactive synthesis from LTL specifications

SYNOPSIS

ltlsynt [OPTION...]

DESCRIPTION

Synthesize a controller from its LTL specification.

Input options:

-f, --formula=STRING

process the formula STRING

-F, --file=FILENAME[/COL]

process each line of FILENAME as a formula; if COL is a positive integer, assume a CSV file and read column COL; use a negative COL to drop the first line of the CSV file

--ins=PROPS

comma-separated list of uncontrollable (a.k.a. input) atomic propositions

--lbt-input

read all formulas using LBT’s prefix syntax

--lenient

parenthesized blocks that cannot be parsed as subformulas are considered as atomic properties

--outs=PROPS

comma-separated list of controllable (a.k.a. output) atomic propositions

Output format:

-8, --utf8

enable UTF-8 characters in output (ignored with --lbtt or --spin)

--check[=PROP]

test for the additional property PROP and output the result in the HOA format (implies -H). PROP may be any prefix of ’all’ (default), ’unambiguous’, ’stutter-invariant’, or ’strength’.

-d,
--dot
[=1|a|A|b|B|c|C(COLOR)|e|f(FONT)|h|k|K|n|N|o|r|R|s|t|u|v|y|+INT|<INT|#]

GraphViz’s format. Add letters for (1) force numbered states, (a) show acceptance condition (default), (A) hide acceptance condition, (b) acceptance sets as bullets, (B) bullets except for Büchi/co-Büchi automata, (c) force circular nodes, (C) color nodes with COLOR, (d) show origins when known, (e) force elliptic nodes, (f(FONT)) use FONT, (h) horizontal layout, (k) use state labels when possible, (K) use transition labels (default), (n) show name, (N) hide name, (o) ordered transitions, (r) rainbow colors for acceptance sets, (R) color acceptance sets by Inf/Fin, (s) with SCCs, (t) force transition-based acceptance, (u) hide true states, (v) vertical layout, (y) split universal edges by color, (+INT) add INT to all set numbers, (<INT) display at most INT states, (#) show internal edge numbers

-H, --hoaf[=1.1|i|k|l|m|s|t|v]

Output the automaton in HOA format (default). Add letters to select (1.1) version 1.1 of the format, (i) use implicit labels for complete deterministic automata, (s) prefer state-based acceptance when possible [default], (t) force transition-based acceptance, (m) mix state and transition-based acceptance, (k) use state labels when possible, (l) single-line output, (v) verbose properties

--lbtt[=t]

LBTT’s format (add =t to force transition-based acceptance even on Büchi automata)

--name=FORMAT

set the name of the output automaton

-o, --output=FORMAT

send output to a file named FORMAT instead of standard output. The first automaton sent to a file truncates it unless FORMAT starts with ’>>’.

-q, --quiet

suppress all normal output

-s, --spin[=6|c]

Spin neverclaim (implies --ba). Add letters to select (6) Spin’s 6.2.4 style, (c) comments on states

--stats=FORMAT, --format=FORMAT

output statistics about the automaton

Fine tuning:

--algo=ds|sd

choose the algorithm for synthesis: - sd: split then determinize with Safra

(default)

- ds: determinize (Safra) then split - lar: translate to a deterministic automaton

with arbitrary

acceptance condition, then

use LAR to turn to parity,

then split

Output options:

--aiger

prints the winning strategy as an AIGER circuit

--print-pg

print the parity game in the pgsolver format, do not solve it

--realizability

realizability only, do not compute a winning strategy

Miscellaneous options:

--help

print this help

--verbose

verbose mode

--version

print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

Exit status:

0

if the input problem is realizable

1

if the input problem is not realizable

2

if any error has been reported

BIBLIOGRAPHY

If you would like to give a reference to this tool in an article, we suggest you cite the following paper:

Thibaud Michaud, Maximilien Colange: Reactive Synthesis from LTL Specification with Spot. Proceedings of SYNT@CAV’18.

REPORTING BUGS

Report bugs to <spot@lrde.epita.fr>.

COPYRIGHT

Copyright © 2018 Laboratoire de Recherche et Développement de l’Epita. License GPLv3+: GNU GPL version 3 or later.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.