• No results found

Throughout this thesis we make use of several results and techniques from the field of automata theory. Therefore, we recall the definitions of the respective classes of automata here, and mention the results relevant for later proofs.

2.3.1

Automata on Words

Automata on Finite Words

A deterministic finite automaton (DFA)A = (Q, Σ, δ, q0, F) consists of a finite

set Q of states, a finite alphabet Σ, a transition function δ∶ Q × Σ → Q, an initial state q0∈ Q and a set F ⊆ Q of final states.

Given an automatonA and a word w = a0. . . an−1∈ Σ∗, the run ofA on

wis the sequence ρA(w) = q0q1. . . qnof states where qi= δ(qi−1, ai−1). Note

that there is a unique run ofA on w. We say that a run is accepting if qn∈ F.

The language ofA is the set of all accepted words, that is, L(A) = {w ∣ ρA(w) is accepting}.

A nondeterministic finite automaton (NFA)A = (Q, Σ, δ, Q0, F) is similar

to a deterministic one, except that δ∶ Q × Σ → P(Q) maps states and letters to sets of states, and there is not only a single initial state, but a set of initial states. A run on a word w= a0. . . an−1, which no longer needs to be unique,

nor has to exist, is a sequence q0. . . qnsuch that q0∈ Q0 and qi ∈ δ(qi−1, ai−1).

The language accepted by the automaton is the set of words for which there exists at least one accepting run.

As a convention, we refer to the size of an automatonA by ∣A∣ ∶= ∣Q∣, that is, the size of an automaton is the number of states.

We remark that the class of languages accepted by deterministic or nonde- terministic finite automata is exactly the class of regular languages, and that the class has all common closure properties, for example closure under inter- section, union, complement and projection. Furthermore, many important decision problems for languages accepted by finite automata, such as empti- ness and inclusion, are decidable, and it is always possible to determinize a nondeterministic finite automaton (which goes along with an increase in size). For more information, we refer to [56].

Automata on Infinite Words

When considering automata on infinite words, the notions of determinism, nondeterminism and of a run remain the same, except that now the run is an infinite sequence of states that respects the transition function. However, the acceptance condition is different from the case of finite words.

For Büchi automata, there is still a set F of final states, but now a run is accepting if infinitely many final states occur. Note that while nondetermin- istic Büchi automata capture the class of all ω-regular languages, this is not true for deterministic Büchi automata.

For this work, the most important class of automata on infinite words is the class of parity automata: A parity automatonA = (Q, Σ, δ, q0, Ω) has

the same components as a finite or Büchi automaton, but instead of a set of final states, there is a coloring function Ω∶ Q → [d] for some d ∈ N. A run ρ= q0q1. . .is accepting if the minimal color c such that Ω(qi) = c for

infinitely many i is even, that is, if Inf(Ω(ρ)) is even. As above, a determin- istic parity automaton accepts a word if the unique run is accepting, while a nondeterministic parity automaton accepts a word if there is at least one accepting run. Furthermore, in contrast to Büchi automata, nondeterministic and deterministic parity automata are equally expressive, and a language is accepted by a parity automaton if and only if it is ω-regular. Note that the language of an automaton is defined, as for NFAs and DFAs, as the set of words—in this case infinite words—accepted by the automaton.

As for regular languages, ω-regular languages are closed under inter- section, union and complement, and emptiness and inclusion of languages accepted by given automata is decidable. For further information on ω-regular languages, we refer to [53].

2.3.2

Tree Automata

As we only use automata on infinite trees in later chapters, we do not mention automata on finite trees here. We work with two different classes of tree automata, namely nondeterministic parity tree automata and alternating parity tree automata.

Nondeterministic parity tree automata A nondeterministic parity tree automatonA = (Q, Σ, δ, q0, Ω) consists of a finite set Q of states, a finite

ranked alphabet Σ, an initial state q0, a coloring function Ω∶ Q → [d] for some

d∈ N and a transition function δ, where for a symbol a ∈ Σ of rank k, δ(q, a) ⊆ {{(0, q0), (1, q1), . . . , (k − 1, qk−1)} ∣ qi ∈ Q for all i}.

In words, δ maps q and a to a set of sets of directions and states in such a way that a set in δ(q, a) provides exactly one state for every successor vertex.

