0% found this document useful (0 votes)
93 views46 pages

Non-Regular Languages: (Pumping Lemma)

The document discusses the pumping lemma, which is used to prove that a language is not regular. It begins by explaining that the pigeonhole principle states that if you have more pigeons than pigeonholes, at least one pigeonhole will contain multiple pigeons. This principle is then applied to deterministic finite automata (DFAs) - if the length of the input string is greater than or equal to the number of states in the DFA, at least one state must be repeated in the walk of the string. The pumping lemma then uses this idea to show that for any regular language accepted by a DFA, there is a maximum string length that can be "pumped" or repeated to generate new valid

Uploaded by

tariqravian
Copyright
© Attribution Non-Commercial (BY-NC)
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)
93 views46 pages

Non-Regular Languages: (Pumping Lemma)

The document discusses the pumping lemma, which is used to prove that a language is not regular. It begins by explaining that the pigeonhole principle states that if you have more pigeons than pigeonholes, at least one pigeonhole will contain multiple pigeons. This principle is then applied to deterministic finite automata (DFAs) - if the length of the input string is greater than or equal to the number of states in the DFA, at least one state must be repeated in the walk of the string. The pumping lemma then uses this idea to show that for any regular language accepted by a DFA, there is a maximum string length that can be "pumped" or repeated to generate new valid

Uploaded by

tariqravian
Copyright
© Attribution Non-Commercial (BY-NC)
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/ 46

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 nm

...........

Fall 2005 Costas Busch - RPI 7


The Pigeonhole Principle

n pigeons
m pigeonholes
There is a pigeonhole
nm 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 .... qm1 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 wa 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 za 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 za b y  a , k 1

2
From the Pumping Lemma: xy 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
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

You might also like