Pumping Lemma for Regular Languages

Download Report

Transcript Pumping Lemma for Regular Languages

Non-regular languages
(Pumping Lemma)
Fall 2006
Costas Busch - RPI
1
{a b : n  0}
n n
Non-regular languages
{vv : v {a, b}*}
R
Regular languages
a *b
b*c  a
b  c ( a  b) *
etc...
Fall 2006
Costas Busch - RPI
2
How can we prove that a language
is not regular?
L
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 2006
Costas Busch - RPI
3
The Pigeonhole Principle
Fall 2006
Costas Busch - RPI
4
4 pigeons
3 pigeonholes
Fall 2006
Costas Busch - RPI
5
A pigeonhole must
contain at least two pigeons
Fall 2006
Costas Busch - RPI
6
n pigeons
...........
m pigeonholes
nm
...........
Fall 2006
Costas Busch - RPI
7
The Pigeonhole Principle
n pigeons
m pigeonholes
nm
There is a pigeonhole
with at least 2 pigeons
...........
Fall 2006
Costas Busch - RPI
8
The Pigeonhole Principle
and
DFAs
Fall 2006
Costas Busch - RPI
9
Consider a DFA with
b
q1
b
b
a
q2
a
q3
a
Fall 2006
4 states
Costas Busch - RPI
b
q4
a
10
Consider the walk of a “long’’ string:
(length at least 4)
aaaab
A state is repeated in the walk of
q1
a
b
q1
q2
a
q3
a
q2
q3
b
a
q2
b
q4
b
a
q3
a
Fall 2006
a
aaaab
Costas Busch - RPI
b
a
q4
11
The state is repeated as a result of
the pigeonhole principle
Walk of
Pigeons:
(walk states)
q1
a
q2
a
q3
a
aaaab
q2
a
q3
b
q4
Are more than
Nests:
q1
(Automaton states)
Fall 2006
q2
Costas Busch - RPI
q3
Repeated
state
q4
12
Consider the walk of a “long’’ string:
(length at least 4)
Due to the pigeonhole principle:
A state is repeated in the walk of
q1
a
b
q1
Fall 2006
q2
a
q3
b
q4
b
q2
aabb
q4
b
b
a
aabb
a
a
q3
Costas Busch - RPI
b
a
q4
13
The state is repeated as a result of
the pigeonhole principle
Walk of
Pigeons:
q1
a
q2
a
q3
b
aabb
q4
b
q4
(walk states)
Are more than
Nests:
(Automaton states)
Fall 2006
q1
q2
q3
Automaton States
Costas Busch - RPI
q4
Repeated
state
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 ....
i
j
qi
 j 1....  k
qz
Arbitrary DFA
q1 1
Fall 2006
k
......
qz
qi
Repeated state
 2 ......
Costas Busch - RPI
15
| w |  # states of DFA  m
Pigeons:
Walk of
(walk states)
q1
....
qi
....
w
qi
....
qz
Are
more
than
Nests: q1
q2
(Automaton states)
Fall 2006
....
qi
....
qm1
qm
A state is
repeated
Costas Busch - RPI
16
The Pumping Lemma
Fall 2006
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 2006
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 2006
Costas Busch - RPI
19
There could be many states repeated
Take
q to be the first state repeated
One dimensional projection of walk
1
First
Second
occurrence
occurrence
 2 ....  i q i 1 ....
j
q
w:
 j 1....  k
Unique states
Fall 2006
Costas Busch - RPI
20
We can write
w  xyz
One dimensional projection of walk
1
Second
occurrence
occurrence
 2 ....  i q i 1 ....
x  1 i
Fall 2006
First
j
y   i 1 j
Costas Busch - RPI
q
w:
 j 1....  k
z   j 1 k
21
In DFA:
w x y z
contains only
first occurrence of q
y
...
j
...
1
Fall 2006
x
i
 i 1
q
 j 1
...
...
k
z
Costas Busch - RPI
22
Observation:
length
| x y |  m number
of states
of DFA
y
...
Unique States
j
...
1
Fall 2006
x
i
 i 1
q
Costas Busch - RPI
Since, in xy no
state is repeated
(except q)
23
Observation:
length
| y | 1
Since there is at least one transition in loop
y
...
j
 i 1
