Non-regular languages
(Pumping Lemma)
Fall 2005 Costas Busch - RPI 1
n n
{a b : n 0}
Non-regular languages
R
{vv : v {a, b}*}
Regular languages
a *b b*c a
b c ( a b) *
etc...
Fall 2005 Costas Busch - RPI 2
How can we prove that a language L
is not regular?
Prove that there is no DFA or NFA or RE
that accepts L
Difficulty: this is not easy to prove
(since there is an infinite number of them)
Solution: use the Pumping Lemma !!!
Fall 2005 Costas Busch - RPI 3
The Pigeonhole Principle
Fall 2005 Costas Busch - RPI 4
4 pigeons
3 pigeonholes
Fall 2005 Costas Busch - RPI 5
A pigeonhole must
contain at least two pigeons
Fall 2005 Costas Busch - RPI 6
n pigeons
...........
m pigeonholes nm
...........
Fall 2005 Costas Busch - RPI 7
The Pigeonhole Principle
n pigeons
m pigeonholes
There is a pigeonhole
nm with at least 2 pigeons
...........
Fall 2005 Costas Busch - RPI 8
The Pigeonhole Principle
and
DFAs
Fall 2005 Costas Busch - RPI 9
Consider a DFA with 4 states
b
b b
a a b
q1 q2 q3 q4
a a
Fall 2005 Costas Busch - RPI 10
Consider the walk of a “long’’ string: aaaab
(length at least 4)
A state is repeated in the walk of aaaab
q1 a q2 a q3 a q2 a q3 b q4
b
b b
a a b
q1 q2 q3 q4
a a
Fall 2005 Costas Busch - RPI 11
The state is repeated as a result of
the pigeonhole principle
Walk of aaaab
Pigeons: q1 a q2 a q3 a q2 a q3 b q4
(walk states)
Are more than
Nests: q1 q2 q3 q4
(Automaton states) Repeated
state
Fall 2005 Costas Busch - RPI 12
Consider the walk of a “long’’ string: aabb
(length at least 4)
Due to the pigeonhole principle:
A state is repeated in the walk of aabb
q1 a q2 a q3 b q4 b q4
b
b b
a a b
q1 q2 q3 q4
Fall 2005
a
Costas Busch - RPI
a 13
The state is repeated as a result of
the pigeonhole principle
Walk of aabb
Pigeons: q1 a q2 a q3 b q4 b q4
(walk states)
Are more than
Nests: q1 q2 q3 q4
(Automaton states) Repeated
Automaton States
state
Fall 2005 Costas Busch - RPI 14
In General: If | w | # states of DFA ,
by the pigeonhole principle,
a state is repeated in the walk w
Walk of w 1 2 k
q1 1 2 .... i q i 1 .... j
qi
j 1
.... k
qz
i
Arbitrary DFA
q1 1 2
...... ...... k
qi qz
Repeated state
Fall 2005 Costas Busch - RPI 15
| w | # states of DFA m
Pigeons: (walk states)
Walk of w
q1 .... qi .... qi .... qz
Are
more
than
Nests: q1 q2 .... qi .... qm1 qm
(Automaton states) A state is
repeated
Fall 2005 Costas Busch - RPI 16
The Pumping Lemma
Fall 2005 Costas Busch - RPI 17
Take an infinite regular language L
(contains an infinite number of strings)
There exists a DFA that accepts L
m
states
Fall 2005 Costas Busch - RPI 18
Take string w L with | w | m
(number of
states of DFA)
then, at least one state is repeated
in the walk of w
Walk in DFA of
w 1 2 k
1 2 ...... q ...... k
Repeated state in DFA
Fall 2005 Costas Busch - RPI 19
There could be many states repeated
Take q to be the first state repeated
One dimensional projection of walk w:
First Second
occurrence occurrence
1 2 .... i q i 1 .... j
q .... k
j 1
Unique states
Fall 2005 Costas Busch - RPI 20
We can write w xyz
One dimensional projection of walk w:
First Second
occurrence occurrence
1 2 .... i q i 1 .... j
q
j 1
.... k
x 1 i y i 1 j z j 1 k
Fall 2005 Costas Busch - RPI 21
In DFA: w x y z
y
...
j i 1
1
... i
q j 1
... ... k
x z
Fall 2005 Costas Busch - RPI 22
Observation: length | x y | m number
of states
of DFA
y
...
Unique States
j i 1
1
... i
q Since, in xy no
state is repeated
Fall 2005
x Costas Busch - RPI
(except q) 23
Observation: length | y | 1
Since there is at least one transition in loop
y
...
j i 1
Fall 2005 Costas Busch - RPI 24
We do not care about the form of string z
z may actually overlap with the paths of x and y
y
...
z
... q
Fall 2005
x Costas Busch - RPI 25
Additional string: The string xz
is accepted
Do not follow loop
y
...
j i 1
1
... i
q j 1
... ... k
x z
Fall 2005 Costas Busch - RPI 26
Additional string: The string xyyz
is accepted
Follow loop y
2 times
...
j i 1
1
... i
q j 1
... ... k
x z
Fall 2005 Costas Busch - RPI 27
Additional string: The string xyyyz
is accepted
Follow loop y
3 times
...
j i 1
1
... i
q j 1
... ... k
x z
Fall 2005 Costas Busch - RPI 28
i
In General: The string xy z
is accepted i 0, 1, 2, ...
Follow loop y
i times
...
j i 1
1
... i
q j 1
... ... k
x z
Fall 2005 Costas Busch - RPI 29
Therefore: x y z L
i
i 0, 1, 2, ...
Language accepted by the DFA
y
...
j i 1
1
... i
q j 1
... ... k
x z
Fall 2005 Costas Busch - RPI 30
In other words, we described:
The Pumping Lemma !!!
Fall 2005 Costas Busch - RPI 31
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
Fall 2005 Costas Busch - RPI 32
Applications
of
the Pumping Lemma
Fall 2005 Costas Busch - RPI 33
Observation:
Every language of finite size has to be regular
(we can easily construct an NFA
that accepts every string in the language)
Therefore, every non-regular language
has to be of infinite size
(contains an infinite number of strings)
Fall 2005 Costas Busch - RPI 34
Suppose you want to prove that
An infinite language L is not regular
1. Assume the opposite: L is regular
2. The pumping lemma should hold for L
3. Use the pumping lemma to obtain a
contradiction
4. Therefore, L is not regular
Fall 2005 Costas Busch - RPI 35
Explanation of Step 3: How to get a contradiction
with pumping lemma
i. Find a particular string w L
which satisfies
the conditions of the pumping lemma
ii. Write w xyz
iii. Show that w xy z L
i
for some i 1
iv. This gives a contradiction, since from
pumping lemma w xy z L i
Fall 2005 Costas Busch - RPI 36
Note: It suffices to show that
only one string w L
gives a contradiction
You don’t need to obtain
contradiction for every w L
Fall 2005 Costas Busch - RPI 37
Example of Pumping Lemma application
Theorem: The language L {a nb n : n 0}
is not regular
Proof: Use the Pumping Lemma
Fall 2005 Costas Busch - RPI 38
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
Fall 2005 Costas Busch - RPI 39
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 wa b
Fall 2005 Costas Busch - RPI 40
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
Fall 2005 Costas Busch - RPI 41
m m k
x y za b y a , k 1
i
From the Pumping Lemma: xy z L
i 0, 1, 2, ...
2
Thus: xy z L
Fall 2005 Costas Busch - RPI 42
m m k
x y za b y a , k 1
2
From the Pumping Lemma: xy z L
mk m
2
xy z a...aa...aa...aa...ab...b L
x y y z
m k m
Thus: a b L
Fall 2005 Costas Busch - RPI 43
m k m k≥ 1
a b L
n n
BUT: L {a b : n 0}
m k m
a b L
CONTRADICTION!!!
Fall 2005 Costas Busch - RPI 44
Therefore: Our assumption that L
is a regular language is not true
Conclusion: L is not a regular language
Fall 2005 Costas Busch - RPI 45
n n
Non-regular language {a b : n 0}
Regular languages
* *
L(a b )
Fall 2005 Costas Busch - RPI 46