Professional Documents
Culture Documents
for
Context-Free Languages
1
CREATED BY K. VICTOR
The Pumping Lemma:
For infinite context-free language L
there exists an integer m such that
3
CREATED BY K. VICTOR
Non-context free languages
n n n
{a b c : n 0}
Context-free languages
n n
{a b : n 0}
4
CREATED BY K. VICTOR
Theorem: The language
n n n
L {a b c : n 0}
is not context free
5
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
6
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
We pick: wa b c
7
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
i i
uv xy z L for all i0
9
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
10
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m
Case 1: vxy is within a
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 11
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 12
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
2 2
Case 1: From Pumping Lemma: uv xy z L
k 1
mk m m
aaaaaa...aaaaaa bbb...bbb ccc...ccc
u 2 2 z
CREATED BY K. VICTOR
v xy 14
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
2 2
Case 1: From Pumping Lemma: uv xy z L
k 1
2 2 m k m m
However: uv xy z a b c L
Contradiction!!!
15
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m
Case 2: vxy is within b
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 16
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 17
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m
Case 3: vxy is within c
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 18
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 19
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m m
Case 4: vxy overlaps a and b
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 20
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
2 2
Case 4: From Pumping Lemma: uv xy z L
k1 k 2 1
m k1 m k2 m
aaa...aaaaaaa bbbbbbb...bbb ccc...ccc
u 2 2 z
CREATED BY K. VICTOR
v xy 23
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
2 2
Case 4: From Pumping Lemma: uv xy z L
k1 k 2 1
2 2 m k1 m k2 m
However: uv xy z a b c L
Contradiction!!! 24
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
2 2
Case 4: From Pumping Lemma: uv xy z L
k1 k 2 k 1
m k1 k 2 mk m
aaa...aaaaabbaabb bbbbbbb...bbb ccc...ccc
u 2
v xy 2 z 27
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
2 2
Case 4: From Pumping Lemma: uv xy z L
However: k1 k 2 k 1
2 2 m k1 k 2 m k m
uv xy z a b a b c L
Contradiction!!! 28
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
30
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m m
Case 5: vxy overlaps b and c
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 31
CREATED BY K. VICTOR
n n n
L {a b c : n 0}
m m m
wa b c
w uvxyz | vxy | m | vy | 1
m m m
aaa...aaa bbb...bbb ccc...ccc
u vxy z 32
CREATED BY K. VICTOR
There are no other cases to consider
33
CREATED BY K. VICTOR
In all cases we obtained a contradiction
35
CREATED BY K. VICTOR
The Pumping Lemma:
For infinite context-free language L
there exists an integer m such that
Context-free languages
n n R
{a b : n 0} {ww : w {a, b}*}
37
CREATED BY K. VICTOR
Theorem: The language
L {vv : v {a, b}*}
is not context free
38
CREATED BY K. VICTOR
L {vv : v {a, b}*}
Assume for contradiction that L
is context-free
39
CREATED BY K. VICTOR
L {vv : v {a, b}*}
Pumping Lemma gives a magic number m
such that:
m m m m
we pick: a b a b L
40
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
We can write: a b a b uvxyz
i i
uv xy z L for all i0
41
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
42
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 1: vxy is within the first a
k1 k2
va ya k1 k 2 1
m m m m
a ...... a b ...... b a ...... a b ...... b
u vx y z
43
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 1: vxy is within the first a
k1 k2
va ya k1 k 2 1
m k1 k 2 m m m
a ................ a b ...... b a ...... a b ...... b
u v2 x y2 z
44
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 1: vxy is within the first a
m k1 k 2 m m m 2 2
a b a b uv xy z L
k1 k 2 1
45
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 1: vxy is within the first a
m k1 k 2 m m m 2 2
a b a b uv xy z L
2 2
However, from Pumping Lemma: uv xy z L
CREATED BY K. VICTOR
Contradiction!!! 46
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 2: v is in the first a
m
y is in the first b
k1 k2
va yb k1 k 2 1
m m m m
a ...... a b ...... b a ...... a b ...... b
CREATED BY K. VICTOR
u v x y z 47
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 2: v is in the first a
m
y is in the first b
k1 k2
va yb k1 k 2 1
m k1 m k2 m m
a ............ a b ............ b a ...... a b ...... b
u v 2 x
CREATED BY K. VICTOR
y 2 z 48
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 2: v is in the first a
m
y is in the first b
m k1 m k 2 m m 2 2
a b a b uv xy z L
k1 k 2 1
49
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 2: v is in the first a
m
y is in the first b
m k1 m k 2 m m 2 2
a b a b uv xy z L
2 2
However, from Pumping Lemma: uv xy z L
CREATED BY K. VICTOR
Contradiction!!! 50
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m m
Case 3: v overlaps the first a b
m
y is in the first b
k1 k 2 k3
v a b yb k1, k 2 1
m m m m
a ...... a b ...... b a ...... a b ...... b
CREATED BY K. VICTOR
u v xy z 51
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m m
Case 3: v overlaps the first a b
m
y is in the first b
k1 k 2 k3
v a b yb k1, k 2 1
m k2 k1 m k3 m m
a ...... a b ... b a ... a b ......... b a ...... a b ...... b
u v 2 x y 2 z 52
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m m
Case 3: v overlaps the first a b
m
y is in the first b
m k 2 k1 m k3 m m 2 2
a b a b a b uv xy z L
k1, k 2 1
53
CREATED BY K. VICTOR
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m m
Case 3: v overlaps the first a b
m
y is in the first b
m k 2 k1 k3 m m 2 2
a b a b a b uv xy z L
2 2
However, from Pumping Lemma: uv xy z L
CREATED BY K. VICTOR
Contradiction!!! 54
L {vv : v {a, b}*}
m m m m
a b a b uvxyz | vxy | m | vy | 1
m
Case 4: v in the first a
m m
y Overlaps the first a b
m m m m
a ...... a b ...... b a ...... a b ...... b
CREATED BY K. VICTOR
uv x y z 55
Other cases: m m m m
vxy is within a b a b
or
m m m m
a b a b
or
m m m m
a b a b
m m m m
a b a b
57
CREATED BY K. VICTOR
There are no other cases to consider
Context-free languages
n n R
{a b : n 0} {ww : w {a, b}*}
60
CREATED BY K. VICTOR
Theorem: The language
n!
L {a : n 0}
is not context free
61
CREATED BY K. VICTOR
n!
L {a : n 0}
62
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
we pick: a L
63
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
We can write: a uvxyz
i i
uv xy z L for all i0
64
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
a uvxyz | vxy | m | vy | 1
m!
a ............... a
u v x y z
k1 k2 1 k1 k 2 m
va ya
66
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
a uvxyz | vxy | m | vy | 1
m! k1 k 2
a ........................... a
u v2 x y2 z
k1 k2 1 k1 k 2 m
va ya
67
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
a uvxyz | vxy | m | vy | 1
m! k k k1 k 2
a ........................... a
u v2 x y2 z
k1 k2 1 k m
va ya
68
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
a uvxyz | vxy | m | vy | 1
m! k 2 2
a uv xy z
1 k m
69
CREATED BY K. VICTOR
Since 1 k m , for m 2 we have:
m! k m! m
m! m!m
m!(1 m)
(m 1)!
m! k 2 2
a uv xy z L
71
CREATED BY K. VICTOR
n!
L {a : n 0}
m!
a uvxyz | vxy | m | vy | 1
2 2
However, from Pumping Lemma: uv xy z L
m! k 2 2
a uv xy z L
Contradiction!!! 72
CREATED BY K. VICTOR
We obtained a contradiction
Context-free languages
n n R
{a b : n 0} {ww : w {a, b}*}
74
CREATED BY K. VICTOR
Theorem: The language
n2 n
L {a b : n 0}
is not context free
75
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
Assume for contradiction that L
is context-free
76
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
Pumping Lemma gives a magic number m
such that:
m2 m
we pick: a b L
77
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
We can write: a b uvxyz
i i
uv xy z L for all i0
78
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
a b uvxyz | vxy | m | vy | 1
of string vxy in m2 m
a b
79
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
a b uvxyz | vxy | m | vy | 1
m
Most complicated case: v is in a
m
y is in b
2 m
m
a ..................... a b ...... b
u v x y z
80
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
a b uvxyz | vxy | m | vy | 1
k1 k2
va yb 1 k1 k 2 m
2 m
m
a ..................... a b ...... b
u v x y z
81
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
a b uvxyz | vxy | m | vy | 1
m 2 k1 m k 2 0 0
a b uv xy z
84
CREATED BY K. VICTOR
k1 0 and k 2 0 1 k1 k 2 m
2 2
(m k 2 ) (m 1)
2
m 2m 1
2
m k1
2 2
m k1 (m k 2 )
85
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
a b uvxyz | vxy | m | vy | 1
2 2
m k1 (m k 2 )
2
m k1 m k 2 0 0
a b uv xy z L
86
CREATED BY K. VICTOR
2
n n
L {a b : n 0}
2
m m
a b uvxyz | vxy | m | vy | 1
0 0
However, from Pumping Lemma: uv xy z L
2
m k1 m k 2 0 0
a b uv xy z L
Contradiction!!! 87
CREATED BY K. VICTOR
When we examine the rest of the cases
we also obtain a contradiction
88
CREATED BY K. VICTOR
In all cases we obtained a contradiction
CREATED BY K. VICTOR
SELF ASSESSMENT QUESTIONS
Q.2 In a PDA, the stack serves the purpose of:
a) Storing the input symbols.
b) Storing the current state of the automaton.
c) Providing additional memory for computation.
d) Determining the next transition of the automaton.
Answer: a c) Providing additional memory for
computation.
CREATED BY K. VICTOR
SELF ASSESSMENT QUESTIONS
Q.3 Which of the following is a limitation of a deterministic PDA
(DPDA) compared to a non-deterministic PDA (NPDA)?
a) DPDA can recognize a larger class of languages.
b) DPDA cannot recognize any context-free languages.
c) DPDA can only recognize regular languages.
d) DPDA cannot recognize languages with nested structures.
CREATED BY K. VICTOR
TERMINAL QUESTIONS
Q.1. Explain the concept of pushdown automata (PDA) and its
key components.
Q.2.Describe the process of accepting a string by a pushdown
automaton. How does the PDA handle the interactions
between the input string and the stack?
Q.3.Discuss the difference between deterministic
pushdownautomata (DPDA) and non-deterministic pushdown
automata (NPDA). How do they differ in terms of language
recognition and the behavior of the stack?
CREATED BY K. VICTOR
94
CREATED BY K. VICTOR