# Automata on Infinite Words and Trees

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the winter semester Last modified: January 13, 2010

2 2

3 Contents 1 Review of Automata on Finite Words Main Definitions Determinization Closure Properties Myhill-Nerode Theorem Kleene s Theorem Pumping Lemma Decision Problems Automata on Infinite Words Basic Notions Büchi Automata Closure Properties Büchi s Theorem Deterministic Büchi Automata Müller Automata Rabin Automata Streett Automata Determinization of Büchi Automata Decision Problems Automata on Finite Trees Basic Notions Bottom-up Automata on Finite Trees Determinization Pumping Lemma for Tree Languages Closure Properties for Tree Languages Top-down Tree Automata Decision Problems

4 4 CONTENTS 4 Automata on Infinite Trees Basic Definitions and Notations Definition of Automata on Infinite Trees Relation between Büchi and Müller Tree Automata Relation between Müller and Parity Tree Automata Complementation: Reduction to Parity Games

5 Disclaimer: These course notes were prepared for the benefit of students in the winter semester automata course at Universität Bremen. These notes borrow heavily from the material found in the following resources: Automata Theory and its Applications. Khoussainov and Nerode, Automata, Logics, and Infinite Games. Grädel, Thomas, and Wilke (Eds.), Languages, Automata, and Logic in Handbook of Formal Languages. Thomas, Infinite Words: Automata, Semigroups, Logic, and Games. Perrin and Pin, Tree Automata Techniques and Applications. Available at No originality of the content is implied. i

6 ii CONTENTS

7 Chapter 1 Review of Automata on Finite Words 1.1 Main Definitions Definition 1. A nondeterministic finite automaton, or NFA, over an alphabet Σ is a quintuple A = (Q,Σ,T,I,F) where: Q is a finite non-empty set of states Σ is an alphabet, i.e. a finite non-empty set of symbols T Q Σ Q is the transition relation I Q is the set of initial states F Q is the set of final states If for every q Q and every σ Σ there is a single tuple (q,σ,q ) in T, and there is a single state in I, then A is said to be a deterministic finite automaton (DFA). Often, it is convenient to represent finite automata using labelled directed graphs. For example, we can represent the finite automaton A = {{q 0,q 1 }, {a,b}, {(q 0,a,q 0 ),(q 0,b,q 1 ),(q 1,b,q 1 )}, {q 0 }, {q 1 }} by the graph pictured in Figure 1.1. Notice that the states are nodes, the directed edges give the transitions, initial states are indicated with incoming arrows, and final states are indicated by double edges. 1

8 2 CHAPTER 1. REVIEW OF AUTOMATA ON FINITE WORDS a b q b 0 q 1 Figure 1.1. A pictorial representation of the DFA A. Definition 2. A run of A on w = w 0 w 1...w n starting from q 0 is a sequence q 0 q 1 q 2...q n+1 where for all 0 i n: (q i,w i,q i+1 ) T. In this case, we say that the word w transforms q 0 to q n+1. Definition 3. An automaton A = (Q, Σ, T, I, F) accepts the finite string if there exists a run w = w 0 w 1... w n q 0 q 1 q 2...q n+1 of A on w such that q 0 I and q n+1 F. Definition 4. The language of A, written L(A), is defined to be the set {w Σ A accepts w}. Example 5. The automaton A from Figure 1.1 accepts the language of strings of the form a n b m where n 0 and m 1. Definition 6. A language L Σ is said to be finite automaton recognizable (or simply, FA recognizable) if there exists a NFA A such that L = L(A). 1.2 Determinization Theorem 7. Let A be a (possibly nondeterminisitic) automaton. Then there exists a DFA A d such that L(A) = L(A d ). Proof sketch. Let A = (Q, Σ, T, I, F). We construct the desired automaton A d = {Q d,σ,t d,i d,f d } as follows: Q d = 2 Q

9 1.3. CLOSURE PROPERTIES 3 (S,σ,S ) T d if and only if S = {q q S : (q,σ,q ) T } I d = I F d = {S Q S F } This method of determinization is known as the power set construction. 1.3 Closure Properties Theorem 8. Let A 1 and A 2 be finite automata over an alphabet Σ. Then there exists an automaton A 3 such that L(A 3 ) = L(A 1 ) L(A 2 ). Proof sketch. Let A 1 = {Q 1,Σ,T 1,I 1,F 1 } and A 2 = {Q 2,Σ,T 2,I 2,F 2 }. We suppose without loss of generality that the set of states of A 1 and A 2 are disjoint, i.e. Q 1 Q 2 =. An automaton A 3 = {Q 3,Σ,T 3,I 3,F 3 } with the desired property can be constructed as follows: Q 3 = Q 1 Q 2 T 3 = T 1 T 2 I 3 = I 1 I 2 F 3 = F 1 F 2 Theorem 9. Let A 1 and A 2 be finite automata over an alphabet Σ. Then there exists an automaton A 3 such that L(A 3 ) = L(A 1 ) L(A 2 ). Proof sketch. Let A 1 = {Q 1,Σ,T 1,I 1,F 1 } and A 2 = {Q 2,Σ,T 2,I 2,F 2 }. We construct an automaton A 3 = {Q 3,Σ,T 3,I 3,F 3 } with the desired property as follows: Q 3 = Q 1 Q 2 T is composed of all tuples ((q 1,q 2 ),σ,(q 3,q 4 )) such that (q 1,σ,q 3 ) T 1 and (q 2,σ,q 4 ) T 2 I 3 = I 1 I 2 F 3 = F 1 F 2 Theorem 10. Let A be a finite automaton. Then there exists an automaton A c such that L(A c ) = L(A) = Σ \ L(A).

10 4 CHAPTER 1. REVIEW OF AUTOMATA ON FINITE WORDS Proof. We can assume without loss of generality that A = (Q,Σ,T,I,F) is deterministic (this is because Theorem 7 shows how every recognizable language is accepted by some deterministic automaton). Then the automaton A c = (Q,Σ,T,I,Q \ F) can be shown to satisfy the condition of the theorem. 1.4 Myhill-Nerode Theorem Definition 11. Let L be a language. The words u and v are L-equivalent, written u L v if for all w, the word uw is in L if and only if the word vw is in L. Definition 12. Let A be a finite automaton. The words u and v are A- equivalent, written u A v if for all states q 1,q 2, u transforms q 1 to q 2 if and only if v transforms q 1 to q 2. Lemma 13. Let A be a finite automaton. The relation A is an equivalence relation on Σ and has finite index (i.e. the relation A induces a finite number of equivalence classes). Moreover, for all u,v,w: if u A v, then uw L(A) iff vw L(A). Proof. Exercise. Theorem 14 (The Myhill-Nerode Theorem). A language L is finite automaton recognizable if and only if L is of finite index. Proof sketch. Suppose L = L(A) for some finite automaton A. Now if u A v, then by Lemma 13, uw L(A) iff vw L(A) for all w, and so u L v. So L cannot have more equivalence classes than A, which means L has finite index. For the other direction, suppose L is of finite index. The basic idea is to use the equivalence classes in L as the states in the automata. Specifically, we can construct a finite automaton A = (Q,Σ,T,I,F) which accepts L as follows: Q = {[u] u Σ } (where [u] is the equivalence class in L which contains u) T is composed of all tuples of the form ([u],σ,[uσ]) I = [λ] (where λ denotes the empty string) F = {[w] w L}

11 1.5. KLEENE S THEOREM 5 Note that because L has finite index, Q has only finitely many states. Corollary 15. If the index L has n states, then there is a DFA with exactly n states which recognizes L. Example 16. Consider the language L = {a m b m m 0}. For every m, the word a m b m L, but a m b k L for k m. It follows that L has infinite index, and so L is not regular by Theorem Kleene s Theorem Definition 17. Let L 1 and L 2 be languages of finite words. The concatenation of L 1 and L 2, denoted L 1 L 2 is defined as follows: L 1 L 2 = {uv u L 1,v L 2 } Definition 18. Let L 1 and L 2 be languages of finite words. The union of L 1 and L 2, denoted L 1 + L 2 is defined as follows: L 1 + L 2 = L 1 L 2 Definition 19. Let L be a language of finite words. The application of the Kleene star ( ) to L, denoted L is defined as follows: L = i=0 where L 0 = L and L i+1 = L n L for i 1. Definition 20. A language L Σ is said to be regular if L can be obtained from the empty set, the set {λ} (containing only the empty word), and the sets {a} (for each a Σ) using a finite number of applications of the operators,, and. Definition 21. We define a regular expression r over the alphabet Σ and the associated language L(r) inductively as follows: r = is a regular expression with L(r) = r = λ is a regular expression with L(r) = {λ} r = a, for a Σ, is a regular expression with L(a) = {a} L i

