Equivalence of Pushdown Automata with Context-Free Grammar. Equivalence of Pushdown Automata with Context-Free Grammar p.1/45

Similar documents
Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, School of Informatics University of Edinburgh als@inf.ed.ac.

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Automata and Computability. Solutions to Exercises

Turing Machines: An Introduction

The Halting Problem is Undecidable

Reading 13 : Finite State Automata and Regular Expressions

Regular Expressions and Automata using Haskell

Introduction to Automata Theory. Reading: Chapter 1

3515ICT Theory of Computation Turing Machines

Automata and Formal Languages

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 4 Nancy Lynch

6.080/6.089 GITCS Feb 12, Lecture 3

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

Regular Languages and Finite State Machines

Row Echelon Form and Reduced Row Echelon Form

Model 2.4 Faculty member + student

Chapter 7 Uncomputability

C H A P T E R Regular Expressions regular expression

How To Understand The Theory Of Computer Science

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

Fundamentele Informatica II

Regular Languages and Finite Automata

THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER

Overview of E0222: Automata and Computability

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

Section 4.2: The Division Algorithm and Greatest Common Divisors

Mathematical Induction

Mathematical Induction

CS 3719 (Theory of Computation and Algorithms) Lecture 4

How To Compare A Markov Algorithm To A Turing Machine

Full and Complete Binary Trees

Computability Theory

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

Finite Automata and Regular Languages

Fast nondeterministic recognition of context-free languages using two queues

Notes on Complexity Theory Last updated: August, Lecture 1

3. Mathematical Induction

Cartesian Products and Relations

Lecture 2: Universality

Regular Languages and Finite Automata

THE DIMENSION OF A VECTOR SPACE

Basic Proof Techniques

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Computer Architecture Syllabus of Qualifying Examination

Automata on Infinite Words and Trees

Composability of Infinite-State Activity Automata*

On Winning Conditions of High Borel Complexity in Pushdown Games

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

6.3 Conditional Probability and Independence

Finite Automata. Reading: Chapter 2

8 Divisibility and prime numbers

24 Uses of Turing Machines

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Lecture 11: Tail Recursion; Continuations

6.2 Permutations continued

Deterministic Finite Automata

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

ECON 459 Game Theory. Lecture Notes Auctions. Luca Anderlini Spring 2015

T Reactive Systems: Introduction and Finite State Automata

Solving Systems of Linear Equations

Finite Automata and Formal Languages

Testing LTL Formula Translation into Büchi Automata

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem)

CS5236 Advanced Automata Theory

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.

Simulation-Based Security with Inexhaustible Interactive Turing Machines

Semantics and Verification of Software

1 Definition of a Turing machine


Properties of Stabilizing Computations

Introduction to Hypothesis Testing OPRE 6301

NOTES ON LINEAR TRANSFORMATIONS

14.1 Rent-or-buy problem

Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.

LEARNING OBJECTIVES FOR THIS CHAPTER

COUNTING SUBSETS OF A SET: COMBINATIONS

HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

CHAPTER 7 GENERAL PROOF SYSTEMS

10.2 Series and Convergence

Turing Machines, Part I

Scanner. tokens scanner parser IR. source code. errors

NP-Completeness and Cook s Theorem

Continued Fractions and the Euclidean Algorithm

Handout #1: Mathematical Reasoning

1 if 1 x 0 1 if 0 x 1

A Little Set Theory (Never Hurt Anybody)

26 Integers: Multiplication, Division, and Order

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

Transcription:

Equivalence of Pushdown Automata with Context-Free Grammar Equivalence of Pushdown Automata with Context-Free Grammar p.1/45

Motivation CFG and PDA are equivalent in power: a CFG generates a context-free language and a PDA recognizes a context-free language. We show here how to convert a CFG into a PDA that recognizes the language specified by the CFG and vice versa Application: this equivalence allows a CFG to be used to specify a programming language and the equivalent PDA to be used to implement its compiler. Equivalence of Pushdown Automata with Context-Free Grammar p.2/45

