Context Free Pumping Lemma Some languages are not context free!

Slides:



Advertisements
Similar presentations
CS 3240: Languages and Computation Properties of Context-Free Languages.
Advertisements

1 Introduction to Computability Theory Lecture7: The Pumping Lemma for Context Free Languages Prof. Amos Israeli.
Lecture 15UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 15.
1 Module 33 Non-context free languages –Intuition and Examples CFL Pumping Lemma –Comparison to regular language pumping lemma –What it means –Proof overview.
Courtesy Costas Busch - RPI1 The Pumping Lemma for Context-Free Languages.
Transparency No. P2C5-1 Formal Language and Automata Theory Part II Chapter 5 The Pumping Lemma and Closure properties for Context-free Languages.
1 The Pumping Lemma for Context-Free Languages. 2 Take an infinite context-free language Example: Generates an infinite number of different strings.
Costas Busch - RPI1 The Pumping Lemma for Context-Free Languages.
CS5371 Theory of Computation Lecture 9: Automata Theory VII (Pumping Lemma, Non-CFL)
Context Free Pumping Lemma Zeph Grunschlag. Agenda Context Free Pumping Motivation Theorem Proof Proving non-Context Freeness Examples on slides Examples.
Transparency No. P2C5-1 Formal Language and Automata Theory Part II Chapter 5 The Pumping Lemma and Closure properties for Context-free Languages.
1 Background Information for the Pumping Lemma for Context-Free Languages Definition: Let G = (V, T, P, S) be a CFL. If every production in P is of the.
Prof. Busch - LSU1 Pumping Lemma for Context-free Languages.
1 Applications of Regular Closure. 2 The intersection of a context-free language and a regular language is a context-free language context free regular.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
CSE 3813 Introduction to Formal Languages and Automata Chapter 8 Properties of Context-free Languages These class notes are based on material from our.
The Pumping Lemma for Context Free Grammars. Chomsky Normal Form Chomsky Normal Form (CNF) is a simple and useful form of a CFG Every rule of a CNF grammar.
Classification of grammars Definition: A grammar G is said to be 1)Right-linear if each production in P is of the form A  xB or A  x where A and B are.
1 L= { w c w R : w  {a, b}* } is accepted by the PDA below. Use a construction like the one for intersection for regular languages to design a PDA that.
Test # 2 Friday, November 2 nd Covers all of Chapter 2 Test # 2 will be 20% of final score (same as Test #1) Final Exam will be 40% of the final score.
Chapter 6 Properties of Regular Languages. 2 Regular Sets and Languages  Claim(1). The family of languages accepted by FSAs consists of precisely the.
Non-CF Languages The language L = { a n b n c n | n  0 } does not appear to be context-free. Informal: A PDA can compare #a’s with #b’s. But by the time.
Context Free Pumping Lemma. CFL Pumping Lemma A CFL pump consists of two non-overlapping substrings that can be pumped simultaneously while staying in.
Pumping Lemma for CFLs. Theorem 7.17: Let G be a CFG in CNF and w a string in L(G). Suppose we have a parse tree for w. If the length of the longest path.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 9 Mälardalen University 2006.
CSCI 2670 Introduction to Theory of Computing September 23, 2004.
Costas Busch - LSU1 Pumping Lemma for Context-free Languages.
Chapter 8 Properties of Context-free Languages These class notes are based on material from our textbook, An Introduction to Formal Languages and Automata,
Transparency No. P2C5-1 Formal Language and Automata Theory Part II Chapter 5 The Pumping Lemma and Closure properties for Context-free Languages.
 2004 SDU Lecture8 NON-Context-free languages.  2004 SDU 2 Are all languages context free? Ans: No. # of PDAs on  < # of languages on  Pumping lemma:
Complexity and Computability Theory I Lecture #12 Instructor: Rina Zviel-Girshin Lea Epstein.
Context-Free and Noncontext-Free Languages Chapter 13.
Non-regular languages
Standard Representations of Regular Languages
CSE322 PUMPING LEMMA FOR REGULAR SETS AND ITS APPLICATIONS
Lecture 15 Pumping Lemma.
Non-Context-Free Languages Sections: 2.3 page 123 October 17, 2008
Lecture 14 Grammars – Parse Trees– Normal Forms
Jaya Krishna, M.Tech, Assistant Professor
Context-Free Languages
Context-Free Grammars and Languages
Pumping Lemma for Regular Languages some languages are not regular!
Chapter Fourteen: The Context-Free Frontier
Definition: Let G = (V, T, P, S) be a CFL
Thinking about grammars
CHAPTER 2 Context-Free Languages
Finite Automata and Formal Languages
COSC 3340: Introduction to Theory of Computation
Deterministic PDAs - DPDAs
The Pumping Lemma for CFL’s
Pumping Lemma for Context-free Languages
Elementary Questions about Regular Languages
Non-regular languages
Properties of Context-Free Languages
Are all Languages Regular
Relationship to Left- and Rightmost Derivations
COSC 3340: Introduction to Theory of Computation
CS21 Decidability and Tractability
Chapter 2 Context-Free Language - 02
Key Answers for Homework #7
CS21 Decidability and Tractability
The Pumping Lemma for CFL’s
Applications of Regular Closure
Thinking about grammars
The Pumping Lemma for CFL’s
Intro to Theory of Computation
Presentation transcript:

