Generalized Büchi automaton


In automata theory, generalized Büchi automaton is a variant of Büchi automaton. The difference with the Büchi automaton is its accepting condition, i.e., a set of sets of states. A run is accepted by the automaton if it visits at least one state of every set of the accepting condition infinitely often. Generalized büchi automata is equivalent in expressive power with Büchi automata; a transformation is given here.
In formal verification, the model checking method needs to obtain an automaton from a LTL formula that specifies the program property. There are algorithms that translate a LTL formula
into a GBA
for this purpose.
The notion of GBA was introduced specifically for this translation.

Formal definition

Formally, a generalized Büchi automaton is a tuple A = that consists of the following components:
A accepts exactly those runs in which the set of infinitely often occurring states contains at least a state from each accepting set. Note that there may be no accepting sets, in which case any infinite run trivially satisfies this property.
For more comprehensive formalism see also ω-automaton.

Labeled generalized Büchi automaton

Labeled generalized Büchi automaton is another variation in which input is associated as labels with the states rather than with the transitions.
LGBA was introduced by Gerth et al.
Formally, a labeled generalized Büchi automaton is a tuple A = that consists of the following components:
Let w = a1a2... be an ω-word over the alphabet Σ.
r1,r2,... is a run of A on the word w if
r1Q0 and for each i ≥ 0,
ri+1 ∈ Δ and aiL.
A accepts exactly those runs in which the set of infinitely often occurring states contains at least a state from each accepting set. Note that there may be no accepting sets, in which case any infinite run trivially satisfies this property.
To obtain the non-labeled version, the labels are moved from the nodes to the incoming transitions.