Theorem 2.20 A language is context-free iff some pushdown automaton recognizes it. Note: This means that: 1. if a language is context-free then there is a PDA recognizes it 2. if a language is recognized by a PDA that generates. that then there is a CFG Equivalence of Pushdown Automata with Context-Free Grammar p.3/45

Lemma 2.21 If a language is context-free then some pushdown automaton recognizes it Proof idea: 1. Let be a CFL. From the definition we know that has a CFG that generates it, 2. We will show how to convert if generates into a PDA that accepts strings 3. will work by determining a derivation of. Equivalence of Pushdown Automata with Context-Free Grammar p.4/45

What is a derivation? Recall: For, : A derivation of is a sequence of substitutions,, not necessarily distinguished Each step in the derivation yields an intermediate string of variables and terminals Hence, will determine whether some series of substitutions using rules in can lead from start variable to Equivalence of Pushdown Automata with Context-Free Grammar p.5/45

Difficulties expected How should we figure out which substitution to make? Nondeterminism allows us to guess. At each step of the derivation one of the rules for a particular variable is selected nondeterministically. How does starts? begins by writing the start variable on the stack and then continues working this string. Equivalence of Pushdown Automata with Context-Free Grammar p.6/45

How does P terminate? If while consuming, arrives at a string of terminals that equals then accept; otherwise reject Equivalence of Pushdown Automata with Context-Free Grammar p.7/45

More questions The initial string (the start variable) is on the stack. How does store the other intermediate strings? Using the stack doesn t quite work because the PDA needs to find the variables in the intermediate string and make substitutions. Note: stack does not support this because only the top is accessible Equivalence of Pushdown Automata with Context-Free Grammar p.8/45

The way around Try to reconstruct the leftmost derivation of Keep only part of the intermediate string on the stack starting with the first variable in the intermediate string. Any terminal symbol appearing before the first variable can be matched with symbols in the input. An example of graphic image of is in Figure 1 Equivalence of Pushdown Automata with Context-Free Grammar p.9/45

An intermediate string Assume that. Intermediate string 0 1 A 1 A 0 stack $ 0 A 1 A Control Input 0 1 1 0 0 1 Figure 1: representing 01A1A0 Equivalence of Pushdown Automata with Context-Free Grammar p.10/45

Informal description of Place the marker symbol $ and the start variable on the stack Repeat 1. If the top of the stack is a variable symbol, nondeterministically select a rule such that and substitute by the string. 2. If the top of the stack is a terminal symbol,, read the next input symbol and compare it with. If they match pop the stack; if they don t match reject on this branch of nondeterminism 3. If the top of the stack is the symbol $, enter the accept state: accept state: if all text has been read accept, otherwise reject. until accept or reject Equivalence of Pushdown Automata with Context-Free Grammar p.11/45

Proof of lemma 2.21 Now we can give formal details of the construction of the PDA First we introduce an appropriate notation for transition function that provides a way to write an entire string on the stack in one step of the machine Simulation: this action can be simulated by introducing additional states to write the string symbol by symbol Equivalence of Pushdown Automata with Context-Free Grammar p.12/45

Formal construction Let, and Assume that we want to go from when it reads and pops In addition, we want the string. to to push on the stack at the same time Equivalence of Pushdown Automata with Context-Free Grammar p.13/45

Implementation This construction can be implemented by introducing the new states,, and setting transition function as follows: Equivalence of Pushdown Automata with Context-Free Grammar p.14/45

: Setting on the stack Note: transitions that push. operate on the reverse of Equivalence of Pushdown Automata with Context-Free Grammar p.15/45

Notation means that when is in state, is the next input symbol, and is the symbol on top of the stack, reads, pop, pushes on the stack, and go to state, as seen in Figure 2 Hence: is equivalent with Equivalence of Pushdown Automata with Context-Free Grammar p.16/45

