- 93 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Module 36' - gaetano-lavery

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Pumping Lemma

### Pumping Lemma

### Pumping Lemma k>=0 such that

Module 36

- Non context-free languages
- Examples and Intuition

- Pumping lemma for CFL’s
- Pumping condition
- No proof of pumping lemma
- Applying pumping lemma to prove that some languages are not CFL’s

Examples *

- What are some examples of nonregular languages?
- Can we build on any of these languages to create a non context-free language?

Intuition *

- Try and prove that these languages are CFL’s and identify the stumbling blocks
- Why can’t we construct a CFG to generate this language?
- Why can’t we construct a PDA to accept this language?
- Compare to similar CFL languages to try and identify differences.

What’s different about CFL’s than regular languages? *

- In regular languages, a single substring “pumps”
- Consider the language of even length strings over {a,b}
- We can identify a single substring which can be pumped

- In CFL’s, multiple substrings can “pump”
- 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

- This results in a modified pumping condition

A language L satisfies the regular language pumping condition if:

there exists an integer n > 0 such that

for all strings x in L of length at least n

there exist strings u, v, w such that

x = uvw and

|uv| <= n and

|v| >= 1 and

For all k >= 0, uvkw is in L

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 n

there exist strings u, v, w, y, z such that

x = uvwyz and

|vwy| <= n and

|vy| >= 1 and

For all k >= 0, uvkwykz is in L

Modified Pumping ConditionAll languages over {a,b}

Pumping Lemma- All CFL’s satisfy the CFL pumping condition

CFL’s

Implications

CFL

- 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 context-free
- Showing L satisfies the pumping condition does not guarantee that L is context-free

What does it mean?

Pumping Condition

- 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 n
- there exist strings u, v, w, y, z such that
- x = uvwyz and
- |vwy| <= n and
- |vy| >= 1 and
- For all k >= 0, uvkwykz is in L

v and y can be pumped

1) x in L2) x = uvwyz3) For all k >= 0, uvkwykz is in L

- Let x = abcdefg be in L
- Then there exist 2 substrings v and y in x such that v and y can be repeated (pumped) in place any number of times and the resulting string is still in L
- uvkwykz is in L for all k >= 0

- For example
- v = cd and y = f
- uv0wy0z = uwz =abeg is in L
- uv1wy1z = uvwyz = abcdefgis in L
- uv2wy2z = uvvwyyz = abcdcdeffgis in L
- uv3wy3z = uvvvwyyyz = abcdcdcdefffg is in L
- …

- v = cd and y = f

What the other parts mean

- A language L satisfies the CFL pumping condition if:
- there exists an integer n > 0 such that
- Since we skip this proof, we will not see what n really means

- for all strings x in L of length at least n
- x must be in L and have sufficient length

- there exist strings u, v, w, y, z such that
- x = uvwyz and
- |vwy| <= n and
- v and y are contained within n characters of x
- Note: these are NOT necessarily the first n characters of x

- |vy| >= 1 and
- v and y cannot both be l,
- One of them might be l, but not both

- For all k >= 0, uvkwykz is in L

- there exists an integer n > 0 such that

Example *

- Let L be the set of palindromes over {a,b}
- Let x = aabaa
- Let n = 3
- What are the possibilities for v and y ignoring the pumping constraint?
- Which ones satisfy the pumping lemma?

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

How we use the Pumping Lemma

- We choose a specific language L
- For example, {ajbjcj | j > 0}

- We show that L does not satisfy the pumping condition
- We conclude that L is not context-free

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 n

there exist strings u, v, w, y, z such that

x = uvwyz and

|vwy| <= n and

|vy| >= 1 and

For all k >= 0, uvkwykz is in L

A language L does not satisfy the CFL pumping condition if:

for all integers n of sufficient size

there exists a string x in L of length at least n such that

for all strings u, v, w, y, z such that

x = uvwyz and

|vwy| <= n and

|vy| >= 1

There exists a k >= 0 such that uvkwykz is not in L

Showing L “does not pump”A language L does not satisfy the CFL pumping condition if:

for all integers n of sufficient size

there exists a string x in L of length at least n such that

for all strings u, v, w, y, z such that

x = uvwyz and

|vwy| <= n and

|vy| >= 1

There exists a k >= 0 such that uvkwykz is not in L

Proof that L = {aibici | i>0} does not satisfy the CFL pumping condition

Let n be the integer from the pumping lemma

Choose x = anbncn

Consider all strings u, v, w, y, z s.t.

x = uvwyz and

|vwy| <= n and

|vy| >= 1

Argue that uvkwykz is not in L for some k >= 0

Argument must apply to all possible u,v,w,y,z

Continued on next slide

Example ProofProof that L = {aibici | i>0} does not satisfy the CFL pumping condition

Let n be the integer from the pumping lemma

Choose x = anbncn

Consider all strings u, v, w, y, z s.t.

x = uvwyz and

|vwy| <= n and

|vy| >= 1

Argue that uvkwykz is not in L for some k >= 0

Argument must apply to all possible u,v,w,y,z

Continued next column

Identify possible cases for vwy

What is impossible for vwy?

Case 1

vwy contains no a’s

Case 2

vwy contains no c’s

Must argue uvkwykz is not in L for bothcases described above

Can use different values of k

Continued on next slide

Example Proof Continued *Identify possible cases for vwy

What is impossible for vwy?

Case 1

vwy contains no a’s

Case 2

vwy contains no c’s

Must argue uvkwykz is not in L for bothcases described above

Can use different values of k

Continued next column

Case 1: vwy contains no a’s

vy contains at least 1 b or c

follows from

vwy contains no a’s and

|vy| >= 1

uwz is not in L

uwz has n a’s

follows from fact vwy contains no a’s and x originally had n a’s

uwz has fewer than n b’s or fewer than n c’s

follows from vy contains at least 1 b or c and x originally only had n b’s and n c’s

Continued next slide

Example Proof Continuedvy contains at least 1 b or c

follows from

vwy contains no a’s and

|vy| >= 1

uwz is not in L

uwz has n a’s

follows from fact vwy contains no a’s and x originally had n a’s

uwz has fewer than n b’s or fewer than n c’s

follows from vy contains at least 1 b or c and x originally only had n b’s and n c’s

Continued next column

Case 2: vwy contains no c’s

vy contains at least

uv2wy2z is not in L

uv2wy2z has n c’s

follows from fact vwy contains no c’s and x originally had n c’s

uv2wy2z has more than n a’s or more than n b’s

follows from vy contains at least 1 a or b and x originally has n a’s and n b’s

Continued next slide

Example Proof Continued *For all possible u, v, w, y, z, we have shown there exists a k>=0 such that

uvkwykz is not in L

Note, we used a different value of k for each case (though we didn’t have to)

Therefore L does not satisfy the CFL pumping condition

There L is not a CFL

Case 2: vwy contains no c’s

vy contains at least

uv2wy2z is not in L

uv2wy2z has n c’s

follows from fact vwy contains no c’s and x originally had n c’s

uv2wy2z has more than n a’s or more than n b’s

follows from vy contains at least 1 a or b and x originally has n a’s and n b’s

Continued next column

Example Proof CompletedOther example languages k>=0 such that

- 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
- {aibjck | i < j < k}

Two rules of thumb

Two Rules of Thumb k>=0 such that

- Try to use blocks of at least n characters in x
- For TWOCOPIES, choose x = anbnanbn rather than anbanb
- Guarantees v and y cannot be in more than 2 blocks of x

- For TWOCOPIES, choose x = anbnanbn rather than anbanb
- Try k=0 or k=2
- k=0
- This reduces number of occurrences of v and y

- k=2
- This increases number of occurrences of v and y

- k=0

Summary k>=0 such that

- We use the Pumping Lemma to prove a language is not a CFL
- Note, does not work for all non CFL languages
- Can be strengthened to Ogden’s Lemma
- In book

- Choosing a good string x is first key step
- Choosing a good k is second key step
- Typically have several cases for v, w, y

Download Presentation

Connecting to Server..