419 views

Uploaded by Ajay Das

- ABC-Classic Pen (1)
- intro to compiler design
- csci3255 HW 3
- Solution-Introduction+to+Automata+Theory
- Sudkamp Solutions 3rd
- context free
- Chapter 1 1
- Grammar Types
- Lecture 07
- Compiler Construction 1
- mmm
- Third Class
- Bottom Up Parsing
- Act of IIEST, Shibpur
- 1.Online Airticket.doc
- Lec6_DataTransmission
- Chapter 01final
- lecture7.ppt
- STUDENT INFORMATION SYSTEM.doc
- Advt0813.pdf

You are on page 1of 38

2010

1

CONTEXT FREE LANGUAGES

& PUSH-DOWN AUTOMATA

Problems Sudkamp

Problem 1. (3.2.1)

Which language generates the grammar G given by the productions

S → aSa | aBa

B → bB | b

Problem 2. (3.2.2)

Find a CFG that generates the language:

Problem 3. (3.2.4)

Find a CFG that generates the language

L(G) = { an bm | 0 ≤ n ≤ m ≤ 2n}.

Problem 4. (3.2.5)

Consider the grammar

S → abScB | λ

B → bB | b

Problems Lewis-Papadimitriou

2

Problem 7. (2.4d) {w | |w| is odd and its middle symbol is 0}

Problems Linz

Problem 12. (134/8c): Find a Context-Free Grammar for the following language:

L = {anbmck : k = n + m }

Ambiguity

S → 0A | 1B

A → 0AA | 1S | 1

B → 1BB | 0S | 0

S → Ab | aaB

A → a | Aa

B→b

(a) Find the string s generated by the grammar that has two leftmost derivations. Show

the derivations.

(b) Show the two derivation trees for the string s.

(c) Find an equivalent unambiguous context-free grammar.

(d) Give the unique leftmost derivation and derivation tree for the string s generated

from the unambiguous grammar above.

3

PUSH-DOWN AUTOMATA, PDA

Sudkamp

Problem 1. CH8 8.1.3

Let M be the PDA that accepts even-length palindromes over {a, b}. That is,

L(M) = { w wR | w ∈ {a, b}*}

Where non-determinism allows the machine to “guess” when the middle of the string has

been reached.

b λ/B b B/λ

a λ/A a A/λ

λ λ/λ

q0 q1

b, λ → B b, B → λ

a, λ → A a, A → λ

λ, λ → λ

q0 q1

a) Give the transition table of M.

b) Trace all computation of the strings ab, abb, abbbb in M.

c) Show that aaaa, baab ∈ L (M).

d) Show that aaa, ab ∉ L (M).

4

Problem 2. CH8 3k

Construct a PDA that accepts the set of palindromes over {a, b}.

Let M be the PDA in example 8.1.1. the PDA that accepts the language

The stack is used to record the string w as it is processed. Stack symbols A and B

represent input a and b respectively.

b λ/B b B/λ

a λ/A a A/λ

c λ/λ

q0 q1

A successful computation records the string w on the stack as it is processed. Once the c

is encountered, the accepting state q1 is entered and the stack contains a string

representing wR. The computation is completed by matching the remaining input with the

elements of the stack.

5

NPDA EXAMPLES

Sipser

Construct non-deterministic pushdown automata to accept the following

languages. (Note: ε has the same meaning as λ)

Example 2. {0n12n | n ≥ 0}

Linz

Example 5. L = {anb2n: n ≥ 0}

S → aABB | aAA

A → aBB | a

B → bBB | A

DPDA EXAMPLES

Sipser

6

Example 11. Binary strings that start and end with the same symbol and

Linz

Problems Linz

Problem 16. (134/8c): Find a Context-Free Grammar for the following language:

L = {anbmck : k = n + m }

Ambiguity

S → 0A | 1B

A → 0AA | 1S | 1

B → 1BB | 0S | 0

7

PUMPING LEMMA: CONTEXT-FREE OR NOT?

Problem 1. Show that the following language on Σ = {a, b, c} is not context-free.

L = {anbjck: k = jn}.

L = { wwRa|w| : w ∈{a, b}*}

Problem 3. (CH8 17c Sudkamp) Using the pumping lemma prove that the language

below is not context-free.

L = { a i b 2i a i i ≥ 0 }

Problem 4. (CH8 18a Sudkamp) Prove that the language

L = {a i b 2i c j i, j ≥ 0} is context-free.

