A Pumping Lemma for Pushdown Graphs of Any Level Pawe Parys - - PowerPoint PPT Presentation

a pumping lemma for pushdown graphs of any level pawe
SMART_READER_LITE
LIVE PREVIEW

A Pumping Lemma for Pushdown Graphs of Any Level Pawe Parys - - PowerPoint PPT Presentation

A Pumping Lemma for Pushdown Graphs of Any Level Pawe Parys University of Warsaw Higher order pushdown systems/automata [Maslov 74, 76] A 1-stack is an ordinary stack. A 2-stack (resp. (n + 1)-stack) is a stack of 1-stacks (resp. n-stack).


slide-1
SLIDE 1

A Pumping Lemma for Pushdown Graphs

  • f Any Level

Paweł Parys University of Warsaw

slide-2
SLIDE 2

Higher order pushdown systems/automata [Maslov 74, 76] A 1-stack is an ordinary stack. A 2-stack (resp. (n + 1)-stack) is a stack of 1-stacks (resp. n-stack). Operations on 2-stacks: si are 1-stacks. Top of stack is on right. push2 : [s1...si-1si] -> [s1...si-1si si] pop2 : [s1...si-1si] -> [s1...si-1] push1x : [s1...si-1[a1...aj-1aj]] -> [s1...si-1[a1...aj-1aj x]] pop1 : [s1...si-1[a1...aj-1aj]] -> [s1...si-1[a1...aj-1]] An order-n PDA has an order-n stack, and has pushi and popi for each 1 ≤ i ≤ n.

slide-3
SLIDE 3

Higher order pushdown systems Higher order pushdown systems can be used as:

  • word language recognizers
  • tree generators
  • graph generators
slide-4
SLIDE 4

Higher order pushdown systems Higher order pushdown systems can be used as:

  • word language recognizers
  • tree generators
  • graph generators

We concentrate here on graph generators.

  • The same results can be used for tree generators and

deterministic word language recognizers,

  • but NOT for (nondeterministic) word language recognizers.
slide-5
SLIDE 5

Higher order pushdown graphs How higher order pushdown systems generate graphs? We consider -contractions of configuration graphs.

initial

  • drop unreachable configurations
  • nodes = configurations after letter-edges
  • edges = any number of epsilons, one letter

a a a c a b

slide-6
SLIDE 6

Higher order pushdown graphs How higher order pushdown systems generate graphs? We consider -contractions of configuration graphs.

initial

  • drop unreachable configurations
  • nodes = configurations after letter-edges
  • edges = any number of epsilons, one letter

a a a c a b

slide-7
SLIDE 7

Higher order pushdown graphs How higher order pushdown systems generate graphs? We consider -contractions of configuration graphs.

initial

  • drop unreachable configurations
  • nodes = configurations after letter-edges
  • edges = any number of epsilons, one letter

a b c a a b b a c a a

slide-8
SLIDE 8

Higher order pushdown graphs Example: {akbm : m≤2k} a b ... a a a b b b b b b b b b b b b b b

slide-9
SLIDE 9

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) x x x  Input: a a a

slide-10
SLIDE 10

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

#

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) x x x  x x x  Input: a a a

slide-11
SLIDE 11

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

#

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) (x,q4,,pop1, q5) (?,q5,,push2, q4) x x x  x x  x x  Input: a a a

slide-12
SLIDE 12

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

#

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) (x,q4,,pop1, q5) (?,q5,,push2, q4) x x x  x x  x  x  Input: a a a

slide-13
SLIDE 13

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

#

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) (x,q4,,pop1, q5) (?,q5,,push2, q4) x x x  x x  x    Input: a a a

slide-14
SLIDE 14

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) (x,q4,,pop1, q5) (?,q5,,push2, q4) (,q4,b,pop2, q4) Input: a a a b # x x x  x x  x  

slide-15
SLIDE 15

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) (x,q4,,pop1, q5) (?,q5,,push2, q4) (,q4,b,pop2, q4) Input: a a a b b # x x x  x x  x 

slide-16
SLIDE 16

Higher order pushdown graphs Example: {akbm : m≤2k}

  • level 2
  • 3 stack symbols: , x, #

a a a a b b b b b b b b b b b b b b b

