====== 8. Proving languages are not regular ====== ** Pumping Lemma ** Let L be an infinite regular language. Then, for $\forall w \in L$, $\exists n \in \mathbf{N}$, $ |w| \ge n $, $ w = xyz $, $ |xy| \le n $ and $ y \neq \varepsilon $, such that $ \forall k \ge 0, w_{k} = xy^{k}z \in L$. ** Complement of Pumping Lemma ** Let L be an infinite language. If $\forall n \in \mathbf{N}$, $\exists w_{n} \in L $ with $ |w| \ge n $ such that regardless of how $ w_{n} $ is split into $ w_{n} = xyz $ with $ |xy| \le n $ and $ y \neq \varepsilon $, $\exists k \ge 0 $ such that $ w_{n} = xy^{k}z \notin L $, then L in **not** a regular language. ===== 8.1. The pumping lemma ===== **8.1.1.** Show that the pumping lemma holds for finite languages. Let L be a finite language. Pick $ n \gt max_{w \in L} |w| $ => $ \nexists w \in L $ with $ |w| \ge n $ => Pumping Lemma holds **8.1.2.*** Find a language which is not regular for which the pumping lemma holds. ===== 8.2. Languages which are not regular ===== Show that each of the languages from the list below is not regular. **8.2.1.** $ L = \{ \: A^n B^m \: | \: 0 \leq n \leq m \: \} $ For a fixed n, pick a word $ w_n \in L $ and $ w_n = xyz $: $ w_n = A^nB^{n+1} $ $ x = A^a $ $ y = A^b, b \ge 1 $ $ z = A^{n-b-a}B^{n+1} $ Find k such that $ xy^kz \notin L $: $ w_k = A^{a+b*k+n-b-a}B^{n+1} = A^{n+(k-1)b}B^{n+1} $ Pick k = 3 => $ w_3 = A^{n+2b}B^{n+1} \notin L $ because $ b \ge 1 $ => Complement of Pumping Lemma holds => L is not a regular language **8.2.2.** $ L = \{ \: w \in \{A,B\}^* \: | \: \#_A(w) = \#_B(w) \: \} $ For a fixed n, pick a word $ w_n \in L $ and $ w_n = xyz $: $ w_n = A^nB^n $ $ x = A^a $ $ y = A^b, b \ge 1 $ $ z = A^{n-b-a}B^n $ Find k such that $ xy^kz \notin L $: $ w_k = A^{a+b*k+n-b-a}B^n = A^{n+(k-1)b}B^n $ Pick k = 2 => $ w_2 = A^{n+b}B^n \notin L $ because $ b \ge 1 $ => Complement of Pumping Lemma holds => L is not a regular language **8.2.3.** $math[L = \{(01)^n(10)^n \mid n > 0 \} ] $ w_n = (01)^n(10)^n $ ** Case 1:** $ x = (01)^a $ $ y = (01)^b, b \ge 1 $ $ z = (01)^{n-b-a}(10)^n $ Pick k = 2 => $ w_2 = (01)^{n+b}(10)^n \notin L $ ** Case 2:** $ x = (01)^a $ $ y = (01)^b0, b \ge 0 $ $ z = 1(01)^{n-b-a-1}(10)^n $ $ w_k = (01)^a((01)^b0)^k1(01)^{n-b-a-1}(10)^n $ Pick k = 2 => $ w_2 = (01)^a(01)^b0(01)^b01(01)^{n-b-a-1}(10)^n \notin L $ because it has 2 conseccutive "0" **Case 3:** $ x = (01)^a0 $ $ y = 1(01)^b, b \ge 0 $ $ z = (01)^{n-b-a-1}(10)^n $ $ w_k = (01)^a0(1(01)^b)^k(01)^{n-b-a-1}(10)^n $ Pick k = 3 => $ w_3 = (01)^a01(01)^b1(01)^b1(01)^b(01)^{n-b-a-1}(10)^n $ * b = 0 => $ w_3 = (01)^a0111(01)^{n-b-a-1}(10)^n \notin L $ * b > 0 => $ w_3 = (01)^a01(01)^b1(01)^b1(01)^b(01)^{n-b-a-1}(10)^n \notin L $ because there are 2 sets of consecutive "1" **Case 4:** $ x = (01)^a0 $ $ y = 1(01)^b0, b \ge 0 $ $ z = 1(01)^{n-b-a-2}(10)^n $ $ w_k = (01)^a0(1(01)^b0)^k1(01)^{n-b-a-2}(10)^n $ Pick k = 0 => $ w_0 = (01)^a01(01)^{n-b-a-2}(10)^n = (01)^{n-b-1}(10)^n \notin L$ => Complement of Pumping Lemma holds => L is not a regular language **8.2.4.** $ L = \{ \: w \in \{A,B\}^* \: | \: \text{w is a palindrome} \: \} $ For a fixed n, pick a word $ w_n \in L $ and $ w_n = xyz $: $ w_n = A^nBA^n $ $ x = A^a $ $ y = A^b, b \ge 1 $ $ z = A^{n-b-a}BA^n $ Find k such that $ xy^kz \notin L $: Pick k = 2 => $ w_2 = A^{n+b}BA^n \notin L $ because $ b \ge 1 $ => Complement of Pumping Lemma holds => L is not a regular language **8.2.5.** $ L = \{ \: w \in \{0\}^* \: | \: \text{the length of w is a prime number} \: \} $ For a fixed n, pick a word $ w_n \in L $ and $ w_n = xyz $: $ w_n = 0^p, p \gt n $, p prime $ x = 0^a $ $ y = 0^b, b \ge 1 $ $ z = 0^{p-b-a} $ Find k such that $ xy^kz \notin L $: $ w_k = 0^{p+(k-1)b} $ Pick $ k = p+1 $ => $ w_{p+1} = 0^{p+cp} = 0^{(p+1)c} \notin L $ because $ (p+1)c $ is not a prime number => Complement of Pumping Lemma holds => L is not a regular language **8.2.6.** $ L = \{ \: w \in \{0\}^* \: | \: \text{the length of w is a power of two} \: \} $ For a fixed n, pick a word $ w_n \in L $ and $ w_n = xyz $: $ w_n = 0^{2^p}, 2^p \gt n $ $ x = 0^a $ $ y = 0^b, b \ge 1 $ $ |xy| \le n => |y| \lt n \lt 2^p => 0 < b < 2^p $ $ z = 0^{2^p-b-a} $ Find k such that $ xy^kz \notin L $: $ w_k = 0^{2^p+(k-1)b} $ Pick $ k = 2 $ => $ w_2 = 0^{2^p+b} \notin L $ because $ 2^p < 2^p + b < 2^p + 2^p = 2^{p+1} $ => Complement of Pumping Lemma holds => L is not a regular language **8.2.7.** $ L = \{ \: ww^R \: | \: w\in \{0,1\}^* \} $ For a fixed n, pick a word $ w_n \in L $ and $ w_n = xyz $: $ w_n = 0^n110^n $ $ x = 0^a $ $ y = 0^b, b \ge 1 $ $ z = 0^{n-a-b}10^n $ Find k such that $ xy^kz \notin L $: $ w_k = 0^{n+(k-1)b}110^n $ Pick $ k = 2 $ => $ w_2 = 0^{n+b}110^n \notin L $ because $ b \ge 1 $ => Complement of Pumping Lemma holds => L is not a regular language ===== 8.3. Combining the pumping lemma with closure properties ===== **8.3.1.** Using the pumping lemma, prove that $ L = \{ \: A^nB^m \: | \: n \neq m \}$ is not a regular language. Assume that L is a regular language. => $ L(A^*B^*) \backslash L = \{ \: A^nB^n \: | \: n \in \mathbf{N} \} $ is a regular language because set difference is a closure property. But we have previously proved that $ \{ \: A^nB^n \: | \: n \in \mathbf{N} \} $ is not regular. => Our assumtion was wrong => L is not a regular language. /* ====== Homework ====== **Exercise I** $ L = \{ \: w \in \{0\}^* \: | \: \text{|w| is a power of 2} \: \} $ **Exercise II** Show that $ \text{snd(L)}$ is a closure property for regular languages. $ \text{snd(L)} = \{ \: w \: | \: xw \in L \: \text{, for some x such that |x| = |w|} \: \}$ **Exercise III** Prove that $ L = \{ \: A^nB^mC^{n-m} \: | \: n \geq m \geq 0 \: \}$ is not a regular language without using isomorphisms. */