Context Free Pumping Lemma Some languages are not context free! Sipser pages 123 - 128

CFL Pumping Lemma A CFL pump consists of two non-overlapping substrings that can be pumped simultaneously while staying in the language. Precisely, two substrings u and v constitute a CFL pump for a string w of L when uv ¹ e (|uv| > 0, which means that at least one of u or v is not empty) And we can write w = xuyvz so that for every i ³ 0 xuiyviz Î L

Pumping Lemma Let L be a CFL. Then there exists a number n (depending on L) such that every string w in L of length greater than n contains a CFL pump. Moreover, there exists a CFL pump such that (with the notation as above), |uyv| n. For example, take L= {0i1i | i ³ 0 }: there are no (RE) pumps in any of its strings, but there are plenty of CFL pumps.

The pumping Lemma Game We want to prove L is not context-free. For a proof, it suffices to give a winning strategy for this game. The demon first plays n. We respond with w Î L such that |w| ³ n. The demon factors w into five substrings, w=xuyvz, with the proviso that uv ¹ e and |uyv|  n Finally, we play an integer i ³ 0, and we win if xuiyviz Ï L.

Example 1 We prove that L= {0i1i2i | i ³ 0} is not context-free. In response to the demon's n, we play w=0n1n2n. The middle segment uyv of the demon's factorization of w = xuyvz, cannot have an occurrence of both 0 and 2 ( because we can assume |uyv|  n ). Suppose 2 does not occur in uyv (the other case is similar). We play i = 0. Then the total number of 0's and 1's in w0=xyz will be smaller than 2n, while the number of 2's in w0 will be n. Thus, w0 Ï L.

Example 2 Let L be the set of all strings over {0,1} whose length is a perfect square. The demon plays n We respond with w = 0n^2 The demon plays a factorization 0n^2 = xuyvz with 1  |uyv|  n. We play i=2. The length of the resulting string w2 = xu2yv2z is between n2+1 and n2+n. In that interval, there are no perfect squares, so w2 Ï L.

Proof of the pumping lemma Strategy in several steps Define fanout Define height yield Prove a lemma about height yield Apply the lemma to prove pumping lemma

Fanout – max rhs length Let fanout(G) denote the maximal length of the rhs of any production in the grammar G. E.g. For the Grammar S ® S S S ® ( S ) S ® e The fanout is 3

Height Yield The proof of Pumping Lemma depends on this simple fact about parse trees. The height of a tree is the maximal length of any path from the root to any leaf. The yield of a parse tree is the string it represents (the terminals from a left-to-right in-order walk) Lemma. If a parse tree of G has height h, and the fanout(G)=b, then its yield has size at most bh Conversely if a string has length > bh (i.e. it has length bh + 1 or more) then its parse tree is at least h+1 deep Proof. Induction on h qed

The actual Proof The constant n for the grammar G is fanout(G)|V| where V is the set of variables of G. Suppose w Î L(G) and |w| ³ n. Take a parse tree of w with the smallest possible number of nodes. By the Height-Yield Lemma, any parse tree of w must have height ³ |V|. Therefore, there must be two occurrences of the same variable on a path from root to a leaf. Consider the last two occurrences of the same variable (say A) on that path. They determine a factorization of the yield w=xuyvz as in the picture on the next slide

Diagram We have S Þ* xAz A Þ* uAv A Þ* y Start We have S Þ* xAz A Þ* uAv A Þ* y so clearly S Þ* xuiyviz for any i ³ 0. A A A x u y v z

Start Start A A A A A A x u y v z x u v z A u y v

Proof continued We also need to check that uv ¹ e. Indeed, if uv= e, we can get a smaller parse tree for the same w by ignoring the productions “between the two As”. But we have chosen the smallest possible parse tree for w! Which leads to a Contradiction. Finally, we need to check that |uyv|  n. This follows from the Height-Yield Lemma because the nodes on our chosen path from the first depicted occurrence of A, onward, are labeled with necessarily distinct variables. qed