0% found this document useful (0 votes)
23 views74 pages

Pumping Lemma

The document discusses the pumping lemma for regular languages and its applications in proving that certain languages are non-regular. It begins with an overview of the pigeonhole principle and how it relates to deterministic finite automata (DFAs). It then formally defines the pumping lemma, which states that for any regular language L, there exists a constant n such that any string w in L of length greater than or equal to n can be divided into sections x, y, z such that xyiz is also in L for any i. The document provides examples of using the pumping lemma to prove that languages like {anbn: n>=0} and {ww: w element of {a,b}*} are non-regular
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views74 pages

Pumping Lemma

The document discusses the pumping lemma for regular languages and its applications in proving that certain languages are non-regular. It begins with an overview of the pigeonhole principle and how it relates to deterministic finite automata (DFAs). It then formally defines the pumping lemma, which states that for any regular language L, there exists a constant n such that any string w in L of length greater than or equal to n can be divided into sections x, y, z such that xyiz is also in L for any i. The document provides examples of using the pumping lemma to prove that languages like {anbn: n>=0} and {ww: w element of {a,b}*} are non-regular
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 74

CSE322

PUMPING LEMMA FOR REGULAR SETS


AND ITS APPLICATIONS

Lecture #11
Non-regular languages n n
{a b : n  0}
R
{vv : v {a, b}*}
Regular languages
a *b b*c  a
b  c ( a  b) *
etc...
2
How can we prove that a language L
is not regular?

Prove that there is no DFA that accepts L

Problem: this is not easy to prove

Solution: the Pumping Lemma !!!

3
The Pigeonhole Principle

4
4 pigeons

3 pigeonholes

5
A pigeonhole must
contain at least two pigeons

6
n pigeons

...........

m pigeonholes nm

...........

7
The Pigeonhole Principle

n pigeons
m pigeonholes
There is a pigeonhole
nm with at least 2 pigeons

...........

8
The Pigeonhole Principle

and

DFAs

9
DFA with 4 states

b
b b

a b b
q1 q2 q3 q4
a a
10
In walks of strings: a
aa no state
is repeated
aab

b
b b

a a b
q1 q2 q3 q4
a a
11
In walks of strings: aabb
a state
bbaa is repeated
abbabb
abbbabbabb... b
b b

a a b
q1 q2 q3 q4
a a
12
If string w has length | w |  4 :
Then the transitions of string w
are more than the states of the DFA
Thus, a state must be repeated
b
b b

a a b
q1 q2 q3 q4
a a
13
In general, for any DFA:

String w has length  number of states

A state q must be repeated in the walk of w

walk of w
...... q ......
Repeated state 14
In other words for a string w:

a transitions are pigeons

q states are pigeonholes

walk of w
...... q ......
Repeated state
15
The Pumping Lemma

16
Take an infinite regular language L

There exists a DFA that accepts L

m
states

17
Take string w with w L

There is a walk with label w:

.........
walk w
18
If string w has length | w |  m (number
of states
of DFA)
then, from the pigeonhole principle:

a state is repeated in the walk w

...... q ......
walk w
19
Let q be the first state repeated in the
walk of w

...... q ......
walk w
20
Write w x y z

...... q ......

x z 21
Observations:

length | x y |  m number
of states
length | y | 1 y of DFA

...... q ......

x z 22
Observation:

The string xz
is accepted
y

...... q ......

x z 23
Observation:

The string xyyz


is accepted
y

...... q ......

x z 24
Observation:

The string xyyyz


is accepted
y

...... q ......

x z 25
In General:
i
The string xy z
is accepted i  0, 1, 2, ...
y

...... q ......

x z 26
In General: x yi z ∈ L

i  0, 1, 2, ...
Language accepted by the DFA

...... q ......

x z 27
In other words, we described:

The Pumping Lemma !!!

28
The Pumping Lemma:
• Given a infinite regular language L
• there exists an integer m

• for any string w L with length | w |  m


• we can write w x y z

• with | x y |  m and | y |  1
i i  0, 1, 2, ...
• such that: xy z  L
29
If we select a string w such that
w∈L, and w=xyz. Which of the
following portions cannot be an
empty string?
a) x
b) y
c) z
d) all of the mentioned

30
Applications

of

the Pumping Lemma

31
n n
Theorem: The language L  {a b : n  0}

is not regular

Proof: Use the Pumping Lemma

32
n n
L  {a b : n  0}

Assume for contradiction


that L is a regular language

Since L is infinite
we can apply the Pumping Lemma

33
n n
L  {a b : n  0}

Let m be the integer in the Pumping Lemma

Pick a string w such that: w  L


length | w| m

m m
We pick wa b
34
m m
Write: a b xyz

From the Pumping Lemma


it must be that length | x y |  m, | y | 1
m m
m m
xyz  a b  a...aa...aa...ab...b
x y z
k
Thus: y  a , k 1
35
m m k
x y za b y  a , k 1
i
From the Pumping Lemma: xy z  L
i  0, 1, 2, ...

2
Thus: xy z  L

36
m m k
x y za b y  a , k 1
2
From the Pumping Lemma: x y z  L

mk m
2
xy z  a...aa...aa...aa...ab...b  L
x y y z

m k m
Thus: a b L
37
m k m k≥ 1
a b L

n n
BUT: L  {a b : n  0}

m k m
a b L

CONTRADICTION!!!
38
Therefore: Our assumption that L
is a regular language is not true

Conclusion: L is not a regular language

