Top Banner
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2010
91

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

Jan 24, 2016

Download

Documents

shayla

CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 10 Mälardalen University 2010. Content The Pumping Lemma for CFL Applications of the Pumping Lemma for CFL Midterm Exam 2: Context-Free Languages. 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: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

1

CD5560

FABER

Formal Languages, Automata and Models of Computation

Lecture 10

Mälardalen University

2010

Page 2: CD5560 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: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

3

Pumping Lemma for CFL’s

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

4

Comparison to Regular Language Pumping Lemma/Condition

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

5

What’s Difference between CFL’s and Regular Languages?

In regular languages, a single substring “pumps”

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

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

6

What’s Difference between CFL’s and Regular Languages?

In CFL’s, multiple substrings can be “pumped”– Consider the language {anbn | 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: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

7

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 x in L of length at

least m– there exist strings u, v, w such

that• x = uvw and• |uv| ≤ m and• |v| ≥ 1 and• For all i ≥ 0, uviw is in L

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

such that– for all strings x in L of length at

least m– there exist strings u, v, w, y, z

such that• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1 and• For all i ≥ 0, uviwyiz is in L

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

8

Pumping Lemma

All CFL’s satisfy the CFL pumping condition

All languages over {a,b}

“Pumping Languages”

CFL’s

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

9

Implications

• We can use the pumping lemma to prove a language L is not a CFL– Show 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 10: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

10

Pumping Lemma

What does it mean?

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

11

Pumping Condition

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

• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1 and• For all i ≥ 0, uviwyiz is in L

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

12

v and y can be pumped

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

that v and y can be repeated (pumped) and the resulting string is still in L– uviwyiz is in L for all i ≥ 0

1) x in L2) x = uvwyz3) For all i ≥ 0, uviwyiz is in L

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

13

For example x = abcdefg

v = cd and y = f

uv0wy0z = uwz = abeg is in L

uv1wy1z = uvwyz = abcdefg is in L

uv2wy2z = uvvwyyz = abcdcdeffg is in L

uv3wy3z = uvvvwyyyz = abcdcdcdefffg is in L

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

14

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 x in L of length at least m

• x must be in L and have sufficient length

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

15

What the other parts mean

– there exist strings u, v, w, y, z such that• x = uvwyz and• |vwy| ≤ m and

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

characters of x• |vy| ≥ 1 and

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

• For all i ≥ 0, uviwyiz is in L

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

16

Pumping Lemma

Applying it to prove a specific language L is not context-free

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

17

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 18: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

18

Showing L “does not pump”

A language L satisfies the CFL pumping condition if: – there exists an integer n >

0 such that– for all strings x in L of

length at least m– there exist strings u, v, w,

y, z such that• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1 and• For all i ≥ 0, uviwyiz 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 x in L of

length at least m such that– for all strings u, v, w, y, z

such that• x = uvwyz and• |vwy| ≤ m and• |vy| ≥ 1

– There exists a i ≥ 0 such that uviwyiz is not in L

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

19

Example Languages

• TWOCOPIES = {ww | w is in {a,b}* }– abbabb is in TWOCOPIES but abaabb is not

• EQUAL3 = {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}

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

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

20

More Pumping Lemma Applications

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

21

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 22: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

22

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 23: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

23

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

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

24