Problem 5. (17 page 220, Linz) We want to prove that the language

L = {anbn: n ≥ 0 and n is not a multiple of 5}

is a context-free language.

8

SOLUTIONS

CONTEXT-FREE GRAMMARS, CFG

Sudkamp examples

Problem 1. 3.2.1

Which language generates the grammar G given by the productions

S → aSa | aBa

B → bB | b

Solution

L(G) = { an bm an | n > 0, m > 0}.

The rule S → aSa recursively builds an equal number of a’s on each end of the string.

The recursion is terminated by the application of the rule S → aBa, ensuring at least one

leading and one trailing a. The recursive B rule then generates any number of b’s. To

remove the variable B from the string and obtain a sentence of the language, the rule

B → b must be applied, forcing the presence of at least one b.

Problem 2. 3.2.2

Find a CFG that generates the language

Solution

The relationship between the number of leading a’s and trailing d’s in the language

indicates that the recursive rule is needed to generate them. The same is true for b’s and

c’s. Derivations in the grammar

S → aSdd | A

A → bAc | bc

9

generate strings in an outside-to-inside manner. The S rules produce the a’s and d’s while

the A rules generate b’s and c’s. The rule A → bc, whose application terminates the

recursion, ensures the presence of the substring bc in every string in the language.

Problem 3. 3.2.4

Find a CFG that generates the language

L(G) = { an bm | 0 ≤ n ≤ m ≤ 2n}.

Solution

S → aSb | aSbb | λ

The first recursive rule of G generates a trailing b for every a, while the second generates

two b’s for each a. Thus there is at least one b for every a and at most two, as specified in

the language.

Problem 4. 3.2.5

Consider the grammar

S → abScB | λ

B → bB | b

Solution

The recursive S rule generates an equal number of ab’s and cB’s. The B rules generate b+.

In a derivation, each occurrence of B may produce a different number of b’s. For

example in the derivation

S ⇒ abScB

⇒ ababScBcB

⇒ ababcBcB

⇒ ababcbcB

⇒ ababcbcbB

⇒ ababcbcbb,

the first occurrence of B generates a single b and the second occurrence produces bb.

The language of the grammar consists of the set L(G) = { (ab)n (cbm)n | n ≥ 0, m > 0}.

10

Problems Lewis-Papadimitriou

Solution

S → 0A0 | 1A1

A → 0A | 1A | λ

Solution

S → 0A | 1

A → 0S | 1S | λ

Solution

Solution

S → AT

A → aAa | bAb | #T

T → aT | bT | λ

The strings in the language have the form w#uwRv, where u and v are strings of the form

(a + b)* (any string made from symbols a and b). The variable T generates the strings u

and v, while variable A generates the string w#uwR and the variable S generates the

desired string w#uwRv.

11

Problem 9. {0n1n | n>0} U {0n12n | n>0}

Solution

S → 0A1 | 0B11

A → 0A1 | λ

B → 0B11 | λ

Solution

S → AC | BC | DE | DF

A → 0 | 0A | 0A1

B → 1 | B1 | 0B1

C → 2 | 2C

D → 0 | 0D

E → 1 | 1E | 1E2

F → 2 | F2 | 1F2

Solution

12

Problem 12. Find a Context-Free Grammar for the following language:

L = {anbmck : k = n + m }

Solution

Let G be the grammar with productions:

S → aSc | B

B → bBc | λ

Claim: L(G) = L

Proof:

Consider the following derivation:

S →* anScn → anBcn →* anbmBcmcn → anbmc(n + m)

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

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

L(G) ⊆ L

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

Solution

Let G be the grammar with productions:

S → EcC | aAE | AU

A → aA | λ

B → bB | λ

C → cC | λ

E → aEc | F

13

F → bFc | λ

U → aUc | V

V → bVc | bB

Claim: L(G) = L = L1 ∪ L2

Proof:

Consider the leftmost productions following S Æ EcC

S → EcC → * anbmc(n+m)cC → * anbmc(n+m)cckC → anbmc(n+m)cck = anbmc(n+m+k+1)

(where the first → * follows from 4(a), the second from k repetitions of {

C → cC })

Since (n+m) < (n+m+k+1), L(EcC) ⊆ L2 ⊂ L

S → aAE → * aakAE → aakE → * aakanbmc(n+m)c = a(n+k+1)bmc(n+m)

