60 likes | 245 Views
Branching Pushdown Tree Automata. Swarat Chaudhuri, U.Penn (with Rajeev Alur). Pushdown tree automata. Configuration of automaton: state q, stack w. q, b.w. q’, b’.b.w. q’, w. q2, b.w. q1, b.w. Stack doesn’t branch. Is this all that is useful for specification?
E N D
Branching Pushdown Tree Automata Swarat Chaudhuri, U.Penn (with Rajeev Alur)
Pushdown tree automata Configuration of automaton: state q, stack w q, b.w q’, b’.b.w q’, w q2, b.w q1, b.w Stack doesn’t branch • Is this all that is useful for specification? • Is this all that is decidable?
Existential pre/post conditions If state at a push is q, then there exists a matching pop where state is q’ push q, w Reject or accept? q1, w pop pop pop • No communication between the stacks along different paths • Suggested fix: Branching pushdown tree automata
Branching pushdown tree automata q, w {b1,b2,b3} q2, w2 q1, w1 w {b1,b2} {b1,b2} {b2,b3} {b2,b3} Push and pop sets of symbols. These can be seen as sets of requirements for matching pops Branch move that splits the stack– think of distributing requirements along two branches Each requirement checked at some matching pop {b2} {b1} {b2} {b3} w2 w1
Example: matching parentheses “(” is matched by “]” and “}” Property: Every “(” is matched by a “]” and a “}” push ], } ( ( push}, ] } pop } ] pop ] } ] If ],} are pushed, then each of ] and } have to be popped at some matching pop Similarly, existential pre/post-conditions
Emptiness is decidable (3-EXPTIME) Paper under review; feel free to ask me for a preprint No, that didn’t take me 5 minutes!