Context Free Languages. Automata Theory and Formal Grammars: Lecture 6. Languages That Are Not Regular. Non-Regular Languages

Similar documents
Automata Theory CS F-08 Context-Free Grammars

Chapter 6. Properties of Regular Languages

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

Computational Models - Lecture 4

Computational Models - Lecture 4 1

Harvard CS 121 and CSCI E-207 Lecture 10: CFLs: PDAs, Closure Properties, and Non-CFLs

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 9 : Myhill-Nerode Theorem and applications

Pushdown Automata. Reading: Chapter 6

Theory of Computation

Computational Models - Lecture 3

Theory of Computer Science

Pushdown automata. Twan van Laarhoven. Institute for Computing and Information Sciences Intelligent Systems Radboud University Nijmegen

Computational Models - Lecture 4 1

Lecture 11 Context-Free Languages

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 5 : DFA minimization

Fundamentele Informatica II

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

Computational Models - Lecture 3 1

What we have done so far

Formal Languages, Automata and Models of Computation

1 More finite deterministic automata

Foundations of Informatics: a Bridging Course

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Properties of Context-Free Languages. Closure Properties Decision Properties

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Author: Vivek Kulkarni ( )

The View Over The Horizon

Theory of Computation - Module 3

NPDA, CFG equivalence

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

Finite Automata and Regular Languages

C1.1 Introduction. Theory of Computer Science. Theory of Computer Science. C1.1 Introduction. C1.2 Alphabets and Formal Languages. C1.

CS 275 Automata and Formal Language Theory

Fooling Sets and. Lecture 5

Automata: a short introduction

Introduction to Theory of Computing

CISC4090: Theory of Computation

