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

FreeBSD Manual Pages

  
 
  

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

NAME
     ltldo - run LTL/PSL formulas through other tools

SYNOPSIS
     ltldo [OPTION...] [COMMANDFMT...]

DESCRIPTION
     Run  LTL/PSL formulas through another program, performing conversion of in-
     put and output as required.

   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 in-
	    teger, assume a CSV file and read column COL; use a negative COL  to
	    drop the first line of the CSV file

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

     --negate
	    negate each formula

   Specifying translators to call:
     --list-shorthands
	    list availabled shorthands to use in COMMANDFMT

     --relabel
	    always relabel atomic propositions before calling any translator

     -t, --translator=COMMANDFMT
	    register one translator to call

     -T, --timeout=NUMBER
	    kill translators after NUMBER seconds

     COMMANDFMT should specify input and output arguments  using  the  following
     character sequences:

     %%     a single %

     %f,%s,%l,%w
	    the formula as a (quoted) string in Spot, Spin, LBT, or Wring's syn-
	    tax

     %F,%S,%L,%W
	    the formula as a file in Spot, Spin, LBT, or Wring's syntax

     %O     the  automaton output in HOA, never claim, LBTT, or ltl2dstar's for-
	    mat

     If either %l, %L, or %T are used, any  input  formula  that  does	not  use
     LBT-style atomic propositions (i.e. p0, p1, ...) will be relabeled automat-
     ically.  Likewise if %s or %S are used with atomic proposition that compat-
     ible  with  Spin's  syntax.   You can force this relabeling to always occur
     with option --relabel.  The sequences %f,%s,%l,%w,%F,%S,%L,%W  can  option-
     ally  be "infixed" by a bracketed sequence of operators to unabbreviate be-
     fore outputting the formula.  For instance %[MW]f will rewrite operators  M
     and  W  before  outputting  it.   Furthermore,  if  COMMANDFMT has the form
     "{NAME}CMD", then only CMD will be passed to the shell, and  NAME	will  be
     used to name the tool in the output.

   Parsing of automata:
     --trust-hoa=BOOL
	    If	false,	properties  listed in HOA files are ignored, unless they
	    can be easily verified.  If true (the default) any	supported  prop-
	    erty is trusted.

   Error handling:
     --errors=abort|warn|ignore
	    how  to  deal  with  tools returning with non-zero exit codes or au-
	    tomata that ltldo cannot parse (default: abort)

     --fail-on-timeout
	    consider timeouts as errors

   Output selection:
     --greatest[=FORMAT]
	    for each formula select the greatest automaton given by all transla-
	    tors, using FORMAT for ordering (default is %s,%e)

     -n, --max-count=NUM
	    output at most NUM automata

     --smallest[=FORMAT]
	    for each formula select the smallest automaton given by all transla-
	    tors, using FORMAT for ordering (default is %s,%e)

   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 some prefix of 'all' (de-
	    fault), 'unambiguous', 'stutter-invariant', 'stutter-sensitive-exam-
	    ple', 'semi-determinism', or 'strength'.

     -d, --dot[=1|a|A|b|B|c|C(COLOR)|e|E|f(FONT)|h|i(ID)|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
	    BA1/4chi/co-BA1/4chi  automata,  (c) force circular nodes, (C) color
	    nodes with COLOR, (d) show origins when known,  (e)  force	elliptic
	    nodes,  (E)  force	rEctangular  nodes, (f(FONT)) use FONT, (g) hide
	    edge labels, (h) horizontal layout, (i) or (i(GRAPHID)) add IDs, (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|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

     --lbtt[=t]
	    LBTT's  format  (add =t to force transition-based acceptance even on
	    BA1/4chi 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

   Any FORMAT string may use the following interpreted sequences:
     %%     a single %

     %#     serial number of the formula translated

     %<     the  part  of  the line before the formula if it comes from a column
	    extracted from a CSV file

     %>     the part of the line after the formula if it comes from a column ex-
	    tracted from a CSV file

     %a     number of acceptance sets

     %c, %[LETTERS]c
	    number of SCCs; you may filter the SCCs to count using the following
	    LETTERS, possibly concatenated: (a) accepting,  (r)  rejecting,  (c)
	    complete, (v) trivial, (t) terminal, (w) weak, (iw) inherently weak.
	    Use uppercase letters to negate them.

     %d     1 if the output is deterministic, 0 otherwise

     %e, %[LETTER]e
	    number  of	edges (add one LETTER to select (r) reachable [default],
	    (u) unreachable, (a) all).

     %F     name of the input file

     %f     formula translated

     %g, %[LETTERS]g
	    acceptance condition (in HOA syntax); add brackets to print  an  ac-
	    ceptance  name instead and LETTERS to tweak the format: (0) no para-
	    meters, (a) accentuated, (b) abbreviated, (d) style used in dot out-
	    put, (g) no generalized parameter, (l) recognize Street-like and Ra-
	    bin-like, (m) no main parameter, (p) no parity parameter,  (o)  name
	    unknown acceptance as 'other', (s) shorthand for 'lo0'.

     %h     the automaton in HOA format on a single line (use %[opt]h to specify
	    additional options as in --hoa=opt)

     %L     location in the input file

     %l     serial number of the output automaton (0-based)

     %m     name of the automaton

     %n     number of nondeterministic states in output

     %p     1 if the output is complete, 0 otherwise

     %r     wall-clock time elapsed in seconds (excluding parsing)

     %R, %[LETTERS]R
	    CPU time (excluding parsing), in seconds; add LETTERS to restrict to
	    (u)  user time, (s) system time, (p) parent process, or (c) children
	    processes.

     %s, %[LETTER]s
	    number of states (add one LETTER to select (r) reachable  [default],
	    (u) unreachable, (a) all).

     %T     tool used for translation

     %t, %[LETTER]t
	    number  of	transitions (add one LETTER to select (r) reachable [de-
	    fault], (u) unreachable, (a) all).

     %u, %[e]u
	    number of states (or [e]dges) with universal branching

     %u, %[LETTER]u
	    1 if the automaton contains some universal branching (or a number of
	    [s]tates or [e]dges with universal branching)

     %w     one word accepted by the output automaton

     %x, %[LETTERS]x
	    number of atomic propositions declared in the automaton;   add  LET-
	    TERS to list atomic propositions with (n) no quoting, (s) occasional
	    double-quotes  with  C-style  escape, (d) double-quotes with C-style
	    escape, (c) double-quotes with CSV-style escape, (p) between  paren-
	    theses,  any  extra non-alphanumeric character will be used to sepa-
	    rate propositions

   Miscellaneous options:
     --help
	    print this help

     --version
	    print program version

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

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
     randltl(1), genltl(1), ltlfilt(1), ltl2tgba(1), ltldo(1)

ltldo (spot) 2.14.5		  January 2026				LTLDO(1)

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

home | help