CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI...
Transcript of CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI...
![Page 1: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/1.jpg)
Ashutosh Trivedi – 1 of 14
CSCI 3434: Theory of ComputationLecture 5: Pumping Lemma
Ashutosh Trivedi
s1start s2 s3 s40, 1 0, 1
01
0, 1
Department of Computer ScienceUNIVERSITY OF COLORADO BOULDER
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 2: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/2.jpg)
Ashutosh Trivedi – 2 of 14
In-Class Exercise (Time: 10 mins)
Find a DFA for the following languages:– The set of strings having an equal number of 0’s and 1’s– The set of strings with an equal number of occurrences of 01 and 10.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 3: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/3.jpg)
Ashutosh Trivedi – 3 of 14
Some languages are not regular!
Let’s do mental computations again.– The language {0n1n : n ≥ 0}– The set of strings having an equal number of 0’s and 1’s– The language {ww : w ∈ {0, 1}∗}– The language {ww : w ∈ {0, 1}∗}– The language {0i1j : i > j}– The language {0i1j : i ≤ j}– The language of palindromes of {0, 1}
How do we prove that a language is not regular?
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 4: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/4.jpg)
Ashutosh Trivedi – 3 of 14
Some languages are not regular!
Let’s do mental computations again.– The language {0n1n : n ≥ 0}– The set of strings having an equal number of 0’s and 1’s– The language {ww : w ∈ {0, 1}∗}– The language {ww : w ∈ {0, 1}∗}– The language {0i1j : i > j}– The language {0i1j : i ≤ j}– The language of palindromes of {0, 1}
How do we prove that a language is not regular?
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 5: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/5.jpg)
Ashutosh Trivedi – 4 of 14
Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)For every regular language L there exists a constant p (that depends on L)
such thatfor every string w ∈ L of length greater than p,there exists an infinite family of strings belonging to L.
Why? Think: Regular expressions, DFAs Formalize our intuition!
If L is a regular language, thenthere exists a constant (pumping length) p such thatfor every string w ∈ L s.t. |w| ≥ pthere exists a division of w in strings x, y, and z s.t. w = xyz such that
1. |y| > 0,2. |xy| ≤ p, and3. for all i ≥ 0 we have that xyiz ∈ L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 6: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/6.jpg)
Ashutosh Trivedi – 4 of 14
Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)For every regular language L there exists a constant p (that depends on L)such thatfor every string w ∈ L of length greater than p,there exists an infinite family of strings belonging to L.
Why? Think: Regular expressions, DFAs Formalize our intuition!
If L is a regular language, thenthere exists a constant (pumping length) p such thatfor every string w ∈ L s.t. |w| ≥ pthere exists a division of w in strings x, y, and z s.t. w = xyz such that
1. |y| > 0,2. |xy| ≤ p, and3. for all i ≥ 0 we have that xyiz ∈ L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 7: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/7.jpg)
Ashutosh Trivedi – 4 of 14
Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)For every regular language L there exists a constant p (that depends on L)such thatfor every string w ∈ L of length greater than p,there exists an infinite family of strings belonging to L.
Why?
Think: Regular expressions, DFAs Formalize our intuition!
If L is a regular language, thenthere exists a constant (pumping length) p such thatfor every string w ∈ L s.t. |w| ≥ pthere exists a division of w in strings x, y, and z s.t. w = xyz such that
1. |y| > 0,2. |xy| ≤ p, and3. for all i ≥ 0 we have that xyiz ∈ L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 8: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/8.jpg)
Ashutosh Trivedi – 4 of 14
Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)For every regular language L there exists a constant p (that depends on L)such thatfor every string w ∈ L of length greater than p,there exists an infinite family of strings belonging to L.
Why? Think: Regular expressions, DFAs
Formalize our intuition!
If L is a regular language, thenthere exists a constant (pumping length) p such thatfor every string w ∈ L s.t. |w| ≥ pthere exists a division of w in strings x, y, and z s.t. w = xyz such that
1. |y| > 0,2. |xy| ≤ p, and3. for all i ≥ 0 we have that xyiz ∈ L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 9: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/9.jpg)
Ashutosh Trivedi – 4 of 14
Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)For every regular language L there exists a constant p (that depends on L)such thatfor every string w ∈ L of length greater than p,there exists an infinite family of strings belonging to L.
Why? Think: Regular expressions, DFAs Formalize our intuition!
If L is a regular language, thenthere exists a constant (pumping length) p such thatfor every string w ∈ L s.t. |w| ≥ pthere exists a division of w in strings x, y, and z s.t. w = xyz such that
1. |y| > 0,2. |xy| ≤ p, and3. for all i ≥ 0 we have that xyiz ∈ L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 10: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/10.jpg)
Ashutosh Trivedi – 4 of 14
Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)For every regular language L there exists a constant p (that depends on L)such thatfor every string w ∈ L of length greater than p,there exists an infinite family of strings belonging to L.
Why? Think: Regular expressions, DFAs Formalize our intuition!
If L is a regular language, thenthere exists a constant (pumping length) p such thatfor every string w ∈ L s.t. |w| ≥ pthere exists a division of w in strings x, y, and z s.t. w = xyz such that
1. |y| > 0,2. |xy| ≤ p, and3. for all i ≥ 0 we have that xyiz ∈ L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 11: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/11.jpg)
Ashutosh Trivedi – 5 of 14
A simple observation about DFA
Estart O
01
0
1
computation
Estart
E
O
E
string
.
.
.
.
0
1
0
computation
Estart
E
E
O
string
.
.
.
.
0
0
1
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 12: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/12.jpg)
Ashutosh Trivedi – 6 of 14
A simple observation about DFA
Image source: Wikipedia
– Let A = (S,Σ, δ, s0,F) be a DFA.– For every string w ∈ Σ∗ of the length greater than or equal to the
number of states of A, i.e. |w| ≥ |S|, we have that– the unique computation of A on w re-visits at least one state.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 13: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/13.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 14: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/14.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.
– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 15: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/15.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 16: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/16.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 17: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/17.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 18: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/18.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.
– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 19: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/19.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n
– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 20: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/20.jpg)
Ashutosh Trivedi – 7 of 14
Pumping Lemma: Proof
Theorem (Pumping Lemma for Regular Languages)If L is a regular language, then there exists a constant p such that for every stringw ∈ L s.t. |w| ≥ p there exists a division of w in strings x, y, and z s.t. w = xyzsuch that |y| > 0, |xy| ≤ p, and for all i ≥ 0 we have that xyiz ∈ L.
Proof.– Let A be the DFA accepting L and p be the set of states in A.– Let w = (a1a2 . . . ak) ∈ L be any string of length ≥ p.
– Let s0a1−→ s1
a2−→ s2 . . .ak−→ sk be the run of w on A.
– Let i be the index of first state that the run revisits and let j be theindex of second occurrence of that state, i.e. si = sj,
– Let x = a1a2 . . . ai and y = ai+1 . . . aj, and z = aj+1 . . . ak.– notice that |y| > 0 and |xy| ≤ n– Also, notice that for all i ≥ 0 the string xyiz is also in L.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 21: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/21.jpg)
Ashutosh Trivedi – 8 of 14
Applying Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)L ∈ Σ∗ is a regular language=⇒
there exists p ≥ 1 such thatfor all strings w ∈ L with |w| ≥ p we have thatthere exists x, y, z ∈ Σ∗ with w = xyz, |y| > 0, |xy| ≤ p such thatfor all i ≥ 0 we have thatxyiz ∈ L.
Pumping Lemma (Contrapositive)For all p ≥ 1 we have thatthere exists a string w ∈ L with |w| ≥ p such thatfor all x, y, z ∈ Σ∗ with w = xyz, |y| > 0, |xy| ≤ p we have thatthere exists i ≥ 0 such thatxyiz 6∈ L=⇒
L ∈ Σ∗ is not a regular language.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 22: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/22.jpg)
Ashutosh Trivedi – 8 of 14
Applying Pumping Lemma
Theorem (Pumping Lemma for Regular Languages)L ∈ Σ∗ is a regular language=⇒
there exists p ≥ 1 such thatfor all strings w ∈ L with |w| ≥ p we have thatthere exists x, y, z ∈ Σ∗ with w = xyz, |y| > 0, |xy| ≤ p such thatfor all i ≥ 0 we have thatxyiz ∈ L.
Pumping Lemma (Contrapositive)For all p ≥ 1 we have thatthere exists a string w ∈ L with |w| ≥ p such thatfor all x, y, z ∈ Σ∗ with w = xyz, |y| > 0, |xy| ≤ p we have thatthere exists i ≥ 0 such thatxyiz 6∈ L=⇒
L ∈ Σ∗ is not a regular language.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 23: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/23.jpg)
Ashutosh Trivedi – 9 of 14
Applying Pumping Lemma
Pumping Lemma (Contrapositive)For all p ≥ 1 we have thatthere exists a string w ∈ L with |w| ≥ p such thatfor all x, y, z ∈ Σ∗ with w = xyz, |y| > 0, |xy| ≤ p we have thatthere exists i ≥ 0 such thatxyiz 6∈ L=⇒ L ∈ Σ∗ is not a regular language.
How to show that a language L is non-regular.1. Let p be an arbitrary number (pumping length).2. (Cleverly) Find a representative string w of L of size ≥ p.3. Try out all ways to break the string into xyz triplet satisfying that|y| > 0 and |xy| ≤ n. If the step 3 was clever enough, there will befinitely many cases to consider.
4. For every triplet show that for some i the string xyiz is not in L, andhence it yields contradiction with pumping lemma.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 24: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/24.jpg)
Ashutosh Trivedi – 10 of 14
Applying Pumping Lemma I
TheoremProve that the language L = {0n1n} is not regular.
Proof.1. State the contrapositive of Pumping lemma.2. Let p be an arbitrary number.3. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.4. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.5. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 25: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/25.jpg)
Ashutosh Trivedi – 10 of 14
Applying Pumping Lemma I
TheoremProve that the language L = {0n1n} is not regular.
Proof.1. State the contrapositive of Pumping lemma.2. Let p be an arbitrary number.3. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.
4. Only way to break this string in xyz triplets such that |xy| ≤ p andy 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.
5. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 26: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/26.jpg)
Ashutosh Trivedi – 10 of 14
Applying Pumping Lemma I
TheoremProve that the language L = {0n1n} is not regular.
Proof.1. State the contrapositive of Pumping lemma.2. Let p be an arbitrary number.3. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.4. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.
5. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 27: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/27.jpg)
Ashutosh Trivedi – 10 of 14
Applying Pumping Lemma I
TheoremProve that the language L = {0n1n} is not regular.
Proof.1. State the contrapositive of Pumping lemma.2. Let p be an arbitrary number.3. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.4. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.5. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 28: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/28.jpg)
Ashutosh Trivedi – 11 of 14
Applying Pumping Lemma II
TheoremProve that the language
M = {w : w has an equal number of 0 and 1}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.4. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 29: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/29.jpg)
Ashutosh Trivedi – 11 of 14
Applying Pumping Lemma II
TheoremProve that the language
M = {w : w has an equal number of 0 and 1}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.
3. Only way to break this string in xyz triplets such that |xy| ≤ p andy 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.
4. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 30: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/30.jpg)
Ashutosh Trivedi – 11 of 14
Applying Pumping Lemma II
TheoremProve that the language
M = {w : w has an equal number of 0 and 1}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.
4. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 31: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/31.jpg)
Ashutosh Trivedi – 11 of 14
Applying Pumping Lemma II
TheoremProve that the language
M = {w : w has an equal number of 0 and 1}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p ∈ L. Notice that |0p1p| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.4. For each such triplet, there exists an i (say i = 0) such that xyiz 6∈ L.5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 32: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/32.jpg)
Ashutosh Trivedi – 12 of 14
Applying Pumping Lemma III
TheoremProve that the language
M = {1n2: n ≥ 0}
is not regular.
Proof.1. Let p be an arbitrary number.
2. Consider the string 1p2 ∈ L. Notice that |1p2 | ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 1k for some 1 ≤ k ≤ p.
4. Now consider 1l1k1k1p2−l+k (pumping twice) and show that it is notperfect square.
5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 33: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/33.jpg)
Ashutosh Trivedi – 12 of 14
Applying Pumping Lemma III
TheoremProve that the language
M = {1n2: n ≥ 0}
is not regular.
Proof.1. Let p be an arbitrary number.
2. Consider the string 1p2 ∈ L. Notice that |1p2 | ≥ p.
3. Only way to break this string in xyz triplets such that |xy| ≤ p andy 6= ε is to choose y = 1k for some 1 ≤ k ≤ p.
4. Now consider 1l1k1k1p2−l+k (pumping twice) and show that it is notperfect square.
5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 34: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/34.jpg)
Ashutosh Trivedi – 12 of 14
Applying Pumping Lemma III
TheoremProve that the language
M = {1n2: n ≥ 0}
is not regular.
Proof.1. Let p be an arbitrary number.
2. Consider the string 1p2 ∈ L. Notice that |1p2 | ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 1k for some 1 ≤ k ≤ p.
4. Now consider 1l1k1k1p2−l+k (pumping twice) and show that it is notperfect square.
5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 35: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/35.jpg)
Ashutosh Trivedi – 12 of 14
Applying Pumping Lemma III
TheoremProve that the language
M = {1n2: n ≥ 0}
is not regular.
Proof.1. Let p be an arbitrary number.
2. Consider the string 1p2 ∈ L. Notice that |1p2 | ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 1k for some 1 ≤ k ≤ p.
4. Now consider 1l1k1k1p2−l+k (pumping twice) and show that it is notperfect square.
5. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 36: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/36.jpg)
Ashutosh Trivedi – 13 of 14
Applying Pumping Lemma IV
TheoremProve that the language
M = {0i1j : i > j}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p+1 ∈ L. Notice that |0p1p+1| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.4. All pumping-ups are in the language!5. Solution: pump-down.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 37: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/37.jpg)
Ashutosh Trivedi – 13 of 14
Applying Pumping Lemma IV
TheoremProve that the language
M = {0i1j : i > j}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p+1 ∈ L. Notice that |0p1p+1| ≥ p.
3. Only way to break this string in xyz triplets such that |xy| ≤ p andy 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.
4. All pumping-ups are in the language!5. Solution: pump-down.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 38: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/38.jpg)
Ashutosh Trivedi – 13 of 14
Applying Pumping Lemma IV
TheoremProve that the language
M = {0i1j : i > j}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p+1 ∈ L. Notice that |0p1p+1| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.
4. All pumping-ups are in the language!5. Solution: pump-down.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 39: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/39.jpg)
Ashutosh Trivedi – 13 of 14
Applying Pumping Lemma IV
TheoremProve that the language
M = {0i1j : i > j}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p+1 ∈ L. Notice that |0p1p+1| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.4. All pumping-ups are in the language!
5. Solution: pump-down.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 40: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/40.jpg)
Ashutosh Trivedi – 13 of 14
Applying Pumping Lemma IV
TheoremProve that the language
M = {0i1j : i > j}
is not regular.
Proof.1. Let p be an arbitrary number.2. Consider the string 0p1p+1 ∈ L. Notice that |0p1p+1| ≥ p.3. Only way to break this string in xyz triplets such that |xy| ≤ p and
y 6= ε is to choose y = 0k for some 1 ≤ k ≤ p.4. All pumping-ups are in the language!5. Solution: pump-down.6. Hence L is non-regular.
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 41: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/41.jpg)
Ashutosh Trivedi – 14 of 14
Proving a language Regular
Proving RegularityPumping Lemma is necessary but not sufficient condition for regularity.
Consider the language
L = {#anbn : n ≥ 1} ∪ {#kw : k 6= 1,w ∈ {a, b}∗}.
Verify that this language satisfies the pumping condition, but is notregular!
Ashutosh Trivedi Lecture 5: Pumping Lemma
![Page 42: CSCI 3434: Theory of Computation - Bitbucket · 2021. 4. 26. · Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi start s 1](https://reader036.fdocuments.us/reader036/viewer/2022062404/612d88a41ecc515869423fb4/html5/thumbnails/42.jpg)
Ashutosh Trivedi – 14 of 14
Proving a language Regular
Proving RegularityPumping Lemma is necessary but not sufficient condition for regularity.
Consider the language
L = {#anbn : n ≥ 1} ∪ {#kw : k 6= 1,w ∈ {a, b}∗}.
Verify that this language satisfies the pumping condition, but is notregular!
Ashutosh Trivedi Lecture 5: Pumping Lemma