Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LTLSYNT(1)			  User Commands 		      LTLSYNT(1)

NAME
     ltlsynt - reactive synthesis from LTL specifications

SYNOPSIS
     ltlsynt [OPTION...]

DESCRIPTION
     Synthesize a controller from its LTL specification.

   Input options:
     --from-pgame=FILENAME
	    Read a parity game in Extended HOA format instead of building it.

     -f, --formula=STRING
	    process the formula STRING

     -F, --file=FILENAME[/COL]
	    process each line of FILENAME as a formula; if COL is a positive in-
	    teger,  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 propo-
	    sitions, 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  con-
	    sidered as atomic properties

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

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

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

   Fine tuning:
     --algo=sd|ds|ps|lar|lar.old|acd
	    choose the algorithm for synthesis:

     sd: translate to TGBA, split, determinize
	    ds: translate to TGBA, determinize,  split	ps:  translate	to  DPA,
	    split lar: translate to a deterministic TELA, convert

     to DPA with LAR, split (default)
	    lar.old:  old  version of LAR, for benchmarking; acd: translate to a
	    deterministic TELA, convert

	    to DPA with ACD, split

     --bypass=yes|no
	    whether to try to avoid to construct a parity game (enabled  by  de-
	    fault)

     --decompose=yes|no
	    whether  to  decompose the specification as multiple output-disjoint
	    problems to solve independently (enabled by default)

     --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 decomposi-
	    tion)

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

     --simplify=no|bisim|bwoa|sat|bisim-sat|bwoa-sat
	    simplification to apply to	the  controller  (no)  nothing,  (bisim)
	    bisimulation-based	reduction,  (bwoa)  bisimulation-based reduction
	    with output assignment, (sat)  SAT-based  minimization,  (bisim-sat)
	    SAT after bisim, (bwoa-sat) SAT after bwoa.  Defaults to 'bwoa'.

     --splittype=expl|semisym|fullysym|auto
	    Selects  the algorithm to use to transform the automaton into a game
	    graph. Defaults to 'auto'.

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

     --csv[=[>>]FILENAME], --csv-without-formula[=[>>]FILENAME]
	    output statistics as CSV in FILENAME or on standard output (if  '>>'
	    is used to request append mode, the header line is not output)

     --csv-with-formula[=[>>]FILENAME]
	    like --csv, but with an additional 'formula' column

     -d, --dot[=options]
	    Use dot format when printing the result (game, strategy, or AIG cir-
	    cuit,  depending  on other options).  The options that may be passed
	    to --dot depend on the nature of what  is  printed.  For  games  and
	    strategies, 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 (The 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 au-
	    tomata, (s) prefer state-based acceptance when  possible  [default],
	    (t)  force	transition-based  acceptance,  (m) mix state and transi-
	    tion-based acceptance, (k) use state labels when possible, (l)  sin-
	    gle-line output, (v) verbose properties

     --print-game-hoa[=options]
	    print the parity game in the HOA format, do not solve it

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

     -q, --quiet
	    suppress all normal output

     --realizability
	    realizability only, do not compute a winning strategy

   Miscellaneous options:
     --help
	    print this help

     --verbose
	    verbose mode

     --verify
	    verify the strategy or (if demanded) AIG against the formula

     --version
	    print program version

     -x, --extra-options=OPTS
	    fine-tuning options (see spot-x (7))

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

   Exit status:
     0	    if all input problems were realizable

     1	    if at least one input problem was 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  sug-
     gest you cite the following papers:

     *	    Florian  Renkin,  Philipp Schlehuber-Caissier, Alexandre Duret-Lutz,
	    and Adrien Pommellet.  Dissecting ltlsynt.	 In  Formal  Methods  in
	    System Design, 2023.

     *	    Thibaud Michaud and Maximilien Colange.  Reactive Synthesis from LTL
	    Specification with Spot.  In proceedings of SYNT@CAV'18.

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

COPYRIGHT
     Copyright	(C)  2025 by the Spot authors, see the AUTHORS File for details.
     License  GPLv3+:  GNU  GPL   version   3	or   later   <http://gnu.org/li-
     censes/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
     ltlfsynt(1)

ltlsynt (spot) 2.14.5		  January 2026			      LTLSYNT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ltlsynt&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help