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

FreeBSD Manual Pages

  
 
  

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

NAME
       genaut -	generate -automata from	scalable patterns

SYNOPSIS
       genaut [OPTION...]

DESCRIPTION
       Generate	-automata from predefined patterns.

   Pattern selection:
       --cycle-log-nba=RANGE
	      A	 cyclic	 NBA  with  N*N	states and log(N) atomic propositions,
	      that should be simplifiable to a cyclic NBA with N states.

       --cycle-onehot-nba=RANGE
	      A	cyclic NBA with	N*N states and	N  atomic  propositions,  that
	      should be	simplifiable to	a cyclic NBA with N states.

       --cyclist-proof-dba=RANGE
	      A	  DBA	with  N+2  states  that	 should	 be  included  in  cy-
	      clist-trace-nba=B.

       --cyclist-trace-nba=RANGE
	      An NBA with N+2 states that should include cyclist-proof-dba=B.

       --ks-nca=RANGE
	      A	co-Bchi	automaton with 2N+1 states for	which  any  equivalent
	      deterministic co-Bchi automaton has at least 2^N/(2N+1) states.

       --l-dsa=RANGE
	      A	deterministic Streett automaton	with 4N	states with no equiva-
	      lent deterministic Rabin automaton of less than N! states.

       --l-nba=RANGE
	      A	 Bchi  automaton  with 3N+1 states whose complementary Streett
	      automaton	needs at least N!  states.

       --m-nba=RANGE
	      An NBA with N+1 states whose determinization needs at  least  N!
	      states.

       RANGE  may  have	 one  of  the  following  forms: 'INT',	'INT..INT', or
       '..INT'.	 In the	latter case, the missing number	is assumed to be 1.

   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'
	      (default),  'unambiguous',  'stutter-invariant', 'stutter-sensi-
	      tive-example', '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  Bchi/co-Bchi	 automata, (c) force circular nodes, (C) color
	      nodes with COLOR,	(d) show origins when known, (e) force	ellip-
	      tic  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  la-
	      bels  (default), (n) show	name, (N) hide name, (o) ordered tran-
	      sitions, (r) rainbow colors for acceptance sets, (R)  color  ac-
	      ceptance	sets  by  Inf/Fin,  (s)	 with  SCCs, (t) force transi-
	      tion-based acceptance, (u) hide true states, (v)	vertical  lay-
	      out,  (y)	 split universal edges by color, (+INT)	add INT	to all
	      set numbers, (<INT) display at most INT states, (#) show	inter-
	      nal 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  ba-
	      sis if >=2 AP are	used, (i) use implicit labels for complete de-
	      terministic  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 Bchi 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 %

       %a     number of	acceptance sets

       %c, %[LETTERS]c
	      number of	SCCs; you may filter the SCCs to count using the  fol-
	      lowing  LETTERS,	possibly  concatenated:	(a) accepting, (r) re-
	      jecting, (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  [de-
	      fault], (u) unreachable, (a) all).

       %F     the name of the pattern

       %g, %[LETTERS]g
	      acceptance  condition  (in HOA syntax); add brackets to print an
	      acceptance name instead and LETTERS to tweak the format: (0)  no
	      parameters,  (a) accentuated, (b)	abbreviated, (d) style used in
	      dot  output,  (g)	 no  generalized  parameter,   (l)   recognize
	      Street-like and Rabin-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     the argument of the pattern

       %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  re-
	      strict 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 [de-
	      fault], (u) unreachable, (a) all).

       %t, %[LETTER]t
	      number of	transitions (add one LETTER to	select	(r)  reachable
	      [default], (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 num-
	      ber 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
	      LETTERS to list atomic propositions with (n) no quoting, (s) oc-
	      casional	double-quotes  with  C-style escape, (d) double-quotes
	      with C-style escape, (c) double-quotes  with  CSV-style  escape,
	      (p)  between  parentheses,  any extra non-alphanumeric character
	      will be used to separate propositions

   Miscellaneous options:
       --help print this help

       --version
	      print program version

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

BIBLIOGRAPHY
       Prefixes	used in	pattern	names refer to the following papers:

       ks     D.  Kuperberg,  M.  Skrzypczak:  On Determinisation of Good-for-
	      Games Automata.  Proceedings of ICALP'15.

       l      C. Lding:	Optimal	Bounds for Transformations of -Automata.  Pro-
	      ceedings of FSTTCS'99.

       m      M. Michel: Complementation is more difficult  with  automata  on
	      infinite words.  CNET, Paris (1988).  Unpublished	manuscript.

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

COPYRIGHT
       Copyright  (C)  2025  by	the Spot authors, see the AUTHORS File for de-
       tails.  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
       autfilt(1), genltl(1), randaut(1), randltl(1)

genaut (spot) 2.14.5		 January 2026			     GENAUT(1)

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

home | help