costas busch - rpi1 the pumping lemma for context-free languages

74
Costas Busch - RPI 1 The Pumping Lemma for Context-Free Languages

Post on 21-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Costas Busch - RPI 1

The Pumping Lemmafor

Context-Free Languages

Costas Busch - RPI 2

Take an infinite context-free language

Example:

bB

SbB

aBbA

ABS

Generates an infinite numberof different strings

Costas Busch - RPI 3

abbabbbbabbabbBb

abbaBbBbabbABbabbSb

abbBaBbBABS

bB

SbB

aBbA

ABS

A derivation:

In a derivation of a long string,variables are repeated

Costas Busch - RPI 4

S

A B

bBa

b

bS

A B

bBa

b

b

Derivation tree string abbabbbb

Costas Busch - RPI 5

S

A B

bBa

b

bS

A B

bBa

b

b

repeated

Derivation tree string abbabbbb

Costas Busch - RPI 6

B

bS

A B

bBa

b

b

aBbbbaBbBb

ABbSbB

bBaBbbbB*

Costas Busch - RPI 7

B

bS

A B

bBa b

Repeated Part

aBbbbB*

Costas Busch - RPI 8

B

bS

A B

ba bB

bS

A B

bBa b

aaBbbbbbbaBbbbB**

Another possible derivation from

aBbbbB*

B

Costas Busch - RPI 9

B

bS

A B

ba bB

bS

A B

bBa b

