0% found this document useful (0 votes)
11 views58 pages

Languages and Finite Automata - Class14

Uploaded by

glutensizdeolurr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views58 pages

Languages and Finite Automata - Class14

Uploaded by

glutensizdeolurr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

More Applications

of
The Pumping Lemma
Linz 6th, Section 8.1
Example 8.2, { w w | w∈Σ*}
Example 8.3, { an! | 0 ≤ n}
Example 8.4, {an*n bn| 0 ≤ n} 1
The Pumping Lemma:
For infinite context-free language L
there exists an integer m such that

for any string w  L, | w | m


we can write w = uvxyz
with lengths | vxy | m and | vy | 1
and it must be:
i i
uv xy z  L, for all i  0 2
Linz 6th, section 8.1, example 8.2, page 217
{ w w | w∈Σ*}

w = a m bm am bm

3
Non-context free languages

n n n {ww : w  {a, b}}


{a b c : n  0}

Context-free languages

n n R
{a b : n  0} {ww : w  {a, b}*}

4
Theorem: The language
L = {ww : w  {a, b}*}
is not context free

Proof: Use the Pumping Lemma


for context-free languages

5
L = {ww : w  {a, b}*}

Assume for contradiction that L


is context-free

Since L is context-free and infinite


we can apply the pumping lemma

6
L = {ww : w  {a, b}*}

Pumping Lemma gives a magic number m


such that:

Pick any string of L with length at least m

m m m m
we pick: a b a b L

7
L = {ww : w  {a, b}*}

m m m m
We can write: a b a b = uvxyz

with lengths | vxy | m and | vy | 1

Pumping Lemma says:

i i
uv xy z  L for all i0
8
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz

We examine all the possible locations


m m m m
of string vxy in a b a b

9
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 1: vxy is within the first a
k1 k2
v=a y=a k1 + k 2  1

m m m m
a ...... a b ...... b a ...... a b ...... b
u vx y z
10
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 1: vxy is within the first a
k1 k2
v=a y=a k1 + k 2  1

m + k1 + k 2 m m m
a .......... ...... a b ...... b a ...... a b ...... b
u v2 x y 2 z
11
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 1: vxy is within the first a

m + k1 + k2 m m m 2 2
a b a b = uv xy z  L

k1 + k 2  1

12
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 1: vxy is within the first a

m + k1 + k2 m m m 2 2
a b a b = uv xy z  L

2 2
However, from Pumping Lemma: uv xy z  L

Contradiction!!! 13
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 2: v is in the first a
m
y is in the first b
k1 k2
v=a y=b k1 + k 2  1

m m m m
a ...... a b ...... b a ...... a b ...... b
u v x y z 14
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 2: v is in the first a
m
y is in the first b
k1 k2
v=a y=b k1 + k 2  1

m + k1 m + k2 m m
a .......... .. a b .......... .. b a ...... a b ...... b
u v 2 x
y 2 z 15
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 2: v is in the first a
m
y is in the first b
m + k1 m + k2 m m 2 2
a b a b = uv xy z  L

k1 + k 2  1

16
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 2: v is in the first a
m
y is in the first b
m + k1 m + k2 m m 2 2
a b a b = uv xy z  L
2 2
However, from Pumping Lemma: uv xy z  L

Contradiction!!! 17
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m m
Case 3: v overlaps the first a b
m
y is in the first b
k1 k2 k3
v=a b y=b k1 , k 2  1

m m m m
a ...... a b ...... b a ...... a b ...... b
u v xy z 18
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m m
Case 3: v overlaps the first a b
m
y is in the first b
k1 k2 k3
v=a b y=b 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 19
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m m
Case 3: v overlaps the first a b
m
y is in the first b
m k2 k1 m + k3 m m 2 2
a b a b a b = uv xy z  L

k1 , k 2  1

20
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
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

Contradiction!!! 21
L = {ww : w  {a, b}*}
m m m m | vxy | m | vy | 1
a b a b = uvxyz
m
Case 4: v in the first a
m m
y Overlaps the first a b

Analysis is similar to case 3

m m m m
a ...... a b ...... b a ...... a b ...... b
uv x y z 22
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

Analysis is similar to case 1:


m m m m
a b a b 23
More cases: m m m m
vxy overlaps a b a b
or
m m m m
a b a b

Analysis is similar to cases 2,3,4:

m m m m
a b a b
24
There are no other cases to consider

Since | vxy | m, it is impossible


vxy to overlap: m m m m
a b a b
nor
m m m m
a b a b
nor
m m m m
a b a b
25
In all cases we obtained a contradiction

Therefore: The original assumption that

L = {ww : w  {a, b}*}


is context-free must be wrong

Conclusion: L is not context-free


26
Linz 6th, section 8.1, example 8.3, page 217
{ an! | 0 ≤ n}