12 6 CHAPTER 1. REVIEW OF AUTOMATA ON FINITE WORDS If r 1 and r 2 are regular expressions with languages L(r 1 ) and L(r 2 ), then we have: r = (r 1 r 2 ) is a regular expression with L(r) = L(r 1 ) L(r 2 ) r = (r 1 r 2 ) is a regular expression with L(r) = L(r 1 ) L(r 2 ) r = r 1 is a regular expression with L(r) = L(r 1) Theorem 22. A language L is regular if and only if L = L(r) for some regular expression r. Theorem 23 (The Kleene Theorem). A language L is regular if and only if it is finite automaton recognizable. Proof. Suppose that L is regular. Then by Theorem 22, L = L(r) for some regular expression r. We show by induction on the structure of r that L is finite automaton recognizable. The base case is when r is an atomic regular expression. In this case, L(r) is either, {λ}, or {a} for some a Σ, all of which can be recognized by a finite automaton. For the induction step, suppose that r 1 and r 2 are regular expressions such that L(r 1 ) and L(r 2 ) are finite automaton recognizable, and let A 1 = {Q 1,Σ,T 1, {q I,1 },F 1 } and A 2 = {Q 2,Σ,T 2, {q I,2 },F 2 } be automata recognizing these languages (we assume w.l.o.g. that their sets of states are disjoint). We now show that L(r 1 + r 2 ), L(r 1 r 2 ), and L(r1 ) are also FA recognizable. We consider only the latter two cases, since the first case, the result follows directly from the closure of FA recognizable languages under union. We start by showing that L(r 1 r 2 ) is FA recognizable. The idea is simple: our (nondeterministic) automata will simulate A 1, and when a final state is reached, it will either continue the simulation of A 1, or switch over to simulating A 2 from A 2 s start state. Formally, the desired automaton A 3 = {Q 3,Σ,T 3,I,F) is as follows: Q 3 = Q 1 Q 2 T 3 contains T 1, T 2, plus all tuples (s,σ,s ) such that s F 1 and (q I,2,σ,s ) T 2 I 3 = {q I,1 } F 3 = F 2

13 1.6. PUMPING LEMMA 7 To show that L(r1 ) is recognizable, we create an automaton which simulates A 1, and whenever a final state is reached, it either continues the simulation, or starts a new simulation of A 1 from the initial state. Formally, the desired automaton is just like A 1 (which we assume w.l.o.g. to have no transitions to its initial state), except we additionally have transitions of the form (s,σ,s I,1 ) whenever s is such that T(s,σ) F 1. Now we need to show the second part of the theorem, namely that every FA recognizable language is regular. So let us consider some FA recognizable language L, and let A = (Q,Σ,T,q I,F) be a deterministic automaton with L(A) = L. For q 1,q 2 Q and X Q, we use G(q 1,q 2,X) to refer to the set of all words which transform q 1 to q 2, while passing only through intermediate states in X. We can show by induction on the cardinality of the set X that every set G(q 1,q 2,X) is regular. The base case is when X is the empty set: in this case, there can be no intermediate states, so G(q 1,q 2, ) consists of all σ Σ such that (q 1,σ,q 2 ) T. For the induction hypothesis, we suppose the result holds for X n. Then we take a set Y with n + 1 elements, and we use Y q to refer to the set Y \ {q}. It can then be shown that the set G(q 1,q 2,X) is equal to ( G(q 1,q 2,Y q )) ( G(q 1,q,Y q ) [G(q,q,Y q )] G(q,q 2,Y q )) q Y q Y which is clearly regular, as it is obtained from the regular sets Y q using,, and. This means that L(A) = G(q I,f,Q) f F must also be regular, completing the proof. 1.6 Pumping Lemma Theorem 24 (The Pumping Lemma). Let A be a finite automaton which has exactly n states, and let u = σ 0...σ m be a word of length at least n. Then if u is accepted by A, there must exist a non-empty substring v = σ i...σ i+j of u such that for every k 0, the automaton A accepts all strings of the form σ 0... σ i 1 v k σ i+j+1...σ m

14 8 CHAPTER 1. REVIEW OF AUTOMATA ON FINITE WORDS Proof sketch. Let A = (Q,Σ,T,I,F) be a finite automaton with n states, and let u = σ 0...σ m be a word of length at least n which is accepted by A. There must be a run q 0...q m+1 of A on u such that q 0 I and q m+1 F. Now since m n and A has only n states, there must be some state which occurs twice in the run q 0...q m+1, i.e. we can find positive integers i and j such that q i = q i+j. This means that q 0...q i (q i+1... q i+j ) k q i+j+1...q m+1 is a successful run of A on the word for all k 0. σ 0...σ i (σ i+1... σ i+j ) k σ i+j+1...σ m Example 25. Suppose that the language L = {a m b m m 0} is recognizable, and let A be an automaton such that L(A) = L. Let n be the number of states of A. As a n b n is a word in L with length greater than n, by Theorem 24, a n b n can be decomposed into uvw such that v is non-empty, and for every k 0, the word uv k w also belongs to L. But this is a contradiction, because uv 2 w has either a different number of a s and b s, or has some b s which appear before a s, and in either case, it cannot belong to L. 1.7 Decision Problems Theorem 26. The emptiness problem (is L(A) =?) is decidable. Proof sketch. It follows from the pumping lemma that if A accepts some word, then A accepts some word of length at most n, where n is the number of states of A. Since there are only finitely many strings of length at most n over a finite alphabet, we can simply test for each of these strings whether it is accepted by A. If some such string is accepted, then L(A), and if all strings fail, then L(A) =. Theorem 27. The equivalence problem (is L(A 1 ) = L(A 2 )?) is decidable. Proof sketch. We remark that L(A 1 ) = L(A 2 ) if and only if both L(A 1 ) \ L(A 2 ) = and L(A 2 ) \ L(A 1 ) =. Using our closure properties, we can construct automata whose languages are precisely L(A 1 )\L(A 2 ) and L(A 2 )\ L(A 1 ). We then use the previous theorem to decide emptiness.

15 1.7. DECISION PROBLEMS 9 Theorem 28. The universality problem (is L(A) = Σ?) is decidable. Proof sketch. We remark that L(A) = Σ if and only if Σ \L(A) =. That means we can use closure under complementation to construct an automata with language Σ \ L(A) and then apply the above emptiness test to this automaton.

16 10 CHAPTER 1. REVIEW OF AUTOMATA ON FINITE WORDS

17 Chapter 2 Automata on Infinite Words 2.1 Basic Notions Definition 29. An infinite word (or infinite string) over an alphabet Σ is a function α from the set ω of natural numbers to Σ. We often write α as α 0 α 1 α 2... We use α[m,n] (where m n) to refer to the finite string α m α m+1...α n 1 α n, and α(n) to refer to the symbol α n. Definition 30. We use Σ ω to refer to the set of all infinite strings over Σ. Definition 31. An ω-language (with respect to the alphabet Σ) is any subset of Σ ω. Definition 32. Let W be a language of finite words over Σ. The ω-language W ω is defined as the set of all infinite strings of the form w 0 w 1 w 2... such that each w i is non-empty and belongs to W. Definition 33. Let W be a language of finite words over Σ. The ω-language W is defined as the set of all infinite strings α such that α[0,n] W for infinitely many n. Definition 34. Let W Σ and L Σ ω. The ω-language WL is defined as the set of all infinite strings of the form wα where w W and α L. 11

