Foundations of Informatics: a Bridging Course

Similar documents
THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

NPDA, CFG equivalence

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

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

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

MA/CSSE 474 Theory of Computation

DM17. Beregnelighed. Jacob Aae Mikkelsen

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES

AC68 FINITE AUTOMATA & FORMULA LANGUAGES DEC 2013

Properties of Context-Free Languages

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Einführung in die Computerlinguistik

Introduction to Theory of Computing

The Pumping Lemma. for all n 0, u 1 v n u 2 L (i.e. u 1 u 2 L, u 1 vu 2 L [but we knew that anyway], u 1 vvu 2 L, u 1 vvvu 2 L, etc.

Computational Models - Lecture 4

CISC4090: Theory of Computation

Context-Free Languages (Pre Lecture)

Pushdown Automata. Notes on Automata and Theory of Computation. Chia-Ping Chen

CSE 105 THEORY OF COMPUTATION

Section 1 (closed-book) Total points 30

Properties of Context-Free Languages. Closure Properties Decision Properties

Einführung in die Computerlinguistik

Harvard CS 121 and CSCI E-207 Lecture 10: Ambiguity, Pushdown Automata

Pushdown Automata: Introduction (2)

Context Free Languages (CFL) Language Recognizer A device that accepts valid strings. The FA are formalized types of language recognizer.

CPS 220 Theory of Computation

Introduction to Formal Languages, Automata and Computability p.1/42

Theory of Computation (IV) Yijia Chen Fudan University

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

Theory of Computation - Module 3

Ogden s Lemma for CFLs

Computational Models - Lecture 4 1

UNIT-VI PUSHDOWN AUTOMATA

SCHEME FOR INTERNAL ASSESSMENT TEST 3

Pushdown Automata (2015/11/23)

Properties of context-free Languages

COMP-330 Theory of Computation. Fall Prof. Claude Crépeau. Lec. 10 : Context-Free Grammars

Computational Models - Lecture 4 1

CSE 105 THEORY OF COMPUTATION

Final exam study sheet for CS3719 Turing machines and decidability.

Fundamentele Informatica II

The View Over The Horizon

Outline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA.

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Grammars and Context Free Languages

(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},

Functions on languages:

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

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

CS20a: summary (Oct 24, 2002)

CS500 Homework #2 Solutions

Computational Models - Lecture 5 1

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

Grammars and Context Free Languages

Lecture 17: Language Recognition

CSE 105 THEORY OF COMPUTATION

CPSC 421: Tutorial #1

CDM Parsing and Decidability

Please give details of your answer. A direct answer without explanation is not counted.

CS481F01 Prelim 2 Solutions

AC68 FINITE AUTOMATA & FORMULA LANGUAGES JUNE 2014

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

Theory Bridge Exam Example Questions

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

Theory of Computation

Context-Free and Noncontext-Free Languages

CFGs and PDAs are Equivalent. We provide algorithms to convert a CFG to a PDA and vice versa.

Context Free Grammars

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

Computational Models - Lecture 3

Properties of Context Free Languages

Computational Models: Class 5

CPS 220 Theory of Computation Pushdown Automata (PDA)

Non-context-Free Languages. CS215, Lecture 5 c

Decidability (What, stuff is unsolvable?)

Theory of Computation Turing Machine and Pushdown Automata

Parsing. Context-Free Grammars (CFG) Laura Kallmeyer. Winter 2017/18. Heinrich-Heine-Universität Düsseldorf 1 / 26

Computability and Complexity

C6.2 Push-Down Automata

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

CS375: Logic and Theory of Computing

CSE 105 THEORY OF COMPUTATION

ECS 120: Theory of Computation UC Davis Phillip Rogaway February 16, Midterm Exam

Pushdown Automata. We have seen examples of context-free languages that are not regular, and hence can not be recognized by finite automata.

Automata and Computability. Solutions to Exercises

Theory of Computation 8 Deterministic Membership Testing

Pushdown Automata. Chapter 12

Definition: A grammar G = (V, T, P,S) is a context free grammar (cfg) if all productions in P have the form A x where

CS Pushdown Automata

Pushdown Automata. Reading: Chapter 6

Context Free Languages and Grammars

Formal Languages and Automata

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

Harvard CS 121 and CSCI E-207 Lecture 12: General Context-Free Recognition

5 Context-Free Languages

Automata and Computability. Solutions to Exercises

Theory of Computation (II) Yijia Chen Fudan University

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

CSE 355 Test 2, Fall 2016

Theory of Computation

Transcription:

Foundations of Informatics: a Bridging Course Week 3: Formal Languages and Semantics Thomas Noll Lehrstuhl für Informatik 2 RWTH Aachen University noll@cs.rwth-aachen.de http://www.b-it-center.de/wob/en/view/class211_id948.html B-IT, Bonn, Winter semester 2007/08

Part II Context-Free Languages Foundations of Informatics Winter 2007/08 2

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 3

Introductory Example I Example II.1 Syntax definition of programming languages by Backus-Naur rules Here: simple arithmetic expressions Meaning: Expression ::= 0 1 Expression + Expression Expression Expression ( Expression ) An expression is either 0 or 1, or it is of the form u + v, u v, or (u) where u, v are again expressions Foundations of Informatics Winter 2007/08 4

Introductory Example II Example II.2 (continued) Here we abbreviate Expression as E, and use instead of ::=. Thus: E 0 1 E + E E E (E) Foundations of Informatics Winter 2007/08 5

Introductory Example II Example II.2 (continued) Here we abbreviate Expression as E, and use instead of ::=. Thus: E 0 1 E + E E E (E) Now expressions can be generated by applying rules to the start symbol E: E E E (E) E (E) 1 (E + E) 1 (0 + E) 1 (0 + 1) 1 Foundations of Informatics Winter 2007/08 5

Context-Free Grammars I Definition II.3 A context-free grammar (CFG) is a quadruple where G = N, Σ, P, S N is a finite set of nonterminal symbols Σ is the (finite) alphabet of terminal symbols (disjoint from N) P is a finite set of production rules of the form A α where A N and α (N Σ) S N is a start symbol Foundations of Informatics Winter 2007/08 6

Context-Free Grammars II Example II.4 For the above example, we have: N = {E} Σ = {0, 1, +,, (, )} P = {E 0, E 1, E E + E, E E E, E (E)} S = E Foundations of Informatics Winter 2007/08 7

Context-Free Grammars II Example II.4 For the above example, we have: N = {E} Σ = {0, 1, +,, (, )} P = {E 0, E 1, E E + E, E E E, E (E)} S = E Naming conventions: nonterminals start with uppercase letters terminals start with lowercase letters start symbol = symbol on LHS of first production = grammar completely defined by productions Foundations of Informatics Winter 2007/08 7

Context-Free Languages I Definition II.5 Let G = N, Σ, P, S be a CFG. A sentence γ (N Σ) is directly derivable from β (N Σ) if there exist π = A α P and δ 1, δ 2 (N Σ) such that β = δ 1 Aδ 2 and γ = δ 1 αδ 2 (notation: β π γ or just β γ). A derivation (of length n) of γ from β is a sequence of direct derivations of the form δ 0 δ 1... δ n where δ 0 = β, δ n = γ, and δ i 1 δ i for every 1 i n (notation: β γ). A word w Σ is called derivable in G if S w. The language generated by G is L(G) := {w Σ S w}. A language L Σ is called context-free (CFL) if it is generated by some CFG. Two grammars G 1, G 2 are equivalent if L(G 1 ) = L(G 2 ). Foundations of Informatics Winter 2007/08 8

Context-Free Languages II Example II.6 The language {a n b n n N} is context-free (but not regular see previous part). It is generated by the grammar G = N, Σ, P, S with N = {S} Σ = {a, b} P = {S asb ε} (proof: on the board) Foundations of Informatics Winter 2007/08 9

Context-Free Languages II Example II.6 The language {a n b n n N} is context-free (but not regular see previous part). It is generated by the grammar G = N, Σ, P, S with N = {S} Σ = {a, b} P = {S asb ε} (proof: on the board) Remark: illustration of derivations by derivation trees root labeled by start symbol leafs labeled by terminal symbols successors of node labeled according to right-hand side of production rule (example on the board) Foundations of Informatics Winter 2007/08 9

Context-Free Grammars and Languages Seen: Context-free grammars Derivations Context-free languages Foundations of Informatics Winter 2007/08 10

Context-Free Grammars and Languages Seen: Context-free grammars Derivations Context-free languages Open: Relation between context-free and regular languages Foundations of Informatics Winter 2007/08 10

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 11

Context-Free and Regular Languages Theorem II.7 1 Every regular language is context-free. 2 There exist CFLs which are not regular. (In other words: the class of regular languages is a proper subset of the class of CFLs.) Foundations of Informatics Winter 2007/08 12

Context-Free and Regular Languages Theorem II.7 1 Every regular language is context-free. 2 There exist CFLs which are not regular. (In other words: the class of regular languages is a proper subset of the class of CFLs.) Proof. 1 Let L be a regular language, and let A = Q, Σ, δ, q 0, F be a DFA which recognizes L. G := N, Σ, P, S is defined as follows: N := Q, S := q 0 if δ(q, a) = q, then q aq P if q F, then q ε P Obviously a w-labeled run in A from q 0 to F corresponds to a derivation of w in G, and vice versa. Thus L(A) = L(G) (example on the board). 2 An example is {a n b n n N}. Foundations of Informatics Winter 2007/08 12

Context-Free Grammars and Languages Seen: CFLs are more expressive than regular languages Foundations of Informatics Winter 2007/08 13

Context-Free Grammars and Languages Seen: CFLs are more expressive than regular languages Open: Decidability of word problem Foundations of Informatics Winter 2007/08 13

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 14

The Word Problem Goal: given G = N, Σ, P, S and w Σ, decide whether w L(G) or not For regular languages this was easy: just let the corresponding DFA run on w. But here: how to decide when to stop a derivation? Solution: establish normal form for grammars which guarantees that each nonterminal produces at least one terminal symbol = only finitely many combinations Foundations of Informatics Winter 2007/08 15

Chomsky Normal Form I Definition II.8 A CFG is in Chomsky normal form (Chomsky NF) if every of its productions is of the form A BC or A a. Foundations of Informatics Winter 2007/08 16

Chomsky Normal Form I Definition II.8 A CFG is in Chomsky normal form (Chomsky NF) if every of its productions is of the form Example II.9 A BC or A a. Let S ab asb be the grammar which generates L := {a n b n n 1}. An equivalent grammar in Chomsky NF is S AB AC (generates L) A a (generates {a}) B b (generates {b}) C SB (generates {a n b n+1 n N}) Foundations of Informatics Winter 2007/08 16

Chomsky Normal Form II Theorem II.10 Every CFL L with ε / L is generatable by a CFG in Chomsky NF. Foundations of Informatics Winter 2007/08 17

Chomsky Normal Form II Theorem II.10 Every CFL L with ε / L is generatable by a CFG in Chomsky NF. Proof. Let L be a CFL, and let G = N, Σ, P, S be some CFG which generates L. The transformation of P into rules of the form A BC and A a proceeds in three steps: 1 terminal symbols only in rules of the form A a (thus all other rules have the shape A A 1... A n ) 2 elimination of rules of the form A B 3 elimination of rules of the form A A 1... A n where n > 2 Foundations of Informatics Winter 2007/08 17

Chomsky Normal Form III Proof of Theorem II.10 (continued). Step 1: (only A a) 1 let N := {B a a Σ} 2 let P := {A α A α P } {B a a a Σ} where α := α[a B a a Σ] This yields G (example: on the board) Foundations of Informatics Winter 2007/08 18

Chomsky Normal Form III Proof of Theorem II.10 (continued). Step 1: (only A a) 1 let N := {B a a Σ} 2 let P := {A α A α P } {B a a a Σ} where α := α[a B a a Σ] This yields G (example: on the board) Step 2: (elimination of A B) 1 determine all derivations A 1... A n with rules of the form A B without repetition of nonterminals ( = only finitely many!) 2 let P := (P {A 1 α A 1... A n α, α / N}) \ {A B A B P } This yields G (example: on the board) Foundations of Informatics Winter 2007/08 18

Chomsky Normal Form IV Proof of Theorem II.10 (continued). Step 3: for every A A 1... A n with n > 2: 1 add new symbols B 1,..., B n 2 to N 2 replace A A 1... A n by A A 1 B 1 B 1 A 2 B 2. B n 3 A n 2 B n 2 B n 2 A n 1 A n This yields G (example: on the board) One can show: G, G, G, G are equivalent Foundations of Informatics Winter 2007/08 19

The Word Problem Revisited Goal: given w Σ + and G = N, Σ, P, S such that ε / L(G), decide if w L(G) or not (If w = ε, then w L(G) easily decidable for arbitrary G) Approach by Cocke, Younger, Kasami (CYK algorithm): 1 transform G into Chomsky NF 2 let w = a 1... a n (n 1) 3 let w[i, j] := a i... a j for every 1 i j n 4 consider segments w[i, j] in order of increasing length, starting with w[i, i] (i.e., single letters) 5 in each case, determine N i,j := {A N A w[i, j]} 6 test whether S N 1,n (and thus, whether S w[1, n] = w) Foundations of Informatics Winter 2007/08 20

The CYK Algorithm I Algorithm II.11 (CYK Algorithm) Input: G = N, Σ, P, S, w = a 1... a n Σ + Question: w L(G)? Procedure: for i := 1 to n do N i,i := {A N A a i P } next i for d := 1 to n 1 do % compute N i,i+d for i := 1 to n d do j := i + d; N i,j := ; for k := i to j 1 do N i,j := N i,j {A N there is A BC P with B N i,k, C N k+1,j } next k next i next d Output: yes if S N 1,n, otherwise no Foundations of Informatics Winter 2007/08 21

The CYK Algorithm II Example II.12 G : S SA a A BS B BB BS b c w = abaaba Matrix representation of N i,j (on the board) Foundations of Informatics Winter 2007/08 22

The Word Problem for Context-Free Languages Seen: Word problem decidable using CYK algorithm Foundations of Informatics Winter 2007/08 23

The Word Problem for Context-Free Languages Seen: Word problem decidable using CYK algorithm Open: Emptiness problem Foundations of Informatics Winter 2007/08 23

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 24

The Emptiness Problem Goal: given G = N, Σ, P, S, decide whether L(G) = or not For regular languages this was easy: check whether some final state is reachable from the initial state. Here: test whether start symbol is productive, i.e., whether it generates a terminal word Foundations of Informatics Winter 2007/08 25

The Productivity Test Algorithm II.13 (Productivity Test) Input: G = N, Σ, P, S Question: L(G) =? Procedure: let i := 0, X 0 :=, X 1 := Σ; (* productive symbols *) while X i+1 X i do let i := i + 1; let X i+1 := X i {A N A α P, α X i } od Output: yes if S / X i, otherwise no Foundations of Informatics Winter 2007/08 26

The Productivity Test Algorithm II.13 (Productivity Test) Input: G = N, Σ, P, S Question: L(G) =? Procedure: let i := 0, X 0 :=, X 1 := Σ; (* productive symbols *) while X i+1 X i do let i := i + 1; let X i+1 := X i {A N A α P, α X i } od Output: yes if S / X i, otherwise no Example II.14 (on the board) G : S AB CA A a B BC AB C ab b Foundations of Informatics Winter 2007/08 26

The Emptiness Problem for CFLs Seen: Emptiness problem decidable using productivity test Foundations of Informatics Winter 2007/08 27

The Emptiness Problem for CFLs Seen: Emptiness problem decidable using productivity test Open: Characterizing automata model Foundations of Informatics Winter 2007/08 27

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 28

Pushdown Automata I Goal: introduce an automata model which exactly accepts CFLs Clear: DFA not sufficient (missing counting capability, e.g. for {a n b n n N}) DFA will be extended to pushdown automata by adding a pushdown store which stores symbols from a pushdown alphabet and uses a specific bottom symbol adding push and pop operations to transitions Foundations of Informatics Winter 2007/08 29

Pushdown Automata II Definition II.15 A pushdown automaton (PDA) is of the form A = Q, Σ, Γ,, q 0, Z 0, F where Q is a finite set of states Σ is the (finite) input alphabet Γ is the (finite) pushdown alphabet (Q Γ Σ ε ) (Q Γ ) is a finite set of transitions q 0 Q is the initial state Z 0 is the (pushdown) bottom symbol F Q is a set of final states Interpretation of ((q, Z, x), (q, δ)) : if the PDA A is in state q where Z is on top of the stack and x is the next input symbol (or empty), then A reads x, replaces Z by δ, and changes into the state q. Foundations of Informatics Winter 2007/08 30

Configurations, Runs, Acceptance Definition II.16 Let A = Q, Σ, Γ,, q 0, Z 0, F be a PDA. An element of Q Γ Σ is called a configuration of A. The initial configuration for input w Σ is given by (q 0, Z 0, w). The set of final configurations is given by F Γ {ε}. If ((q, Z, x), (q, δ)), then (q, Zγ, xw) (q, δγ, w) for every γ Γ, w Σ. A accepts w Σ if (q 0, Z 0, w) (q, γ, ε) for some q F, γ Γ. The language accepted by A is L(A) := {w Σ A accepts w}. A language L is called PDA-recognizable if L = L(A) for some PDA A. Two PDA A 1, A 2 are called equivalent if L(A 1 ) = L(A 2 ). Foundations of Informatics Winter 2007/08 31

Examples Example II.17 1 PDA which recognizes L = {a n b n n N} (on the board) Foundations of Informatics Winter 2007/08 32

Examples Example II.17 1 PDA which recognizes L = {a n b n n N} (on the board) 2 PDA which recognizes L = {ww R w {a, b} } (palindromes of even length; on the board) Foundations of Informatics Winter 2007/08 32

Deterministic PDA Observation: A 2 is nondeterministic: in every construction step, the pushdown could also be deconstructed Foundations of Informatics Winter 2007/08 33

Deterministic PDA Observation: A 2 is nondeterministic: in every construction step, the pushdown could also be deconstructed Definition II.18 A PDA A = Q, Σ, Γ,, q 0, Z 0, F is called deterministic (DPDA) if for every q Q, Z Γ, for every x Σ ε, at most one (q, Z, x)-step in and if there is a (q, Z, a)-step in for some a Σ, then no (q, Z, ε)-step is possible. Foundations of Informatics Winter 2007/08 33

Deterministic PDA Observation: A 2 is nondeterministic: in every construction step, the pushdown could also be deconstructed Definition II.18 A PDA A = Q, Σ, Γ,, q 0, Z 0, F is called deterministic (DPDA) if for every q Q, Z Γ, for every x Σ ε, at most one (q, Z, x)-step in and if there is a (q, Z, a)-step in for some a Σ, then no (q, Z, ε)-step is possible. One can show: determinism restricts the set of acceptable languages (DPDA-recognizable languages are closed under complement, which is generally not true for PDA-recognizable languages) Example II.19 The set of palindromes of even length is PDA-recognizable, but not DPDA-recognizable (without proof). Foundations of Informatics Winter 2007/08 33

PDA and Context-Free Languages I Theorem II.20 A language is context-free iff it is PDA-recognizable. Foundations of Informatics Winter 2007/08 34

PDA and Context-Free Languages I Theorem II.20 A language is context-free iff it is PDA-recognizable. Proof. = omitted = let G = N, Σ, P, S be a CFG. Construction of PDA A G recognizing L(G): A G simulates a derivation of G where the leftmost nonterminal of a sentence form is replaced ( leftmost derivation ) begin with S on pushdown if nonterminal on top: apply a corresponding production rule if terminal on top: match with next input symbol Foundations of Informatics Winter 2007/08 34

PDA and Context-Free Languages II Proof of Theorem II.20 (continued). = Formally: A G := Q, Σ, Γ,, q 0, Z 0, F is given by Q := {q 0 } Γ := N Σ if A α P, then ((q 0, A, ε), (q 0, α)) for every a Σ, ((q 0, a, a), (q 0, ε)) Z 0 := S F := Q Foundations of Informatics Winter 2007/08 35

PDA and Context-Free Languages II Proof of Theorem II.20 (continued). = Formally: A G := Q, Σ, Γ,, q 0, Z 0, F is given by Q := {q 0 } Γ := N Σ if A α P, then ((q 0, A, ε), (q 0, α)) for every a Σ, ((q 0, a, a), (q 0, ε)) Z 0 := S F := Q Example II.21 Bracket language, given by G: S S SS (on the board) Foundations of Informatics Winter 2007/08 35

Pushdown Automata Seen: Definition of PDA Equivalence of PDA-recognizable and context-free languages Foundations of Informatics Winter 2007/08 36

Pushdown Automata Seen: Definition of PDA Equivalence of PDA-recognizable and context-free languages Open: Description of concurrent systems Foundations of Informatics Winter 2007/08 36

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 37

Positive Results Theorem II.22 The set of CFLs is closed under concatenation, union, and iteration. Foundations of Informatics Winter 2007/08 38

Positive Results Theorem II.22 The set of CFLs is closed under concatenation, union, and iteration. Proof. For i = 1, 2, let G i = N i, Σ, P i, S i with L i := L(G i ) and N 1 N 2 =. Then Foundations of Informatics Winter 2007/08 38

Positive Results Theorem II.22 The set of CFLs is closed under concatenation, union, and iteration. Proof. For i = 1, 2, let G i = N i, Σ, P i, S i with L i := L(G i ) and N 1 N 2 =. Then G := N, Σ, P, S with N := {S} N 1 N 2 and P := {S S 1 S 2 } P 1 P 2 generates L 1 L 2 ; Foundations of Informatics Winter 2007/08 38

Positive Results Theorem II.22 The set of CFLs is closed under concatenation, union, and iteration. Proof. For i = 1, 2, let G i = N i, Σ, P i, S i with L i := L(G i ) and N 1 N 2 =. Then G := N, Σ, P, S with N := {S} N 1 N 2 and P := {S S 1 S 2 } P 1 P 2 generates L 1 L 2 ; G := N, Σ, P, S with N := {S} N 1 N 2 and P := {S S 1 S 2 } P 1 P 2 generates L 1 L 2 ; and Foundations of Informatics Winter 2007/08 38

Positive Results Theorem II.22 The set of CFLs is closed under concatenation, union, and iteration. Proof. For i = 1, 2, let G i = N i, Σ, P i, S i with L i := L(G i ) and N 1 N 2 =. Then G := N, Σ, P, S with N := {S} N 1 N 2 and P := {S S 1 S 2 } P 1 P 2 generates L 1 L 2 ; G := N, Σ, P, S with N := {S} N 1 N 2 and P := {S S 1 S 2 } P 1 P 2 generates L 1 L 2 ; and G := N, Σ, P, S with N := {S} N 1 and P := {S ε S 1 S} P 1 generates L 1. Foundations of Informatics Winter 2007/08 38

Negative Results Theorem II.23 The set of CFLs is not closed under intersection and complement. Foundations of Informatics Winter 2007/08 39

Negative Results Theorem II.23 The set of CFLs is not closed under intersection and complement. Proof. Both L 1 := {a k b k c l k, l N} and L 2 := {a k b l c l k, l N} are CFLs, but not L 1 L 2 = {a n b n c n n N} (without proof). Foundations of Informatics Winter 2007/08 39

Negative Results Theorem II.23 The set of CFLs is not closed under intersection and complement. Proof. Both L 1 := {a k b k c l k, l N} and L 2 := {a k b l c l k, l N} are CFLs, but not L 1 L 2 = {a n b n c n n N} (without proof). If CFLs would be closed under complement, then also under intersection (as L 1 L 2 = L 1 L 2 ). Foundations of Informatics Winter 2007/08 39

Overview Decidability Closure w L L = L 1 = L 2 L 1 L 2 L 1 L 2 L 1 L 2 L L Reg + + + + + + + + CFL + + + + + Foundations of Informatics Winter 2007/08 40

Outline 1 Context-Free Grammars and Languages 2 Context Free and Regular Languages 3 The Word Problem for Context-Free Languages 4 The Emptiness Problem for CFLs 5 Pushdown Automata 6 Closure Properties of CFLs 7 Outlook Foundations of Informatics Winter 2007/08 41

Outlook Equivalence problem for CFG and PDA ( L(X 1 ) = L(X 2 )? ) (generally undecidable, decidable for DPDA) Pumping Lemma for CFL Greibach normal form for CFG Construction of parsers for compilers Non-context-free grammars and languages (context-sensitive and recursively enumerable languages, Turing machines see Week 4) Foundations of Informatics Winter 2007/08 42