1 Lecture 31 EQUAL language –Designing a CFG –Proving the CFG is correct.

Slides:



Advertisements
Similar presentations
Mathematical Induction
Advertisements

CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
1 Lecture 32 Closure Properties for CFL’s –Kleene Closure construction examples proof of correctness –Others covered less thoroughly in lecture union,
Recursive Definitions and Structural Induction
1 Pumping Lemma –A technique for proving a language L is NOT regular –What does the Pumping Lemma mean? –Proof of Pumping Lemma.
Mathematical Induction
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
Induction and recursion
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
1 Lecture 22 Myhill-Nerode Theorem –distinguishability –equivalence classes of strings –designing FSA’s –proving a language L is not regular.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
1 CSC 3130: Automata theory and formal languages Tutorial 4 KN Hung Office: SHB 1026 Department of Computer Science & Engineering.
Module 28 Context Free Grammars Definition of a grammar G
CS5371 Theory of Computation
1 Intro to Induction Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong.
1 Module 30 EQUAL language –Designing a CFG –Proving the CFG is correct.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
1 Languages and Finite Automata or how to talk to machines...
TR1413: INTRO TO DISCRETE MATHEMATICS LECTURE 2: MATHEMATICAL INDUCTION.
1 More Applications of the Pumping Lemma. 2 The Pumping Lemma: Given a infinite regular language there exists an integer for any string with length we.
Sequence A list of objects arranged in a particular order.
1 Module 31 Closure Properties for CFL’s –Kleene Closure construction examples proof of correctness –Others covered less thoroughly in lecture union, concatenation.
Normal forms for Context-Free Grammars
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
1 Module 24 Myhill-Nerode Theorem –distinguishability –equivalence classes of strings –designing FSA’s –proving a language L is not regular.
1 Regular Expressions/Languages Regular languages –Inductive definitions –Regular expressions syntax semantics Not covered in lecture.
Finite State Machines Data Structures and Algorithms for Information Processing 1.
Mathematical Induction
Induction and recursion
Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { ‘{‘, ‘}’ } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite language,
Chapter 4 Context-Free Languages Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Induction and recursion
Mathematical Induction. F(1) = 1; F(n+1) = F(n) + (2n+1) for n≥ F(n) n F(n) =n 2 for all n ≥ 1 Prove it!
CSE 3813 Introduction to Formal Languages and Automata Chapter 8 Properties of Context-free Languages These class notes are based on material from our.
CSE 311 Foundations of Computing I Lecture 15 Recursive Definitions and Structural Induction Autumn 2011 CSE 3111.
Section 5.3. Section Summary Recursively Defined Functions Recursively Defined Sets and Structures Structural Induction.
1 Regular Expressions. 2 Regular expressions describe regular languages Example: describes the language.
1 CMSC 250 Chapter 4, con't., Inductive Proofs. 2 CMSC 250 Description l Inductive proofs must have: –Base case: where you prove that what it is you are.
Languages, Grammars, and Regular Expressions Chuck Cusack Based partly on Chapter 11 of “Discrete Mathematics and its Applications,” 5 th edition, by Kenneth.
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 8.
Chapter 5: Sequences, Mathematical Induction, and Recursion 5.9 General Recursive Definitions and Structural Induction 1 Erickson.
1 Module 31 Closure Properties for CFL’s –Kleene Closure –Union –Concatenation CFL’s versus regular languages –regular languages subset of CFL.
Chapter Mathematical Induction 4.2 Strong Induction and Well-Ordering 4.3 Recursive Definitions and Structural Induction 4.4 Recursive Algorithms.
8.4 Mathematical Induction
1 A well-parenthesized string is a string with the same number of (‘s as )’s which has the property that every prefix of the string has at least as many.
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
Closure Properties Lemma: Let A 1 and A 2 be two CF languages, then the union A 1  A 2 is context free as well. Proof: Assume that the two grammars are.
Overview Mathematical Induction Derivations Recursive Inference Parse Trees Equivalence of Inference, Derivations, and Parse Trees.
CS 203: Introduction to Formal Languages and Automata
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
Classifications LanguageGrammarAutomaton Regular, right- linear Right-linear, left-linear DFA, NFA Context-free PDA Context- sensitive LBA Recursively.
Chapter 8 Properties of Context-free Languages These class notes are based on material from our textbook, An Introduction to Formal Languages and Automata,
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
Mathematical Foundations of Computer Science Chapter 3: Regular Languages and Regular Grammars.
Chapter 5. Section 5.1 Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If we can reach.
1 Chapter Regular Languages. 2 Section 11.1 Regular Languages Problem: Suppose the input strings to a program must be strings over the alphabet.
1 A well-parenthesized string is a string with the same number of (‘s as )’s which has the property that every prefix of the string has at least as many.
1 Discrete Mathematical Mathematical Induction ( الاستقراء الرياضي )
Chapter 5 With Question/Answer Animations 1. Chapter Summary Mathematical Induction - Sec 5.1 Strong Induction and Well-Ordering - Sec 5.2 Lecture 18.
CS 461 – Sept. 23 Context-free grammars Derivations Ambiguity Proving correctness.
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
Chapter 5 1. Chapter Summary  Mathematical Induction  Strong Induction  Recursive Definitions  Structural Induction  Recursive Algorithms.
Theory of Computation Lecture #
Languages.
Induction and recursion
BaSIC Math Reviews.
Induction and recursion
Applied Discrete Mathematics Week 2: Proofs
Advanced Analysis of Algorithms
Mathematical Induction
Presentation transcript:

1 Lecture 31 EQUAL language –Designing a CFG –Proving the CFG is correct

2 EQUAL language Designing a CFG

3 EQUAL EQUAL is the set of strings with an equal number of a’s and b’s Strings in EQUAL include –aabbab –bbbaaa –abba Strings in {a,b}* not in EQUAL include –aaa –bbb –aab –ababa

4 Designing a CFG for EQUAL Think recursively Base Case –What is the shortest possible string in EQUAL? Answer: –Production Rule: S -->

5 Recursive Case –Now consider a longer string x in EQUAL –Since x has length > 0, x must have a first character This must be a or b –Two possibilities for what x looks like x = ay –What must be true about relative number of a’s and b’s in y? –y must have one extra b x = bz –What must be true about relative number of a’s and b’s in z? –z must have one extra a

6 Case 1: x=ay x = ay where y has one extra b –What must y look like? Some examples –b–b –babba –aabbbab –aaabbbb Is there a general pattern? In particular, are there substrings in y which belong to EQUAL?

7 Decomposing y y has one extra b –Possible examples b, babba, aabbbab, aaabbbb –Common pattern In each string, there is some prefix with exactly one more b than a That is, y = ubv where –ub is the prefix with an extra b –u and v both have an equal number of a’s and b’s Decompose the 4 strings above into u, b, v – b, aabbbab, babba, aaabbbb

8 Implication Case 1: x=ay –y has one extra b Case 1 refined: x=aubv –u, v belong to EQUAL Production rule for this case –S --> aSbS The first S can derive the string u The second S can derive the string v

9 Case 2: x=bz –z has one extra a Case 2 refined: x=buav –u, v belong to EQUAL Production rule for this case –S --> bSaS The first S can derive the string u The second S can derive the string v

10 Final Grammar EG = (V, , S, P) –V = {S} –  = {a,b} –S = S –P: S --> | aSbS | bSaS

11 EQUAL language Proving CFG is correct

12 Is our grammar correct? How do we prove our grammar is correct? –Informal Test some strings Review logic behind program (CFG) design –Formal First, show every string derived by EG belongs to EQUAL –That is, show L(EG) is a subset of EQUAL Second, show every string in EQUAL can be derived by EG –That is, show EQUAL is a subset of L(EG) Both proofs will be inductive proofs –Inductive proofs and recursive algorithms go well together

13 L(EG) subset of EQUAL Let x be an arbitrary string in L(EG) What does this mean? –S ==> * EG x Follows from definition of x in L(EG) –We will prove the following If S ==> 1 EG x, then x is in EQUAL If S ==> 2 EG x, then x is in EQUAL If S ==> 3 EG x, then x is in EQUAL If S ==> 4 EG x, then x is in EQUAL...

14 Base Case Statement to be proven: –For all n >= 1, if S ==> n EG x, then x is in EQUAL –Prove this by induction on n Base Case: –n = 1 –The only string x such that S ==> 1 EG x is the string Follows from inspection of EG –The string belongs to EQUAL

15 Inductive Case Inductive Hypothesis: –For 1 j EG x, then x is in EQUAL Note, this is a “strong” induction hypothesis Traditional inductive hypothesis would take form: –For some n >= 1, if S ==> n EG x, then x is in EQUAL The difference is we assume the basic hypothesis for all integers between 1 and n, not just n Statement to be Proven in Inductive Case: –If S ==> n+1 EG x, then x is in EQUAL

16 Infinite Set of Facts –Fact 1 –Fact 2 –Fact 3 –Fact 4 –Fact 5 –Fact 6 –… Base Case –Prove fact 1 Regular inductive case –For n >= 1, Fact n --> Fact n+1 Strong inductive case –Fact 1 to Fact n --> Fact n+1 “Regular” induction vs Strong induction

17 Visualization of Induction Regular Induction Fact 1 Fact 2 Fact 3 Fact 4 Fact 5 Fact 6 Fact 7 Fact 8 Fact 9 Strong Induction Fact 1 Fact 2 Fact 3 Fact 4 Fact 5 Fact 6 Fact 7 Fact 8 Fact 9 ……

18 Proving Inductive Case If S ==> n+1 EG x, then x is in EQUAL –Let x be an arbitrary string such that S ==> n+1 EG x –There are three possible first derivation steps Case 1: S ==> ==> n EG x Case 2: S ==> aSbS ==> n EG x Case 3: S ==> bSaS ==> n EG x –These 3 cases follow from looking at grammar EG –Case 1 is not possible n was assumed to be at least 1 which means x is derived in at least 2 steps