22**

)()()()( bbbBabbbBaB

aBbbbB*

Costas Busch - RPI 10

S

A B

bBa

baBbbbB*

bB

abbBbS*

A Derivation from S

abbBbS*

Costas Busch - RPI 11

S

A B

bBa

baBbbbB*

bB

abbBbS*

abbbbabbBbS *

b

00 )()( bbbbaabb

Costas Busch - RPI 12

00*

)()( bbbbaabbS

)()()( 00 GLbbbbaabb

aBbbbB* bBabbBbS

*

Costas Busch - RPI 13

S

A B

bBa

baBbbbB*

bB

abbBbS*

A Derivation fromS

abbBbS*

Costas Busch - RPI 14

S

A B

bBa

b

bS

A B

ba bB

abbaBbbbabbBbS**

aBbbbB*

bB

abbBbS*

Costas Busch - RPI 15

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

22**

)()()()( bbbBaabbbbbBaabbS

aBbbbB*

bB

abbBbS*

Costas Busch - RPI 16

22*

22*

)()()()( bbbbaabbbbbBaabbS

aBbbbB*

bB

abbBbS*

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

b

Costas Busch - RPI 17

22*

)()( bbbbaabbS

)()()( 22 GLbbbbaabb

aBbbbB* bBabbBbS

*

Costas Busch - RPI 18

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

A Derivation from

22*

)()( bbbBaabbS

aBbbbB*

bB

abbBbS*

S

Costas Busch - RPI 19

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

bS

A B

bBa b

33*

22*

)()()()( bbbBaabbbbbBaabbS

aBbbbB*

bB

abbBbS*

Costas Busch - RPI 20

3333*

)()()()( bbbbaabbbbbBaabbS

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

bS

A B

bBa b

b

aBbbbB*

bB

abbBbS*

Costas Busch - RPI 21

33*

)()( bbbbaabbS

)()()( 33 GLbbbbaabb

aBbbbB* bBabbBbS

*

Costas Busch - RPI 22

ii bbbbaabbS )()(*

)()()( GLbbbbaabb ii

aBbbbB* bBabbBbS

*

In General:

0i

Costas Busch - RPI 23

Consider now an infinite context-free language

G

Take so that I has no unit-productions no -productions

G

L

Let be the grammar of }{L

Costas Busch - RPI 24

(Number of productions) x(Largest right side of a production)

=Let

bB

SbB

aBbA

ABS

Example :

131pm

G

p

Let 1pm

1234 p

Costas Busch - RPI 25

Take a string with length

)(GLwmw ||

We will show: in the derivation of a variable of is repeated

wG

Costas Busch - RPI 26

wvvv k 21

wS*

1vS

Costas Busch - RPI 27

wvvv k 21

fvv ii |||| 1 maximum right hand sideof any production

fkw ||

fkwm || fkp

Costas Busch - RPI 28

wvvv k 21

Number of productionsin grammar

fkp

fp

k

Costas Busch - RPI 29

Number of productionsin grammar

k

Some production must be repeated

wvvv k 21

2

2

1

rB

rA

rS

Repeated variable

wAaaAaav 43211

Costas Busch - RPI 30

)(GLw mw ||

wAaaAaaS 4321

Some variable is repeated

Derivation of string w

Costas Busch - RPI 31

S

A

A

x

Last repeated variable

u z

v yuvxyzw

:,,,, zyxvurepeated

Strings of terminals

Derivation tree of string w

Costas Busch - RPI 32

S

A

A

x

u z

v y

uAzS

vAyA

xA

Possiblederivations:

Costas Busch - RPI 33

uAzS vAyA

xA

We know:

This string is also generated:

uxzuAzS*

zxyuv 00

Costas Busch - RPI 34

This string is also generated:

uvxyzuvAyzuAzS**

The original zxyuvw 11

uAzS vAyA

xA

We know:

Costas Busch - RPI 35

This string is also generated:

uvvxyyzuvvAyyzuvAyzuAzS***

zxyuv 22

uAzS vAyA

xA

We know:

Costas Busch - RPI 36

This string is also generated:

uvvvxyyyzuvvvAyyyz

uvvAyyzuvAyzuAzS**

**

zxyuv 33

uAzS vAyA

xA

We know:

Costas Busch - RPI 37

This string is also generated:

yyyzvxyuvvv

yyyzvAyuvvv

uvvvAyyyz

uvvAyyzuvAyzuAzS

zxyuv ii

uAzS vAyA

xA

We know:

*

***

*****

Costas Busch - RPI 38

Therefore, any string of the form

zxyuv ii

is generated by the grammar G

0i

Costas Busch - RPI 39

knowing that )(GLuvxyz

we also know that )(GLzxyuv ii

Therefore,

Lzxyuv ii

}{)( LGL

Costas Busch - RPI 40

S

A

A

x

u z

v y

mvxy ||Observation:

Since is the last repeated variableA

Costas Busch - RPI 41

S

A

A

x

u z

v y

1|| vyObservation:

Since there are no unit or -productions

Costas Busch - RPI 42

The Pumping Lemma:

there exists an integer such that m

for any string mwLw || ,

we can write

For infinite context-free language L

uvxyzw

with lengths 1||and || vymvxy

and it must be:

0 allfor , iLzxyuv ii

Costas Busch - RPI 43

Applicationsof

The Pumping Lemma

Costas Busch - RPI 44

Context-free languages

}0:{ nba nn

Non-context free languages

}0:{ ncba nnn

Costas Busch - RPI 45

Theorem:The language

}0:{ ncbaL nnn

is not context free

Proof: Use the Pumping Lemmafor context-free languages

Costas Busch - RPI 46

}0:{ ncbaL nnn

Assume for contradiction that

is context-free

Since is context-free and infinitewe can apply the pumping lemma

L

L

Costas Busch - RPI 47

Pumping Lemma gives a magic numbersuch that:

m

Pick any string with length Lw mw ||

We pick:mmm cbaw

}0:{ ncbaL nnn

Costas Busch - RPI 48

}0:{ ncbaL nnn

mmm cbaw

We can write: uvxyzw

with lengths andmvxy || 1|| vy

Costas Busch - RPI 49

}0:{ ncbaL nnn

Pumping Lemma says:

Lzxyuv ii for all 0i

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 50

}0:{ ncbaL nnn

We examine all the possible locationsof string in vxy w

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 51

}0:{ ncbaL nnn

Case 1: vxy is withinma

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 52

}0:{ ncbaL nnn

Case 1: and consist from only v y a

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 53

}0:{ ncbaL nnn

Case 1:

ccccccbbbbbbaaaaaaaaaaaa .........22xyv

km m m

u z

Repeating andv y

mmm cbawuvxyzw mvxy || 1|| vy

1k

Costas Busch - RPI 54

}0:{ ncbaL nnn

Case 1:

ccccccbbbbbbaaaaaaaaaaaa .........22xyv

km m m

u z

From Pumping Lemma: Lzxyuv 22

mmm cbawuvxyzw mvxy || 1|| vy

1k

Costas Busch - RPI 55

}0:{ ncbaL nnn

Case 1:

Lcbazxyuv mmkm 22

From Pumping Lemma: Lzxyuv 22

However:

Contradiction!!!

mmm cbawuvxyzw mvxy || 1|| vy

1k

Costas Busch - RPI 56

}0:{ ncbaL nnn

Case 2: vxy is withinmb

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 57

}0:{ ncbaL nnn

Case 2:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Similar analysis with case 1

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 58

}0:{ ncbaL nnn

Case 3: vxy is withinmc

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 59

}0:{ ncbaL nnn

Case 3:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Similar analysis with case 1

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 60

}0:{ ncbaL nnn

Case 4: vxy overlaps and ma

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mb

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 61

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibility 1: contains onlycontains onlyvy

ab

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 62

}0:{ ncbaL nnn

ccccccbbbbbbbbbbaaaaaaaaaa .........22xyv

1km 2km m

u z

mmm cbawuvxyzw mvxy || 1|| vy

Case 4:Possibility 1: contains onlycontains onlyvy

ab121 kk

Costas Busch - RPI 63

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbbbbbaaaaaaaaaa .........22xyv

1km 2km m

u z

From Pumping Lemma: Lzxyuv 22

mmm cbawuvxyzw mvxy || 1|| vy

121 kk

Costas Busch - RPI 64

}0:{ ncbaL nnn

Case 4:From Pumping Lemma: Lzxyuv 22

Lcbazxyuv mkmkm 2122However:

Contradiction!!!

mmm cbawuvxyzw mvxy || 1|| vy

121 kk

Costas Busch - RPI 65

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibility 2: contains andcontains onlyvy

ab

mmm cbawuvxyzw mvxy || 1|| vy

b

Costas Busch - RPI 66

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbbbbbbaaaaabbaabaaa .........

22xyv

m km m

u z

Possibility 2: contains andcontains onlyvy

ab

mmm cbawuvxyzw mvxy || 1|| vy

b

1k 2k

121 kkk

Costas Busch - RPI 67

}0:{ ncbaL nnn

mmm cbawuvxyzw mvxy || 1|| vy

Case 4:From Pumping Lemma: Lzxyuv 22

ccccccbbbbbbbbbbbaaaaabbaabaaa .........

22xyv

m km m

u z

1k 2k

121 kkk

Costas Busch - RPI 68

}0:{ ncbaL nnn

mmm cbawuvxyzw mvxy || 1|| vy

Case 4:From Pumping Lemma: Lzxyuv 22

Lcbabazxyuv mkmkkm 2122

However:

Contradiction!!!

121 kkk

Costas Busch - RPI 69

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibility 3: contains onlycontains andvy

ab

mmm cbawuvxyzw mvxy || 1|| vy

a

Costas Busch - RPI 70

}0:{ ncbaL nnn

Case 4:Possibility 3: contains onlycontains andvy

ab

mmm cbawuvxyzw mvxy || 1|| vy

a

Similar analysis with Possibility 2

Costas Busch - RPI 71

}0:{ ncbaL nnn

Case 5: vxy overlaps and mb

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mc

mmm cbawuvxyzw mvxy || 1|| vy

Costas Busch - RPI 72

}0:{ ncbaL nnn

Case 5:

mmm cbawuvxyzw mvxy || 1|| vy

Similar analysis with case 4

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Costas Busch - RPI 73

There are no other cases to consider

(since , string cannot overlap , and at the same time)

vxymvxy ||

ma mb mc

Costas Busch - RPI 74

In all cases we obtained a contradiction

Therefore: The original assumption that

}0:{ ncbaL nnn

is context-free must be wrong

Conclusion: is not context-freeL