Languages and Finite Automata

Non-regular languages
(Pumping Lemma)
2nd Sem 2017
Lecture 6
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...
2nd Sem 2017
Lecture 6
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 !!!
2nd Sem 2017
Lecture 6
3
The Pigeonhole Principle
2nd Sem 2017
Lecture 6
4
4 pigeons
3 pigeonholes
2nd Sem 2017
Lecture 6
5
A pigeonhole must
contain at least two pigeons
2nd Sem 2017
Lecture 6
6
n pigeons
...........
m
pigeonholes
nm
...........
2nd Sem 2017
Lecture 6
7
The Pigeonhole Principle
n pigeons
m
pigeonholes
nm
There is a pigeonhole
with at least 2 pigeons
...........
2nd Sem 2017
Lecture 6
8
The Pigeonhole Principle
and
DFAs
2nd Sem 2017
Lecture 6
9
Consider a DFA with
b
q1
states
b
b
a
q2
a
a
2nd Sem 2017
4
Lecture 6
q3
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
a
q3
b
a
q2
b
q4
b
a
a
2nd Sem 2017
q2
aaaab
Lecture 6
q3
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)
2nd Sem 2017
q2
Lecture 6
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
2nd Sem 2017
q2
a
q3
b
q4
b
q2
aabb
q4
b
b
a
aabb
a
a
Lecture 6
q3
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)
2nd Sem 2017
q1
q2
q3
Automaton States
Lecture 6
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
2nd Sem 2017
k q
......
qi
z
Repeated state
 2 ......
Lecture 6
15
| w |  # states of DFA  m
Pigeons:
Walk of
(walk states)
q1
....
....
qi
w
qi
....
qz
Are
more
than
Nests: q1
q2
(Automaton states)
2nd Sem 2017
....
qi
....
qm1
qm
A state is
repeated
Lecture 6
16
The Pumping Lemma
2nd Sem 2017
Lecture 6
17
Take an infinite regular language L
(contains an infinite number of strings)
There exists a DFA that accepts
L
m
states
2nd Sem 2017
Lecture 6
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
2nd Sem 2017
Lecture 6
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
2nd Sem 2017
Lecture 6
20
We can write
w  xyz
One dimensional projection of walk
1
Second
occurrence
occurrence
 2 ....  i q i 1 ....
x  1 i
2nd Sem 2017
First
j
y   i 1 j
Lecture 6
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
2nd Sem 2017
x
i
 i 1
q
 j 1
...
...
k
z
Lecture 6
22
Observation:
length
| x y |  m number
of states
of DFA
y
...
Unique States
j
...
1
2nd Sem 2017
x
i
 i 1
q
Lecture 6
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
2nd Sem 2017
Lecture 6
24
We do not care about the form of string
z
may actually overlap with the paths of
z
x and y
y
...
z
...
2nd Sem 2017
x
q
Lecture 6
25
Additional string:
Do not follow loop
The string
is accepted
xz
y
...
j
...
1
2nd Sem 2017
x
i
 i 1
q
 j 1
...
...
k
z
Lecture 6
26
Additional string:
Follow loop
2 times
xyyz
y
...
j
...
1
2nd Sem 2017
The string
is accepted
x
i
 i 1
q
 j 1
...
...
k
z
Lecture 6
27
Additional string:
The string
is accepted
Follow loop
3 times
y
...
j
...
1
2nd Sem 2017
xyyyz
x
i
 i 1
q
 j 1
...
...
k
z
Lecture 6
28
In General:
The string
is accepted
Follow loop
times
xy z
i  0, 1, 2, ...
y
i
...
j
...
1
2nd Sem 2017
i
x
i
 i 1
q
 j 1
...
...
k
z
Lecture 6
29
Therefore:
i  0, 1, 2, ...
x y z L
i
Language accepted by the DFA
y
...
j
...
1
2nd Sem 2017
x
i
 i 1
q
 j 1
...
...
k
z
Lecture 6
30
In other words, we described:
The Pumping Lemma !!!
2nd Sem 2017
Lecture 6
31
The Pumping Lemma:
• Given a infinite regular language
• there exists an integer
• for any string
• we can write
• with
(critical length)
with length
| w| m
w x y z
| x y |  m and | y |  1
• such that:
2nd Sem 2017
w L
m
L
xy z  L
i
Lecture 6
i  0, 1, 2, ...
32
In the book:
Critical length
2nd Sem 2017
m
= Pumping length
Lecture 6
p
33
Applications
of
the Pumping Lemma
2nd Sem 2017
Lecture 6
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)
2nd Sem 2017
Lecture 6
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,
2nd Sem 2017
L is not regular
Lecture 6
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
i
for some
i 1
5. This gives a contradiction, since from
pumping lemma
2nd Sem 2017
w  xy z  L
i
Lecture 6
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
2nd Sem 2017
Lecture 6
38
Example of Pumping Lemma application
Theorem: The language L  {a nb n : n  0}
is not regular
Proof:
2nd Sem 2017
Use the Pumping Lemma
Lecture 6
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
2nd Sem 2017
Lecture 6
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
2nd Sem 2017
| w| m
wa b
m m
Lecture 6
41
From the Pumping Lemma:
we can write w  a b
m
with lengths
m
x y z
| x y |  m, | y | 1
m
w  xyz
a b
m m
m
 a...aa...aa...ab...b
x
y
z
k
y

a
, 1k m
Thus:
2nd Sem 2017
Lecture 6
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:
2nd Sem 2017
xy z  L
2
Lecture 6
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:
2nd Sem 2017
a
y
y
z
m k m
b L
Lecture 6
44
a
BUT:
m k m
b L
k ≥1
L  {a b : n  0}
n n
a
m k m
b L
CONTRADICTION!!!
2nd Sem 2017
Lecture 6
45
Therefore:
Our assumption that L
is a regular language is not true
Conclusion: L is not a regular language
END OF PROOF
2nd Sem 2017
Lecture 6
46
Non-regular language
{a b : n  0}
n n
Regular languages
* *
L( a b )
2nd Sem 2017
Lecture 6
47