39
n n
Non-regular languages {a b : n  0}

Regular languages

40
There exists a language L. We
define a string w such that
w∈L and w=xyz and |w| >=n for
some constant integer n.What
can be the maximum length of
the substring xy i.e. |xy|<=?
a) n
b) |y|
c) |x|
d) none of the mentioned
41
More Applications

of

the Pumping Lemma

42
The Pumping Lemma:
• Given a infinite regular language L
• there exists an integer m

• for any string w L with length | w |  m


• we can write w x y z

• with | x y |  m and | y |  1
i i  0, 1, 2, ...
• such that: xy z  L
43
Non-regular languages R
L  {vv : v  *}

Regular languages

44
Theorem: The language
R
L  {vv : v  *}   {a, b}
is not regular

Proof: Use the Pumping Lemma

45
R
L  {vv : v  *}
Assume for contradiction
that L is a regular language

Since L is infinite
we can apply the Pumping Lemma

46
R
L  {vv : v  *}

Let m be the integer in the Pumping Lemma


Pick a string w such that: w  L and

length | w| m

m m m m
We pick wa b b a
47
m m m m
Write a b b a  x y z
From the Pumping Lemma
it must be that length | x y |  m, | y | 1

m m m m
xyz  a...aa...a...ab...bb...ba...a
x y z
k
Thus: y  a , k 1
48
m m m m
x y za b b a k
y  a , k 1
i
From the Pumping Lemma: xy z  L
i  0, 1, 2, ...

2
Thus: xy z  L
49
m m m m k
x y za b b a y  a , k 1
2
From the Pumping Lemma: x y z  L
m+k m m m
2
xy z = a...aa...aa...a...ab...bb...ba...a ∈ L
x y y z

m k m m m
Thus: a b b a L
50
m k m m m
a b b a L k 1

R
BUT: L  {vv : v  *}

m k m m m
a b b a L

CONTRADICTION!!!
51
Therefore: Our assumption that L
is a regular language is not true

Conclusion: L is not a regular language

52
Relate the following statement:
Statement: All sufficiently long words in a regular language can have a middle section
of words repeated a number of times to produce a new word which also lies within the
same language.

a) Turing Machine
b) Pumping Lemma
c) Arden’s theorem
d) None of the mentioned

53
Non-regular languages

n l n l
L  {a b c : n, l  0}

Regular languages

54
Theorem: The language
n l n l
L  {a b c : n, l  0}
is not regular

Proof: Use the Pumping Lemma

55
n l n l
L  {a b c : n, l  0}

Assume for contradiction


that L is a regular language

Since L is infinite
we can apply the Pumping Lemma

56
n l n l
L  {a b c : n, l  0}

Let m be the integer in the Pumping Lemma

Pick a string w such that: w  L and

length | w| m

m m 2m
We pick wa b c
57
m m 2m
Write a b c xyz

From the Pumping Lemma


it must be that length | x y |  m, | y | 1

m m 2m
xyz  a...aa...aa...ab...bc...cc...c
x y z
k
Thus: y  a , k 1
58
m m 2m k
x y za b c y  a , k 1

i
From the Pumping Lemma: xy z  L
i  0, 1, 2, ...

0
Thus: x y z = xz ∈ L

59
m m 2m k
x y za b c y  a , k 1

From the Pumping Lemma: xz  L


mk m 2m
xz  a...aa...ab...bc...cc...c  L
x z

mk m 2m
Thus: a b c L
60
mk m 2m
a b c L k 1

n l n l
BUT: L  {a b c : n, l  0}

mk m 2m
a b c L

CONTRADICTION!!!
61
Therefore: Our assumption that L
is a regular language is not true

Conclusion: L is not a regular language

62
While applying Pumping lemma over a language, we consider a string w
that belong to L and fragment it into _________ parts.

a)2
b)5
c)3
d)6

63
n!
Non-regular languages L  {a : n  0}

Regular languages

64
Theorem: The language
n!
L  {a : n  0} is not regular

n!  1  2  (n  1)  n

Proof: Use the Pumping Lemma

65
n!
L  {a : n  0}
Assume for contradiction
that L is a regular language

Since L is infinite
we can apply the Pumping Lemma

66
n!
L  {a : n  0}

Let m be the integer in the Pumping Lemma

Pick a string w such that: w  L


length | w| m

m!
We pick wa
67
m!
Write a xyz

From the Pumping Lemma


it must be that length | x y |  m, | y | 1
m m! m
m!
xyz  a  a...aa...aa...aa...aa...a
x y z
k
Thus: y  a , 1 k  m
68
m! k
x y za y  a , 1 k  m

i
From the Pumping Lemma: xy z  L
i  0, 1, 2, ...

2
Thus: xy z  L

69
m! k
x y za y  a , 1 k  m
2
From the Pumping Lemma: x y z  L

mk m! m
2
xy z  a...aa...aa...aa...aa...aa...a  L
x y y z

m! k
Thus: a L
70
m! k
a L 1 k  m
Since: n!
L  {a : n  0}

There must exist p such that:


m! k  p!

71
However: m! k  m! m
for m  1  m! m!
 m!m  m!
 m!(m  1)
 (m  1)!

m! k  (m  1)!

m! k  p! for any p


72
m! k
a L 1 k  m

n!
BUT: L  {a : n  0}

m! k
a L

CONTRADICTION!!!
73
Therefore: Our assumption that L
is a regular language is not true

Conclusion: L is not a regular language

74

You might also like