Graphic Figure 2: Implementing the shorthand Equivalence of Pushdown Automata with Context-Free Grammar p.17/45

Construction of The states of are where of states that we need to implement the shorthands. is the set The transition function is defined as follows: Initialize the stack to contain $ and, i.e., Construct transitions for the main loop Equivalence of Pushdown Automata with Context-Free Grammar p.18/45

Main loop transitions 1. First we handle the case where the top of the stack is a variable, by setting: where is the set of rules of CFG generating the language 2. Then we handle the case where the top of the stack is a terminal, setting: 3. Finally, if the top of stack is $ we set: The state diagram of is in Figure 3 Equivalence of Pushdown Automata with Context-Free Grammar p.19/45

State diagram of for rule for terminal Figure 3: State transition diagram of Equivalence of Pushdown Automata with Context-Free Grammar p.20/45

Example We use the procedure developed during the proof of Lemma 2.21 to construct the PDA that recognizes the language generated by the CFG with the rules: A direct application of the construction in Figure 3 leads us to the PDA in Figure 4 Equivalence of Pushdown Automata with Context-Free Grammar p.21/45

State diagram of Figure 4: State transition diagram of Equivalence of Pushdown Automata with Context-Free Grammar p.22/45

Lemma 2.27 If a language is recognized by a pushdown automaton then that language is a context-free language. Equivalence of Pushdown Automata with Context-Free Grammar p.23/45

Proof idea Here we have a PDA and want to construct a CFG that generates all strings recognized by. For this we design to do somewhat more: For each pair of states, generates all strings that can take stack to with an empty stack. will have a variable from with an empty that Assume that. Then is the start symbol of the grammar Note: such strings can take from to regardless of stack contents at, leaving the stack at the same as it was at Equivalence of Pushdown Automata with Context-Free Grammar p.24/45

Assumptions on 1. has a single accept state denoted 2. empties its stack before accepting 3. At each transition either pushes a symbol on the stack or pops of a symbol from the stack, but does not do both at the same time Equivalence of Pushdown Automata with Context-Free Grammar p.25/45

Note 1 Giving features (1) and (2) to is easy. 1. To give feature (1) to add a new state say to set of final states, and add the new tranbsitions:, set the 2. To guive feature (2) to just add the transitions: where is a new reject-state in. Equivalence of Pushdown Automata with Context-Free Grammar p.26/45

Nopte 2 To give feature (3) to Replace each transition that simultaneously pops and pushes with a two transitions sequence that goes through a new state; In addition, replace each transition which neither pop nor push with a two transitions sequence that pushes and then pops an arbitrary stack symbol See Figure 5 Equivalence of Pushdown Automata with Context-Free Grammar p.27/45

Making it uniform Replace Replace by by Figure 5: Giving feature 3 to Equivalence of Pushdown Automata with Context-Free Grammar p.28/45

Making it happens How is working on a string while moving from with an empty stack to with an empty stack? 1. s first move on must be a push, because each move is either a push or a pop, and the stack is empty. 2. Similarly, last move must be a pop because stack ends up empty. 3. Two possibilities occur during s computation on (a) symbol popped at the end is the symbol pushed at the beginning; (b) symbol popped at the end is not the symbol pushed at the beginning : Equivalence of Pushdown Automata with Context-Free Grammar p.29/45

Note In case (a), the stack is empty only at the beginning and end of s computation; In case (b) initially pushed symbol must get popped before end and thus stack becomes empty at that point. Equivalence of Pushdown Automata with Context-Free Grammar p.30/45

Grammar simulation of We simulate the case (a) of s computation by the rule symbol read at the first move, is the symbol read at the last move, is the state following, and is the state preceding where is the input We simulate the case (b) of s computation by the rule is the state where the stack becomes empty where Equivalence of Pushdown Automata with Context-Free Grammar p.31/45

