154
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2012

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10

Embed Size (px)

DESCRIPTION

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2012. Content The Pumping Lemma for CFL Applications of the Pumping Lemma for CFL Example of Midterm Exam 2 (CFL). The Pumping Lemma for Context-Free Languages. - PowerPoint PPT Presentation

Citation preview

1

CDT314

FABER

Formal Languages, Automata and Models of Computation

Lecture 10

Mälardalen University

2012

2

Content

The Pumping Lemma for CFLApplications of the Pumping Lemma for CFL

Example of Midterm Exam 2 (CFL)

3

The Pumping Lemmafor

Context-Free Languages

Based on C Busch, RPI, Models of Computation

4

Take an infinite context-free language.

Example:

bB

SbB

aBbA

ABS

It generates an infinite number of different strings:

5

abbabbbbabbabbBb

abbaBbBbabbABbabbSb

abbBaBbBABS

A derivation

bB

SbB

aBbA

ABS

6

S

A B

bBa

b

bS

A B

bBa

b

b

Derivation tree string abbabbbb

bB

SbB

aBbA

ABS

7

S

A B

bBa

b

bS

A B

bBa

b

b

Derivation tree string abbabbbb

repeated

8

B

bS

A B

bBa

b

b

aBbbbaBbBb

ABbSbB

bB

9

Repeated part

aBbbbB

B

bS

A B

bBa b

10aaBbbbbbbaBbbbB

Another possible derivation

aBbbbB

B

bS

A B

ba bB

bS

A B

bBa b

11

aBbbbB

abbaBbbbS

S

A B

bBa

b

bS

A B

ba bB

derivation

12

aBbbbB

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

bbabbaaBbbbbabbaBbbbS

derivation

13

aBbbbB

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b bbabbaaBbbbb

abbaBbbbS

b bB bbabbaabbbbbbbabbaaBbbbbS

derivation

14

bbabbaabbbbbS

Therefore, the string

bbabbaabbbbb

is also generated by the grammar

15

abbaBbbbS

aBbbbB

bB We know:

We also know the following string is generated:

abbaabbbb

abbaBbbbS

16

We know:

Therefore, the following string is also generated:

bbabbaabbbbb

bbabbaaBbbbb

abbaBbbbS

abbaBbbbS

aBbbbB

bB

17

abbaBbbbS

aBbbbB bB We know:

Therefore, the following string is also generated:

bbbbbbbaabba

bbbbbbBaabba

bbbbbbBaabba

abbaBbbbS

22

22

)()(

)()(

)()(

18

Therefore, the following string is also generated:

bbbbbbbaabba

bbbbbbBaabba

abbaBbbbS

ii

ii

)()(

)()(

abbaBbbbS

aBbbbB bB We know:

19

Therefore, knowing that

abbabbbb

is generated by grammar

bbbbbbbaabba ii )()(

is generated by G

We also know thatbB

SbB

aBbA

ABS

G

20

In general

We are given an infinite

context-free grammar . G

Assume has no unit-productions

and no -productions.

G)( BA

21

Take a string

with length bigger than )(GLw

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

m >

Some variable must be repeated

in the derivation of .w

Consequence:

22

S

A

A

x

Last repeated variable

u z

v y

uvxyzw string

repeated

:,,,, zyxvu strings of terminals

23

uAzS

vAyA

xA

Possible

derivationsS

A

A

x

u z

v y

24

uAzS vAyA

xA

We know:

Following string is also generated:

uxzuAzS*

zxyuv 00

25

This string is also generated:

uvxyzuvAyzuAzS**

The original zxyuvw 11

uAzS vAyA

xA

We know:

26

This string is also generated:

uvvxyyzuvvAyyzuvAyzuAzS***

zxyuv 22

uAzS vAyA

xA

We know:

27

This string is also generated:

uvvvxyyyzuvvvAyyyz

uvvAyyzuvAyzuAzS**

**

zxyuv 33

uAzS vAyA

xA

We know:

28

This string is also generated:

yyyzvxyuvvv

yyyzvAyuvvv

uvvvAyyyz

uvvAyyzuvAyzuAzS

zxyuv ii

uAzS vAyA

xA

We know:

*

***

*****

29

Therefore, any string of the form

zxyuv ii

is generated by the grammar G

0i

30

knowing that )(GLuvxyz

we also know that )(GLzxyuv ii

Therefore

31

mvxy ||Observation:

Since is the last repeated variableA

S

A

A

x

u z

v y

A string has length bigger than )(GLw

(Number of productions) x

(Largest right side of a production)m >

m

32

1|| vyObservation

Since there are no unit or productions

S

A

A

x

u z

v y

33

The Pumping Lemma for CFL

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 0 allfor , iLzxyuv ii

34

Applicationsof

The Pumping Lemma for CFL

35

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

36

Theorem The language

}0:{ ncbaL nnn

is not context free.

Proof Use the Pumping Lemma

for context-free languages.

Example

37

}0:{ ncbaL nnn

Assume the contrary, that

is context-free.

Since is context-free and infinite

we can apply the pumping lemma.

L

L

38

Pumping Lemma gives a number

such that:

m

for any string with length Lw mw ||

We can choose e.g.mmm cbaw

}0:{ ncbaL nnn

39

}0:{ ncbaL nnn

mmm cbaw

We can write: uvxyzw

with lengths andmvxy || 1|| vy

40

}0:{ ncbaL nnn

Pumping Lemma says:

Lzxyuv ii for all 0i

mmm cbaw uvxyzw mvxy || 1|| vy

41

}0:{ ncbaL nnn

We examine all the possible locations

of string in vxy w

mmm cbaw uvxyzw mvxy || 1|| vy

42

}0:{ ncbaL nnn

Case 1: vxy is withinma

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbaw uvxyzw mvxy || 1|| vy

43

Case 1: and consist from only v y a

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

}0:{ ncbaL nnn

mmm cbaw uvxyzw mvxy || 1|| vy

44

}0:{ ncbaL nnn

Case 1:

22xyv

ccccccbbbbbbaaaaaaaaaaaa .........km m m

u z

Repeating andv y

mmm cbaw uvxyzw mvxy || 1|| vy

1k

45

}0:{ ncbaL nnn

mmm cbaw uvxyzw mvxy || 1|| vy

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

km m m

u z

1k

Case 1: From Pumping Lemma: Lzxyuv 22

46

}0:{ ncbaL nnn

Case 1:

Lcbazxyuv mmkm 22

From Pumping Lemma: Lzxyuv 22

However:

Contradiction!

mmm cbaw uvxyzw mvxy || 1|| vy

1k

47

}0:{ ncbaL nnn

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Case 2: vxy is withinmb

mmm cbaw uvxyzw mvxy || 1|| vy

48

}0:{ ncbaL nnn

Case 2: Similar analysis to case 1

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbaw uvxyzw mvxy || 1|| vy

49

}0:{ ncbaL nnn

Case 3: vxy is withinmc

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbaw uvxyzw mvxy || 1|| vy

50

}0:{ ncbaL nnn

Case 3: Similar analysis to case 1

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbaw uvxyzw mvxy || 1|| vy

51

}0:{ ncbaL nnn

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Case 4: vxy overlaps and ma mb

mmm cbaw uvxyzw mvxy || 1|| vy

52

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibility 1: contains onlycontains only

vy

ab

mmm cbaw uvxyzw mvxy || 1|| vy

53

}0:{ ncbaL nnn

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

1km 2km m

u z

mmm cbaw uvxyzw mvxy || 1|| vy

Case 4: Possibility 1: contains onlycontains only

vy

ab

121 kk

54

}0:{ ncbaL nnn

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

1km 2km m

u z

Case 4: From Pumping Lemma: Lzxyuv 22

mmm cbaw uvxyzw mvxy || 1|| vy

121 kk

55

}0:{ ncbaL nnn

Case 4: From Pumping Lemma: Lzxyuv 22

Lcbazxyuv mkmkm 2122However:

Contradiction!

mmm cbaw uvxyzw mvxy || 1|| vy

121 kk

56

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibility 2: contains andcontains only

vy

ab

mmm cbaw uvxyzw mvxy || 1|| vy

b

57

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbbbbbbaaaaaaabbbaaa .........22xyv

m km m

u z

Possibility 2: contains andcontains only

vy

ab

mmm cbaw uvxyzw mvxy || 1|| vy

b

1k 2k

121 kkk

58

}0:{ ncbaL nnn

mmm cbaw uvxyzw mvxy || 1|| vy

Case 4:From Pumping Lemma: Lzxyuv 22

121 kkk

ccccccbbbbbbbbbbbaaaaaaabbbaaa .........22xyv

m km m

u z

1k 2k

59

}0:{ ncbaL nnn

mmm cbaw uvxyzw mvxy || 1|| vy

Case 4: From Pumping Lemma: Lzxyuv 22

Lcbbaazxyuv mkmkkm 2122

However:

Contradiction!

121 kkk

60

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibility 3: contains onlycontains andy

ab

mmm cbaw uvxyzw mvxy || 1|| vy

av

61

}0:{ ncbaL nnn

Case 4: Possibility 3: contains only

contains andya

b

mmm cbaw uvxyzw mvxy || 1|| vy

a

Similar analysis with Possibility 2

v

62

}0:{ ncbaL nnn

Case 5: vxy overlaps and mb

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mc

mmm cbaw uvxyzw mvxy || 1|| vy

63

}0:{ ncbaL nnn

Case 5: Similar analysis to case 4

mmm cbaw uvxyzw mvxy || 1|| vy

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

64

There are no other cases to consider.

(Since , string cannot

overlap , and at the same time)

vxymvxy ||

ma mb mc

65

In all cases we obtain a contradiction.

Therefore: The original assumption that

}0:{ ncbaL nnn

is context-free must be wrong.

Conclusion: is not context-free.L

END OF PROOF

66

Comparison between the Pumping Lemma for Context

Free and Regular Languages

67

What is the difference between Context Free Languages and Regular Languages?

In regular languages a single symbol/substring in the string w can be “pumped”.

...... ......q

68

The difference between Context Free Languages and Regular Languages

In CFL’s multiple symbols/substrings in the string w can be “pumped”.

Consider the language {an bn | n > 0}

No single symbol can be pumped and allow us to stay in the language.

However, there do exist pairs of symbols which can be pumped resulting in strings which stay in the language.

Thus a CFL pumping lemma applies.

69

aBbbbB

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b bbabbaaBbbbb

abbaBbbbS

b bB bbabbaabbbbbbbabbaaBbbbbS

CFG productions

70

S

A

A

x

Last repeated variable

u z

v y

uvxyzw String

repeated

:,,,, zyxvu strings of terminals

71

Pumping Conditions for RL and CFL

A language L satisfies the RL pumping condition if: – there exists an integer m > 0 such

that– for all strings w in L of length at

least m– there exist strings x, y, z such that

• w = xyz and• |xy| ≤ m and• |y| ≥ 1 and• for all i ≥ 0, xyiz is in L

|xy| ≤ m is in the beginning of the w and can be pumped within m symbols.

A language L satisfies the CFL pumping condition if:

– there exists an integer m > 0 such that

– for all strings w in L of length at least m

– there exist strings u, v, x, y, z such that

• w = uvxyz and• |vxy| ≤ m and• |vy| ≥ 1 and

• for all i ≥ 0, uvixyiz is in L

|vxy| ≤ m and u comes first in the w and it can be arbitrarily long.

72

Pumping Lemma

All CFL’s satisfy the CFL pumping condition

But some languages that satisfy CFL pumping condition are not CFL!

All languages over {a,b}

“Pumping Languages”

CFL’s

73

Implications

We can use the pumping lemma to prove a language L is not a CFL.

Show that L does not satisfy the CFL pumping condition.

We cannot use the pumping lemma to prove a language is CFL.

Showing L satisfies the pumping condition does not guarantee that L is context-free.

All languages over {a,b}

“Pumping Languages”

CFL’s

74

Pumping Lemma

What does it mean?

75

Pumping Condition

• A language L satisfies the CFL pumping condition if: – there exists an integer m > 0 such that– for all strings w in L of length at least m– there exist strings u, v, x, y, z such that

• w = uvxyz and• |vxy| ≤ m and• |vy| ≥ 1 and

Then for all i ≥ 0, uviwyiz is in L

76

v and y can be pumped

• Let w = abcdefg be in L• Then there exist substrings v and y in w such

that v and y can be repeated (pumped) and the resulting string is still in L:

uvixyiz is in L for all i ≥ 0

1) w in L2) w = uvxyz3) for all i ≥ 0, uvixyiz is in L

77

For example w = abcdefg

v = cd and y = f

uv0xy0z = uxz = abeg is in L

uv1xy1z = uvxyz = abcdefg is in L

uv2xy2z = uvvxyyz = abcdcdeffg is in L

uv3xy3z = uvvvxyyyz = abcdcdcdefffg is in L

78

What the other parts mean

A language L satisfies the CFL pumping condition if: there exists an integer m > 0 such thatfor all strings w in L of length at least mw must be in L

79

What the other parts mean

There exist strings u, v, x, y, z such that• w = uvxyz and• |vxy| ≤ m andv and y are contained within m characters of wNote: these are NOT necessarily the first m

characters of w|vy| ≥ 1(v and y cannot both be , one of them might

be , but not both)• For all i ≥ 0, uvixyiz is in L

80

APPLYING CFL PUMPING LEMMA TO PROVE THAT A LANGUAGE L IS NOT CONTEXT-FREE

81

How we use the Pumping Lemma

1. We choose a specific language L.

2. We show that L does not satisfy the pumping condition.

3. We conclude that L is not context-free.

82

Showing that L “does not pump”

A language L satisfies the CFL pumping condition if: there exists an integer m > 0

such thatfor all strings w in L of length

at least mthere exist strings u, v, x, y, z

such thatw = uvxyz and|vxy| ≤ m and|vy| ≥ 1 andfor all i ≥ 0, uvixyiz is in L

A language L does not satisfy the CFL pumping condition if: for all integers m of sufficient

sizethere exists a string w in L of

length at least m such thatfor all strings u, v, x, y, z where

w = uvxyz and|vxy| ≤ m and|vy| ≥ 1

there exists a i ≥ 0 such that uvixyiz is not in L

83

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

84

More Pumping Lemma Applications

85

The Pumping Lemma for CFL

there exists an integer such that m

for any string mwLw || ,

we can write

For infinite context-free language L

uvxyzw

with lengths mvxy ||

then 0 allfor , iLzxyuv ii

1|| vyand

86

Theorem The language

}*},{:{ bawwwL

is not context free.

Proof Use the Pumping Lemma

for context-free languages.

Example

87

Assume the contrary - that

is context-free.

Since is context-free and infinite

we can apply the pumping lemma.

L

L

}*},{:{ bawwwL

88

Pumping Lemma gives a number

such that we can

m

So we pick: Lbaba mmmm

}*},{:{ bawwwL

pick any string of

with length at least mL

89

We can write:

}*},{:{ bawwwL

uvxyzbaba mmmm

Pumping Lemma says:

Lzxyuv ii for all 0i

with lengths mvxy || 1|| vyand

90

We examine all the possible locations

of string in vxy

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

mmmm baba

91

Case 1: vxy is within the firstma

bbaabbaa ........................v

m m m

u z

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

x y

m

1kav 2kay 121 kk

92

bbaabbaa ..................................2v

21 kkm m m

u z

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

x 2y

m

Case 1: vxy is within the firstma

1kav 2kay 121 kk

93

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

Case 1: vxy is within the firstma

121 kk

Lzxyuvbaba mmmkkm 2221

94

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

Case 1: vxy is within the first ma

Contradiction!

Lzxyuvbaba mmmkkm 2221

Lzxyuv 22However, from Pumping Lemma:

95

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

bbaabbaa ........................v

m m m

u zx y

m

is in the first

is in the firstCase 2: mamb

vy

1kav 2kby 121 kk

96

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

bbaabbaa ....................................2v

1km 2km m

u zx 2y

m

is in the first

is in the firstCase 2: mamb

vy

1kav 2kby 121 kk

97

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

is in the firstCase 2: mamb

vy

121 kk

Lzxyuvbaba mmkmkm 2221

98

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

is in the firstCase 2: mamb

vy

Lzxyuvbaba mmkmkm 2221

Contradiction!

Lzxyuv 22However, from Pumping Lemma:

99

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

bbaabbaa ........................v

m m m

u zx y

m

is in the first

overlaps the firstCase 3: mmbamb

vy

21 kk bav 3kby 1, 21 kk

100

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

overlaps the firstCase 3: mmbamb

vy

21 kk bav 3kby 1, 21 kk

2v zx 2y

bbaabbbbaaaa .................................m 2k 3km

u

m1k m

101

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

overlaps the firstCase 3: mmbamb

vy

Lzxyuvbabbaa mmkmkkm 22321

1, 21 kk

102

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

overlaps the firstCase 3: mmbamb

vy

Lzxyuvbabbaa mmkkkm 22321

Contradiction!

Lzxyuv 22However, from Pumping Lemma:

103

overlaps the first

in the firstCase 4:

bbaabbaa ........................v

m m m

u z

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

x y

m

mammba

vy

Analysis is similar to case 3

104

Other cases: vxy is within

mmmm babaor

or

mmmm baba

mmmm baba

Analysis is similar to case 1: mmmm baba

105

More cases: vxy overlaps

mmmm baba ormmmm baba

Analysis is similar to cases 2,3,4:

mmmm baba

106

Since , it is impossible for

to overlap:

There are no other cases to consider.

mvxy ||vxy

mmmm baba

nor normmmm baba mmmm baba

neither

107

In all cases we obtain a contradiction.

Therefore: The original assumption that

is context-free must be wrong.

Conclusion: is not context-free.L

}*},{:{ bawwwL

END OF PROOF

108

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

}{ww

109

Theorem The language

is not context free.

Proof Use the Pumping Lemma

for context-free languages.

}0:{ ! naL n

Example

110

Since is context-free and infinite

we can apply the pumping lemma.

L

Assume to the contrary that

is context-free.

L

}0:{ ! naL n

111

Pumping Lemma gives a number

such that we can:

m

so we pick: Lam !

pick any string of with length at least mL

}0:{ ! naL n

112

We can write: uvxyzam !

Pumping Lemma says:

Lzxyuv ii for all 0i

}0:{ ! naL n

with lengths mvxy || 1|| vy and

113

We examine all the possible locations

of the string in vxy !ma

mvxy || 1|| vyuvxyzam !

There is only one case to consider.

}0:{ ! naL n

114

v

!m

u zx y

1kav 2kay mkk 211

aa ...............

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

115

2v

21! kkm

u zx 2y

1kav 2kay

aa ...........................

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mkk 211

116

2v

km !

u zx 2y

1kav 2kay

aa ...........................

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mk 1

21 kkk

117

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mk 1

zxyuva km 22!

118

)!1(

)1(!

!!

!!

m

mm

mmm

mmkm

)!1(!! mkmm

mk 1Since

2m we have:for

119

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

Lzxyuva km 22!

)!1(!! mkmm

120

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

Lzxyuva km 22!

Lzxyuv 22

Contradiction!

However, from Pumping Lemma:

121

We obtained a contradiction

Therefore: The original assumption that

is context-free must be wrong

Conclusion: is not context-freeL

}0:{ ! naL n

END OF PROOF

122

Regular Languages

**ba

Context-free languages

Unrestricted grammar languages}0:{ ncba nnn

}0:{ nba nn

}},{:{ bawww

}*},{:{ bawwwR

}0:{ ! nan

123

Theorem The language

is not context free

Proof Use the Pumping Lemma

for Context-free languages

}0:{2

nbaL nn

Example

124

Since is context-free and infinite

we can apply the pumping lemma.

L

Assume to the contrary that

is context-free.

L

}0:{2

nbaL nn

125

Pumping Lemma gives a number

such that we can:

m

so we choose: Lba mm 2

pick any string of with length at least mL

}0:{2

nbaL nn

126

We can write:

with lengths andmvxy || 1|| vy

uvxyzba mm 2

Pumping Lemma says:

Lzxyuv ii for all 0i

}0:{2

nbaL nn

127

We examine all the possible locations

of string in vxy

mvxy || 1|| vyuvxyzba mm 2

mm ba2

}0:{2

nbaL nn

128

The most complicated case:

bbaa ...........................v

2m m

u zx y

is in

is inmamb

vy

}0:{2

nbaL nn

mvxy || 1|| vyuvxyzba mm 2

129

bbaa ...........................v

2m m

u zx y

1kav 2kby

}0:{2

nbaL nn

mkk 211

mvxy || 1|| vyuvxyzba mm 2

130

bbaa ...........................v

2m m

u zx y

1kav 2kby

The most complicated sub-case: 01 k 02 k

}0:{2

nbaL nn

mkk 211

and

mvxy || 1|| vyuvxyzba mm 2

1310v

12 km 2km

u zx 0y

bbaa ..................

}0:{2

nbaL nn

1kav 2kby

The most complicated sub-case: 01 k 02 k

mkk 211

and

mvxy || 1|| vyuvxyzba mm 2

132

}0:{2

nbaL nn

1kav 2kby

01 k 02 k

mkk 211

and

zxyuvba kmkm 00212

mvxy || 1|| vyuvxyzba mm 2

The most complicated sub-case:

133

12

2

222

12

)1()(

km

mm

mkm

01 k 02 k mkk 211and

221

2 )( kmkm

134

}0:{2

nbaL nn

221

2 )( kmkm

Lzxyuvba kmkm 00212

mvxy || 1|| vyuvxyzba mm 2

135

}0:{2

nbaL nn

Lzxyuvba kmkm 00212

However, from Pumping Lemma:

Lzxyuv 00

Contradiction!

mvxy || 1|| vyuvxyzba mm 2

136

When we examine the rest of the cases

we also obtain a contradiction.

137

In all cases we obtain a contradiction.

Therefore: The original assumption that

is context-free must be wrong.

Conclusion: is not context-free.L

}0:{2

nbaL nn

END OF PROOF

138

Check your knowledge before the Midterm 2!

Selected Examplesof

Context Free Language Problems

139

Solution 1.

Let G be the grammar with productions:

Claim: L(G) = L

||

bBcB

BaScS

}:{ mnkcbaL kmn

Problem 1. Find a CFG for the following language

140

Proof:Consider the following derivation:

(the first * applies S aSc n times, the second * to B bBc m times)

Since all words in L(G) must follow this pattern in their derivations, it is clear that L(G) L

Find a CFG for the following language:

||

bBcB

BaScS

}:{ mnkcbaL kmn

)(

**

mncmbna

ncmcBmbnancBnancSnaS

141

Consider w L, w = anbmc(n + m) for some n, m 0

The derivation

S * anScn anBcn * anbmBcmcn anbmc(n + m) clearly produces w for any n, m.

L L(G) L L(G)

G is a CFG for L

Find a CFG for the following language

}:{ mnkcbaL kmn

END OF PROOF

||

bBcB

BaScS

142

}:{ 32 NnbaL nn

Find a PDA and CFG for the following language

Is the automaton deterministic? Yes. It acts in a unique way in each state, no -transitions.

fqiq

/, 23 ab22 /, aa

/, 23 ab

Problem 2.

Solution 2.

143

CFG :|32SbaS

}:{ 32 NnbaL nn

fqiq

/, 23 ab22 /, aa

/, 23 ab

144

}2:},{{ ba nnbaxL

Find a PDA and CFG for the following language

Problem 3.

bb

aa

/,

/,

/,

/,

/,

/,

aab

aba

aab

baa

PDA

Solution 3.

145

CFG :

|||| SSbSaSaaSaSbaSbSaS

bb

aa

/,

/,

/,

/,

/,

/,

aab

aba

aab

baa

}2:},{{ ba nnbaxL

146

Consider the following two languages:

L1 ={w : w is made from a’s and b’s

and the length of w is a multiple of 10}

L2 = {an bn: n 0}

}:{ tenofmultipleNOTisnnbnaL

Prove that the language L is context-free

Problem 4.

Solution 4.

147

L1 ={w : w is made from a’s and b’s and the length of w is a multiple of ten}

L2 = {an bn: n 0}

Let L1c denote the complement of L1.

We have that: L = L1c L2.

L1 is a regular language, since we can easily build a

finite automaton with 10 states that accepts any string in this language.

L1c is regular too, since regular languages are closed

under complement.

148

The language L2 is context-free.

The grammar is: S aSb |

Therefore, the language L = L1c L2 is also

context-free,

since context-free languages are closed under regular intersection (Regular Closure).

END O PROOF

149

}||,},{,:{ nxbaxNnaxL n Find a PDA and CFG for the following language

Problem 5.

CFG

babAaAA

AASaS

|||

||

ababaaabaAaaabAaa

AAaaAASaaASaS

Production ex.

Solution 5.

150

Grammar NPDA

/,

/,

/,

/,

T

TaT

bS

aSTbS

T

TaT

bS

aSTbS

/,

/,

bb

aa

q0 q1 2qS/, $/$,

Remember converting grammar to NPDA, example:

151

}||,},{,:{ nxbaxNnaxL n

PDA

fqiq

babAaAA

AASaS

|||/,

||/,

/,

/,

bb

aa

S/,

babAaAA

AASaS

|||

||

152

}

,:},{{

different are symbolsfinishing the and startingtheba nnbaxL

Find a PDA and CFG for the following language:

Problem 6.

PDA

/,a

/,

/,

/,

/,

ba

bb

ab

aa

bb /,

/, ab /,a

/, a

/,

/,

/,

/,

ba

bb

ab

aa

Solution 6.

153

/,a

/,

/,

/,

/,

ba

bb

ab

aa

bb /,

/, ab /,a

/, a

/,

/,

/,

/,

ba

bb

ab

aa

CFG, direct construction

Strings start and finish with different symbols

Strings contain at least one more a than b

bAaaAbS |

bAAAbAAAbaAaA ||||(we must have AA here as only one A just balances b)

}

,:},{{

different are symbolsfinishing the and startingtheba nnbaxL

154

http://www.liacs.nl/~hoogeboo/praatjes/tarragona/schoolpda-VIII.pdf

Famous Pushdown Automata Examples

http://www.nature.com/nature/journal/v417/n6889/full/nature00771.html

Computational and evolutionary aspects of language

Further Reading