Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Module 33 Non-context free languages –Intuition and Examples CFL Pumping Lemma –Comparison to regular language pumping lemma –What it means –Proof overview.

Similar presentations


Presentation on theme: "1 Module 33 Non-context free languages –Intuition and Examples CFL Pumping Lemma –Comparison to regular language pumping lemma –What it means –Proof overview."— Presentation transcript:

1 1 Module 33 Non-context free languages –Intuition and Examples CFL Pumping Lemma –Comparison to regular language pumping lemma –What it means –Proof overview –Applications

2 2 Examples and Intuition

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

4 4 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? –Compare to similar CFL languages to try and identify differences.

5 5 Comparison to regular language pumping lemma/condition

6 6 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 {a n b n | 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

7 7 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, uv k w 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 = uvw yz and | v w y | ≤ n and | vy | ≥ 1 and For all k ≥ 0, u v k w y k z is in L

8 8 Pumping Lemma All CFL’s satisfy the CFL pumping condition All languages over {a,b} CFL’s “Pumping Languages”

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

10 10 Pumping Lemma What does it mean?

11 11 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, u v k w y k z is in L

12 12 v and y can be pumped 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 –uv k wy k z is in L for all k ≥ 0 For example –v = cd and y = f uv 0 wy 0 z = uwz = abeg is in L uv 1 wy 1 z = uvwyz = abcdefg is in L uv 2 wy 2 z = uvvwyyz = abcdcdeffg is in L uv 3 wy 3 z = uvvvwyyyz = abcdcdcdefffg is in L … 1) x in L 2) x = uvwyz 3) For all k ≥ 0, uv k wy k z is in L

13 13 What the other parts mean A language L satisfies the CFL pumping condition if: –there exists an integer n > 0 such that related to number of variables in CNF grammar G –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 –these are NOT necessarily the first n characters of x |vy| ≥ 1 and –v and y cannot both be  –One of them might be, but not both For all k ≥ 0, uv k wy k z is in L

14 14 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?

15 15 Pumping Lemma Proof

16 16 Proof For any CFL L, consider a CNF grammar G with m variables s.t. L(G) = L – {λ} Let n = 2 m Consider any string x in L of length at least n, and let T be a parse tree for x How short can the longest path of T be? –Must have length at least m+1. From the last m+1 variables in the longest path of T, identify two variables that are identical. Formulate u, v, w, y, and z based on these choice.

17 17 Illustration: k=2 uvwyz S A Auvyz S A A uvyz S A A vwy A slide originally from Chris Umans, Cal Tech

18 18 Illustration: k=0 uvwyz S A Auz S A uz S A x slide originally from Chris Umans, Cal Tech

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

20 20 How we use the Pumping Lemma We choose a specific language L –For example, {a j b j c j | j > 0} We show that L does not satisfy the pumping condition We conclude that L is not context-free

21 21 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 n –there exist strings u, v, w, y, z such that x = uvw yz and | v w y | ≤ n and | vy | ≥ 1 and For all k ≥ 0, u v k w y k z 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 uv k wy k z is not in L

22 22 Example Proof 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 uv k wy k z is not in L Proof that L = {a i b i c i | i>0} does not satisfy the CFL pumping condition Let n be the integer from the pumping lemma Choose x = a n b n c n Consider all strings u, v, w, y, z s.t. x = uvwyz and |vwy| ≤ n and |vy| ≥ 1 Argue that uv k wy k z is not in L for some k ≥ 0 –Argument must apply to all possible u,v,w,y,z –Continued on next slide

23 23 Example Proof Continued Proof that L = {a i b i c i | i>0} does not satisfy the CFL pumping condition Let n be the integer from the pumping lemma Choose x = a n b n c n Consider all strings u, v, w, y, z s.t. x = uvwyz and |vwy| ≤ n and |vy| ≥ 1 Argue that uv k wy k z 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 uv k wy k z is not in L for both cases described above –Can use different values of k –Continued on next slide

24 24 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 uv k wy k z is not in L for both cases 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

25 25 Example Proof Continued 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 column Case 2: vwy contains no c’s –vy contains at least –uv 2 wy 2 z is not in L uv 2 wy 2 z has n c’s –follows from fact vwy contains no c’s and x originally had n c’s uv 2 wy 2 z 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

26 26 Example Proof Completed For all possible u, v, w, y, z, we have shown there exists a k ≥ 0 such that –uv k wy k z 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 –uv 2 wy 2 z is not in L uv 2 wy 2 z has n c’s –follows from fact vwy contains no c’s and x originally had n c’s uv 2 wy 2 z 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

27 27 Other 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 {a i b j c k | i < j < k}

28 28 Pumping Lemma Two rules of thumb

29 29 Two Rules of Thumb Try to use blocks of at least n characters in x –For TWOCOPIES, choose x = a n b n a n b n rather than a n ba n b Guarantees v and y cannot be in more than 2 blocks of x 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

30 30 Summary Examples of some non-CFL’s 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 ppt "1 Module 33 Non-context free languages –Intuition and Examples CFL Pumping Lemma –Comparison to regular language pumping lemma –What it means –Proof overview."

Similar presentations


Ads by Google