Theorem The language

}*},{:{ bawwwL

is not context free

Proof Use the Pumping Lemma

for context-free languages

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

25

Assume the contrary - that

is context-free

Since is context-free and infinite

we can apply the pumping lemma

L

L

}*},{:{ bawwwL

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

26

Pumping Lemma gives a number

such that:

m

we pick: Lbaba mmmm

}*},{:{ bawwwL

Pick any string of

with length at least mL

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

27

We can write:

}*},{:{ bawwwL

uvxyzbaba mmmm

Pumping Lemma says:

Lzxyuv ii for all 0i

with lengths mvxy || 1|| vyand

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

28

We examine all the possible locations

of string in vxy

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

mmmm baba

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

29

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 30: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

30

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 31: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

31

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

Case 1: vxy is within the firstma

121 kk

Lzxyuvbaba mmmkkm 2221

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

32

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

Case 1: vxy is within the firstma

Contradiction!

Lzxyuvbaba mmmkkm 2221

Lzxyuv 22However, from Pumping Lemma:

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

33

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 34: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

34

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 35: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

35

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

is in the firstCase 2: mamb

vy

121 kk

Lzxyuvbaba mmkmkm 2221

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

36

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 37: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

37

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 38: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

38

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 39: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

39

mvxy || 1|| vyuvxyzbaba mmmm

}*},{:{ bawwwL

is in the first

overlaps the firstCase 3: mmbamb

vy

Lzxyuvbabbaa mmkmkkm 22321

1, 21 kk

Page 40: CD5560 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

Lzxyuvbabbaa mmkkkm 22321

Contradiction!

Lzxyuv 22However, from Pumping Lemma:

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

41

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 42: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

42

Other cases: vxy is within

mmmm babaor

or

mmmm baba

mmmm baba

Analysis is similar to case 1: mmmm baba

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

43

More cases: vxy overlaps

mmmm baba ormmmm baba

Analysis is similar to cases 2,3,4:

mmmm baba

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

44

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 45: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

45

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 46: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

46

Regular Languages

}{ nnba }{ RwwContext-Free Languages

Non-regular languages

Unrestricted grammar languages

}0:{ ncba nnn

**ba

}{ww

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

47

Theorem The language

is not context free

Proof Use the Pumping Lemma

for context-free languages

}0:{ ! naL n

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

48

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 49: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

49

Pumping Lemma gives a magic number

such that:

m

we pick: Lam !

Pick any string of with length at least mL

}0:{ ! naL n

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

50

We can write: uvxyzam !

Pumping Lemma says:

Lzxyuv ii for all 0i

}0:{ ! naL n

with lengths mvxy || 1|| vy and

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

51

We examine all the possible locations

of string in vxy !ma

mvxy || 1|| vyuvxyzam !

There is only one case to consider

}0:{ ! naL n

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

52

v

!m

u zx y

1kav 2kay mkk 211

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

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

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

53

2v

21! kkm

u zx 2y

1kav 2kay

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

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mkk 211

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

54

2v

km !

u zx 2y

1kav 2kay

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

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mk 1

21 kkk

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

55

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

mk 1

zxyuva km 22!

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

56

)!1(

)1(!

!!

!!

m

mm

mmm

mmkm

)!1(!! mkmm

mk 1Since

2m we have:for

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

57

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

Lzxyuva km 22!

)!1(!! mkmm

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

58

mvxy || 1|| vyuvxyzam !

}0:{ ! naL n

Lzxyuva km 22!

Lzxyuv 22

Contradiction!

However, from Pumping Lemma:

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

59

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 60: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

60

Regular Languages

**ba

Context-free languages

Unrestricted grammar languages}0:{ ncba nnn

}0:{ nba nn

}},{:{ bawww

}*},{:{ bawwwR

}0:{ ! nan }0:{2

nba nn

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

61

Theorem The language

is not context free

Proof Use the Pumping Lemma

for context-free languages

}0:{2

nbaL nn

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

62

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 63: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

63

Pumping Lemma gives a number

such that:

m

we pick: Lba mm 2

Pick any string of with length at least mL

}0:{2

nbaL nn

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

64

We can write:

with lengths andmvxy || 1|| vy

uvxyzba mm 2

Pumping Lemma says:

Lzxyuv ii for all 0i

}0:{2

nbaL nn

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

65

We examine all the possible locations

of string in vxy

mvxy || 1|| vyuvxyzba mm 2

mm ba2

}0:{2

nbaL nn

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

66

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 67: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

67

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

2m m

u zx y

1kav 2kby

}0:{2

nbaL nn

mkk 211

mvxy || 1|| vyuvxyzba mm 2

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

68

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

2m m

u zx y

1kav 2kby

Most complicated sub-case: 01 k 02 k

}0:{2

nbaL nn

mkk 211

and

mvxy || 1|| vyuvxyzba mm 2

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

690v

12 km 2km

u zx 0y

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

}0:{2

nbaL nn

1kav 2kby

Most complicated sub-case: 01 k 02 k

mkk 211

and

mvxy || 1|| vyuvxyzba mm 2

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

70

}0:{2

nbaL nn

1kav 2kby

Most complicated sub-case: 01 k 02 k

mkk 211

and

zxyuvba kmkm 00212

mvxy || 1|| vyuvxyzba mm 2

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

71

12

2

222

12

)1()(

km

mm

mkm

01 k 02 k mkk 211and

221

2 )( kmkm

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

72

}0:{2

nbaL nn

221

2 )( kmkm

Lzxyuvba kmkm 00212

mvxy || 1|| vyuvxyzba mm 2

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

73

}0:{2

nbaL nn

Lzxyuvba kmkm 00212

However, from Pumping Lemma:

Lzxyuv 00

Contradiction!

mvxy || 1|| vyuvxyzba mm 2

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

74

When we examine the rest of the cases

we also obtain a contradiction

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

75

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 76: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

76

Check your knowledge before midterm exam!

Selected Examplesof

CF Language Problems

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

77

Let G be the grammar with productions:

Claim: L(G) = L

||

bBcB

BaScS

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

Example

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

78

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 79: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

79

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 80: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

80

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

Example

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

fqiq

/, 23 ab22 /, aa

/, 23 ab

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

81

CFG : 32| SbaS

}:{ 32 NnbaL nn

fqiq

/, 23 ab22 /, aa

/, 23 ab

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

82

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

Example

bb

aa

/,

/,

/,

/,

/,

/,

aab

aba

aab

baa

PDA

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

83

CFG :

SSbSaSaaSaSbaSbSaS ||||

}2:},{{ ba nnbaxL bb

aa

/,

/,

/,

/,

/,

/,

aab

aba

aab

baa

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

84

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 = {anbn: n 0}

}:{ tenofmultipleNOTisnnbnaL

Prove that the language L is context-free

Example

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

85

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

L2 = {anbn: n 0}

Let L1 denote the complement of L1. We have that L = L1 L2.

L1 is a regular language, since we can easily build a finite automaton with 10 states that accepts any string in this language.

L1 is regular too, since regular languages are closed under complement.

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

86

The language L2 is context-free.

The grammar is: S aSb |

Therefore, the language L = L1 L2 is also context-free,

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

END O PROOF

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

87

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

Example

CFG

babAaAA

AASaS

|||

||

ababaaabaAaaabAaa

AAaaAASaaASaS

Production ex.

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

88

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

PDA

fqiq

babAaAA

AASaS

|||/,

||/,

/,

/,

bb

aa

S/,

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

89

}different are symbols finishing theand starting the

,:},{{ ba nnbaxL

Find a PDA and CFG for the following language

Example

PDA /,a

/,

/,

/,

/,

ba

bb

ab

aa

bb /,

/, ab /,a

/, a

/,

/,

/,

/,

ba

bb

ab

aa

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

90

}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 91: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 10

91

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

Famous Pushdown AutomataExamples