(where the first → * follows from k repetitions of { A→ aA }, the second

from 4(a))

Since (n+m+k+1) > (n+m), L(aAE) ⊆ L1 ⊂ L

S → AU → * akAU → akU → * akanUcn → akanVcn → * akanbmVcmcn →

akanbmbBcmcn

→ * akanbmbbjBcmcn → akanbmbbjcmcn = a(k+n)b(m+j+1)c(m+n)

(where the first, second, third and fourth → * are k, n, m, and j repetitions

of

{ A → aA }, { U → aUc }, { V → bVc }, and { B → bB }, respectively)

14

Since ((k+n)+(m+j+1)) > (m+n), L(AU) ⊆ L1 ⊂ L

Then w has the leftmost derivation:

S → EcC → * anbmc(n+m)cC →* anbmc(n+m)cc(k-1)C → anbmc(n+m)cck(k-1) =

anbmc(n+m+k) = w

∴ L2 ⊆ L(G)

If k = 0, w has the leftmost derivation:

S → aAE →* aa(j-1)AE → aa(j-1)E →* aa(j-1)anEcn → aa(j-1)anFcn →* aa(j-

1) n m

a b Fcmcn

→ aa(j-1)anbmcmcn = a(j+n)b(0+m)c(m+n) = w

∴ L1 (k = 0) ⊆ L(G)

If k > 0, then w has the leftmost derivation:

S → AU →* ajAU → ajU →* ajanUcn → ajanVcn →* ajanbmVcmcn →

ajanbmbBcmcn

→ ajanbmbb(k-1)Bcmcn → ajanbmbb(k-1)cmcn = a(j+n)b(m+k)c(m+n) = w

∴ L1 (k > 0) ⊆ L(G)

∴ L1 ⊆ L(G)

∴ L = L1 ∪ L2 ⊆ L(G)

∴ L = L(G)

15

Ambiguity

S → 0A | 1B

A → 0AA | 1S | 1

B → 1BB | 0S | 0

Solution

multiple derivations:

S ⇒ 0A⇒00AA⇒001S1⇒0011B1⇒001101

S ⇒ 0A⇒00AA⇒0011S⇒00110A⇒001101

S → Ab | aaB

A → a | Aa

B→b

Solution

(a) Find the string s generated by the grammar that has two leftmost derivations. Show

the derivations.

The string s = aab has the following two leftmost derivations

S ⇒ aaB⇒aab

S ⇒ AB ⇒ AaB ⇒ aaB ⇒ aab

(b) Show the two derivation trees for the string s.

The two derivation trees of string aab are shown below.

16

(c) Find an equivalent unambiguous context-free grammar.

The equivalent unambiguous grammar is following

S → Ab

A → a | Aa

This grammar is not ambiguous because at any derivation step there is only one choice to

make. This grammar is equivalent to the previous one, because both grammars generate

the same language: all the strings that start with one or more a, and end with a single b.

(d) Give the unique leftmost derivation and derivation tree for the string s generated

from the unambiguous grammar above.

With the new grammar the unique leftmost derivation and derivation tree of the string

aab are shown below.

17

PUSH-DOWN AUTOMATA, PDA

Let M be the PDA that accepts even-length palindromes over {a, b}. That is,

L(M) = { w wR | w ∈ {a, b}*}

Where non-determinism allows the machine to “guess” when the middle of the string has

been reached.

b λ/B b B/λ

a λ/A a A/λ

λ λ/λ

q0 q1

b, λ → B b, B → λ

a, λ → A a, A → λ

λ, λ → λ

q0 q1

a) Give the transition table of M.

b) Trace all computation of the strings ab, abb, abbbb in M.

c) Show that aaaa, baab ∈ L (M).

d) Show that aaa, ab ∉ L (M).

18

Solution:

a) Give the transition table of M.

δ (q 0 , a, λ ) = {[q 0 , A]}

δ (q 0 , b, λ ) = {[q 0 , B ]}

δ (q 0 , λ , λ ) = {[q1 , λ ]}

δ (q1 , a, A) = {[q1 , λ ]}

δ (q1 , b, B) = {[q1 , λ ]}

δ a b λ

q0 q0 λ /A q 0 λ /B q1 λ / λ

q1 q1 A/ λ q1 B/ λ φ

Notation: The PDA consults the current state, input symbol, and the symbol on

the top of the stack to determine the machine transition. The transition function δ

lists all possible transitions for a given state, symbol, and stack top combination.