18 12 CHAPTER 2. AUTOMATA ON INFINITE WORDS 2.2 Büchi Automata Definition 35. A nondeterministic Büchi automaton is a quintuple A = (Q,Σ,T,I,F) where: Q is a finite non-empty set of states Σ is an alphabet, i.e. a finite non-empty set of symbols T Q Σ Q is the transition relation I Q is the set of initial states F Q is the set of final states If for every q Q and every σ Σ there is at most one tuple of the form (q,σ,q ) in T, and there is a single state in I, then A is said to be deterministic. Definition 36. A run of A on w = w 0 w 1 w 2... starting from q 0 is an infinite sequence q 0 q 1 q 2... of states such that for all i 0: (q i,w i,q i+1 ) T. Definition 37. If r = q 0 q 1 q 2... is an infinite sequence of states, then the infinity set of r, written Inf(r), is defined to be the set of states which appear infinitely often in r. Definition 38. A run r = q 0 q 1 q 2... of A on the string w is said to be successful if q 0 I and Inf(r) F. Thus a run is successful if it starts from an initial state and visits some final state infinitely often. Definition 39. An automaton A accepts (or recognizes) a word w if there is a successful run of A on w. Definition 40. The language of A, written L(A), is defined to be the set {w Σ ω A accepts w}. We say that A accepts (or recognizes) the language L(A). Definition 41. A language L Σ ω is said to be Büchi recognizable if there exists a Büchi automaton A such that L = L(A).

19 2.2. BÜCHI AUTOMATA 13 We conclude the section with a few simple examples of Büchi automata. In the examples, we present the automata using graphs, with nodes for states, directed labelled edges for transitions, an incoming arrow for initial states, and double lines to indicate final states. Example 42. Consider the Büchi automata represented by the following graph: This automaton accepts all strings which contain a finite block of a s a b q a 0 q 1 Figure 2.1 followed by an infinite string of only b s. This is because any successful run must contain the final state q 1, only a string of a s can lead to q 1, and once in the state q 1, only b s can be read. Example 43. Consider the Büchi automata represented by the following graph: This automaton accepts all strings which contain only finitely a,b b q b 0 q 1 Figure 2.2 many a s. This is because any successful run must contain the final state q 1, any string can lead from the initial state q 0 to q 1, and from state q 1 no further a s can be read. Example 44. Consider the Büchi automata represented in Figure 2.3. This automaton accepts all strings in which every occurrence of b is doubled, i.e. if there is a substring of the form ab n a, then n must be even.

20 14 CHAPTER 2. AUTOMATA ON INFINITE WORDS a b q 0 q 1 b Figure Closure Properties Theorem 45. Let A 1 and A 2 be Büchi automata over an alphabet Σ. Then there exists a Büchi automaton A 3 such that L(A 3 ) = L(A 1 ) L(A 2 ). Proof. Let A 1 = {Q 1,Σ,T 1,I 1,F 1 } and A 2 = {Q 2,Σ,T 2,I 2,F 2 } be Büchi automata. We suppose without loss of generality that Q 1 Q 2. The proof is essentially the same as for automata on finite words, but we give it here for completeness. We consider the automaton A 3 = {Q 3,Σ,T 3,I 3,F 3 } defined as follows: Q 3 = Q 1 Q 2 T 3 = T 1 T 2 I 3 = I 1 I 2 F 3 = F 1 F 2 We want to show that L(A 3 ) = L(A 1 ) L(A 2 ). For the first direction, suppose that A 3 accepts the infinite word w = w 0 w 1 w 2... Then there is some run r = q 0 q 1 q 2... of A on w such that q 0 I 3 and Inf(r) F 3. If q 0 Q 1, then we must have q i Q 1 for all i 0 (since there are no transitions between states in Q 1 and Q 2 ), and so Inf(r) F 1. So r is a successful run of A 1 on w. If instead q 1 Q 1, then we must have q 1 Q 2, and we have that r is a successful run of A 2 on w. Thus, w L(A 1 ) L(A 2 ). For the other direction, we suppose that w L(A 1 ) L(A 2 ). That means that there is a successful run r = q 0 q 1 q 2... of either A 1 or A 2 on w. But then r must also be a successful run of A 3 on w, since I 1 I 2 I 3, F 1 F 2 F 3, and T 1 T 2 T 3. So w L(A 3 ). Theorem 46. Let A 1 and A 2 be Büchi automata over an alphabet Σ. Then there exists a Büchi automaton A 3 such that L(A 3 ) = L(A 1 ) L(A 2 ).

21 2.3. CLOSURE PROPERTIES 15 Proof. Let A 1 = {Q 1,Σ,T 1,I 1,F 1 } and A 2 = {Q 2,Σ,T 2,I 2,F 2 } be Büchi automata. The idea of the proof is as follows: our automaton will simulate both A 1 and A 2. When it reaches a final state of A 1, it notes this (using its states) and then waits until it sees a final state of A 2, at which point it starts looking again for a final state for A 1, and so on. If we switch back and forth infinitely often between these two modes (waiting for a final state of A 1, waiting for final state of A 2 ), then the word will be accepted by our automaton. Formally, we construct the Büchi automaton A 3 = {Q 3,Σ,T 3,I 3,F 3 } where: Q 3 = Q 1 Q 2 {1,2} T 3 is composed of the following tuples: ((q 1,q 2,1),σ,(q 3,q 4,1)), where (q 1,σ,q 3 ) T 1, (q 2,σ,q 4 ) T 2, and q 1 F 1 ((q 1,q 2,1),σ,(q 3,q 4,2)), where (q 1,σ,q 3 ) T 1, (q 2,σ,q 4 ) T 2, and q 1 F 1 ((q 1,q 2,2),σ,(q 3,q 4,2)), where (q 1,σ,q 3 ) T 1, (q 2,σ,q 4 ) T 2, and q 2 F 2 ((q 1,q 2,2),σ,(q 3,q 4,1)), where (q 1,σ,q 3 ) T 1, (q 2,σ,q 4 ) T 2, and q 2 F 2 I 3 = I 1 I 2 {1} F 3 = Q 1 F 2 {2} We claim that L(A 3 ) = L(A 1 ) L(A 2 ). For the first direction, suppose that w L(A 3 ). Then there is a run r = q 0 q 1 q 2... of A on w such that q 0 I 3 and Inf(r) F 3. Each q i must be of the form (s i,t i,n i ) where s i Q 1 and t i Q 2. The sequence s = s 0 s 1 s 2... is a run of A 1 on w since (s i,w i,s i+1 ) T 1 for all i 0. It is an accepting run since s 0 I 1 (by definition of I 3 ) and Inf(r) F 3, which means that there are infinitely many states with last coordinate 2, and hence infinitely many i for which s i F 1, since we must switch between 1-states and 2-states infinitely often, qnd the only way to switch from 1 to 2 is to pass by some state in F 1. Likewise, we can show that the run t = t 0 t 1 t 2... is an accepting run of A 2 on w. So w L(A 1 ) L(A 2 ). For the second direction, suppose w L(A 1 ) L(A 2 ). Then there is a accepting run s = s 0 s 1 s 2... of A 1 on w, and an accepting run t = t 0 t 1 t 2... of A 2 on w. Consider the following sequence of states (s 0,t 0,n 0 )(s 1,t 1,n 1 )(s 2,t 2,n 2 )...

22 16 CHAPTER 2. AUTOMATA ON INFINITE WORDS where the n i are defined inductively as follows: n 0 = 1; n i = 1 if n i 1 = 1 and s i 1 F 1 or if n i 1 = 2 and t i 1 F 2, and otherwise n i = 2. It is easily verified that this sequence of states defines an accepting run of A 3 on w, which means w L(A 3 ). Complementation will be discussed later in Section Büchi s Theorem In this section, we provide a characterization of the set of Büchi recognizable languages in terms of FA recognizable languages. We start with two lemmas. Lemma 47. If W Σ is FA recognizable, then the ω-language W ω is Büchi-recognizable. Proof. Let A 1 = {Q 1,Σ,T 1, {q I },F 1 } be a DFA which recognizes W. The basic idea is to create a Büchi automaton which simulates A 1 until a final state is reached, and then decides non-deterministically to either continue the simulation, or to start a new simulation of A 1 from the initial state. Formally, we construct a Büchi automaton A 2 = {Q 2,Σ,T 2,I 2,F 2 } defined as follows: Q 2 = Q 1 T 2 contains all the transitions in T 1 plus: all tuples (q,σ,q ) such that q F 1 and (q I,σ,q ) T 1 I 2 = I 1 = {q I } F 2 = F 1 It can be verified that A 2 indeed recognizes the language W ω. Lemma 48. If V Σ is FA recognizable and L is Büchi-recognizable, then the ω-language V L is Büchi-recognizable. Proof. Let A 1 = {Q 1,Σ,T 1, {q I },F 1 } be a DFA which recognizes V, and let A 2 = {Q 2,Σ,T 2,I 2,F 2 } be a Büchi automaton which recognizes L. We suppose without loss of generality that Q 1 Q 2. The idea is as follows: we simulate A 1 until we reach a final state, at which point we either continue the simulation or switch to simulating A 2 from its initial state. Formally, the desired automaton A 3 = {Q 3,Σ,T 3,I 3,F 3 } can be constructed as follows:

