LTLFSYNT(1)

NAME
ltlfsynt - check realizability of LTLf formulas

SYNOPSIS
ltlfsynt [OPTION...] [FORMULA...]

DESCRIPTION
Convert LTLf formulas to transition-based deterministic finite automata.

If multiple formulas are supplied, several automata will be output.

  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, --inputs=PROPS
    comma-separated list of uncontrollable (a.k.a. input) atomic propositions, interpreted as a regex if enclosed in slashes

--lbt-input
    read all formulas using LBT's prefix syntax

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

--non-terminating
    Use non-terminating semantics. (Ignored if --realizability is given.)

--outs=PROPS, --outputs=PROPS
    comma-separated list of controllable (a.k.a. output) atomic propositions, interpreted as a regex if enclosed in slashes

--part-file=FILENAME
    read the I/O partition of atomic propositions from FILENAME

--semantics=Moore|Mealy
    Whether to work under Mealy (input-first) or Moore (output-first) semantics. The default is Mealy.

--tlsf=FILENAME[/VAR=VAL[,VAR=VAL...]]
    Read a TLSF specification from FILENAME, and call syfco to convert it into LTLf. Any parameter assignment specified after a slash is passed as '-op VAR=VAL' to syfco.

--unobservable-ins=PROPS, --unobservable-inputs=PROPS
    comma-separated list of unobservable and uncontrollable atomic propositions, interpreted as a regex if enclosed in slashes

  Fine tuning:

--backprop=nodes|states|trival-states
    whether backpropagation should be done at the node or state level (nodes by default)

--composition=size|ap
    If the translation is set to "compositional" this option specify how to order n-ary compositions: by increasing size, or trying to group operands based on their APs (the default).

--decompose=yes|no
    whether to decompose the specification as multiple output-disjoint problems to solve independently (disabled by default, because it is bogus)

--global-equivalence=yes|no|before-decompose
    whether to remove atomic propositions that are always equivalent to another one (enabled by default, both before and after decomposition)

--minimize=yes|no
    Minimize the automaton (disabled by default except for the compositional translation). Has no effect on on-the-fly translations.

--one-step-preprocess=yes|no
    attempt check one-step realizability or unrealizability of each state during on-the-fly or restricted translations (enabled by default)

--polarity=yes|no|before-decompose
    whether to remove atomic propositions that always have the same polarity in the formula to speed things up (enabled by default, both before and after decomposition)

--simplify-formula=yes|no
    simplify the LTLf formula with cheap rewriting rules (enabled by default)

--translation=full|compositional|restricted|bfs-on-the-fly|dfs-on-the-fly
    The type of translation to use: (full) is a direct translation to MTDFA, (compositional) breaks the specification on Boolean operators and builds the MTDFA by compositing minimized subautomata, (restrict) is a direct translation but that is restricted to the only part useful to synthesis, (dfs-on-the-fly) is the on-the-fly version of "restrict" that follow a DFS order, solving the game as the automaton is generated, (bfs-on-the-fly) same as dfs-on-the-fly but using BFS order. The default is bfs-on-the-fly.

  Output options:

--aiger[=ite|isop|both[+ud][+dc][+sub0|sub1|sub2]]
    encode the winning strategy as an AIG circuit and print it in AIGER format. The first word indicates the encoding to used: "ite" for If-Then-Else normal form; "isop" for irreducible sum of products; "both" tries both and keeps the smaller one. Other options further refine the encoding, see aiger::encode_bdd. Defaults to "ite".

-d, --dot[=game|strategy:OPT|aig:OPT]
    Use dot format when printing the result (game, strategy, or AIG circuit). The options that may be used as OPT depend on the nature of what is printed. For strategy, standard automata rendering options are supported (e.g., see ltl2tgba --dot). For AIG circuit, use (h) for horizontal and (v) for vertical layouts.

--hide-status
    Hide the REALIZABLE or UNREALIZABLE line. (Hint: exit status is enough of an indication.)

-H, --hoaf[=1.1|b|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, (b) create an alias basis if >=2 AP are used, (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

-q, --quiet
    suppress all normal output

--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.

BIBLIOGRAPHY
The following paper describes how LTLf synthesis using MTDFA works in ltlfsynt.

•   Alexandre Duret-Lutz, Shufang Zhu, Nir Piterman, Giuseppe De Giacomo, and Moshe Y. Vardi: Engineering an LTLf Synthesis Tool. Proceedings of CIAA'25. LNCS 15981. pp. 129–147.

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

COPYRIGHT
Copyright © 2025 by the Spot authors, see the AUTHORS File for details. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
ltlf2dfa(1), ltlsynt(1)