The value of the transition function

δ (qi , a, A) = {[q j , B],[qk , C ]}

indicates that two transitions are possible when automaton is in state qi scanning

an A with A on top of the stack. The transition

[q j , B] ∈ δ ( qi , a, A)

[new state, new stack top] ∈ δ(current state, current input, current stack top)

a, A → B

qi qj

19

b) Trace all computation of the strings ab, abb, abbbb in M.

Computations for ab:

[q 0 , ab, λ ] [q 0 , ab, λ ] [q 0 , ab, λ ]

|- [q 0 , b, A] |- [q 0 , b, A] |- [q1 , ab, λ ]

Rejected.

[q 0 , abb, λ ] [q 0 , abb, λ ] [q 0 , abb, λ ] [q 0 , abb, λ ]

Rejected. Rejected.

c) Show that aaaa, baab ∈ L (M).

Both aaaa, baab are accepted by this PDA, so they are in L (M).

[q 0 , aaaa, λ ] [q 0 , baab, λ ]

|- [q 0 , aaa, A] |- [q 0 , aab, B]

|- [q1 , a, A] |- [q1 , b, B]

|- [q1 , λ , λ ] |- [q1 , λ , λ ]

Accepted. Accepted.

20

d) Show that aaa, ab ∉ L (M).

[q 0 , aaa, λ ] [q 0 , aaa, λ ] [q 0 , aaa, λ ] [q 0 , aaa, λ ]

Rejected. Rejected.

The computations for ab are shown in part b).

There is none of the computations accepting the strings, so they are not in L

(M).

21

Problem 2. CH8 3k Sudkamp p. 252

Construct a PDA that accepts the set of palindromes over {a, b}.

Solution:

Construct the PDA:

M: Q = {q 0 , q1 }

∑ = {a, b}

Γ = { A, B}

F = {q1 }

b λ/B b B/λ

a λ/A b λ/λ a A/λ

a λ/λ

λ λ/λ

q0 q1

δ (q 0 , a, λ ) = {[ q0 , A], [q1 , λ ]}

δ (q 0 , b, λ ) = {[q 0 , B], [q1 , λ ]}

δ (q 0 , λ , λ ) = {[q1 , λ ]}

δ (q1 , a, A) = {[q1 , λ ]}

δ (q1 , b, B) = {[q1 , λ ]}

22

Problem 3. CH8 15a

Let M be the PDA in example 8.1.1. the PDA that accepts the language

The stack is used to record the string w as it is processed. Stack symbols A and B

represent input a and b respectively.

b λ/B b B/λ

a λ/A a A/λ

c λ/λ

q0 q1

A successful computation records the string w on the stack as it is processed. Once the c

is encountered, the accepting state q1 is entered and the stack contains a string

representing wR. The computation is completed by matching the remaining input with the

elements of the stack.

Solution:

[q 0 , bbcbb, λ ]

|- [q 0 , bcbb, B]

|- [q 0 , cbb, BB ]

|- [q1 , bb, BB ]

|- [q1 , b, B ]

|- [q1 , λ , λ ]

Accepted.

23

NPDA EXAMPLES

(Sipser)

languages. (Note: ε has the same meaning as λ)

Solution

Solution

Solution

24

Example 4. (0+1)* - {ww | w in {0,1}*} (complement of ww)

Solution

Linz

Equivalent with Sipser Example 2, in different notation. Remark: The notation a, b/c stands for a, b→c

Example 5. L = {anb2n: n ≥ 0}

Solution

a,a/aaa b,a/λ

Solution

a,λ/λ; b,λ/λ λ,$/$

25

Example 7. Construct the NPDA corresponding to the grammar

S → aABB | aAA

A → aBB | a

B → bBB | A

Solution

λ,S/aABB

λ,S/aAA

λ,A/aBB

λ,A/a a,a/λ

λ,B/bBB b,b/λ

λ,$/S λ,$/$

Example 8. {10n1n | n>0} U {110n12n | n>0}

Solution

26

Example 9. Binary strings that contain an equal number of 1s and 0s.

Solution

Solution

27

Example 11. Binary strings that start and end with the same symbol and

have the same number of 0s as 1s.

Solution

2 on page 199, Linz

Solution

b,$/$

a,λ/a b,a/λ

b,a/λ b,$/$ b,$/$

b,$/$

28

PUMPING LEMMA: CONTEXT-FREE OR NOT?