q
Fall 2006
Costas Busch - RPI
24
We do not care about the form of string
z
may actually overlap with the paths of
z
x and y
y
...
z
...
Fall 2006
x
q
Costas Busch - RPI
25
Additional string:
Do not follow loop
The string
is accepted
xz
y
...
j
...
1
Fall 2006
x
i
 i 1
q
 j 1
...
...
k
z
Costas Busch - RPI
26
Additional string:
Follow loop
2 times
xyyz
y
...
j
...
1
Fall 2006
The string
is accepted
x
i
 i 1
q
 j 1
...
...
k
z
Costas Busch - RPI
27
Additional string:
The string
is accepted
Follow loop
3 times
y
...
j
...
1
Fall 2006
xyyyz
x
i
 i 1
q
 j 1
...
...
k
z
Costas Busch - RPI
28
In General:
The string
is accepted
Follow loop
times
xy z
i  0, 1, 2, ...
y
i
...
j
...
1
Fall 2006
i
x
i
 i 1
q
 j 1
...
...
k
z
Costas Busch - RPI
29
Therefore:
i  0, 1, 2, ...
x y z L
i
Language accepted by the DFA
y
...
j
...
1
Fall 2006
x
i
 i 1
q
 j 1
...
...
k
z
Costas Busch - RPI
30
In other words, we described:
The Pumping Lemma !!!
Fall 2006
Costas Busch - RPI
31
The Pumping Lemma:
• Given a infinite regular language
• there exists an integer
• for any string
• we can write
• with
m (critical length)
w L with length | w |  m
w x y z
| x y |  m and | y |  1
• such that:
Fall 2006
L
xy z  L
i
Costas Busch - RPI
i  0, 1, 2, ...
32
In the book:
Critical length
Fall 2006
m
= Pumping length
Costas Busch - RPI
p
33
Applications
of
the Pumping Lemma
Fall 2006
Costas Busch - RPI
34
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 2006
Costas Busch - RPI
35
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,
Fall 2006
L
is not regular
Costas Busch - RPI
36
Explanation of Step 3: How to get a contradiction
1. Let
m
be the critical length for
L
2. Choose a particular string w L which satisfies
the length condition | w | m
3. Write
w  xyz
4. Show that
w  xy z  L
for some i  1
i
5. This gives a contradiction, since from
pumping lemma
Fall 2006
w  xy z  L
i
Costas Busch - RPI
37
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 2006
Costas Busch - RPI
38
Example of Pumping Lemma application
Theorem: The language L  {a nb n : n  0}
is not regular
Proof:
Fall 2006
Use the Pumping Lemma
Costas Busch - RPI
39
L  {a b : n  0}
n n
Assume for contradiction
that L is a regular language
Since L is infinite
we can apply the Pumping Lemma
Fall 2006
Costas Busch - RPI
40
L  {a b : n  0}
n n
Let
m be the critical length for L
Pick a string
w such that: w  L
and length
We pick
Fall 2006
| w| m
wa b
m m
Costas Busch - RPI
41
From the Pumping Lemma:
we can write w  a mb m  x y z
with lengths
| x y |  m, | y | 1
m
w xyz  a b
m m
m
 a...aa...aa...ab...b
x
y
z
Thus: y  a , 1  k  m
k
Fall 2006
Costas Busch - RPI
42
y a , 1k m
k
x y za b
m m
From the Pumping Lemma:
xy z  L
i
i  0, 1, 2, ...
Thus:
Fall 2006
xy z  L
2
Costas Busch - RPI
43
y a , 1k m
k
x y za b
m m
From the Pumping Lemma:
xy z  L
2
mk
m
xy z  a...aa...aa...aa...ab...b  L
2
x
Thus:
Fall 2006
a
y
y
z
m k m
b L
Costas Busch - RPI
44
a
BUT:
m k m
b L
k ≥1
L  {a b : n  0}
n n
a
m k m
b L
CONTRADICTION!!!
Fall 2006
Costas Busch - RPI
45
Therefore:
Our assumption that L
is a regular language is not true
Conclusion: L is not a regular language
END OF PROOF
Fall 2006
Costas Busch - RPI
46
Non-regular language
{a b : n  0}
n n
Regular languages
* *
L(a b )
Fall 2006
Costas Busch - RPI
47