23 2.4. BÜCHI S THEOREM 17 Q 3 = Q 1 Q 2 T 3 contains T 1, T 2, plus I 3 = I 1 all tuples (q,σ,q ) such that q F 1 and there is some (q,σ,q ) T 2 such that q I 2 F 3 = F 2 It can be checked that the language accepted by A 3 is in fact V L. Theorem 49 (Büchi s Theorem). A language L Σ ω is Büchi recognizable if and only if L is a finite union of sets V W ω, where V,W are FA recognizable languages. Proof. For the first direction, we need to show that we can represent every Büchi recognizable language as a union of languages of the V W ω for FA recognizable V and W. The idea is quite simple: every word which is accepted by a Büchi automaton must be composed of a prefix which takes the automaton from the initial state to some repeated final state plus an infinite sequence of segments which take this final state back to itself. Since the language of all finite words which take a state q 1 to a state q 2 is FA recognizable, we obtain the desired result. Formally, given a Büchi automata A = (Q, Σ, T, I, F), we consider the languages W q1,q 2 = {w w is accepted by the finite automaton (Q,Σ,T, {q 1 }, {q 2 }}) By definition, each language W q1,q 2 is FA recognizable. As L(A) = q I I,q F F W qi,q F W ω q F,q F we obtain the desired result. For the second direction, because we know Büchi recognizable languages to be closed under finite union, all we have to show is that the language V W ω is Büchi recognizable whenever V, W are FA recognizable languages. So take two FA recognizable languages V and W. By Lemma 47, we know that the language W ω is Büchi-recognizable because W is FA recognizable. Then by Lemma 48, we know that the language V W ω must be Büchi-recognizable, as V is FA recognizable and W ω is Büchi-recognizable. This completes the proof.

24 18 CHAPTER 2. AUTOMATA ON INFINITE WORDS 2.5 Deterministic Büchi Automata For finite strings, deterministic and nondeterministic finite automata have the same expressive power: every FA recognizable language is accepted by some deterministic finite automaton. It is natural to wonder whether the same is true for Büchi automata. We show in this section that this is not the case, i.e. there exist ω-languages that are accepted by a nondeterministic Büchi automaton but not by any deterministic Büchi automaton. We begin by giving a characterization of the sets of ω-languages which are recognized by deterministic Büchi automata. Theorem 50. A language L Σ ω is recognizable by a deterministic Büchi automaton if and only if there exists a FA recognizable language W Σ such that L = W. Proof. Consider some deterministic Büchi automaton A = (Q,Σ,T, {q I },F), and let W be the language accepted by A if it is viewed as a deterministic finite automaton. We intend to show L(A) = W. For the first direction, suppose α is accepted by A. Since A is deterministic, there is a unique run r = q 0 q 1 q 2... of A on α with q 0 = q I, and this run r must be such that Inf(r) F. This means that each of the infinitely many finite runs ending in a final state in F determine a prefix of α which belongs to W, so α W. For the other direction, suppose that α W. That means that α has infinitely many prefixes in W, or in other words, the unique run r of A on α reaches a final state infinitely often, so α L(α). We now use Theorem 50 to identify a language which is recognizable only by nondeterministic Büchi automata. Theorem 51. There exist Büchi recognizable languages which are recognized by no deterministic Büchi automaton. Proof. Consider the language L = {α {a,b} ω α contains finitely many b s}. As L = Σ {a} ω and Σ and {a} are both FA recognizable, by Theorem 49, L is Büchi recognizable. Now suppose for a contradiction that L is accepted by a deterministic Büchi automaton. Then by Theorem 50, L = W for some FA recognizable language W. Now since a ω L and L = W, there must be some non-empty string a n 1 W. But since a n 1 ba ω is also in L, we can find a string a n 1 ba n 2 W. Continuing in this way we construct an infinite string a n 1 ba n 2 ba n 3 ba n 4...

25 2.6. MÜLLER AUTOMATA 19 which belongs to L since it has infinitely many prefixes in W. But this string has infinitely many b s, so it cannot belong to L. Thus, we have shown it to be impossible for a deterministic Büchi automaton to accept L. The proof of the previous theorem also shows that the set of languages recognized by deterministic Büchi automata is not closed under complementation. This is because the complement of the language L used in the proof is the language consisting of those strings having infinitely many b s, which is recognizable by a deterministic Büchi automata. 2.6 Müller Automata In the last section, we saw that deterministic Büchi automata are strictly weaker than nondeterministic ones. This is a disappointing result since it is often proves more convenient to work with deterministic automata (e.g. for complementation). This is why in the following sections we investigate other ways of defining deterministic automata on infinite words. The real difference with these new types of automata will be in the way in which we define successful runs. For Büchi automata, we specified a set of final states F, and we said that a run r was successful if Inf(r) F. But as we shall see, there are other interesting conditions that can be placed on the set Inf(r). For instance, for Müller automata, which we consider in this section, the condition is that the set Inf(r) belongs to a given set of distinguished sets of states F. Definition 52. A Müller automaton is a quintuple A = (Q,Σ,T, {q I }, F) where: Q is a finite non-empty set of states Σ is an alphabet, i.e. a finite non-empty set of symbols T : Q Σ Q is the transition function q I is the initial state F 2 Q is the set of final states The definition of runs, acceptance, and L(A) for Müller automata (and for the other automata we introduce in the following sections) is the same as for Büchi automata. However, the definition of a successful run is different.

26 20 CHAPTER 2. AUTOMATA ON INFINITE WORDS Definition 53. A run r = q 0 q 1 q 2... of a Müller automaton A = (Q,Σ,T, {q I }, F) on w is said to be successful if q 0 = q I and Inf(r) F. Thus, a Müller automaton accepts a word w if the infinity set of the unique run of A on w belongs to F. Definition 54. A language L Σ ω is said to be Müller recognizable if there exists a Müller automaton A such that L = L(A). We illustrate the above definitions with an example. Example 55. Consider the Müller automata represented in Figure 2.4. If a b b q 0 q 1 a Figure 2.4 we have F = {{q 0 }}, then that means that successful runs visit q 0 infinitely often and q 1 finitely often. Since every occurrence of a leads to q 0, and every b leads to q 1, it follows that the language of this automaton is the set of strings with finitely many b s. If instead we have F = {{q 1 }}, we get the set of strings with finitely many a s. Finally, if F = {{q 0 }, {q 1 }}, this describes the language of strings having either finitely many a s or finitely many b s. We remark that the previous example shows that there are languages which are recognized by Müller automata but not by deterministic Büchi automata. The following two theorems further clarify the relationship between the sets of Büchi and Müller recognizable languages. Theorem 56. Every Müller recognizable language is Büchi recognizable. Proof. Let L be a Müller recognizable language, and let A = (Q,Σ,T, {q I }, F) be a Müller automaton with L = L(A). We remark that L = S F L S

27 2.6. MÜLLER AUTOMATA 21 where L S is the language recognized by A S = (Q,Σ,T, {q I }, {S}). Since Büchi recognizable languages are closed under union (Theorem 45), it suffices to show that every L S is Büchi recognizable. So consider some A S = (Q,Σ,T, {q I }, {S}). The idea is as follows: our Büchi automaton will simulate A S, then at some point, it will nondeterministically switch into a new mode in which it simulates A S and keeps track of the states in S which are being visited. Intuitively, the switch to a new mode marks the point at which all of the future states in the run must belong to S, and we need to keep track of the states visited in order to ensure that all of the states in S are visited infinitely often. Now whenever the set of states we are keeping track of is equal to S, we reset the set of states to, and continue as before. If at any point we encounter a state that is not in S, there will be no possible transitions (so we reject the word), and if we reset the set of states infinintely often to, then we accept. Formally, we construct a Büchi automaton A = {Q,Σ,T, {q I },F) as follows: Q = Q {(q,u) q S,U S} T is composed of the tuples: (q,σ,r), where T(q,σ) = r (q,σ,(r, )), where T(q,σ) = r ((q,u),σ,(r, )), where T(q,σ) = r, U = S ((q,u),σ,(r,v )), where T(q,σ) = r, U S, and V = U {r} F = {(q, ) q S} We want to show L(A ) = L S. For the first direction, suppose that w L(A ). Then there is some run r of A on w starting from q I such that some state (q, ) appears infinitely often in r. Now consider the sequence of states s which is defined by s(i) = q when either r(i) = q or r(i) = (q,u) for some U. It is not hard to see that s is a run of A S on w from q I. Moreover, s can contain only finitely many occurrences of states outside S, otherwise r could not be a run of A. Finally, since the state (q, ) occurs infinitely often in r, it must be the case that every state in S occurs infinitely often in s. So s is a successful run of A S on w, so w L(A S ). For the second direction, suppose that w L(A S ). Let r = q 0 q 1 q 2... be the successful run of A S on w. Then q 0 = q I and Inf(r) = S. Let j 1 be such that q i S for all i j. Now define a sequence s of states of Q inductively as follows: s(i) = q i for i < j, s(j) = (q j, ), and for i > j, s(i) = (q i,u {q i }) if s(i) = (q i 1,U) and U S, and s(i) = (q i, )