27
Non-context free languages
n n n {ww : w  {a, b}}
{a b c : n  0}
n!
{a : n  0}

Context-free languages

n n R
{a b : n  0} {ww : w  {a, b}*}

28
Theorem: The language
n!
L = {a : n  0}
is not context free

Proof: Use the Pumping Lemma


for context-free languages

29
n!
L = {a : n  0}

Assume for contradiction that L


is context-free

Since L is context-free and infinite


we can apply the pumping lemma

30
n!
L = {a : n  0}
Pumping Lemma gives a magic number m
such that:

Pick any string of L with length at least m

m!
we pick: a L

31
n!
L = {a : n  0}

m!
We can write: a = uvxyz

with lengths | vxy | m and | vy | 1

Pumping Lemma says:

i i
uv xy z  L for all i0
32
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

We examine all the possible locations


m!
of string vxy in a

There is only one case to consider


33
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

m!
a .......... ..... a
u v x y z

k1 k2 1  k1 + k 2  m
v=a y=a
34
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

m!+ k1 + k 2
a .......... .......... ....... a
u v2 x y 2 z

k1 k2 1  k1 + k 2  m
v=a y=a
35
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

m!+ k k = k1 + k 2
a .......... .......... ....... a
u v2 x y 2 z

k1 k2 1 k  m
v=a y=a
36
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

m!+ k 2 2
a = uv xy z

1 k  m

37
Since 1  k  m , for m  2 we have:
m!+ k  m!+ m
 m!+ m!m
= m!(1 + m)
= ( m + 1)!

m! m!+ k  (m + 1)!


38
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

m! m!+ k  (m + 1)!

m!+ k 2 2
a = uv xy z  L

39
n!
L = {a : n  0}
m! | vxy | m | vy | 1
a = uvxyz

2 2
However, from Pumping Lemma: uv xy z  L

m!+ k 2 2
a = uv xy z  L
Contradiction!!! 40
We obtained a contradiction

Therefore: The original assumption that


n!
L = {a : n  0}
is context-free must be wrong

Conclusion: L is not context-free


41
Linz 6th, section 8.1, example 8.4, page 218
{an*n bn| 0 ≤ n}

42
Non-context free languages
n n n {ww : w  {a, b}}
{a b c : n  0}
n2 n n!
{a : n  0}
{a b : n  0}

Context-free languages

n n R
{a b : n  0} {ww : w  {a, b}*}

43
Theorem: The language
n2 n
L = {a b : n  0}
is not context free

Proof: Use the Pumping Lemma


for context-free languages

44
2
n n
L = {a b : n  0}
Assume for contradiction that L
is context-free

Since L is context-free and infinite


we can apply the pumping lemma

45
2
n n
L = {a b : n  0}
Pumping Lemma gives a magic number m
such that:

Pick any string of L with length at least m

we pick: m2 m
a b L

46
2
n n
L = {a b : n  0}
2
m m
We can write: a b = uvxyz

with lengths | vxy | m and | vy | 1

Pumping Lemma says:

i i
uv xy z  L for all i0
47
2
n n
L = {a b : n  0}
2
m m
a b = uvxyz | vxy | m | vy | 1

We examine all the possible locations

vxy m2 m
of string in a b

48
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
49
2
n n
L = {a b : n  0}
2
m m
a b = uvxyz | vxy | m | vy | 1

k1 k2
v=a y=b 1  k1 + k 2  m
2 m
m
a .......... .......... . a b ...... b
u v x y z
50
2
n n
L = {a b : n  0}
2
m m
a b = uvxyz | vxy | m | vy | 1

Most complicated sub-case: k1  0 and k 2  0


k1 k2
v=a y=b 1  k1 + k 2  m
2 m
m
a .......... .......... . a b ...... b
u v x y z
51
2
n n
L = {a b : n  0}
2
m m
a b = uvxyz | vxy | m | vy | 1

Most complicated sub-case: k1  0 and k 2  0


k1 k2
v=a y=b 1  k1 + k 2  m
2
m − k1 m − k 2
a .......... ..... a b ... b
u 0 x 0z
v y 52
2
n n
L = {a b : n  0}
2
m m
a b = uvxyz | vxy | m | vy | 1

Most complicated sub-case: k1  0 and k 2  0


k1 k2
v=a y=b 1  k1 + k 2  m

m 2 − k1 m − k 2 0 0
a b = uv xy z

53
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 − k2 )
54
2
n n
L = {a b : n  0}
2
m m
a b = uvxyz | vxy | m | vy | 1

2 2
m − k1  (m − k2 )

2
m − k1 m − k 2 0 0
a b = uv xy z  L

55
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!!!
56
When we examine the rest of the cases
we also obtain a contradiction

57
In all cases we obtained a contradiction

Therefore: The original assumption that


n2 n
L = {a b : n  0}
is context-free must be wrong

Conclusion: L is not context-free


58

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy