Top Banner
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2011
94

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

Dec 31, 2015

Download

Documents

michelle-briggs

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2011. Content The Pumping Lemma for CFL Applications of the Pumping Lemma for CFL Midterm Exam 2: Context-Free Languages. The Pumping Lemma for CFL’s. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CDT314 FABER Formal Languages, Automata  and Models of Computation Lecture 10

1

CDT314

FABER

Formal Languages, Automata and Models of Computation

Lecture 10

Mälardalen University

2011

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

2

Content

The Pumping Lemma for CFLApplications of the Pumping Lemma for CFL

Midterm Exam 2: Context-Free Languages

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

3

The Pumping Lemma for CFL’s

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

4

Comparison with the Pumping Lemma for Regular Languages

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

5

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

In regular languages, a single substring “pumps”

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

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

6

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

In CFL’s, multiple substrings can be “pumped”– Consider the language {an bn | n > 0}

– No single substring can be pumped and allow us to stay in the language

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

Thus, a modified pumping lemma applies.

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

7

aBbbbB

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b bbabbaaBbbbb

abbaBbbbS

b bB bbabbaabbbbbbbabbaaBbbbbS

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

8

S

A

A

x

Last repeated variable

u z

v y

uvxyzw String

repeated

:,,,, zyxvu strings of terminals

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

9

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, uviz is in L

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

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

10

Pumping Lemma

All CFL’s satisfy the CFL pumping condition

All languages over {a,b}

“Pumping Languages”

CFL’s

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

11

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

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

12

Pumping Lemma

What does it mean?

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

13

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

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

14

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

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

15

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

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

16

What the other parts mean

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

• w must be in L and have sufficient length

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

17

What the other parts mean

– There exist strings u, v, x, y, z such that• w = uvxyz and• |vxy| ≤ m and

–v and y are contained within m characters of w–Note: these are NOT necessarily the first m

characters of w• |vy| ≥ 1 and

–v and y cannot both be 1,–One of them might be 1, but not both

• For all i ≥ 0, uvixyiz is in L

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

18

Pumping Lemma

Applying CFL pumping lemma to prove that a specific language L is

not context-free

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

19

How we use the Pumping Lemma

• We choose a specific language L

For example {aj bj cj | j > 0}

• We show that L does not satisfy the pumping condition

• We conclude that L is not context-free

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

20

Showing that L “does not pump”

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

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

size– there exists a string w in L of

length at least m such that– for 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

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

21

Example Languages

• L = {the set of strings over {a, b, c} such that the number of a’s equals the number of b’s equals the number of c’s}

• L ={ai bj ck | i < j < k}

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

22

More Pumping Lemma Applications

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

23

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

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

24

The Pumping Lemma for CFL

There exists an integer such that m

mwGLw || ),(

can be written

Let be a context free grammar. G

uvxyzw

with lengths 1||and || vymvxy

and 0 allfor , iLzxyuv ii

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

25

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

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

26

Theorem The language

}*},{:{ bawwwL

is not context free

Proof Use the Pumping Lemma

for context-free languages

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

27

Assume the contrary - that

is context-free

Since is context-free and infinite

we can apply the pumping lemma

L

L

}*},{:{ bawwwL

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

28

Pumping Lemma gives a number

such that:

m

we pick: Lbaba mmmm

}*},{:{ bawwwL

Pick any string of

with length at least mL

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

29

We can write:

}*},{:{ bawwwL

uvxyzbaba mmmm

Pumping Lemma says:

Lzxyuv ii for all 0i

with lengths mvxy || 1|| vyand

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

30

We examine all the possible locations

of string in vxy

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

mmmm baba

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

31

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

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

32

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

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

33

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

Case 1: vxy is within the firstma

121 kk

Lzxyuvbaba mmmkkm 2221

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

34

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

Case 1: vxy is within the first ma

Contradiction!

Lzxyuvbaba mmmkkm 2221

Lzxyuv 22However, from Pumping Lemma:

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

35

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

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

36

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

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

37

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

is in the firstCase 2: mamb

vy

121 kk

Lzxyuvbaba mmkmkm 2221

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

38

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:

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

39

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

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

40

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

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

41

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

overlaps the firstCase 3: mmbamb

vy

Lzxyuvbabbaa mmkmkkm 22321

1, 21 kk

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

42

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

overlaps the firstCase 3: mmbamb

vy

Lzxyuvbabbaa mmkkkm 22321

Contradiction!

Lzxyuv 22However, from Pumping Lemma:

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

43

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

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

44

Other cases: vxy is within

mmmm babaor

or

mmmm baba

mmmm baba

Analysis is similar to case 1: mmmm baba

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

45

More cases: vxy overlaps

mmmm baba ormmmm baba

Analysis is similar to cases 2,3,4:

mmmm baba

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

46

Since , it is impossible for

to overlap:

There are no other cases to consider.

mvxy ||vxy

mmmm baba

nor normmmm baba mmmm baba

neither

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

47

In all cases we obtained a contradiction.

Therefore: The original assumption that

is context-free must be wrong

Conclusion: is not context-freeL

}*},{:{ bawwwL

END OF PROOF

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

48

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

}{ww

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

49

Theorem The language

is not context free

Proof Use the Pumping Lemma

for context-free languages

}0:{ ! naL n

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

50

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

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

51

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

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

52

We can write: uvxyzam !

Pumping Lemma says:

Lzxyuv ii for all 0i

}0:{ ! naL n

with lengths mvxy || 1|| vy and

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

53

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

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

54

v

!m

u zx y

1kav 2kay mkk 211

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

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

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

55

2v

21! kkm

u zx 2y

1kav 2kay

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

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mkk 211

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

56

2v

km !

u zx 2y

1kav 2kay

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

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mk 1

21 kkk

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

57

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mk 1

zxyuva km 22!

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

58

)!1(

)1(!

!!

!!

m

mm

mmm

mmkm

)!1(!! mkmm

mk 1Since

2m we have:for

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

59

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

Lzxyuva km 22!

)!1(!! mkmm

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

60

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

Lzxyuva km 22!

Lzxyuv 22

Contradiction!

However, from Pumping Lemma:

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

61

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

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

62

Regular Languages

**ba

Context-free languages

Unrestricted grammar languages}0:{ ncba nnn

}0:{ nba nn

}},{:{ bawww

}*},{:{ bawwwR

}0:{ ! nan}0:{

2nba nn

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

63

Theorem The language

is not context free

Proof Use the Pumping Lemma

for Context-free languages

}0:{2

nbaL nn

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

64

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

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

65

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

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

66

We can write:

with lengths andmvxy || 1|| vy

uvxyzba mm 2

Pumping Lemma says:

Lzxyuv ii for all 0i

}0:{2

nbaL nn

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

67

We examine all the possible locations

of string in vxy

mvxy || 1|| vyuvxyzba mm 2

mm ba2

}0:{2

nbaL nn

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

68

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

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

69

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

2m m

u zx y

1kav 2kby

}0:{2

nbaL nn

mkk 211

mvxy || 1|| vyuvxyzba mm 2

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

70

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

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

710v

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

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

72

}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:

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

73

12

2

222

12

)1()(

km

mm

mkm

01 k 02 k mkk 211and

221

2 )( kmkm

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

74

}0:{2

nbaL nn

221

2 )( kmkm

Lzxyuvba kmkm 00212

mvxy || 1|| vyuvxyzba mm 2

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

75

}0:{2

nbaL nn

Lzxyuvba kmkm 00212

However, from Pumping Lemma:

Lzxyuv 00

Contradiction!

mvxy || 1|| vyuvxyzba mm 2

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

76

When we examine the rest of the cases

we also obtain a contradiction.

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

77

In all cases we obtained a contradiction.

Therefore: The original assumption that

is context-free must be wrong

Conclusion: is not context-freeL

}0:{2

nbaL nn

END OF PROOF

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

78

Check your knowledge before the Midterm 2!

Selected Examplesof

Context Free Language Problems

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

79

Let G be the grammar with productions:

Claim: L(G) = L

||

bBcB

BaScS

}:{ mnkcbaL kmn Find a CFG for the following language

Example 1

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

80

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

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

81

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

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

82

}:{ 32 NnbaL nn Find a PDA and CFG for the following language

Example 2

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

fqiq

/, 23 ab22 /, aa

/, 23 ab

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

83

CFG : 32| SbaS

}:{ 32 NnbaL nn

fqiq

/, 23 ab22 /, aa

/, 23 ab

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

84

}2:},{{ ba nnbaxL Find a PDA and CFG for the following language

Example 3

bb

aa

/,

/,

/,

/,

/,

/,

aab

aba

aab

baa

PDA

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

85

CFG :

SSbSaSaaSaSbaSbSaS ||||

}2:},{{ ba nnbaxL bb

aa

/,

/,

/,

/,

/,

/,

aab

aba

aab

baa

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

86

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

Example 4

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

87

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.

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

88

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

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

89

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

Example 5

CFG

babAaAA

AASaS

|||

||

ababaaabaAaaabAaa

AAaaAASaaASaS

Production ex.

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

90

Grammar NPDA

/,

/,

/,

/,

T

TaT

bS

aSTbS

T

TaT

bS

aSTbS

/,

/,

bb

aa

q0 q1 2qS/, $/$,

Remember converting grammar to NPDA, example:

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

91

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

PDA

fqiq

babAaAA

AASaS

|||/,

||/,

/,

/,

bb

aa

S/,

babAaAA

AASaS

|||

||

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

92

}

,:},{{

different are symbols finishing theand starting the

ba nnbaxL

Find a PDA and CFG for the following language

Example 6

PDA /,a

/,

/,

/,

/,

ba

bb

ab

aa

bb /,

/, ab /,a

/, a

/,

/,

/,

/,

ba

bb

ab

aa

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

93

}

,:},{{

different are symbols finishing theand starting the

ba nnbaxL

/,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)

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

94

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