28 22 CHAPTER 2. AUTOMATA ON INFINITE WORDS otherwise. It is not hard to show that s is a run of A on w from q I. Moreover, since Inf(r) = S, each state in S appears infinitely often as the first component of a state in s, and so there will be infinitely many states in s with as their second component, i.e. Inf(s) F. This means w is accepted by A. Later in the chapter, we will see that the converse of Theorem 56 also holds, i.e. every Büchi recognizable language is also Müller recognizable. For now, we prove the following much easier result relating deterministic Büchi automata to Müller automata. Theorem 57. Every language which is recognized by a deterministic Büchi automaton is recognized by some Müller automaton. Proof. Consider some deterministic Büchi automaton A = (Q,Σ,T, {q I },F). We construct the Müller automaton A = (Q,Σ,T, {q I }, F) as follows: T (q,σ) = q if (q,σ,q ) T F = {S Q S F } Note that the definition of T is well-defined, since there can be at most one tuple of the form (q,σ,q ) in T. It can be easily verified that A and A accept the same language. We end this section with some closure properties of Müller automata. Theorem 58. The set of Müller recognizable languages is closed under complementation, union, and intersection. Proof. For complementation, consider some Müller recognizable language L, and let A = (Q,Σ,T, {q I }, F) be a Müller automaton with L = L(A). Now consider the Müller automaton A = (Q,Σ,T, {q I },2 Q \ F). A word α is in L if and only if Inf(r) F for the unique run of A on α from q I if and only if Inf(r) 2 Q \ F if and only if A does not accept α. Thus, L(A ) = Σ ω \L. For union, consider Müller recognizable languages L 1 and L 2, and Müller automata A = {Q 1,Σ,T 1, {q I,1 }, F 1 } and A = {Q 2,Σ,T 2, {q I,2 }, F 2 } such that L 1 = L(A 1 ) and L 2 = L(A 2 ). We construct our new Müller automaton A = {Q 3,Σ,T 3, {q I,3 }, F 3 } as follows: Q 3 = Q 1 Q 2 T 3 ((q 1,q 2 ),σ) = (q 3,q 4 ) where T(q 1,σ) = q 3 and T(q 2,σ) = q 4

29 2.7. RABIN AUTOMATA 23 q I3 = (q I,1,q I,2 ) F contains all sets {(q 1,q 1 ),...,(q n,q n)} such that {q 1,...,q n } F 1 or {q 1,...,q n} F 2 It is straightforward to show that either L(A 3 ) = L(A 1 ) L(A 2 ) = L 1 L 2. For intersection, we simply note that L 1 L 2 = (L 1 L 2 ) so closure under intersection follows directly from closure under union and complementation. 2.7 Rabin Automata In this section, we introduce Rabin automata, which are another type of deterministic automata on infinite words. Definition 59. A Rabin automaton is a quintuple A = (Q,Σ,T, {q I },Ω) where: Q is a finite non-empty set of states Σ is an alphabet, i.e. a finite non-empty set of symbols T : Q Σ Q is the transition function q I is the initial state Ω = {(E 1,F 1 ),...,(E k,f k )} is the set of accepting pairs Intuitively, each accepting pair (E i,f i ) in a Rabin automaton specifies a set E i of states we want to avoid visiting infinitely often and a set F i of states we would like to visit infinitely often. This yields the following notion of a successful run. Definition 60. A run r = q 0 q 1 q 2... of a Rabin automaton A = (Q,Σ,T, {q I },Ω) on w is said to be successful if q 0 = q I and for some (E i,f i ) Ω we have Inf(r) F i and Inf(r) E i =. Thus, a Rabin automaton accepts a word w if for some accepting pair (E i,f i ) the unique run of A visits infinitely often some state in F i and finitely often every state in E i.

30 24 CHAPTER 2. AUTOMATA ON INFINITE WORDS a b b q 0 q 1 a Figure 2.5 Example 61. Consider the Rabin automata presented in Figure 2.5. If the set Ω contains a single accepting pair ({q 1 }, {q 0 }), then every successful run visits q 0 infinitely often and q 1 only finitely often. It follows that the language accepted by the automaton is the set of strings with finitely many b s. If instead Ω has a single pair ({q 0 }, {q 1 }), we get the set of strings with finitely many a s. Finally, if F = {, {q 1 }}, we obtain the language of strings having an infinite number of b s. We can show that Müller and Rabin automata recognize the same set of ω-languages. Theorem 62. Every language which is recognized by a Rabin automaton is recognized by some Müller automaton. Proof. Let A = (Q,Σ,T, {q I },Ω) be some Rabin automaton. Then it is easy to see that the Müller automaton A = (Q,Σ,T, {q I }, F) with F = {S Q S E i = and S F i for some (E i,f i ) Ω) accepts exactly the same inputs as A. Corollary 63. Every language which is recognized by a Rabin automaton is recognized by some Büchi automaton. Proof. Direct consequence of Theorems 56 and 62. Theorem 64. Every language which is recognized by some Müller automaton is recognized by some Rabin automaton. Proof. Let L = L(A) for some Müller automaton A = (Q,Σ,T, {q I }, F), where F = {S 1,...,S n }. The basic idea is to simulate this automaton, while keeping track of the subset of each S i which has been visited. When we have seen all elements in S i, we empty that set of states, and start

31 2.8. STREETT AUTOMATA 25 again from. We accept an input if for some i, the ith set of states is reset infinitely often and the elements outside S i are visited only finitely often. Formally, we create the Rabin automaton A = {Q,Σ,T, {q I },Ω) where: Q = {(U 1,...,U n,q) U i S i,q Q} T ((U 1,...,U n,q),σ) = (U 1,...,U n,q ) where T(q,σ) = q U i = if U i = S i, and U i = (U i {q }) S i otherwise q I = (,...,,q I) Ω = {(E 1,F 1 ),...,(E n,f n )} where: E i = {(U 1,...,U n,q) q S i } F i = {(U 1,...,U n,q) U i = S i } For the first direction, suppose w L(A), and let r be the successful run of A on w. Then we must have Inf(r) = S i for some 1 i n. Now let r be the run of A on w from q I. Now since Inf(r) = S i, it follows that U i = infinitely often during the run r, so Inf(r ) F i. Also, we know that the states outside S i appear only finitely often in r, and hence only finitely often as a last component of states in r, so Inf(r ) E i =. It follows that w is accepted by A. The second direction of the proof is left as an exercise. Using Theorems 62 and 64, we obtain the following closure properties. Corollary 65. The set of languages recognized by Rabin automata is closed under union, intersection, and complementation. Proof. Theorems 62 and 64 tell us that the set of languages recognizable by Rabin automata is precisely the set of Müller recognizable languages. Since the set of Müller recognizable languages is known to be closed under union, intersection, and complementation (Theorem 58), it follows the same must be true for the set of languages recognized by Rabin automata. 2.8 Streett Automata We introduce another variety of deterministic automata on infinite words. Definition 66. A Streett automaton is a quintuple A = (Q,Σ,T, {q I },Ω) where:

32 26 CHAPTER 2. AUTOMATA ON INFINITE WORDS Q is a finite non-empty set of states Σ is an alphabet, i.e. a finite non-empty set of symbols T : Q Σ Q is the transition function q I is the initial state Ω = {(E 1,F 1 ),...,(E k,f k )} is the set of fairness conditions Formally, Streett automata are defined the same as Rabin automata, but we will use a different definition of successful run: Definition 67. A run r = q 0 q 1 q 2... of a Streett automaton A = (Q,Σ,T, {q I },Ω) on w is said to be successful if q 0 = q I and for every (E i,f i ) Ω we have either Inf(r) E i or Inf(r) F i =. Thus, a word w is accepted by a Streett automaton if for every fairness condition (E i,f i ) the unique run of A visits infinitely often some state in E i whenever it visits infinitely often some state in F i. Example 68. Consider the Streett automata presented in Figure 2.6. If a b b q 0 q 1 a Figure 2.6 the set Ω consists of the pair ({q 1 }, {q 0 }), then every successful run visits q 1 infinitely often or visits q 0 finitely often. Now the strings which visit q 1 infinitely often are those which contain infinitely many b s, and the strings which visit q 0 finitely often are those which contain finitely many a s (hence infinitely many b s). So the automaton accepts all strings with infinitely many b s. If Ω consists instead of the pair ({q 0 }, {q 1 }), we obtain the set of strings with infinitely many a s. Finally, if Ω = {(, {q 1 })}, then the infinity set of each successful run must either have a non-empty intersection with (impossible) or an empty intersection with {q 1 }, i.e. q 1 must be visited finitely often. So the language accepted is the set of infinite words with finitely many b s.

33 2.8. STREETT AUTOMATA 27 We now consider the relationship between Streett automata and Müller and Rabin automata. Theorem 69. Every language which is recognized by a Streett automaton is recognized by a Müller automaton. Proof. Suppose we are given a Streett automaton A = (Q,Σ,T, {q I },Ω). Then it can be easily verified that the Müller automaton A = (Q,Σ,T, {q I }, F) with F = {S Q S E i or S F i = for every (E i,f i ) Ω} gives the desired result. Theorem 70. Every language L whose complement is recognized by a Rabin automaton is recognized by some Streett automaton, and vice-versa. Proof. Suppose that L = L(A) for a Rabin automaton A = (Q,Σ,T, {q I },Ω). Then it can be straightforwardly verified that the Streett automaton A = (Q,Σ,T, {q I },Ω) accepts the language Σ ω \ L. Conversely, if L = L(A) for a Streett automaton A = (Q,Σ,T, {q I },Ω), then the Rabin automaton A = (Q,Σ,T, {q I },Ω) accepts the complement of L. Theorem 71. Müller, Rabin, and Streett automata recognize the same set of ω-languages. Proof. We have already shown in Theorems 62 and 64 that Müller and Rabin automata recognize the same set of ω-languages. We also know from Theorem 69 that every Streett recognizable language is Müller recognizable. Thus all that remains to be shown is that Müller recognizable languages are all Streett recognizable. So let us consider some language L = L(A) where A is a Müller automaton. By Theorem 58, there exists a Müller automaton A which recognizes Σ ω \ L. Then by Theorem 64 we can find a Rabin automaton A such that L(A ) = L(A ) = Σ ω \ L. Finally, by Theorem 70, we can construct a Streett automaton which recognizes Σ ω \L(A ) = L, which completes the proof. Corollary 72. The set of ω-languages which are recognized by Streett automata is closed under union, intersection, and complementation.

34 28 CHAPTER 2. AUTOMATA ON INFINITE WORDS 2.9 Determinization of Büchi Automata In this section, we prove an important result due to McNaughton which shows that every Büchi recognizable language is recognized by some Rabin automaton (and hence also by Müller and Streett automata). This result shows that in some sense nondeterministic Büchi automata can be determinized. For automata on finite words, we used the power set construction for constructing deterministic automata from nondeterministic ones. However, such a construction does not give the desired result for Büchi automata. For instance, consider the automaton A from Figure 2.2 which recognizes the set of infinite strings with only finitely many a s. Applying the power set construction to A yields the automaton A shown in Figure 2.7. We remark a b b {q 0 } {q 0,q 1 } a Figure 2.7. The automaton resulting from applying the power set construction to A from Figure 2.7. that A accepts the string w = babababa... since {q 0 }{q 0,q 1 }{q 0 }{q 0,q 1 }{q 0 }{q 0,q 1 }... is a successful run of A on w. However, the only run of A on w is q 0 q 0 q 0..., which is not successful as it does not visit the final state q 1. It follows that L(A ) L(A), which is not very surprising since we showed earlier in the chapter that no deterministic Büchi automata accepts L(A). Notice however that if we consider A as a Rabin automaton with a single accepting pair ({{q 0 }}, {{q 0,q 1 }}) then we would obtain automata which accept the desired language. One might then wonder whether the power set construction can always be used to construct an appropriate Rabin automaton. We will show that this is not the case. Consider the Büchi automaton in Figure 2.8. Then it can be shown that if the automaton resulting from the power set construction is viewed as a Rabin automaton, then no matter what set of accepting pairs we choose, the accepted language will not be the same as the language of the

35 2.9. DETERMINIZATION OF BÜCHI AUTOMATA 29 original automaton. This means the power set construction can not always be used to transform Büchi automata into equivalent Rabin automata. 1 q 0 q ,1 q 2 Figure 2.8 In the remainder of this section, we present a proof of McNaughton s theorem which is due to Safra. It provides a procedure for constructing a Rabin automaton which accepts the same language as a given Büchi automaton, which can be seen as a more sophisticated version of the power set construction. In Safra s construction, states in the new automaton are not sets of states (as in the power set construction), but rather trees of sets of states, known as Safra trees. Formally, a Safra tree over a set V of node names and a set Q of states is defined as an ordered tree in which the nodes belong to V, are each labelled with a non-empty subset of Q, and can possibly be marked with a special symbol!. Additionally, we require that Safra trees satisfy the following conditions: 1. If a node is labelled by S has children labelled with states S 1,...,S k, then n i=1 S i S. 2. Brother nodes (i.e. those nodes having the same parent) are labelled with disjoint sets of states. The first condition ensures that the states appearing in the label of a node appear as well in the label of the node s parent and also that at least one state in the node s label appears in none of the labels of its children. The second condition ensures that each state appearing in a node s label appears in the label of at most one of the node s children. We remark that these two conditions together imply that every Safra tree which is labelled with states from the set Q has at most Q nodes (this is easily proven by induction of tree height). We now present the details of Safra s construction. Consider some Büchi automaton A = (Q,Σ,T,I,F), and let V = {1,...,2 Q }. We construct a

36 30 CHAPTER 2. AUTOMATA ON INFINITE WORDS Rabin automaton A = (Q,Σ,T, {q I },Ω). We start by defining the transition function T. The result of applying T to a symbol σ and a Safra tree with nodes N is computed according to the following steps: Step 1 Remove mark! from all marked nodes. Step 2 For every node n with label S such that S F, we create a child n V \ N with label S F which is placed to the right of n s other children. Step 3 Apply the powerset construction to all node labels, i.e. replace a label S with the label {s s S such that (s,σ,s ) T }. Step 4 (horizontal merge) For every node n with label S, if s S belongs to some brother node to the left of n, delete s from n s label. Step 5 Remove all nodes with empty labels. Step 6 (vertical merge) For every node n whose label is contained in the union of its children s labels, remove all children of n (and their descendants) and mark n with!. The initial state q I of A is the Safra tree with an unmarked root node 1 with label I. The set Q of states consists of all Safra trees over V and Q which are reachable from q I. To complete our description of A, we need to specify the set of accepting pairs Ω. We set Ω = {(E v,f v ) v V } where: E v consists of all Safra trees which do not contain node v. F v consists of all Safra trees in which node v is marked by!. In order for the above definition of T to be well-defined, we must check that T actually maps every Safra tree and input symbol to another Safra tree. We remark that because of Step 5, every node has a non-empty label. Since any new child of a node n starts off with a subset of the n s label, and all other children are known to have labels contained in n s label, and we apply the same power set construction to all nodes in the tree, clearly any state present in a node s label at the end of Step 6 must appear in its parent node. Moreover, because of Step 6, we know that the states appearing in the labels of a node s children must be a proper subset of the node s own label. Finally, because of Step 4, labels of brother nodes must be disjoint. Thus, T always yields a new Safra tree. Before proving the correctness of Safra s construction, we illustrate the procedure step-by-step on an example.

### Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

### Automata and Languages

Automata and Languages Computational Models: An idealized mathematical model of a computer. A computational model may be accurate in some ways but not in others. We shall be defining increasingly powerful

### 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)