Problem 1. Show that the following language on Σ = {a, b, c} is not context-free.

L = {anbjck: k = jn}.

Solution

Assume that L = {anbjck: k = jn} is a context free language.

2

m m m

Let w = a b c , w∈ L

By the Pumping Lemma w can be decomposed as w = uvxyz with |vxz| ≤m

i i

and |vy| ≥ 1 such that uv xy z ∈ L, i ≥ 0

case 1

aaa

142 K

43a ab

14 bc4

L2 L3c

uvxy z

0 0 m − vy m m 2

If i=0, uv xy z = a b c ∉L

case 2

aaa

142 K

43a abKbcK

{{{

uv x y z

0 0 m− v m− y m2

If i=0, uv xy z = a b c ∉L

case 3

aaa

142 abb{

K4

3 Kbbc

12 3c

K

u vxy z

0 0 m m − vy m 2

If i=0, uv xy z = a b c ∉L

case 4

aaa

142 abb{

K4

3 Kbbc

{{ cKc

u v x yz

29

0 0 m m− v m2 − y

If i=0, uv xy z = a b c ∉L

case 5

aaa

144 ab4

K2 K4bcc{

3 Kc

u vxyz

0 0 m m m 2 − vy

If i=0, uv xy z = a b c ∉L

case 6 v or y containing ab or bc

Or a…ab…bc…cb…c

Contrary to the assumption.

Language is not context free.

L = { wwRa|w| : w ∈{a, b}*}

Solution

Assume that L = { wwRa|w| : w ∈{a, b}*}is a context free language.

w

Let w = a m b m , then ww R a = a m b m b m a m a 2m ∈ L

By the Pumping Lemma w can be decomposed as w = uvxyz with |vxz| ≤m

and |vy| ≥ 1 such that uv i xy i z ∈ L, i ≥ 0

case 1

a1K

42ab4

K3bb1K

4ba

4K aa4

24 K3a

uvxy z

30

case 2

a1

4 ab4

K2 Kb1

3 K4ba

4K aa4

24 K3a

uvxy z

case 3

a1K

4ab

4K4bb

4 2K4ba

4K aab1

44

3 K

42K

43a

u vxyz

w

If i=0, a = 2m − vx < w . So uv0xy0z ∉ L.

case 4

a1K

23abb1

K

423bba

K

4 142K aa43

Ka

u vxy z

w

If i=0, ww R = 4m − vy < 2 a = 4m . So uv0xy0z ∉ L.

case 5

a1K

4ab

4K2bb

4K ba K a14

43 K2

K4aa a12

3 K3a

u vxy z

= 4m − vy < 2 w = 4m . So uv0xy0z ∉ L.

w

If i=0, w R a

Language L is therefore not context free.

31

Problem 3. CH8 17c Sudkamp

Using the pumping lemma prove that the language below is not context-free.

L = { a i b 2i a i i ≥ 0 }

Proof:

Assume that the language is context-free. By the pumping lemma, the string w = a k b 2 k a k ,

where k is the number specified by the pumping lemma, can be decomposed into sub-

string uvwxy that satisfy the condition length (vwx) ≤ k, length (v) + length (x) > 0, and

uv i wx i y ∈ L , (i ≥ 0) .

Since the length (vwx) ≤ k, the vwx can have the following possibilities:

Case 1:

It contains a-s and b-s ( a i b j or b i a j , 0 < i + j ≤ k . Since length (vwx) ≤ k, it cannot

have a-s at both side of b-s,). Then uv 2 wx 2 y contains a…b…a…b…a. It will not be in L

any more.

Case 2:

It is contained in one of a k , b 2 k or second a k . Since the repetition in uv 2 wx 2 y will

increase one of the string’s lengths of a k , b 2 k or second a k , the ratio of 1:2:1 will not be

satisfied. Then uv 2 wx 2 y ∉ L .

is not context free.

32

Problem 4. CH8 18a

Prove that the language L = {a i b 2i c j i, j ≥ 0} is context-free.

Proof:

A context-free language can be expressed by a context-free grammar. The context-free

grammar below expresses the language L.

G:

S → AB

A → aAbb λ

B → cB λ

can construct a PDA to accept language L as below.

a λ/A c λ/λ

λ λ/λ λ λ/λ

q0 q1 q3

b A/λ

b λ/λ

q2

context-free language.

Solution

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

33

L2 = {anbn: n ≥ 0}

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

It is easy to see that L1 is a regular language, since we can easily build a finite

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

Since L1 is regular it must be that L1′ is regular too, since regular languages are

closed under complement (Theorem 4.1).

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

languages are closed under regular intersection (Theorem 8.5).

Solution

S → 1A0

A → 1A0 | B

B → CC

C → 0D1

D → 0D1 | λ

Solution

Not CF. Assume for the purpose of contradiction that it is. Then let the

pumping length be p. Consider the string s=0p1p#0p1p, which is in the

language. If we decompose s into s=uvwxy as in the statement of the pumping

lemma, there are three cases to consider.

even once (that is, taking the string uv2wx2y) will give us a string

34

where the first half is longer than then second half, which means it

can't be a substring of the second half.

down (that is, take the string uwy). Then the second half will be

shorter than the first half (since |vwx|>=1) and so the pumped down

string will not be in the language.

• If vwx overlaps with the symbol #, then it must be the case that the # is

contained in w, or else pumping up would give too many # symbols.

So either the v will be a string of 1's or the x will be a string of 0's or

both (We need the fact that |vwx| <= p here). If v is a nonempty string

of 1's then pumping up will give the left half more 1's then the right

side, so the left side will not be a subset of the right side. If x is a

nonempty string of zeros then pumping down will give the right side

fewer zeros than the left so the left side will not be a subset of the right

side.

In any case we come to the conclusion that no matter how we choose the

decomposition, the conditions of the pumping lemma will be violated. So

the language cannot be regular.

Solution

Not CF. Suppose it is. Then let the pumping length be p. Consider the string

s=0p1p01p, which is in the language. If we decompose s into s=uvwxy as in the

statement of the pumping lemma, then an argument like the previous one

shows that if vwx is anything but the lone zero between the ones, then

pumping up will give you something that is not in the language. On the other

hand if vwx is the lone zero, then pumping down will give you. 0p1p1p, which

is not in the language. This contradicts the pumping lemma, so therefore the

language is not context free.

35

Problem 9. The complement of {(0n1n)m| m, n > 0}.

Solution

CF. Here is a grammar that generates the language, with some comments on

the side to explain what each non-terminal represents.

S → ABA |

A → λ | AC

C → 01 | 0C1; 0n1n

B → 0B1 | D | F; 0m1nm ≠ n

D → 0 | 0D; one or more 0s

F → 1 | 1F; one or more 1s

Why this works: Since R=(00*11*)(00*11*)* is regular, the complement

~R includes all strings which are not even of the correct form. We can

Union 0*1* complement... nondeterministically guess which pair

mismatches.

Solution

Not CF. Let p be the pumping length given by the pumping lemma. We show that s =

0p1p0p1p cannot be pumped. Let s = uvxyz.

If either v or y contain more than one type of alphabet symbol, s` = uv2xy2z does not

contain the symbols in the correct order. Hence s` ∉ A.

If both v and y contain (at most) one type of alphabet symbol, uv2xy2z contains runs of

0’s and 1’s of unequal length. Hence s` ∉ A.

Because s cannot be pumped in any way without violating the pumping lemma,

A is not CF.

36

Problem 11. 2.18 b.

B = {0n#02n#03n | n >= 0}.

Solution

Not CF. Let p be the pumping length given by the pumping lemma. We show that s =

0p#02p#03p cannot be pumped. Let s = uvxyz.

Neither v nor y can contain #, otherwise s` = uv2xy2z contains more than two #s.

Therefore, if we divide x into three segments by #s: 01p, 02p, 03p, at least one of the

segments is not contained within either v or y. Hence, s` = uv2xy2z is not in B because the

1 : 2 : 3 length ratio of the segments is not maintained. Hence s` ∉ B.

Because s cannot be pumped in any way without violating the pumping lemma,

B is not CF.

C = { w#x | w is a substring of x, where w, x ∈ {a, b}*}.

Solution

Not CF. Let p be the pumping length given by the pumping lemma.

We show that s = apbp#apbp cannot be pumped. Let s = uvxyz.

Neither v nor y can contain #,

otherwise s` = uv0xy0z does not contain # and therefore s` ∉ C.

If both v and y are nonempty and occur on the LHS of the #, the string s` = uv2xy2z ∉ C

because it is longer on the LHS than on the RHS. Similarly, if both strings occur on the

RHS, the string s` = uv0xy0z ∉ C because, again, the LHS is longer than the RHS.

If only one of v and y is nonempty ( |vy| > 0, therefore v and y can not be empty at the

same time), treat them as if they both occurred on the same side of the # as above.

The only remaining case will be where both v and y are nonempty and v is on the LHS, y

on the RHS. However, |vxy| <= p, therefore, v can only contain b’s and y can only

37

contain a’s. Hence s` = uv2xy2z ∉ C because it contains more b’s on the LHS than on the

RHS.

Since s cannot be pumped in any way without violating the pumping lemma, C is not CF.

Referenser

1. Linz, An Introduction to Formal Languages and Automata, Jones & Bartlett 2000

38

- intro to compiler designUploaded bykamar
- csci3255 HW 3Uploaded byDK Hassan
- Solution-Introduction+to+Automata+TheoryUploaded byAzmi Yüksel
- Sudkamp Solutions 3rdUploaded byEstella Gonzales
- context freeUploaded bygdayanand4u
- Chapter 1 1Uploaded byChetan Sharma
- Grammar TypesUploaded bylanretobi
- Lecture 07Uploaded byDiana Dcn
- Compiler Construction 1Uploaded bySantosh Kumar Desai
- mmmUploaded byIslam Samir
- Third ClassUploaded byadnan
- Bottom Up ParsingUploaded byparoo7k

- ABC-Classic Pen (1)Uploaded byAcimSultan
- Act of IIEST, ShibpurUploaded byAjay Das
- 1.Online Airticket.docUploaded byDeependra Raj Pathak
- Lec6_DataTransmissionUploaded byAjay Das
- Chapter 01finalUploaded byVanty Firstadea
- lecture7.pptUploaded byAjay Das
- STUDENT INFORMATION SYSTEM.docUploaded byAjay Das
- Advt0813.pdfUploaded byAjay Das
- Droplet Routing Algorithms for digital Microfluidic BiochipsUploaded byAjay Das
- ITM Executive Education - Batch 22_ Nirdosh case study.pdfUploaded byAjay Das
- 1072-Placement Paper of SatyamUploaded bymmohanc
- Solutions(2008.7)Uploaded byAjay Das
- AcademicCalendarEvenSem11-12MayUploaded byKhushboo Rai
- Schedule of Odd Semester 2011Uploaded bySubhro Biswas
- Constructive AnatomyUploaded bygazorninplotz
- Information Technology SyllabusUploaded byaviaviawwal

- lecture 21-25 (1)Uploaded bydv
- Chapter 04 - Context Free LanguageUploaded byprinceji
- McAloon - Completeness Theorems, Incompleteness Theorems and Models of ArithmeticUploaded byTandahara
- Push Down Automata NewUploaded byChaitanya Hebbal
- BCA (CS-73)Uploaded bydevindersingh2002
- Schuller's Geometric Anatomy of Theoretical Physics, Lectures 1-25Uploaded bySimon Rea
- Minimization of DfaUploaded byKlevis Kaso
- Session 4_XP.pptxUploaded byTạ Tâm Minh
- Algebra and topology in lambda calculusUploaded byTa Thanh Dinh
- CFG-3Uploaded byflame1406
- FLAT Practice Set - 1Uploaded byBala Kumar
- MELJUN CORTES Automata Lecture Chomsky Normal Form 2Uploaded byMELJUN CORTES, MBA,MPA
- Dynamic LogicUploaded byTaqi Shah
- Chapter 5Uploaded byBayerischeMotorenWer
- slr1Uploaded byrodrigopdg
- Just What is Full-Blooded PlatonismUploaded byBruno Saramago Monteiro
- StepsUploaded byarvindbalodia
- Compiler_Lecture_top down.pdfUploaded byHasanen10
- 1. Mathematical LogicUploaded bymuku69
- Cc Project ReportUploaded bykarrar
- Data StructUploaded byz_hubbard
- SYLLABUSUploaded bykiransree
- Automata and Formal LanguagesUploaded bySri Sriniketh
- Interpretación de Gödel de la lógica intuicionistaUploaded byelias
- CS262 Notes (1)Uploaded byswamymotappa
- Kananaskis 11 ReferenceUploaded bylovelyosmile253
- MI_WKSHEET.pdfUploaded byAmeera Chaitram
- Cis560 Lecture Notes XuUploaded byname
- Predicate CalculusUploaded bysamitpatel
- Top Down ParsingUploaded byahmed mahamed