(b) If G=({S}, {a}, {S SS}, S) find the language generated by G. [8+8] 2. Convert the following grammar to Greibach Normal Form G = ({A1, A2, A3},

60-354, Theory of Computation Fall Asish Mukhopadhyay School of Computer Science University of Windsor

CSE 105 THEORY OF COMPUTATION

Closure Properties of Context-Free Languages. Foundations of Computer Science Theory

Notes for Comp 497 (Comp 454) Week 5 2/22/05. Today we will look at some of the rest of the material in Part 1 of the book.

Computer Sciences Department

VTU QUESTION BANK. Unit 1. Introduction to Finite Automata. 1. Obtain DFAs to accept strings of a s and b s having exactly one a.

HKN CS/ECE 374 Midterm 1 Review. Nathan Bleier and Mahir Morshed

Harvard CS 121 and CSCI E-207 Lecture 9: Regular Languages Wrap-Up, Context-Free Grammars

Concordia University Department of Computer Science & Software Engineering

1. (a) Explain the procedure to convert Context Free Grammar to Push Down Automata.

Computational Models: Class 3

Notes for Comp 497 (454) Week 10

Computational Models - Lecture 5 1

3515ICT: Theory of Computation. Regular languages

CS375: Logic and Theory of Computing

Finite State Automata

Automata Theory and Formal Grammars: Lecture 1

Languages. Non deterministic finite automata with ε transitions. First there was the DFA. Finite Automata. Non-Deterministic Finite Automata (NFA)

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Proving languages to be nonregular

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Part 3 out of 5. Automata & languages. A primer on the Theory of Computation. Last week, we learned about closure and equivalence of regular languages

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata

FABER Formal Languages, Automata. Lecture 2. Mälardalen University

CS5371 Theory of Computation. Lecture 7: Automata Theory V (CFG, CFL, CNF)

Closure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism

COMP4141 Theory of Computation

Lecture 7 Properties of regular languages

Before we show how languages can be proven not regular, first, how would we show a language is regular?

AC68 FINITE AUTOMATA & FORMULA LANGUAGES JUNE 2014

Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2

TAFL 1 (ECS-403) Unit- III. 3.1 Definition of CFG (Context Free Grammar) and problems. 3.2 Derivation. 3.3 Ambiguity in Grammar

10. The GNFA method is used to show that

Theory of Computation (Classroom Practice Booklet Solutions)

Notes for Comp 497 (Comp 454) Week 10 4/5/05

Fall, 2017 CIS 262. Automata, Computability and Complexity Jean Gallier Solutions of the Practice Final Exam

Chapter 1. Formal Definition and View. Lecture Formal Pushdown Automata on the 28th April 2009

6.8 The Post Correspondence Problem

Part 4 out of 5 DFA NFA REX. Automata & languages. A primer on the Theory of Computation. Last week, we showed the equivalence of DFA, NFA and REX

FLAC Context-Free Grammars

CS5371 Theory of Computation. Lecture 5: Automata Theory III (Non-regular Language, Pumping Lemma, Regular Expression)

DM17. Beregnelighed. Jacob Aae Mikkelsen

CSE 105 THEORY OF COMPUTATION

Context Free Languages and Grammars

More on Finite Automata and Regular Languages. (NTU EE) Regular Languages Fall / 41

Computational Models - Lecture 3 1

Computational Models - Lecture 5 1

Languages, regular languages, finite automata

Computational Models Lecture 5

NODIA AND COMPANY. GATE SOLVED PAPER Computer Science Engineering Theory of Computation. Copyright By NODIA & COMPANY

Ogden s Lemma for CFLs

DD2371 Automata Theory

UNIT II REGULAR LANGUAGES

CSC236 Week 11. Larry Zhang

Properties of Context-Free Languages

Context-Free Languages (Pre Lecture)

Lecture 17: Language Recognition

Nonregular Languages

Homework. Context Free Languages. Announcements. Before We Start. Languages. Plan for today. Final Exam Dates have been announced.

CS311 Computational Structures More about PDAs & Context-Free Languages. Lecture 9. Andrew P. Black Andrew Tolmach

Transcription:

Context Free Languages Automata Theory and Formal Grammars: Lecture 6 Context Free Languages Last Time Decision procedures for FAs Minimum-state DFAs Today The Myhill-Nerode Theorem The Pumping Lemma Context-free grammars and languages Closure properties of CFLs Relating regular languages and CFLs Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p1/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p2/40 Languages That Are Not Regular So far we have only seen regular languages Do nonregular ones exist? Non-Regular Languages Yes! Consider L = { 0 n 1 n n 0 } What would a FA look like for this language? 0, 1 1 0, 1 0 0 0 1 1 1 1 1 1 0 0 0 0 What can you say about the strings 0 i and 0 j if i j? If i j then 0 i L 0 j! In this case L has an infinite number of equivalence classes! Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p3/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p4/40

The Myhill-Nerode Theorem Example: Proving Nonregularity of { 0 n 1 n n 0 } Theorem (Myhill-Nerode) Let L Σ be a language Then L is Theorem L = { 0 n 1 n n 0 } is not regular regular if and only if L has a finite number of equivalence classes So how do you prove that a language L is not regular using Myhill-Nerode? Must show that L has an infinite number of equivalence classes Suffices to give an infinite set S Σ whose elements are pairwise distinguishable with respect to L: for every x, y S with x y, L x y Why does this condition suffice? If S is pairwise distinguishable, then every element of S must belong to a different equivalence class of L Since S is infinite, there must be an infinite number of equivalence Portions c 2000 classes! Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p5/40 Proof On the basis of the Myhill-Nerode Theorem, it suffices to give an infinite set S {0, 1} that is pairwise distinguishable with respect to L Consider Clearly S is infinite S = { 0 i i 1 } We now must show that S is pairwise distinguishable So consider strings x = 0 i and y = 0 j L where i j; we must show that x y, which requires that we find a z such that xz L and yz L (or vice versa) Consider z = 1 i Then xz = 0 i 1 i L, but yz = 0 j 1 i L L Thus x y, and S is pairwise distinguishable Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p6/40 Another Example: Even-Length Palindromes Proving Even-Length Palindromes To Be Nonregular Recall If x Σ then x r is the reverse of x Theorem Let E = { x x r x {a, b} } Then E is not regular Eg abb r = bba A palindrome is a word that is the same backwards as well as forwards abba 01110 RADAR Any even-length palindrome can be written as x x r for some string x Eg abba = ab ba = ab (ab) r Even-length palindromes over {a, b} form a nonregular language Proof On the basis of the Myhill-Nerode Theorem it suffices to come up with an infinite set S {a, b} that is pairwise distinguishable with respect to E Consider Clearly S is infinite S = { a i b i 0 } To show pairwise distinguishability, consider x = a i b and y = a j b where E i j; we must show x y, ie we must find a z with xz L and yz L, or vice versa Consider z = x r = ba i By definition xz L However, yz = a j bba i L since j i Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p7/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p8/40

The Pumping Lemma: Another Way of Proving Nonregularity The Pumping Lemma (cont) By way of introduction, consider the following If a language L is regular, there is a minimum-state DFA accepting L Let n be the number of states in this DFA u x w What happens if x L is at least n symbols long? v u x w Notes v > 0 since the cycle has to contain something The first repeated state satisfies: uv n (why?) v uv m w L all m 0! Some state must be visited twice, ie cycled through! Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p9/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p10/40 Formalizing the Pumping Lemma Using the Pumping Lemma to Prove Nonregularity Lemma (Pumping Lemma) If L Σ is regular, then there exists n > 0 such that for any x L, if x n then there exist u, v, w Σ such that x = uvw (1) uv n (2) v > 0 (3) uv m w L for any m 0 (4) This lemma can be used to prove nonregularity! Look at its logical structure L is regular = n > 0 x L x n = u, v, w Σ x = uvw uv n v > 0 m 0uv m w L Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p11/40 Recall form of Pumping Lemma: L is regular = n > 0 x L x n = u, v, w Σ x = uvw uv n v > 0 m 0uv m w L What is contrapositive? ( n > 0) = L is not regular! If we drive the negation inside the antecedent we get: n > 0 x L x n u, v, w Σ (x = uvw uv n v > 0) = m 0uv m w L So if we can prove this statement of a language L, then L is not regular! Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p12/40

Example: Proving { ww w {a, b} } Is Not Regular Proof (cont) Theorem L = { ww w {a, b} } is not regular That is, v = a i some i > 0 Now let m = 2, and consider Proof On the basis of the Pumping Lemma it suffices to prove the following n > 0 x L x n u, v, w Σ (x = uvw uv n v > 0) = m 0uv m w L uv m w = uv 2 w = a n+i b n a n b n This word is not an element of L; consequently, L cannot be regular So fix n > 0 and consider x = a n b n a n b n Clearly x L and x > n Now fix u, v, w Σ and assume that x = uvw, uv n, and v > 0 We have the following picture {}}{{}}{{}}{ a a }{{} a a }{{} a a } b b {{ a a b b } u v w n n n Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p13/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p14/40 Context-Free Grammars and Languages Regular languages have a nice theory: Regular expressions give a syntax for defining them Context-Free Grammars FAs provide the computational means for processing them However, some simple languages are not regular, eg L = { 0 n 1 n n 0 } No FA exists for L On the other hand, it s easy to give a recursive definition of L ε L If w L then 0w1 L Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p15/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p16/40

Observations Context-Free Grammars Some easy to process languages like L = { 0 n 1 n n 0 } are nevertheless not recognizable using FAs alone So there must be computing devices that are better than FAs when it comes to recognizing languages There must also be more general classes of languages than regular languages that are still amenable to automatic analysis Context-free languages represent the next, broader class of languages we will study They are defined using context-free grammars provide a notation for defining languages recursively Example A context-free grammar for { 0 n 1 n n 0 } S ε 0S1 S is a nonterminal (think variable ) The grammar has two productions saying how variable S may be rewritten One generates words by applying productions beginning from the start symbol (always a nonterminal, here S): S 0S1 00S11 00ε11 = 0011 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p17/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p18/40 Defining Context-Free Grammars Notational Conventions for CFGs Definition A context-free grammar (CFG) is a quadruple V, Σ, S, P, where: V is a finite set of variables (aka nonterminals) Σ is an alphabet, with V Σ = Elements of Σ are sometimes called terminals S V is a distinguished start symbol P is a finite set of productions of the form A α, where A V and α (V Σ) A α 1 α n is shorthand for n productions of form A α i Start symbol is first one written down Eg In CFG S ε 0S1 V = {S}, Σ = {0, 1}, S is start symbol, and P = {S ε, S 0S1} Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p19/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p20/40

Other CFG Examples Languages of CFGs Palindromes over Σ = {a, b} S ε a b asa bsb Sample word: S asa absba ababa Nonpalindromes over Σ = {a, b} S asa bsb aab baa A ε aa ba Sample word: S asa aaaba aaεba = aaba CFGs are be used to generate strings of terminals and nonterminals Productions are used as rewrite rules to replace variables by strings So what should the language of a CFG be? The sequences of terminals that can be generated from the start variable How do we make this precise? Given a grammar G we ll define a rewrite relation G : α G β should hold if α can be rewritten into β by applying one production Then w Σ is in the language of G if S G α G G w Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p21/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p22/40 Defining G Generating Words in CFGs Example Let G be: S ε 0S1 We want to define G so that 0S1 G 00S11 Definition Let G = V, Σ, S, P be a CFG, and let α, β (V Σ) Then α G β if there exist α 1, α 2, γ (V Σ) and A V such that: α = α 1 A α 2 β = α 1 γ α 2 A γ is a production in P α 1 {}}{ BaC b A α 2 {}}{ BAc B } {{ } α G α 1 {}}{ BaC b γ α 2 {}}{ BAc B } {{ } β G defines the valid one-step derivations in a CFG We can use this to define multi-step derivations via the relation G Example Let G be: S ε 0S1 Then we want S G 0011 to hold Definition Let G = V, Σ, S, P be a CFG, and let α, β (V Σ) Then α G β if there exists n 0 and α 0, α n (V Σ) such that: α = α 0 β = α n For all i < n α i G α i+1 In other words, α = α 0 G α 1 G G α n = β Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p23/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p24/40

Examples The Language of a CFG Let G be the nonpalindrome CFG: S asa bsb aab baa A ε aa ba 1 Does S G abaa? 2 Does asaa G aabaa? 3 Does S G S? 4 Does S G A? The language of a CFG G can now be defined using G Definition Let G = V, Σ, S, P be a CFG Then the language of G, L(G) Σ, is defined as follows L(G) = { w Σ S G w } Context-free languages (CFLs) are those for which one can give CFGs Definition A language L Σ is context-free if there is a CFG G with L = L(G) Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p25/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p26/40 Another CFG/CFL Example A CFG for the valid arithmetic expressions over the natural numbers S N SOS (S) Regular Languages and CFLs N D P R D 0 P P 1 2 3 4 5 6 7 8 9 R D DR O + / Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p27/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p28/40

Regular Languages and CFLs Translating FAs into CFGs Theorem Every regular language is context-free How do we do this? By turning: How can we prove this? By giving any one of several different translations: 1 Regular expressions CFGs states into variables; transitions into productions; and acceptance into ε-productions 2 FAs CFGs 3 NFAs CFGs We will pursue (??) b 00A b B1 a b C2 a D3 a, b a A ac bb B ab bb C ad ba ε D ad bb ε Note δ (A, aab) = B, and A G aabb Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p29/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p30/40 Formalizing the Translation Given a FA M = Q, Σ, q 0, δ, A, we want to define CFG G M = V, Σ, S, P so that L(M) = L(G M ) Assume without loss of generality that Q Σ = V = Q Closure Properties of CFLs S = q 0 P = { q a δ(q, a) q Q } { q ε q A } To prove that L(M) = L(G M ) we can first argue that: For every x Σ, q, q Q, δ (q, x) = q iff q G M x q Then x L(M) iff x L(G M )! (Why?) Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p31/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p32/40

Closure Properties of CFLs Proving CFLs Closed with Respect to What we know: Every regular langauge is a CFL Regular languages are closed with respect to:,,,, etc Are CFLs automatically closed with respect to these operations also? No! Regular languages constitute a proper subset of CFLs, and the closure properties do not immediately transfer Nevertheless, we do have the following We need to show how to combine two CFGs G 1 and G 2 : S 1 S 2 G 1 G 2 into a single CFG G U such that L(G U ) = L(G 1 ) L(G 2 ) Ie if S U is start symbol of G U then S U G U x iff S 1 G 1 x or S 2 G 2 x Theorem The set of context-free languages is closed with respect to, and Proofs rely on grammar constructions Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p33/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p34/40 Idea Formal Construction of G U Why not introduce a new variable S U as follows? S U S 1 S 2 S 1 S 2 If S 1 G 1 w then S GU S 1 G U x If S G U x then S GU S i G i x for i = 1 or i = 2 For the latter to hold we need to ensure that G 1, G 2 don t interfere with one another (ie share variables) Let G 1 = V 1, Σ, S 1, P 1 and G 2 = V 2, Σ, S 2, P 2 ; without loss of generality, assume that V 1 V 2 = We build G U = V U, Σ, S U, P U as follows 1 Choose a new variable S U V 1 V 2 Σ to be the start symbol of G U 2 Take V U = V 1 V 2 {S U } 3 Set P U = P 1 P 2 {S U S 1, S U S 2 } We can then argue that L(G U ) = L(G 1 ) L(G 2 ) by first establishing: Fact S 1 GU α iff S 1 G1 α for any α (V U Σ) Then S U G U x iff S 1 G 1 x or S 2 G 2 x, for any x Σ! Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p35/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p36/40

Proving CFLs Closed with Respect to We need to show how to combine two CFGs G 1 and G 2 : S 1 S 2 G 1 G 2 into a single CFG G C such that L(G C ) = L(G 1 ) L(G 2 ) Ie if S C is start symbol of G C then S C G C x iff S 1 G 1 x 1, S 2 G 2 x 2, and x = x 1 x 2, for some x 1, x 2 Idea We can do something similar to what we did for! S C S 1 S 2 S 1 S 2 If S 1 G 1 x and S 2 G 2 y then S GC S 1 S 2 G C xy If S G C x then S GC S 1 S 2 G C x, meaning S 1 G1 x 1 and S 2 G2 x 2 for some x 1, x 2 with x 1 x 2 = x For the latter to hold we need to ensure that G 1, G 2 don t share variables Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p37/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p38/40 Formal Construction of G C Proving CFLs Closed with Respect to Approach is similar to that for G U : pick a new start symbol S C V 1 V 2 Σ, and construct G C = V, Σ, S C, P C where: V C = V 1 V 2 {S C } P C = P 1 P 2 {S C S 1 S 2 } Proof of correctness follows similar lines to G U case To build G K from G so that L(G K ) = (L(G)) we follow the same line of attack as for,! S S K ε S S K S G G K Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p39/40 Portions c 2000 Rance Cleaveland c 2004 James Riely Automata Theory and Formal Grammars: Lecture 6 p40/40