### Reading 13 : Finite State Automata and Regular Expressions

CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

CS5236 Advanced Automata Theory Frank Stephan Semester I, Academic Year 2012-2013 Advanced Automata Theory is a lecture which will first review the basics of formal languages and automata theory and then

### the lemma. Keep in mind the following facts about regular languages:

CPS 2: Discrete Mathematics Instructor: Bruce Maggs Assignment Due: Wednesday September 2, 27 A Tool for Proving Irregularity (25 points) When proving that a language isn t regular, a tool that is often

### Automata and Computability. Solutions to Exercises

Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata

### Theory of Computation

Theory of Computation For Computer Science & Information Technology By www.thegateacademy.com Syllabus Syllabus for Theory of Computation Regular Expressions and Finite Automata, Context-Free Grammar s

### On Winning Conditions of High Borel Complexity in Pushdown Games

Fundamenta Informaticae (2005) 1 22 1 IOS Press On Winning Conditions of High Borel Complexity in Pushdown Games Olivier Finkel Equipe de Logique Mathématique U.F.R. de Mathématiques, Université Paris

### Chapter 2. Finite Automata. 2.1 The Basic Model

Chapter 2 Finite Automata 2.1 The Basic Model Finite automata model very simple computational devices or processes. These devices have a constant amount of memory and process their input in an online manner.

### C H A P T E R Regular Expressions regular expression

7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun

### CS 341 Homework 9 Languages That Are and Are Not Regular

