UP | HOME

AUTFILT

Table of Contents

NAME

autfilt − filter, convert, and transform B??chi automata

SYNOPSIS

autfilt [OPTION...] [FILENAMES...]

DESCRIPTION

Convert, transform, and filter B??chi automata.

Input:

−F, −−file=FILENAME

process the automaton in FILENAME

Output automaton type:

−B, −−ba

B??chi Automaton (with state−based acceptance)

−−generic

Any acceptance is allowed (default)

−M, −−monitor

Monitor (accepts all finite prefixes of the given property)

−−tgba

Transition−based Generalized B??chi Automaton

Output format:

−8, −−utf8

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

−c, −−count

print only a count of matched automata

−−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’, or ’stutter−invariant’.

−−dot[=1|a|b|B|c|e|f(FONT)|h|n|N|o|r|R|s|t|v]

GraphViz’s format (default). Add letters for (1) force numbered states, (a) acceptance display, (b) acceptance sets as bullets, (B) bullets except for B??chi/co−B??chi automata, (c) force circular nodes, (e) force elliptic nodes, (f(FONT)) use FONT, (h) horizontal layout, (v) vertical layout, (n) with name, (N) without 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.

−H, −−hoaf[=i|s|t|m|l]

Output the automaton in HOA format. Add letters to select (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, (l) single−line output

−−lbtt[=t]

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

−n, −−max−count=NUM

output at most NUM 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

output statistics about the automaton

Any FORMAT string may use the following interpreted sequences (capitals for input, minuscules for output):

%%

a single %

%A, %a

number of acceptance sets

%C, %c

number of SCCs

%d

1 if the output is deterministic, 0 otherwise

%E, %e

number of edges

%F

name of the input file

%G, %g

acceptance condition (in HOA syntax)

%L

location in the input file

%M, %m

name of the automaton

%n

number of nondeterministic states in output

%p

1 if the output is complete, 0 otherwise

%r

processing time (excluding parsing) in seconds

%S, %s

number of states

%T, %t

number of transitions

%w

one word accepted by the output automaton

Transformations:

−−cleanup−acceptance

remove unused acceptance sets from the automaton

−−cnf−acceptance

put the acceptance condition in Conjunctive Normal Form

−−complement−acceptance

complement the acceptance condition (without touching the automaton)

−−destut

allow less stuttering

−−dnf−acceptance

put the acceptance condition in Disjunctive Normal Form

−−exclusive−ap=AP,AP,...

if any of those APs occur in the automaton, restrict all edges to ensure two of them may not be true at the same time. Use this option multiple times to declare independent groups of exclusive propositions.

−−instut[=1|2]

allow more stuttering (two possible algorithms)

−−keep−states=NUM[,NUM...]

only keep specified states. The first state will be the new initial state. Implies −−remove−unreachable−states.

−−mask−acc=NUM[,NUM...]

remove all transitions in specified acceptance sets

−−merge−transitions

merge transitions with same destination and acceptance

−−product=FILENAME

build the product with the automaton in FILENAME

−−randomize[=s|t]

randomize states and transitions (specify ’s’ or ’t’ to randomize only states or transitions)

−−remove−ap=AP[=0|=1][,AP...]

remove atomic propositions either by existential quantification, or by assigning them 0 or 1

−−remove−dead−states

remove states that are unreachable, or that cannot belong to an infinite path

−−remove−fin

rewrite the automaton without using Fin acceptance

−−remove−unreachable−states

remove states that are unreachable from the initial state

−−sat−minimize[=options]

minimize the automaton using a SAT solver (only work for deterministic automata)

−−separate−sets

if both Inf(x) and Fin(x) appear in the acceptance condition, replace Fin(x) by a new Fin(y) and adjust the automaton

−−simplify−exclusive−ap

if −−exclusive−ap is used, assume those AP groups are actually exclusive in the system to simplify the expression of transition labels (implies −−merge−transitions)

−−strip−acceptance

remove the acceptance condition and all acceptance sets

Filtering options:

−−acc−sets=RANGE

keep automata whose number of acceptance sets are in RANGE

−−are−isomorphic=FILENAME

keep automata that are isomorphic to the automaton in FILENAME

−−edges=RANGE

keep automata whose number of edges are in RANGE

−−intersect=FILENAME

keep automata whose languages have an non−empty intersection with the automaton from FILENAME

−−is−complete

keep complete automata

−−is−deterministic

keep deterministic automata

−−is−empty

keep automata with an empty language

−−is−unambiguous

keep only unambiguous automata

−−states=RANGE

keep automata whose number of states are in RANGE

−u, −−unique

do not output the same automaton twice (same in the sense that they are isomorphic)

−v, −−invert−match

select non−matching automata

RANGE may have one of the following forms: ’INT’, ’INT..INT’, ’..INT’, or ’INT..’

Translation intent:

−a, −−any

no preference, do not bother making it small or deterministic (default)

−C, −−complete

output a complete automaton (combine with other intents)

−D, −−deterministic

prefer deterministic automata

−−small

prefer small automata

−S, −−state−based−acceptance, −−sbacc

define the acceptance using states

Optimization level:

−−high

all available optimizations (slow)

−−low

minimal optimizations (fast, default)

−−medium

moderate optimizations

Miscellaneous options:

−−seed=INT

seed for the random number generator (0)

−x, −−extra−options=OPTS

fine−tuning options (see spot−x (7))

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

Exit status:

0

if some automata were output

1

if no automata were output (no match)

2

if any error has been reported

REPORTING BUGS

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

COPYRIGHT

Copyright © 2015 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.

SEE ALSO

spot-x(7) dstar2tgba(1)