3.4 Automata
3.4.1 Automata on Infinite Words
Given a fixed and finite alphabet Σ = {a, b, . . .}, we denote by Σ∗the set of finite strings and by Σωthe set of infinite strings [Farwer, 2002]. Given an infinite word α ∈ Σω, we
denote by α (i) ∈ Σ the i-th letter in the string α.
As Σ is finite but Σωis infinite, any word α ∈ Σωwill contain an infinite number of
occurrences of a subset of Σ . Consequently, we define:
Inf(α) = {a ∈ Σ | for infinitely many i, α(i) = a} to be the set of letters occurring infinitely often in α.
Definition 3.12. (ω-automata). An ω-automaton—or a finite automaton on infinite words—is a tuple
A = hQ, Σ , δ , Q0, Acci
where:
• Q is a finite set of states
• Σ is the alphabet of the automaton • δ ⊆ Q × Σ → 2Qis the transition function
• Q0⊆ Q is a set of initial states
• Acc is the acceptance condition
The set δ (q, a) is the set of states which the automaton A “moves into” when it is in the state q and sees the letter a. Given an ω-automaton A = hQ, Σ , δ , q0, Acci and
a string α ∈ Σω, a run of A is a sequence ρ = q
0, q1, . . ., with q0∈ Q0and qn+1∈
δ (qn, α (n)).
In the theory of automata over finite strings, a string is accepted if it reaches a set of “final” states in the automaton. However, the notion of final states in infinite automata is
not possible: there cannot be a “final” state given an infinite input string. Consequently, the acceptance condition Acc needs to be suitably adapted for infinite strings.
As a matter of notation, in what follows, for an automaton A we denote by L (A) the language, or greatest set of infinite strings that A accepts. Furthermore, we also we write AX for the automaton hΣ , S, X , δ , Acci, X ∈ S. That is, AX is the automaton A with the initial state X .
Definition 3.13. (Büchi automata.) A Büchi automaton A = hQ, Σ , δ , Q0, Acci is a ω-
automaton, where Acc ⊆ Q. A string α ∈ Σωis accepted by A iff there exists a run ρ
of A for α, such that:
Inf(ρ) ∩ Acc 6= /0.
It follows that a string α is accepted by A iff the corresponding run ρ visits a state in Accinfinitely often.
A further acceptance condition is a co-Büchi acceptance condition [Löding and Thomas, 2000]. Given co-Büchi acceptance condition Acc, a run ρ is co-Büchi accepting iff:
Inf(ρ) ∩ Acc = /0.
That is, a “run is accepting iff it visits states from the accepting set only finitely of- ten” [Kupferman et al., 2004].
We also consider Rabin automata, where, unlike Büchi automata, the acceptance condition is a set of pairs of states:
Definition 3.14. (Rabin automata.) A Rabin automaton A = hQ, Σ , δ , Q0, Acci is a ω-
automaton, where Acc = h(L0,U0) , . . . , (Ln,Un)i, such that ∀n < |Acc|, Ln⊆ Q and
Un⊆ Q. A string α is accepted by A iff there exists a run ρ on A for α, such that:
∃ (Li,Ui) ∈ Acc such that Inf (ρ) ∩ Li6= /0 and Inf (ρ) ∩Ui= /0
For each Rabin pair (Li,Ui) ∈ Acc, we denote by Lithe set of “good” states and Ui
by the set of “bad” states. A run of A is accepted if there is at least one Rabin pair such that the run infinitely often enters the good states of the pair and visits the bad states only finitely often.
So far, we have not constrained the form of δ ; that is, as it returns an element in the powerset of Q (i.e., 2Q), an automaton can have many choices of next state given a current state and an input letter. We therefore define the following classes of automata. Definition 3.15. (Deterministic Automata.)
An ω-automaton is deterministic iff
∀a ∈ Σ , ∀q ∈ Q, |δ (q, a) | ≤ 1
If an ω-automaton is deterministic, this means that given a current state q and an input letter a, the next state is uniquely determined.
Definition 3.16. (Non-deterministic automata.) An ω-automaton is non-deterministic iff
∃a ∈ Σ , ∃q ∈ Q, |δ (q, a) | > 1
That is, for at least one state q ∈ Q, and for at least one input letter a ∈ Σ , there are possibly many successor states.
3.4 Automata 63
We now present some common acronyms that we will use throughout this thesis; these can be seen in Table 3.3.
Table 3.3. Common Acronyms for Automata
Name Acronym
NBA Non-deterministic Büchi Automata DBA Deterministic Büchi Automata NRA Non-deterministic Rabin Automata DRA Deterministic Rabin Automata
Furthermore, the equivalence and expressiveness of various deterministic and non- deterministic automata can be seen in Figure 3.1; we write A ⇒ B to mean that B is strictly more expressive than A (i.e., automata of the type B can express more infinite languages than those in A) and A ⇔ B if A and B are equally expressive.
deterministic Büchi ⇒ non-deterministic Büchi m
deterministic Rabin m
non-deterministic Rabin
Fig. 3.1. Equivalence between ω-automata.
Figure 3.1 shows us, for example, that a non-deterministic Büchi automata is strictly more expressive than a deterministic Büchi automata [Roggenbach, 2002]. We also observe that deterministic Rabin automata are strictly more expressive than deterministic Büchi automata.