CSCI 3434: Theory of Computation - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping...

42
Ashutosh Trivedi – 1 of 14 CSCI 3434: Theory of Computation Lecture 5: Pumping Lemma Ashutosh Trivedi s 1 start s 2 s 3 s 4 0, 1 0, 1 0 1 0, 1 Department of Computer Science UNIVERSITY OF COLORADO BOULDER Ashutosh Trivedi Lecture 5: Pumping Lemma

Transcript of CSCI 3434: Theory of Computation - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping...

Page 1: CSCI 3434: Theory of Computation - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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 - Computer Scienceastr3586/courses/csci3434/lec06.pdf · Pumping Lemma: Proof Theorem (Pumping Lemma for Regular Languages) If L is a regular language,

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