Introduction to computability Tutorial 7 Context free languages and Turing machines November 6 th 2014
Context-free languages 1. Show that the following languages are not context-free: a) L ta i b j a k j maxpi, kqu; b) L tw w w P t0, 1u u where w is the complement of w, that is, the word w where every 1 is replaced by a 0 and every 0 is replaced by a 1.
Useful techniques for proving that a language is not context free Strong version of the pumping lemma: Let L be a context-free language. Then there exists, a constant K such that for any word w P L satisfying w ě K can be written w uvxyz with v or y ε, vxy ď K and uv n xy n z P L for all ně0 Prove that the intersection of the language L with a regular language L R is not context-free. This implies that L is not context-free.
Turing machines 2. Let M pq, Γ, Σ, δ, q 0, 7, Hq be a Turing machine where Q tq 0, q 1, q 2, q 3 u, Γ ta, b, A, B, A 1, B 1 u, Σ ta, bu and δ contains the following transitions: pq 0, aq Ñ pq 1, A 1, Rq pq 1, #q Ñ pq 2, A, Lq pq 2, B 1 q Ñ pq 0, B, Rq pq 0, bq Ñ pq 3, B 1, Rq pq 2, aq Ñ pq 2, a, Lq pq 3, aq Ñ pq 3, a, Rq pq 1, aq Ñ pq 1, a, Rq pq 2, bq Ñ pq 2, b, Lq pq 3, bq Ñ pq 3, b, Rq pq 1, bq Ñ pq 1, b, Rq pq 2, Aq Ñ pq 2, A, Lq pq 3, Aq Ñ pq 3, A, Rq pq 1, Aq Ñ pq 1, A, Rq pq 2, Bq Ñ pq 2, B, Lq pq 3, Bq Ñ pq 3, B, Rq pq 1, Bq Ñ pq 1, B, Rq pq 2, A 1 q Ñ pq 0, A, Rq pq 3, #q Ñ pq 2, B, Lq a) What is on the tape after an execution of M on the word abab? b) Describe what the Turing machine M does on a word w P ta, bu.
$ q 0. abab#####
$ q 0. abab#####
$ q 0. abab#####
$ q 0. abab##### $ q 1. A 1 bab#####
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba####
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba####
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA####
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba####
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba####
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. ABAbABA## $ q 0. AbabA#### $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. ABAbABA## $ q 0. AbabA#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. ABAbABA## $ q 0. AbabA#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. ABAbABA## $ q 0. AbabA#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 2. ABAB 1 ABAB# $ q 2. AB 1 abab### $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. ABAbABA## $ q 0. AbabA#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 2. ABAB 1 ABAB# $ q 2. AB 1 abab### $ q 2. ABAB 1 ABAB# $ q 2. AB 1 abab###
$ q 0. abab##### $ q 0. ABabAB### $ q 1. ABA 1 bab### $ q 1. ABA 1 bab### $ q 1. A 1 bab##### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 2. ABA 1 baba## $ q 2. A 1 baba#### $ q 0. ABAbABA## $ q 0. AbabA#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 3. ABAB 1 ABA## $ q 3. AB 1 aba#### $ q 2. ABAB 1 ABAB# $ q 2. AB 1 abab### $ q 2. ABAB 1 ABAB# $ q 2. AB 1 abab### $ q 0. ABABABAB#
Turing machines 2. Let M pq, Γ, Σ, δ, q 0, 7, Hq be a Turing machine where Q tq 0, q 1, q 2, q 3 u, Γ ta, b, A, B, A 1, B 1 u, Σ ta, bu and δ contains the following transitions: pq 0, aq Ñ pq 1, A 1, Rq pq 1, #q Ñ pq 2, A, Lq pq 2, B 1 q Ñ pq 0, B, Rq pq 0, bq Ñ pq 3, B 1, Rq pq 2, aq Ñ pq 2, a, Lq pq 3, aq Ñ pq 3, a, Rq pq 1, aq Ñ pq 1, a, Rq pq 2, bq Ñ pq 2, b, Lq pq 3, bq Ñ pq 3, b, Rq pq 1, bq Ñ pq 1, b, Rq pq 2, Aq Ñ pq 2, A, Lq pq 3, Aq Ñ pq 3, A, Rq pq 1, Aq Ñ pq 1, A, Rq pq 2, Bq Ñ pq 2, B, Lq pq 3, Bq Ñ pq 3, B, Rq pq 1, Bq Ñ pq 1, B, Rq pq 2, A 1 q Ñ pq 0, A, Rq pq 3, #q Ñ pq 2, B, Lq a) What is on the tape after an execution of M on the word abab? b) Describe what the Turing machine M does on a word w P ta, bu.
3. For each of the following languages, give a Turing machine that decides the language: a) ta n b n c n n ě 0u; b) ta n b n c m n ď m ă 2nu.
3. For each of the following languages, give a Turing machine that decides the language: a) ta n b n c n n ě 0u; b) ta n b n c m n ď m ă 2nu. 4. Give a Turing machine that for the following initial configuration ps 0, ε, $1 n 01 m $q terminates for any natural numbers n and m with the configuration pq f, ε, $1 n`m $q where s 0 is an initial and q f an accepting state of the machine.
5. One can define Turing machines that have the possibility to write a symbol without moving the read head. Such a Turing machine is thus a septuple M pq, Γ, Σ, δ, s, B, F q where Q, Γ, Σ, s, B and F have the usual meaning and where δ : Q ˆ Γ Ñ Q ˆ Γ ˆ tl, R, Su (S meaning "stay in the same place"). a) Define the derivation relation "$ M " (in one step) for these Turing machines. b) Show that this extension of the Turing machines does not change the class of recognized languages.