CS 341 Homework 9 Languages That Are and Are Not Regular 1. Show that the following are not regular. (a) L = {ww R : w {a, b}*} (b) L = {ww : w {a, b}*} (c) L = {ww' : w {a, b}*}, where w' stands for w

### Omega Automata: Minimization and Learning 1

Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular

### Automata and Formal Languages

Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,

### POWER SETS AND RELATIONS

POWER SETS AND RELATIONS L. MARIZZA A. BAILEY 1. The Power Set Now that we have defined sets as best we can, we can consider a sets of sets. If we were to assume nothing, except the existence of the empty

### Sets and Subsets. Countable and Uncountable

Sets and Subsets Countable and Uncountable Reading Appendix A Section A.6.8 Pages 788-792 BIG IDEAS Themes 1. There exist functions that cannot be computed in Java or any other computer language. 2. There

### Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

### MAT2400 Analysis I. A brief introduction to proofs, sets, and functions

MAT2400 Analysis I A brief introduction to proofs, sets, and functions In Analysis I there is a lot of manipulations with sets and functions. It is probably also the first course where you have to take

### Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

### Discrete Mathematics, Chapter 5: Induction and Recursion

Discrete Mathematics, Chapter 5: Induction and Recursion Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 5 1 / 20 Outline 1 Well-founded

### Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety

### Deterministic Finite Automata

1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function

### Finite Automata. Reading: Chapter 2

Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream

### Nondeterministic Finite Automata

Chapter, Part 2 Nondeterministic Finite Automata CSC527, Chapter, Part 2 c 202 Mitsunori Ogihara Fundamental set operations Let A and B be two languages. In addition to union and intersection, we consider

### Finite Automata. Reading: Chapter 2

Finite Automata Reading: Chapter 2 1 Finite Automata Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or

### CARDINALITY, COUNTABLE AND UNCOUNTABLE SETS PART ONE

CARDINALITY, COUNTABLE AND UNCOUNTABLE SETS PART ONE With the notion of bijection at hand, it is easy to formalize the idea that two finite sets have the same number of elements: we just need to verify

### Regular Languages and Finite Automata

Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

### Introduction to Automata Theory. Reading: Chapter 1

Introduction to Automata Theory Reading: Chapter 1 1 What is Automata Theory? Study of abstract computing devices, or machines Automaton = an abstract computing device Note: A device need not even be a

### Partitioning edge-coloured complete graphs into monochromatic cycles and paths

arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

### Sets and Cardinality Notes for C. F. Miller

Sets and Cardinality Notes for 620-111 C. F. Miller Semester 1, 2000 Abstract These lecture notes were compiled in the Department of Mathematics and Statistics in the University of Melbourne for the use

### ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,

### Full and Complete Binary Trees

Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full

### Master s Thesis. One-Pass Strategies for Context-Free Games. Christian Cöster August 2015

Master s Thesis One-Pass Strategies for Context-Free Games Christian Cöster August 2015 Examiners: Prof. Dr. Thomas Schwentick Prof. Dr. Christoph Buchheim Technische Universität Dortmund Fakultät für

### Compiler Construction

Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation

### 1. Prove that the empty set is a subset of every set.

1. Prove that the empty set is a subset of every set. Basic Topology Written by Men-Gen Tsai email: b89902089@ntu.edu.tw Proof: For any element x of the empty set, x is also an element of every set since

### GROUPS SUBGROUPS. Definition 1: An operation on a set G is a function : G G G.

Definition 1: GROUPS An operation on a set G is a function : G G G. Definition 2: A group is a set G which is equipped with an operation and a special element e G, called the identity, such that (i) the

### (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

### Sets and functions. {x R : x > 0}.

Sets and functions 1 Sets The language of sets and functions pervades mathematics, and most of the important operations in mathematics turn out to be functions or to be expressible in terms of functions.

### CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

### Fundamentele Informatica II

Fundamentele Informatica II Answer to selected exercises 1 John C Martin: Introduction to Languages and the Theory of Computation M.M. Bonsangue (and J. Kleijn) Fall 2011 Let L be a language. It is clear

### Finite Sets. Theorem 5.1. Two non-empty finite sets have the same cardinality if and only if they are equivalent.

MATH 337 Cardinality Dr. Neal, WKU We now shall prove that the rational numbers are a countable set while R is uncountable. This result shows that there are two different magnitudes of infinity. But we

### I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

### Mathematical Induction

Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

### CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013

CMPSCI 250: Introduction to Computation Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 Regular Expressions and Their Languages Alphabets, Strings and Languages

### 1 Introduction to Counting

1 Introduction to Counting 1.1 Introduction In this chapter you will learn the fundamentals of enumerative combinatorics, the branch of mathematics concerned with counting. While enumeration problems can

### Lecture 17 : Equivalence and Order Relations DRAFT

CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

### 3. Equivalence Relations. Discussion

3. EQUIVALENCE RELATIONS 33 3. Equivalence Relations 3.1. Definition of an Equivalence Relations. Definition 3.1.1. A relation R on a set A is an equivalence relation if and only if R is reflexive, symmetric,

### Turing Machines: An Introduction

CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,

### This chapter describes set theory, a mathematical theory that underlies all of modern mathematics.

Appendix A Set Theory This chapter describes set theory, a mathematical theory that underlies all of modern mathematics. A.1 Basic Definitions Definition A.1.1. A set is an unordered collection of elements.

Some Definitions about Sets Definition: Two sets are equal if they contain the same elements. I.e., sets A and B are equal if x[x A x B]. Notation: A = B. Recall: Sets are unordered and we do not distinguish

### Finite Automata and Regular Languages

CHAPTER 3 Finite Automata and Regular Languages 3. Introduction 3.. States and Automata A finite-state machine or finite automaton (the noun comes from the Greek; the singular is automaton, the Greek-derived

### A set is a Many that allows itself to be thought of as a One. (Georg Cantor)

Chapter 4 Set Theory A set is a Many that allows itself to be thought of as a One. (Georg Cantor) In the previous chapters, we have often encountered sets, for example, prime numbers form a set, domains

### (Refer Slide Time: 1:41)

Discrete Mathematical Structures Dr. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture # 10 Sets Today we shall learn about sets. You must

### Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS

Homework MA 725 Spring, 2012 C. Huneke SELECTED ANSWERS 1.1.25 Prove that the Petersen graph has no cycle of length 7. Solution: There are 10 vertices in the Petersen graph G. Assume there is a cycle C

### TREES IN SET THEORY SPENCER UNGER

TREES IN SET THEORY SPENCER UNGER 1. Introduction Although I was unaware of it while writing the first two talks, my talks in the graduate student seminar have formed a coherent series. This talk can be

### Chapter 1. Sigma-Algebras. 1.1 Definition

Chapter 1 Sigma-Algebras 1.1 Definition Consider a set X. A σ algebra F of subsets of X is a collection F of subsets of X satisfying the following conditions: (a) F (b) if B F then its complement B c is

### We give a basic overview of the mathematical background required for this course.

1 Background We give a basic overview of the mathematical background required for this course. 1.1 Set Theory We introduce some concepts from naive set theory (as opposed to axiomatic set theory). The

### Scanner. tokens scanner parser IR. source code. errors

Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme

### R u t c o r Research R e p o r t. Boolean functions with a simple certificate for CNF complexity. Ondřej Čepeka Petr Kučera b Petr Savický c

R u t c o r Research R e p o r t Boolean functions with a simple certificate for CNF complexity Ondřej Čepeka Petr Kučera b Petr Savický c RRR 2-2010, January 24, 2010 RUTCOR Rutgers Center for Operations

### Course 221: Analysis Academic year , First Semester

Course 221: Analysis Academic year 2007-08, First Semester David R. Wilkins Copyright c David R. Wilkins 1989 2007 Contents 1 Basic Theorems of Real Analysis 1 1.1 The Least Upper Bound Principle................

### This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.

3. Axioms of Set theory Before presenting the axioms of set theory, we first make a few basic comments about the relevant first order logic. We will give a somewhat more detailed discussion later, but

### Relations Graphical View

Relations Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Introduction Recall that a relation between elements of two sets is a subset of their Cartesian product (of ordered pairs). A binary

### Math 421, Homework #5 Solutions

Math 421, Homework #5 Solutions (1) (8.3.6) Suppose that E R n and C is a subset of E. (a) Prove that if E is closed, then C is relatively closed in E if and only if C is a closed set (as defined in Definition

### Properties of Regular Languages

Properties of Regular Languages SITE : http://www.info.blois.univ-tours.fr/ mirian/ Automata Theory, Languages and Computation - Mírian Halfeld-Ferrari p. 1/3 Algebraic Laws for Regular Expressions Two

### Timed Automata. Jennifer Nist. Chair of Software Engineering Albert-Ludwigs Universität Freiburg

Seminar: Automata Theory Timed Automata Jennifer Nist 11 th February 2016 Chair of Software Engineering Albert-Ludwigs Universität Freiburg Jennifer Nist Timed Automata 11 th February 2016 1 / 28 Outline

### Lecture I FINITE AUTOMATA

1. Regular Sets and DFA Lecture I Page 1 Lecture I FINITE AUTOMATA Lecture 1: Honors Theory, Spring 02, Yap We introduce finite automata (deterministic and nondeterministic) and regular languages. Some

### Sets, Relations and Functions

Sets, Relations and Functions Eric Pacuit Department of Philosophy University of Maryland, College Park pacuit.org epacuit@umd.edu ugust 26, 2014 These notes provide a very brief background in discrete

### Math 3000 Running Glossary

Math 3000 Running Glossary Last Updated on: July 15, 2014 The definition of items marked with a must be known precisely. Chapter 1: 1. A set: A collection of objects called elements. 2. The empty set (

### Topology and Convergence by: Daniel Glasscock, May 2012

Topology and Convergence by: Daniel Glasscock, May 2012 These notes grew out of a talk I gave at The Ohio State University. The primary reference is [1]. A possible error in the proof of Theorem 1 in [1]

### INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

### 1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

### The Common Fragment of ACTL and LTL

The Common Fragment of ACTL and LTL Miko laj Bojańczyk Warsaw University Abstract. The paper explores the relationship between tree languages definable in LTL, CTL, and ACTL, the fragment of CTL where

### On Recognizable Timed Languages FOSSACS 2004

On Recognizable Timed Languages Oded Maler VERIMAG Grenoble France Amir Pnueli NYU and Weizmann New York and Rehovot USA FOSSACS 2004 Nutrition Facts Classical (Untimed) Recognizability Timed Languages

### The Halting Problem is Undecidable

185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine

### THE BANACH CONTRACTION PRINCIPLE. Contents

THE BANACH CONTRACTION PRINCIPLE ALEX PONIECKI Abstract. This paper will study contractions of metric spaces. To do this, we will mainly use tools from topology. We will give some examples of contractions,

### Graph Theory Notes. Vadim Lozin. Institute of Mathematics University of Warwick

Graph Theory Notes Vadim Lozin Institute of Mathematics University of Warwick 1 Introduction A graph G = (V, E) consists of two sets V and E. The elements of V are called the vertices and the elements

### Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along

### PROBLEM SET 7: PIGEON HOLE PRINCIPLE

PROBLEM SET 7: PIGEON HOLE PRINCIPLE The pigeonhole principle is the following observation: Theorem. Suppose that > kn marbles are distributed over n jars, then one jar will contain at least k + marbles.

### Homework Three Solution CSE 355

Homework Three Solution CSE 355 Due: 06 March 2012 Please note that there is more than one way to answer most of these questions. The following only represents a sample solution. Problem 1: Linz 4.1.13

### Please note that there is more than one way to answer most of these questions. The following only represents a sample solution.

HOMEWORK THREE SOLUTION CSE 355 DUE: 10 MARCH 2011 Please note that there is more than one way to answer most of these questions. The following only represents a sample solution. (1) 2.4 and 2.5 (b),(c),(e),(f):

### Course 421: Algebraic Topology Section 1: Topological Spaces

Course 421: Algebraic Topology Section 1: Topological Spaces David R. Wilkins Copyright c David R. Wilkins 1988 2008 Contents 1 Topological Spaces 1 1.1 Continuity and Topological Spaces...............

### 6.2 Permutations continued

6.2 Permutations continued Theorem A permutation on a finite set A is either a cycle or can be expressed as a product (composition of disjoint cycles. Proof is by (strong induction on the number, r, of

### CSE 135: Introduction to Theory of Computation Decidability and Recognizability

CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing

### Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,

### Sets. A set is a collection of (mathematical) objects, with the collection treated as a single mathematical object.

Sets 1 Sets Informally: A set is a collection of (mathematical) objects, with the collection treated as a single mathematical object. Examples: real numbers, complex numbers, C integers, All students in

### Domain Theory: An Introduction

Domain Theory: An Introduction Robert Cartwright Rebecca Parsons Rice University This monograph is an unauthorized revision of Lectures On A Mathematical Theory of Computation by Dana Scott [3]. Scott

### Axiom A.1. Lines, planes and space are sets of points. Space contains all points.

73 Appendix A.1 Basic Notions We take the terms point, line, plane, and space as undefined. We also use the concept of a set and a subset, belongs to or is an element of a set. In a formal axiomatic approach

### Chapter 2 Limits Functions and Sequences sequence sequence Example

Chapter Limits In the net few chapters we shall investigate several concepts from calculus, all of which are based on the notion of a limit. In the normal sequence of mathematics courses that students

### Theorem (The division theorem) Suppose that a and b are integers with b > 0. There exist unique integers q and r so that. a = bq + r and 0 r < b.

Theorem (The division theorem) Suppose that a and b are integers with b > 0. There exist unique integers q and r so that a = bq + r and 0 r < b. We re dividing a by b: q is the quotient and r is the remainder,

### 13 Infinite Sets. 13.1 Injections, Surjections, and Bijections. mcs-ftl 2010/9/8 0:40 page 379 #385

mcs-ftl 2010/9/8 0:40 page 379 #385 13 Infinite Sets So you might be wondering how much is there to say about an infinite set other than, well, it has an infinite number of elements. Of course, an infinite

### 2.1.1 Examples of Sets and their Elements

Chapter 2 Set Theory 2.1 Sets The most basic object in Mathematics is called a set. As rudimentary as it is, the exact, formal definition of a set is highly complex. For our purposes, we will simply define

### Random Union, Intersection and Membership

Random Union, Intersection and Membership Douglas Cenzer Department of Mathematics University of Florida June 2009 Logic, Computability and Randomness Luminy, Marseille, France Random Reals Introduction

### Automata and Rational Numbers

Automata and Rational Numbers Jeffrey Shallit School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1 Canada shallit@cs.uwaterloo.ca http://www.cs.uwaterloo.ca/~shallit 1/40 Representations

### 4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in

### k, then n = p2α 1 1 pα k

Powers of Integers An integer n is a perfect square if n = m for some integer m. Taking into account the prime factorization, if m = p α 1 1 pα k k, then n = pα 1 1 p α k k. That is, n is a perfect square

### THIN GROUPS OF FRACTIONS

Contemporary Mathematics THIN GROUPS OF FRACTIONS Patrick DEHORNOY Abstract. A number of properties of spherical Artin Tits groups extend to Garside groups, defined as the groups of fractions of monoids

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,