Non-Regular Languages: Md. Rafsan Jani Assistant Professor Department of CSE Jahangirnagar University
Non-Regular Languages: Md. Rafsan Jani Assistant Professor Department of CSE Jahangirnagar University
Theory of Computation
Lecture 05
Non-regular Languages
Regular languages
a *b b*c a
b c ( a b) *
etc...
2
How can we prove that a language L
is not regular?
4
4 pigeons
3 pigeonholes
5
A pigeonhole must
contain at least two pigeons
6
n pigeons
...........
m pigeonholes nm
...........
7
The Pigeonhole Principle
n pigeons
m pigeonholes
There is a pigeonhole
nm with at least 2 pigeons
...........
8
The Pigeonhole Principle
and
DFAs
9
Consider a DFA with 4 states
b
b b
a a b
q1 q2 q3 q4
a a
10
Consider the walk of a “long’’ string: aaaab
(length at least 4)
b
b b
a a b
q1 q2 q3 q4
a a 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)
Nests: q1 q2 q3 q4
(Automaton states) Repeated
state
12
Consider the walk of a “long’’ string: aabb
(length at least 4)
b
b b
a a b
q1 q2 q3 q4
a 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)
Nests: q1 q2 q3 q4
(Automaton states) Repeated
Automaton States
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 .... j
qi
j 1
.... k
qz
i
Arbitrary DFA
q1 1 2
...... ...... k
qi qz
Repeated state
15
| w | # states of DFA m
Are
more
than
17
Take an infinite regular language L
(contains an infinite number of strings)
m
states
18
Take string w L with | w | m
(number of
states of DFA)
Walk in DFA of
w 1 2 k
1 2 ...... q ...... k
Repeated state in DFA
19
There could be many states repeated
Unique states
20
We can write w xyz
21
In DFA: w x y z
contains only
y first occurrence of q
...
j i 1
1
... i
q j 1
... ... k
x z
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
x (except q) 23
Observation: length | y | 1
Since there is at least one transition in loop
y
...
j i 1
24
We do not care about the form of string z
z
... q
x 25
Additional string: The string x z
is accepted, so
j i 1
1
... i
q j 1
... ... k
x z
26
Additional string: The string x y yz
is accepted, so
Follow loop y
2 times
...
j i 1
1
... i
q j 1
... ... k
x z
27
Additional string: The string x y yyz
is accepted, so
Follow loop y
3 times
...
j i 1
1
... i
q j 1
... ... k
x z
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
29
Therefore: x y z L
i
i 0, 1, 2, ...
j i 1
1
... i
q j 1
... ... k
x z
30
In other words, we described:
31
The Pumping Lemma:
• Given a infinite regular language L
• there exists an integer m (critical length)
• with | x y | m and | y | 1
i i 0, 1, 2, ...
• such that: xy z L
32
In the book:
33
Applications
of
34
Observation:
Every language of finite size has to be regular
(we can easily construct an NFA or RE
that accepts every string in the language)
35
Suppose you want to prove that
An infinite language L is not regular
36
Explanation of Step 3: How to get a contradiction
1. Let mbe the critical length for L
. Choose a particular string w which
L satisfies
the length condition | w | m
3. Write w xyz
4. Show that w xy z L
i
for some i 1
37
Note: It suffices to show that
only one string w L
gives a contradiction
38
Example of Pumping Lemma application
39
n n
L {a b : n 0}
Since L is infinite
we can apply the Pumping Lemma
40
n n
L {a b : n 0}
m m
We pick wa b
41
From the Pumping Lemma:
we can write w a m b m x y z
with lengths | x y | m, | y | 1
m m
m m
w xyz a b a...aa...aa...ab...b
x y z
Thus: y a , 1 k m
k
42
m m
x y za b y a , 1k m
k
i
From the Pumping Lemma: xy z L
i 0, 1, 2, ...
2
Thus: xy z L
43
x y za b m m y a , 1k m
k
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
44
m k m
a b L k≥ 1
n n
BUT: L {a b : n 0}
m k m
a b L
CONTRADICTION!!!
45
Therefore: Our assumption that L
is a regular language is not true
END OF PROOF
46
n n
Non-regular language {a b : n 0}
Regular languages
* *
L(a b )
47
Non-regular languages R
L {vv : v *}
Regular languages
48
Theorem: The language
R
L {vv : v *} {a, b}
is not regular
49
R
L {vv : v *}
Since L is infinite
we can apply the Pumping Lemma
50
R
L {vv : v *}
Let m be the critical length for L
m m m m
We pick wa b b a
51
From the Pumping Lemma:
we can write: w a b b a x y z
m m m m
with lengths: | x y | m, | y | 1
m m m m
w xyz a...aa...a...ab...bb...ba...a
x y z
Thus: y a , 1k m
k
52
m m m m
x y za b b a y a , 1k m
k
i
From the Pumping Lemma: xy z L
i 0, 1, 2, ...
2
Thus: xy z L
53
m m m m
x y za b b a y a , 1k m
k
2
From the Pumping Lemma: xy 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
54
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!!!
55
Therefore: Our assumption that L
is a regular language is not true
END OF PROOF
56