A run ofA on a tree t is a labeling ρ∶ t → Q such that for all v ∈ t with label a of rank k, the set

of states at the successors together with the respective direction is contained in the result of the transition function. We identify ρ(t) with the induced Q-labeled version of t. A run is accepting if every infinite path in ρ(t) satisfies the parity condition, that is, for every infinite path α in ρ(t), Inf(Ω(α)) is even.

As for word languages, regular tree-languages, that is, the languages of trees accepted by nondeterministic parity tree automata, are closed under union, intersection and complement, where the famous complementation result is due to Rabin [79]. We remark that, given an automatonA with n states, m transitions and d colors, the emptiness problem can be decided in timeO(mnd). For further information, we refer to [53].

Alternating parity tree automata An alternating parity tree automaton A = (Q, Σ, δ, q0, Ω) consists of a finite set Q of states, a ranked alphabet

Σwith maximal rank r, an initial state q0, a coloring function Ω∶ Q → [d]

for some d ∈ N, and a transition function δ∶ Q × Σ → B+([r] × Q), where

B+([r] × Q) denotes the set of positive Boolean combinations of elements

from[r] × Q. In other words, a state and a letter are mapped to a positive Boolean formula of ranks and states. Note that we always assume that if a letter is of rank k, then in the formula only ranks of less than k appear. We also allow transitions to go to true and false.

A run ofA on a Σ-labeled tree t is a t × Q-labeled tree ρ(t) such that the following conditions are met:

• If a vertex v∈ ρ(t) is labeled with (w, q), w ∈ t has rank k, and v′is a

(w′, q)-labeled successor of v, then w= wi for some i < k.

• If a vertex v ∈ ρ(t) is labeled with (w, q), w ∈ t is labeled with a ∈ Σ, and S= {(wi1, q1), . . . , (win, qn)} is the set of labels of successors of

v, then the interpretation

I∶ [r] × Q → {0, 1}, (i, q) ↦⎧⎪⎪⎨⎪⎪

1, (wi, q) ∈ S 0, otherwise is a model of δ(q, a).

• If a vertex v ∈ ρ(t) is labeled with (w, q), w is labeled with a in t, and δ(w, a) ∈ {true, false}, then v is a terminal.

Note that runs of alternating tree automata do not preserve the structure of the input tree, as was the case for nondeterministic parity tree automata. A run is accepting if for every infinite path α= α0α1. . .in ρ(t) and its corresponding

the parity condition with respect to Ω, and if no terminal vertex with label (w, q) occurs such that w in t is labeled with a and δ(q, a) = false. A tree t is accepted if there is an accepting run ofA on t.

Intersection and complementation of alternating tree automata In Section 3.3, we often combine alternating tree automata, that is, we consider intersection and complement automata. Thus, we prove here two lemmas which show that these automata can be constructed efficiently, and with only constant increase in size.

Lemma 2.3.1. LetA1 = (Q1, Σ, δ1, q10, Ω1), A2 = (Q2, Σ, δ2, q02, Ω2) be two

alternating tree automata. Then an intersection automatonA1∩ A2 for the

language L(A1) ∩ L(A2) can be constructed with ∣A1∣ + ∣A2∣ + 1 states.

Proof. We define A1 ∩ A2 = (Q′, Σ, δ′, q0′, Ω′) with Q′ ∶= Q1 ⊍ Q2 ⊍ {q0′},

where q′

0is a new initial state, coloring Ω′= Ω1∪Ω2∪{q0′ ↦ 0} and transition

function δ′= δ1∪ δ2∪ {(q

0, a) ↦ δ1(q10, a) ∧ δ2(q02, a) ∣ a ∈ Σ}.

In words,A1∩ A2 accepts a tree t if bothA1andA2 accept the tree, and

this is achieved by simulating both with the help of a new initial state. Note that the new initial state is required as possibly the two automata return to their initial states, and if one of these were used, then the intersection automaton would split again.

Lemma 2.3.2. LetA be an alternating tree automaton. Then a complement automatonA for the language of trees over the same alphabet not accepted byA can be constructed with size ∣A∣.

Proof. A can be obtained by simply exchanging ∧ and ∨ in the transition relation, and by changing the parity of the colors, for example by setting Ω(q) = Ω(q) + 1.