The formal proof. Construct where is Let constructed as follows: (i.e.,, if,, 1. For each ) then put (i.e., ) and in in put the rule 2. Fort each in put the rule 3. For each Figures 6 and 7 provide the intuition of this construction Equivalence of Pushdown Automata with Context-Free Grammar p.32/45

s computation corresponding to stack hight (0,0) generated by generated by Input string Figure 6: s computation for Equivalence of Pushdown Automata with Context-Free Grammar p.33/45

s computation corresponding to stack hight (0,0) string generated by Input string Figure 7: s computation for Equivalence of Pushdown Automata with Context-Free Grammar p.34/45

Claim 2.30 If generates then brings from with empty stack to Proof: by induction on the number of steps in the derivation of from Equivalence of Pushdown Automata with Context-Free Grammar p.35/45

Induction basis Derivation has 1 step 1. A derivation with a single step must use a rule whose no variables contains 2. The only rules in whose contain no variables are 3. Clearly, the input takes from with empty stack to with empty stack Equivalence of Pushdown Automata with Context-Free Grammar p.36/45

Induction step Assume claim 2.30 true for derivations of length,, and prove it for 1. Suppose is either with or steps. The first step of this derivation 2. In the first case consider. portion of generated by, i.e., 3. Because can go from with steps, induction hypothesis tells us that to with empty stack 4. Because, it follows that ( ) and ( ) Equivalence of Pushdown Automata with Context-Free Grammar p.37/45

Induction step continuation 5. Hence, if starts at with empty stack, after reading to and push on the stack it can go 6. Then, reading it can go to and leave on the stack 7. At, because and pop off the stack., after reading can go to state 8. Hence, brings from to with an empty stack Equivalence of Pushdown Automata with Context-Free Grammar p.38/45

Induction step, second case 1. Consider the portions, respectively, i.e., and, of that are generated by,. and 2. Because and are derivations containing at most steps, and respectively bring from to, and from to respectively, with empty stack 3. Hence, can bring from to with empty stack. Equivalence of Pushdown Automata with Context-Free Grammar p.39/45

Claim 2.31 If brings from generates to with empty stack, then Proof: by induction on the number of steps in the computation of going from stack on the input to with empty Equivalence of Pushdown Automata with Context-Free Grammar p.40/45

Induction basis Computation has 0 steps 1. With 0 steps, computation starts and ends with the same state. 2. So, we must show that in steps. 3. In zero steps has only time to read the empty string, i.e., 4. By construction, contains the rule, hence Equivalence of Pushdown Automata with Context-Free Grammar p.41/45

Induction step Assume claim 2.31 true for computations of length at most,, and show that it remains true for computations of length Two cases: Case a: from to has a computation of length with empty stack. wherein brings Case b: has a computation of length wherein the stack is empty at the begin and end, and stacks may become empty also during computation Equivalence of Pushdown Automata with Context-Free Grammar p.42/45

Case (a) stack is empty only at the beginning and end. 1. The symbol that is pushed at the first move must be the same as the symbol popped at the last move. Let it be 2. Let be the input read in the first move, the input read at the last move, be the state after the first move, and be the state before the last move 3. Then and, and 4. Let be the portion of without and, i.e.,. Using induction we know that brings from to without touching because we can remove the first and the last step of computation, hence. 5. But then Equivalence of Pushdown Automata with Context-Free Grammar p.43/45

Induction step, case (b) Let be the state where the stack becomes empty other than at the beginning or end of computation on the input 1. The portions of the computation from contain at most steps to and from to, both 2. Let be the input read during the computation from be the input read during the computation from to to and 3. Using induction hypothesis we have and. 4. Because is result that Equivalence of Pushdown Automata with Context-Free Grammar p.44/45

Note We have proved that pushdown automata recognize the class of context free languages Every regular language is recognized by a finite automaton Every finite automaton is a pushdown automaton that ignores its stack Conclusion: every regular language is a contextfree language. Equivalence of Pushdown Automata with Context-Free Grammar p.45/45