Title: Equivalence%20of%20Pushdown%20Automata%20and%20Context-Free%20Grammar
1Equivalence of Pushdown Automata and Context-Free
Grammar
2Two Crucial Concepts
- Nondeterministic computation
- Give us flexibility for constructing devices and
understanding the power/limitations of these
devices - Induction
- Allow us to prove statements that otherwise would
be hard to see why they are true - In this class(es), we will illustrate these two
powerful concepts once more
3Class Convention regarding Transitions in
Pushdown Automata
- Strictly speaking, Transitions have the form
- ?(Q (? ? e) (? ? e) ) ? ?( Q (? ? e)
) - (q,?)) ? ?((q, ?,?))
- We are going to allow to pop and push words in (?
? e) - Can we represent a transition that pops/pushes
words in (? ? e) with transitions that
pop/pushes characters in (? ? e) ? - Careful order of pushing/popping individual
characters matter! - To avoid confusion, view the stack as a word and
push/pop as adding/removing strings prefix from
that word
4My Solution of the Homework
- Construct a pushdown automaton for words in a,b
such that the number of as is twice the number
of bs - 3 states
- Pushing marker for bottom of stack
- .
5Equivalence of Pushdown Automata and Context-Free
Grammars (part I)
Theorem. (Lemma 2.21) Given a context-free
grammar CG (?,V,R,S) , then there is a pushdown
automaton PA (Q,?,?, ?,s,F) such that L(CG)
L(PA)
Construction
q
6Sketch of the Proof
(taking the leftmost non terminal in T1)
(q, e,e)
7Equivalence of Pushdown Automata and Context-Free
Grammars (Part II)
Theorem. (Lemma 2.27) Given a pushdown automata
PA (Q,?,?, ?,s,F) then, there exists a
context-free grammar CG (?,V,R,S) such that
L(PA) L(CG)
- Assumptions
- PA has only one accepting state
- Stack is empty when accepting a word
- Each transitions pops XOR pushes one element in
the stack
8Constructing the Grammar CG (1)
- CG will contain the variables Apq for every two
states p and q in PA - Apq generates a word w PA
empty-process w from p to q - PA empty-process w from p to q
- w is given as input starting on state p with
empty stack - then PA will nondeterministically process all
characters in w - ending with the empty word in state q and the
empty stack
9Constructing the Grammar CG (2)
- We are going to construct three kinds of rules
for CG - Apq ? aArsb
- for all p, q, r, s in Q, all a, b in
(? ? e), and all t in ? such that the following
two transitions occur in the PA - Apq ? Apr Arq
- for all p, q, r in Q
- App ? e
- for all p in Q
Thats it! Can you see it?
10Proving that CG is equivalent to PA (1)
- If Apq generates a word w then PA empty-process
w from p to q - Proof by induction on steps in Apq ? w
- Basis steps is 1
- Induction holds for k steps, need to prove for
k1 steps - Two sub-cases depending of which rule was applied
first - Apq ? aArsb or
- Apq ? Apr Arq
11Proving that CG is equivalent to PA (2)
- If PA empty-process w from p to q then Apq
generates a word w - Proof by induction on steps in processing w
- Basis steps is 0
- Induction holds for k steps, need to prove for
k1 steps - Two sub-cases depending on the following
- Stack is empty only at the beginning and at the
end of process or - Stack gets empty somewhere in-between
12Corollary
- Let s be the start state in PA
- Let f be the accepting state in PA
- Therefore, Asf is the start variable in CG
- We just proved that
-
Asf generates a word w if and only if PA accepts
w
13Homework
- Show that if L1 and L2 are context-free languages
then - L1 ? L2 is a context-free language
- L1L2 is a context-free language
- (hint if L1 and L2 are context free, then
there is two grammars G1 generating L1 and G2
generating L2. How can you combine G1 and G2 to
generate the union and concatenation?) - 2.19
- 2.23
- 2.27