Torng Non contextfree languages Examples and Intuition Pumping
- Slides: 27
Torng • 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 1
Examples and Intuition 2
Examples • What are some examples of nonregular languages? • Can we build on any of these languages to create a non context-free language? 3
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. 4
Pumping Lemma for CFL’s 5
Comparison to regular language pumping lemma/condition 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 {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 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, 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 8
Pumping Lemma • All CFL’s satisfy the CFL pumping condition CFL’s 9
Pumping 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 10
Pumping Lemma What does it mean? 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, uvkwykz is in L 12
v and y can be pumped 1) x in L 2) x = uvwyz 3) 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 • 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 • … 13
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 – One of them might be , but not both • For all k ≥ 0, uvkwykz is in L 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
Pumping Lemma Applying it to prove a specific language L is not context-free 16
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 17
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 = 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 18
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 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 19
Example Proof Continued • • 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 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 both cases described above – Can use different values of k – Continued on next slide 20
Example Proof Continued • Identify possible cases for vwy • What is impossible for vwy? • Case 1: vwy contains no a’s – vy contains at least 1 b or c • follows from • Case 1 – vwy contains no a’s • Case 2 – vwy contains no c’s • Must argue uvkwykz is not in L for both cases described above – Can use different values of k – Continued next column – 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 21
Example Proof Continued • Case 1: vwy contains no a’s – vy contains at least 1 b or c • Case 2: vwy contains no c’s – vy contains at least • 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 – 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 22
Example Proof Completed • 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 • 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 • Continued next column 23
Other example languages • TWOCOPIES = {ww | w is in {a, b}* } – abbabb is in TWOCOPIES but abaabb is not • EQUAL 3 = 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} 24
Pumping Lemma Two rules of thumb 25
Two Rules of Thumb • Try to use blocks of at least n characters in x – For TWOCOPIES, choose x = anbn rather than anbanb • 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 26
Summary • 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 27
- Pumping lemma non regular languages examples
- Pumping lemma for context-free languages examples
- Pumping lemma context free language
- Contradiction in maths
- Favoring intuition over reason
- Intuition pumps examples
- Intuition examples
- Example of intuition
- Pumping lemma for cfl examples
- Pumping lemma for cfg examples
- La lutte supreme nous appelle tous
- Carl jung intuition vs sensing
- Values feeling and intuition over reason
- Rationalism vs romanticism
- Romanticism qualities
- Values feeling and intuition over reason
- Applications of pumping lemma for cfl
- What is intuition
- J cole my intuitions
- Lagrange
- The internship mbti
- Dot product intuition
- Framing ap psychology example
- Complementing intuition with systematic study
- Test intuition
- Intuition definition
- Statistics hypothesis testing flow chart
- Understanding your intuition