... (?,q1,a,push1(x),q1) (?,q1,,push1(#),q2) (#,q2,,push2, q3) (#,q3,,pop1, q4) (x,q4,,pop1, q5) (?,q5,,push2, q4) (,q4,b,pop2, q4) stack with k letters x ⇒ 2k letters b stack with k letters x ⇒ 2 stacks with k-1 letters x stack with 0 letters x ⇒ 20 letters b proof: Input: a a a b b b b b b b b # x x x 

slide-17
SLIDE 17

Higher order pushdown graphs Example: {akbm : m≤2k} - system of level 2 Similarly: {akbm : m≤2 } - system of level 3 {akbm : m≤2 } - system of level 4 ....

2k 2k 2

slide-18
SLIDE 18

Higher order pushdown systems Other characterizations:

  • trees generated by safe recursion schemes of level n

(Knapik, Niwiński, Urzyczyn 2002)

slide-19
SLIDE 19

Higher order pushdown systems Other characterizations:

  • Caucal hierarchy:

graphs finite graphs (lev 0) level 1 level 2 .... trees level 0 level 1 level 2 ....

unfolding unfolding MSO-interpretation MSO-interpretation

  • trees generated by safe recursion schemes of level n

unfolding

slide-20
SLIDE 20

Higher order pushdown systems Other characterizations:

  • Caucal hierarchy:

graphs finite graphs (lev 0) level 1 level 2 ....

  • trees generated by safe recursion schemes of level n
  • they have decidable MSO theory (both trees and graphs)

trees level 0 level 1 level 2 ....

unfolding unfolding MSO-interpretation MSO-interpretation unfolding

slide-21
SLIDE 21

Higher order pushdown graphs But is a given graph generated by a level-n pushdown system? YES give example system NO a pumping lemma would be useful

slide-22
SLIDE 22

But is a given graph generated by a level-n pushdown system? YES give example system NO a pumping lemma would be useful Known pumping lemmas for level 2:

  • Hayashi (1973) – pumping lemma for word languages
  • Gilman (1996) – shrinking lemma for word languages
  • Kartzow (2011) – pumping lemma for (collapsible) graphs

For arbitrary level:

  • Blumensath (2008) – pumping lemma for graphs

incorrect proof Higher order pushdown graphs

slide-23
SLIDE 23

Our pumping lemma: G – finitely-branching pushdown graph of level n Then there exists a constant CG such that: if c – configuration reachable by k edges from the initial one such that a path of length expn-1(k.CG) starts in c then there exist arbitrary long paths starting in c k expn-1(k.CG) expn(x) = 2

2x 2...

n

initial

c Higher order pushdown graphs

slide-24
SLIDE 24

Our pumping lemma: G – finitely-branching pushdown graph of level n Then there exists a constant CG such that: if c – configuration reachable by k edges from the initial one such that a path of length expn-1(k.CGL) starts in c then there exist arbitrary long paths starting in c, ending in the same state k expn-1(k.CG) expn(x) = 2

2x 2...

n q q q

initial

c q Higher order pushdown graphs

slide-25
SLIDE 25

Our pumping lemma: G – finitely-branching pushdown graph of level n L – regular language Then there exists a constant CGL such that: if c – configuration reachable by k edges from the initial one such that a path from L of length expn-1(k.CGL) starts in c then there exist arbitrary long paths from L starting in c, ending in the same state k expn-1(k.CG) expn(x) = 2

2x 2...

n

initial

c q q q L L L Higher order pushdown graphs

slide-26
SLIDE 26

Higher order pushdown graphs Example: {akbm : m≤expn-1(k)} - is a graph of level n {akbm : m≤expn-1(f(k).k)} - is NOT a graph of level n if f(k) unbounded

slide-27
SLIDE 27

Higher order pushdown graphs Example: {akbm : m≤expn-1(k)} - is a graph of level n {akbm : m≤expn-1(f(k).k)} - is NOT a graph of level n if f(k) unbounded Proof: Choose k such that expn-1(f(k).k)-1 ≥ expn-1((k+1)CG) k expn-1((k+1).CG)

initial a a a a b

slide-28
SLIDE 28

Our pumping lemma – more insight: G – finitely-branching pushdown graph of level n part 1 c – configuration reachable by m edges from the initial one. Then the size of every k-stack of c is at most expk-1(m.CGL) part 2 c – configuration such that the size of every k-stack of c is at most expk-1(m.CGL), and a path of length expn-1(k.CG) starts in c Then there exist arbitrary long paths starting in c. Higher order pushdown graphs

slide-29
SLIDE 29

We define a homomorphism from stacks to a finite algebra having:

  • n+1 sorts (for levels 0, 1, ..., n)
  • operations: emptyk : level-k

composek : level-k × level-(k-1)  level-k “Types” of stacks

putting level-(k-1) stack

  • n top of level-k stack

type(c) says (for example):

  • can we reach from c to a configuration with state q ?
  • is there a run from c reading letter 'a' ?
  • in which state can we remove the topmost k-stack ?
  • can we reach a “bigger” configuration having the same type ?

(for level-1 systems this homomorphism is a finite automaton)

slide-30
SLIDE 30

Furure work (together with A.Kartzow) push1(x) pushes not only the x symbol, but also a fresh marker new operation: collapsek – removes all those (k-1)-stack from the topmost k-stack, which contain the marker present in the topmost symbol The same results hold for collapsible pushdown graphs. Collapsible PDS are an extension of a higher-order PDS This implies that the hierarchy of collapsible pushdown graphs is strict (a new result).

slide-31
SLIDE 31

Open problems 1) Describe more precisely how the arbitrarily long paths are created from the input path. 2) ● A shrinking lemma.

  • A lemma applicable to infinitely-branching graphs.
  • A lemma applicable to word languages.