19 Case 2: S ==> aSbS ==> n EG x This means x has the form aubv where –S ==> <n u –S ==> <n v This follows because in n steps, we go from aSbS to x Thus, the first S can take at most n-1 steps to generate u Likewise for the second S generating v Apply the inductive hypothesis –u and v belong to EQUAL Note we needed the strong inductive hypothesis Conclude x belongs to EQUAL –x = aubv where u and v belong to EQUAL Clearly the number of a’s in x equals the number of b’s in x

20 Case 3: S ==> bSaS ==> n EG x This means x has the form buav where –S ==> <n u –S ==> <n v This follows because in n steps, we go from bSaS to x Thus, the first S can take at most n-1 steps to generate u Likewise for the second S generating v Apply the inductive hypothesis –u and v belong to EQUAL Note we needed the strong inductive hypothesis Conclude x belongs to EQUAL –x = buav where u and v belong to EQUAL Clearly the number of a’s in x equals the number of b’s in x

21 L(EG) subset of EQUAL Wrapping up inductive case –In all possible derivations of x, we have shown that x belongs to EQUAL –Thus, we have proven the inductive case Conclusion –By the principle of mathematical induction, we have shown that L(EG) is a subset of EQUAL

22 EQUAL subset of L(EG) Let x be an arbitrary string in EQUAL What does this mean? –x has an equal number of a’s and b’s Follows from definition of x in EQUAL –We will prove the following If |x| = 0 and x is in EQUAL, then x is in L(G) If |x| = 1 and x is in EQUAL, then x is in L(G) If |x| = 2 and x is in EQUAL, then x is in L(G) If |x| = 3 and x is in EQUAL, then x is in L(G)...

23 Statement to be proven: –For all n >= 0, if |x| = n and x is in EQUAL, then x is in L(EG) –Prove this by induction on n Base Case: –n = 0 –The only string x such that |x|=0 and x is in EQUAL is the string Follows from definition of EQUAL –The string belongs to L(EG) Follows from production S --> EQUAL subset of L(EG)

24 Inductive Case Inductive Hypothesis: –For 0 <= j <= n, if |x| =j and x is in EQUAL, then x is in L(EG) Again, this is a “strong” induction hypothesis Statement to be Proven in Inductive Case: –If |x| = n+1 and x is in EQUAL, then x is in L(EG) note n >= 0

25 Proving Inductive Case If |x|=n+1 and x is in EQUAL, then x is in L(EG) –Let x be an arbitrary string such that |x|=n+1 and x is in L(EG) –There are two possibilities for the first character in x Case 1: first character in x is a Case 2: first character in x is b –These 2 cases follow from looking at alphabet  –Case 1: x = ay where y has one extra b –Case 2: x = bz where z has one extra a

26 Case 1: x = ay This means x has the form aubv where –u is in EQUAL and has length <= n –v is in EQUAL and has length <= n –Proving this statement true Consider all the prefixes of string y –length 0: –length 1: y 1 –length 2: y 1 y 2 –…–… –length n: y 1 y 2 … y n = y

27 Case 1: x = ay Consider all the prefixes of string y –length 0: –length 1: y 1 –length 2: y 1 y 2 –…–… –length n: y 1 y 2 … y n = y The first prefix has the same number of a’s as b’s The last prefix y has one extra b The relative number of a’s and b’s changes in the length i prefix differs by only one from the length i-1 prefix Thus, there must be a first prefix t of y where t has one extra b Furthermore, the last character of t must be b –Otherwise, t would not be the FIRST prefix of y with one extra b Break t into u and b and let the remainder of y be v The statement follows

28 Case 1: x = aubv x = aubv –u is in EQUAL and has length <= n –v is in EQUAL and has length <= n Apply the induction hypothesis –u and v belong to L(EG) –This means S ==> * EG u and S ==> * EG v. Conclude x is in L(EG) by constructing a derivation –S ==> aSbS ==> * EG aubS ==> * EG aubv The first derivation step follows from production S --> aSbS The second series of derivation steps follows from S ==> * EG u The third series of derivation steps follows from S ==> * EG v

29 Case 2: x = buav x = buav –u is in EQUAL and has length <= n –v is in EQUAL and has length <= n Follows from similar proof as in case 1 Apply the induction hypothesis –u and v belong to L(EG) –This means S ==> * EG u and S ==> * EG v. Conclude x is in L(EG) by constructing a derivation –S ==> bSaS ==> * EG buaS ==> * EG buav The first derivation step follows from production S --> bSaS The second series of derivation steps follows from S ==> * EG u The third series of derivation steps follows from S ==> * EG v

30 EQUAL subset of L(EG) Wrapping up inductive case –For all possible first characters of x, we have shown that x belongs to L(EG) –Thus, we have proven the inductive case Conclusion –By the principle of mathematical induction, we have shown that EQUAL is a subset of L(EG)