Boundedness and Coverability for Pushdown Vector Addition Systems - - PowerPoint PPT Presentation

boundedness and coverability for pushdown vector addition
SMART_READER_LITE
LIVE PREVIEW

Boundedness and Coverability for Pushdown Vector Addition Systems - - PowerPoint PPT Presentation

Boundedness and Coverability for Pushdown Vector Addition Systems Grgoire Sutre LaBRI, CNRS & University of Bordeaux, France ACTS, CMI, Chennai February 2017 Based on joint works with J. Leroux, M. Praveen and P. Totzke. Table of


slide-1
SLIDE 1

Boundedness and Coverability for Pushdown Vector Addition Systems

Grégoire Sutre

LaBRI, CNRS & University of Bordeaux, France

ACTS, CMI, Chennai — February 2017 Based on joint works with J. Leroux, M. Praveen and P. Totzke.

slide-2
SLIDE 2

Table of Contents

1

Pushdown Vector Addition Systems

2

Boundedness for Pushdown VAS

3

Coverability for 1-dim Pushdown VAS

4

Conclusion

2 / 31

slide-3
SLIDE 3

Table of Contents

1

Pushdown Vector Addition Systems

2

Boundedness for Pushdown VAS

3

Coverability for 1-dim Pushdown VAS

4

Conclusion

3 / 31

slide-4
SLIDE 4

Vector Addition Systems

Definition

A VAS is a finite set of vectors a ∈ Zd. For u, v ∈ Nd it has a step u

a

− − → v if v = u + a.

(1, 1) (0, 3) (3, 0) (2, 2) (1, 4) (4, 1) (3, 3) (0, 6) (6, 0) a b (1, 1) a = (−1, 2) b = (2, −1)

4 / 31

slide-5
SLIDE 5

Vector Addition Systems

Definition

A VAS is a finite set of vectors a ∈ Zd. For u, v ∈ Nd it has a step u

a

− − → v if v = u + a. Equivalent to Petri nets Many decidable verification questions Reachability: does u

− − → v ? Coverability: does there exist v ′ ≥ v such that u

− − → v ′ ? Boundedness: is {v | u

− − → v} finite ? . . .

4 / 31

slide-6
SLIDE 6

Pushdown Vector Addition Systems

. . . are products of VAS with pushdown automata.

p q

push(A),

  • −1
  • pop(A),
  • 2
  • nop,
  • −1
  • 5 / 31
slide-7
SLIDE 7

Pushdown Vector Addition Systems

. . . are products of VAS with pushdown automata.

p q

push(A),

  • −1
  • pop(A),
  • 2
  • nop,
  • −1
  • p, ⊥,
  • 2

1

  • 5 / 31
slide-8
SLIDE 8

Pushdown Vector Addition Systems

. . . are products of VAS with pushdown automata.

p q

push(A),

  • −1
  • pop(A),
  • 2
  • nop,
  • −1
  • p, ⊥,
  • 2

1

− →− − → p, AA⊥,

  • 1
  • 5 / 31
slide-9
SLIDE 9

Pushdown Vector Addition Systems

. . . are products of VAS with pushdown automata.

p q

push(A),

  • −1
  • pop(A),
  • 2
  • nop,
  • −1
  • p, ⊥,
  • 2

1

− →− − → p, AA⊥,

  • 1

− → q, AA⊥,

  • 5 / 31
slide-10
SLIDE 10

Pushdown Vector Addition Systems

. . . are products of VAS with pushdown automata.

p q

push(A),

  • −1
  • pop(A),
  • 2
  • nop,
  • −1
  • p, ⊥,
  • 2

1

− →− − → p, AA⊥,

  • 1

− → q, AA⊥,

− →− − → q, ⊥,

  • 4
  • 5 / 31
slide-11
SLIDE 11

Pushdown Vector Addition Systems

. . . are products of VAS with pushdown automata. They can for example model recursive programs with variables over N.

1: x ← n 2: procedure DoubleX 3:

if (⋆ ∧ x > 0) then

4:

x ← (x − 1)

5:

DoubleX

6:

end if

7:

x ← (x + 2)

8: end procedure 2 start 3 5 6 7 8 −1 push(A) +2 pop(A)

5 / 31

slide-12
SLIDE 12

Pushdown Vector Addition Systems — Definition

Definition

A pushdown VAS is a triple Q, Γ, ∆ where Q : finite set of states Γ : finite stack alphabet ∆ ⊆ Q × (Op × Zd) × Q : finite set of transitions, with Op = {nop} ∪ {push(γ), pop(γ) | γ ∈ Γ} Configurations: (q, σ, v) with q ∈ Q, σ ∈ Γ∗ and v ∈ Nd Steps: as expected Reachability: does (p, ε, u)

− − → (q, ε, v) ? Coverability: does there exist v ′ ≥ v with (p, ε, u)

− − → (q, ε, v ′) ? Boundedness: is {(q, σ, v) | (p, ε, u)

− − → (q, σ, v)} finite ?

6 / 31

slide-13
SLIDE 13

Pushdown Vector Addition Systems — Motivations

VAS

Petri net

+

➪ Richer model for the verification of concurrent systems Multi-threaded recursive programs One recursive server + unboundedly many finite-state clients

7 / 31

slide-14
SLIDE 14

Pushdown Vector Addition Systems — Motivations

VAS

Petri net

+

➪ Richer model for the verification of concurrent systems Multi-threaded recursive programs One recursive server + unboundedly many finite-state clients ➪ Is the model too powerful?

VAS PDA VAS + zero-tests Multi-PDA

7 / 31

slide-15
SLIDE 15

Brief State of the Art

Boundedness Coverability Reachability VAS ExpSpace-c1,2 ExpSpace-c1,2 Decidable3,4,5 + full counter Decidable7 Decidable6 + stack Decidable9 Tower-h8 1-VAS + stack ExpTime-e11 Decidable10 ?

[1] Lipton 1976 [2] Rackoff 1978 [3] Mayr 1981 [4] Kosaraju 1982 [5] Leroux, Schmitz 2015 [6] Reinhardt 2008 [7] Finkel, Sangnier 2010 [8] Lazić 2012 [9] Leroux, Praveen, S. 2014 [10] Leroux, S., Totzke 2015 [11] Leroux, S., Totzke 2015

8 / 31

slide-16
SLIDE 16

Brief State of the Art

Boundedness Coverability Reachability VAS ExpSpace-c1,2 ExpSpace-c1,2 Decidable3,4,5 + full counter Decidable7 Decidable6 + stack Decidable9 Tower-h8 1-VAS + stack ExpTime-e11 Decidable10 ? Subclasses of pushdown VAS with decidable reachability Multiset pushdown systems [Sen, Viswanathan 2006] VAS ∩ CFL of finite index [Atig, Ganty 2011] Related decidable models with counters and recursion BPA(Z) [Bouajjani, Habermehl, Mayr 2003]

8 / 31

slide-17
SLIDE 17

Table of Contents

1

Pushdown Vector Addition Systems

2

Boundedness for Pushdown VAS

3

Coverability for 1-dim Pushdown VAS

4

Conclusion

9 / 31

slide-18
SLIDE 18

Reachability Tree of a Pushdown VAS

qinit, ε, v init q, σ, v q1, σ1, v 1 qn, σn, v n

➪ Exhaustive and enumerative forward exploration from (qinit, ε, v init) ➪ Potentially infinite, need to truncate

10 / 31

slide-19
SLIDE 19

Reduced Reachability Tree for VAS [Karp, Miller 1969]

Truncation Rule

v init v v ′ if v ≤ v ′ (1, 1) a = (−1, 2) b = (2, −1) (1, 1) (0, 3) (3, 0) (2, 2) (2, 2)

➪ The reduced reachability tree is finite ➪ It contains enough information to decide boundedness ➪ Crucial ingredient: the strict order < is a simulation relation

11 / 31

slide-20
SLIDE 20

Tentative Simulation-Based Truncation for Pushdown VAS

Truncation Rule

qinit, ε, v init q, σ, v q′, σ′, v ′ if q = q′, v ≤ v ′ and σ ≤prefix σ′

➪ No loss of information to decide boundedness But...

12 / 31

slide-21
SLIDE 21

Tentative Simulation-Based Truncation for Pushdown VAS

Truncation Rule

qinit, ε, v init q, σ, v q′, σ′, v ′ if q = q′, v ≤ v ′ and σ ≤prefix σ′ p q push(A) push(B) (p, ⊥) (q, A⊥) (q, BA⊥) (q, BBA⊥)

➪ No loss of information to decide boundedness But... The reduced reachability tree may be infinite!

12 / 31

slide-22
SLIDE 22

Reduced Reachability Tree for Pushdown VAS

Truncation Rule

qinit, ε, v init q, σ, v q′, σ′, v ′ if

  • q = q′ and v ≤ v ′

σ ≤suffix ρ for all ρ (_, _, ρ) p q 1 push(A), −1 push(B), 1 (p, ⊥, 1) (q, A⊥, 0) (q, BA⊥, 1)

➪ The reduced reachability tree is finite ➪ It contains enough information to decide boundedness

13 / 31

slide-23
SLIDE 23

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

14 / 31

slide-24
SLIDE 24

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

· · · q v q v ′ ≥ v

14 / 31

slide-25
SLIDE 25

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

14 / 31

slide-26
SLIDE 26

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

· · · q v q v ′ ≥ v

14 / 31

slide-27
SLIDE 27

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

14 / 31

slide-28
SLIDE 28

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

14 / 31

slide-29
SLIDE 29

Finiteness of the Reduced Reachability Tree

Proposition

The reduced reachability tree of a pushdown VAS is finite.

  • Proof. By contradiction, assume that it is infinite.

The tree is finitely branching. So, by König’s Lemma, there is an infinite branch (qinit, ε, v init) → (q1, σ1, v 1) → (q2, σ2, v 2) · · ·

q v q v ′ ≥ v

14 / 31

slide-30
SLIDE 30

RRT-based Algorithm for Pushdown VAS Boundedness

Proposition

A pushdown VAS is unbounded iff its reduced reachability tree contains (q, σ, v) (q, σ′, v ′)

  • σ remains a suffix

such that v ≤ v ′ and σ ≤suffix σ′, and at least one of these inequalities is strict.

Theorem ([Leroux, Praveen, S. 2014])

Boundedness is decidable for pushdown VAS.

15 / 31

slide-31
SLIDE 31

Worst-Case Complexity of the Algorithm

How big can the reduced reachability tree be?

16 / 31

slide-32
SLIDE 32

Worst-Case Complexity of the Algorithm

How big can the reduced reachability tree be?

Theorem ([Leroux, Praveen, S. 2014])

The reduced reachability tree of a pushdown VAS has at most an hyper-Ackermannian number of nodes, and this bound is tight.

16 / 31

slide-33
SLIDE 33

Table of Contents

1

Pushdown Vector Addition Systems

2

Boundedness for Pushdown VAS

3

Coverability for 1-dim Pushdown VAS

4

Conclusion

17 / 31

slide-34
SLIDE 34

Coverability versus Reachability in Pushdown VAS

Observation ([Lazić 2012])

Reachability in dimension d reduces to Coverability in dimension d + 1.

  • Proof. Budget construction. Use the stack to test the budget for zero.

Add a new counter B and two new stack symbols A, $. A with budget B push($) push(A), B++ pop(A), B−− pop($) (qA

init, ε, 0) ∗

− → (qA

final, ε, 0)

iff (qA′

init, ε, 0, 0) ∗

− → (qA′

final, ε, _, _)

18 / 31

slide-35
SLIDE 35

Coverability versus Reachability in Pushdown VAS

Observation ([Lazić 2012])

Reachability in dimension d reduces to Coverability in dimension d + 1. Reach(0) ⊑ Cover(1) ⊑ Reach(1) ⊑ Cover(2) ⊑ · · ·

18 / 31

slide-36
SLIDE 36

Coverability versus Reachability in Pushdown VAS

Observation ([Lazić 2012])

Reachability in dimension d reduces to Coverability in dimension d + 1. Reach(0) ⊑ Cover(1) ⊑ Reach(1) ⊑ Cover(2) ⊑ · · ·

Theorem ([Leroux, S., Totzke 2015])

Coverability for 1-dimensional pushdown VAS is decidable.

18 / 31

slide-37
SLIDE 37

Another Perspective

The coverability problem for d-dimensional pushdown VAS can be rephrased as follows. Input: a VAS A ⊆ Zd a context-free language L ∈ A∗ vectors u, v ∈ Nd Output: whether there exist a1a2 . . . ak ∈ L and v ′ ∈ Nd such that u

a1

− − →

a2

− − → · · ·

ak

− − → v ′ and v ′ ≥ v

19 / 31

slide-38
SLIDE 38

Grammar-Controlled Vector Addition Systems

A context-free grammar is a triple G = (V , A, R) where V : nonterminal symbols (variables) A : terminal symbols R : production rules X ⊢ α where X ∈ V and α ∈ (V ∪ A)∗

Definition (1-dimensional GVAS)

A GVAS is a context-free grammar G = (V , A, R) such that A ⊆ Z. Every GVAS can be transformed into an equivalent one where all variables X ∈ V are productive A = {−1, 0, 1}

20 / 31

slide-39
SLIDE 39

Summaries for Coverability

A GVAS is a context-free grammar G = (V , A, R) such that A ⊆ Z. Notations: LX = {a1 · · · ak ∈ A∗ | X

= = ⇒ a1 · · · ak} c

X

− − → d ⇔ c

a1

− − → · · ·

ak

− − → d for some a1 · · · ak ∈ LX

Definition (Summary of a Variable)

SummaryX(c) = sup {d | c

X

− − → d} Coverability: SummaryS(c) ≥ d ? (given S, c, d)

21 / 31

slide-40
SLIDE 40

Example: Weak Computation of Multiplication by Two

S ⊢ −1 S 1 1 | ε LS = {(−1)n(11)n | n ∈ N} For every c, d ∈ N, c

S

− − → d ⇐ ⇒ ∃n ∈ N : c

(−1)n(11)n

− − − − − − − → d ⇐ ⇒ ∃n ≤ c : c

(−1)n

− − − − → c − n

(11)n

− − − → c + n = d ⇐ ⇒ c ≤ d ≤ 2c SummaryS(c) = 2c

22 / 31

slide-41
SLIDE 41

Example: Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

23 / 31

slide-42
SLIDE 42

Example: Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0 A0(n) = n + 1 A1(n) = n + 2 A2(n) = 2n + 3 A3(n) = 2n+3 − 3 . . .

23 / 31

slide-43
SLIDE 43

Example: Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

  • X0

⊢ 1 X1 ⊢ −1 X1X0 | 1 X0 X2 ⊢ −1 X2X1 | 1 X1 . . . Xm ⊢ −1 XmXm−1 | 1 Xm−1 A0(n) = n + 1 A1(n) = n + 2 A2(n) = 2n + 3 A3(n) = 2n+3 − 3 . . .

23 / 31

slide-44
SLIDE 44

Example: Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

  • X0

⊢ 1 X1 ⊢ −1 X1X0 | 1 X0 X2 ⊢ −1 X2X1 | 1 X1 . . . Xm ⊢ −1 XmXm−1 | 1 Xm−1 A0(n) = n + 1 A1(n) = n + 2 A2(n) = 2n + 3 A3(n) = 2n+3 − 3 . . . Xm

= = ⇒ −1nXmX n

m−1

= = ⇒ −1n1X n+1

m−1 ∗

= = ⇒ · · · Am = SummaryXm

23 / 31

slide-45
SLIDE 45

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees!

24 / 31

slide-46
SLIDE 46

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1 (SummaryX1(5) ≥ 3)

24 / 31

slide-47
SLIDE 47

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1 −1 X1 X0 (SummaryX1(5) ≥ 3)

24 / 31

slide-48
SLIDE 48

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1 −1 X1 X0 1 X0 (SummaryX1(5) ≥ 3)

24 / 31

slide-49
SLIDE 49

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1 −1 X1 X0 1 X0 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-50
SLIDE 50

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1 −1 X1 X0 1 X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-51
SLIDE 51

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1 X1 X0 1 X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-52
SLIDE 52

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5

X1 X0 1 X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-53
SLIDE 53

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5 4

X1 X0 1 X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-54
SLIDE 54

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5 4

X1

4

X0 1 X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-55
SLIDE 55

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5 4

X1

4

X0 1

4

X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-56
SLIDE 56

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5 4

X1

4

X0 1

4 5

X0 1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-57
SLIDE 57

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5 4

X1

4

X0 1

4 5

X0

4

1 1 (SummaryX1(5) ≥ 3)

24 / 31

slide-58
SLIDE 58

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5

−1

5 4

X1

4

X0 1

4 5

X0

4

1

2

1 (SummaryX1(5) ≥ 3)

24 / 31

slide-59
SLIDE 59

Flow Trees

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5 3

−1

5 4

X1

4 3

X0

2 3

1

4 5

X0

4 3

1

2 3

1

2 3

(SummaryX1(5) ≥ 3)

Flow Conditions

1 Nodes satisfy

SummaryX(IN) ≥ OUT

2 Labeling of neighboring

nodes is consistent

24 / 31

slide-60
SLIDE 60

Flow Trees . . . can be arbitrarily large!

Certificates for SummaryS(c) ≥ d? Annotated parse trees! X1

5 3

−1

5 4

X1

4 3

X0

2 3

1

4 5

X0

4 3

1

2 3

1

2 3

(SummaryX1(5) ≥ 3)

Flow Conditions

1 Nodes satisfy

SummaryX(IN) ≥ OUT

2 Labeling of neighboring

nodes is consistent

24 / 31

slide-61
SLIDE 61

Truncating and Collapsing Flow Trees

S

c d

X

a b

X

a′ b′

25 / 31

slide-62
SLIDE 62

Truncating and Collapsing Flow Trees

S

c d

X

a b

X

a′ b′

u v X

= = ⇒ uXv a′ = a + u b′ = b − v

25 / 31

slide-63
SLIDE 63

Truncating and Collapsing Flow Trees

S

c d

X

a b

X

a′ b′

u v X

= = ⇒ uXv a′ = a + u b′ = b − v u v a, a′ b, b′ ≤ 0 ≤ 0 a ≥ a′ b ≤ b′ Replace a′ by a and b′ by b and then collapse.

25 / 31

slide-64
SLIDE 64

Truncating and Collapsing Flow Trees

S

c d

X

a b

X

a′ b′

u v X

= = ⇒ uXv a′ = a + u b′ = b − v u v a, a′ b, b′ > 0 ≥ 0 a < a′ b ≥ b′ Truncate at X

a′ b′ since we

can iterate.

25 / 31

slide-65
SLIDE 65

Truncating and Collapsing Flow Trees

S

c d

X

a b

X

a′ b′

u v X

= = ⇒ uXv a′ = a + u b′ = b − v u v a, a′ b, b′ > 0 < 0 a < a′ b < b′ If u + v > 0 then truncate at X

a′ b′.

If u + v ≤ 0 then ?

25 / 31

slide-66
SLIDE 66

Truncating and Collapsing Flow Trees

S

c d

X

a b

X

a′ b′

u v X

= = ⇒ uXv a′ = a + u b′ = b − v u v a, a′ b, b′ < 0 > 0 a > a′ b > b′ If u + v ≤ 0 then shift by − u and collapse. If u + v > 0 then ?

25 / 31

slide-67
SLIDE 67

Asymptotic Ratios

Definition (Ratio of a Variable)

RatioX = lim infn→∞

SummaryX (n) n

Grammar for Ackermann Functions Am

SummaryXm = Am A0(n) = n + 1 RatioX0 = 1 A1(n) = n + 2 RatioX1 = 1 A2(n) = 2n + 3 RatioX2 = 2 A3(n) = 2n+3 − 3 RatioX3 = ∞

26 / 31

slide-68
SLIDE 68

Pruning Flow Trees

S

c d

X

a b

X

a′ b′

u v X

= = ⇒ uXv

27 / 31

slide-69
SLIDE 69

Pruning Flow Trees

S

c d

X

a b

X

a′ b′

1 −2 X

= = ⇒ uXv a′ = a + 1 b′ = b + 2

27 / 31

slide-70
SLIDE 70

Pruning Flow Trees

S

c d

X

a b

X

a′ b′

1 −2 X

= = ⇒ uXv a′ = a + 1 b′ = b + 2 Assume RatioX = ∞. There exists n0 such that SummaryX(n) ≥ 3 · n for all n ≥ n0.

27 / 31

slide-71
SLIDE 71

Pruning Flow Trees

S

c d

X

a b

X

a′ b′

1 · n −2 · n X

= = ⇒ uXv a′ = a + 1 b′ = b + 2 Assume RatioX = ∞. There exists n0 such that SummaryX(n) ≥ 3 · n for all n ≥ n0. a

un

− − → a + n

X

− − → n′ ≥ 3a + 3n

vn

− − → 3a + n ≥ n

27 / 31

slide-72
SLIDE 72

Pruning Flow Trees

S

c

X

a

X

a′

1 · n −2 · n X

= = ⇒ uXv a′ = a + 1 b′ = b + 2 Assume RatioX = ∞. There exists n0 such that SummaryX(n) ≥ 3 · n for all n ≥ n0. a

un

− − → a + n

X

− − → n′ ≥ 3a + 3n

vn

− − → 3a + n ≥ n Hence, SummaryX(a) = ∞.

27 / 31

slide-73
SLIDE 73

Small Certificates

Definition

A certificate is a partial flow tree such that, for every leaf X

c d,

either RatioX < ∞, or RatioX = ∞ and there is an ancestor X

c′ d′ with c′ < c.

Proposition

SummaryS(c) ≥ d iff there is a certificate with root S

c d of at most

exponential height and exponential input/output labels.

28 / 31

slide-74
SLIDE 74

Small Certificates

Definition

A certificate is a partial flow tree such that, for every leaf X

c d,

either RatioX < ∞, or RatioX = ∞ and there is an ancestor X

c′ d′ with c′ < c.

Proposition

SummaryS(c) ≥ d iff there is a certificate with root S

c d of at most

exponential height and exponential input/output labels. Guess-and-check algorithm Need to check that an annotated partial parse tree is a certificate

28 / 31

slide-75
SLIDE 75

Small Certificates and Decision Procedure

Definition

A certificate is a partial flow tree such that, for every leaf X

c d,

either RatioX < ∞, or RatioX = ∞ and there is an ancestor X

c′ d′ with c′ < c.

Proposition

The question whether RatioX = ∞ is decidable. If RatioX < ∞, then SummaryX is computable. Guess-and-check algorithm Need to check that an annotated partial parse tree is a certificate

28 / 31

slide-76
SLIDE 76

Table of Contents

1

Pushdown Vector Addition Systems

2

Boundedness for Pushdown VAS

3

Coverability for 1-dim Pushdown VAS

4

Conclusion

29 / 31

slide-77
SLIDE 77

Summary

➪ Extension of the reduced reachability tree from VAS to pushdown VAS In fact to pushdown well-structured transition systems ➪ Boundedness and termination are decidable for pushdown VAS Hyper-Ackermannian (Fωω) worst-case running time Tight bounds on the reachability set when it is finite ➪ Coverability is decidable for 1-dim pushdown VAS (Counter-)boundedness for 1-dim pushdown VAS is solvable in exponential time

30 / 31

slide-78
SLIDE 78

Open Problems

➪ Complexity of the boundedness problem for pushdown VAS Lower bound: tower of exponentials (F3) from [Lazić 2012] Upper bound: hyper-Ackermann (Fωω) ➪ Decidability of coverability / reachability for pushdown VAS Reachability open even in dimension 1 ➪ Complexity of boundedness and coverability for 1-dim pushdown VAS Both are NP-hard by reduction from SubsetSum Boundedness is in ExpTime and Coverability is (?) in ExpSpace

31 / 31

slide-79
SLIDE 79

Open Problems

➪ Complexity of the boundedness problem for pushdown VAS Lower bound: tower of exponentials (F3) from [Lazić 2012] Upper bound: hyper-Ackermann (Fωω) ➪ Decidability of coverability / reachability for pushdown VAS Reachability open even in dimension 1 ➪ Complexity of boundedness and coverability for 1-dim pushdown VAS Both are NP-hard by reduction from SubsetSum Boundedness is in ExpTime and Coverability is (?) in ExpSpace

Thank You!

31 / 31

slide-80
SLIDE 80

Pushdown Vector Addition Systems — Semantics

The semantics of a pushdown VAS Q, Γ, ∆ is the transition system Q × Γ∗ × Nd, → whose transition relation → is given by (p, nop, a, q) ∈ ∆ ∧ v ′ = v + a ≥ 0 (p, σ, v) → (q, σ, v ′) (p, push(γ), a, q) ∈ ∆ ∧ v ′ = v + a ≥ 0 (p, σ, v) → (q, γ · σ, v ′) (p, pop(γ), a, q) ∈ ∆ ∧ v ′ = v + a ≥ 0 (p, γ · σ, v) → (q, σ, v ′)

31 / 31

slide-81
SLIDE 81

VASs ≃ Petri nets ≃ VASSs

Additional Feature of Petri nets

Test x ≥ cst without modifying x VAS Petri net VASS ⊆ |Q| := |T| + 1 d := d + 2 d := d + 3

31 / 31

slide-82
SLIDE 82

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

31 / 31

slide-83
SLIDE 83

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0 A0(n) = n + 1 A1(n) = n + 2 A2(n) = 2n + 3 A3(n) = 2n+3 − 3 . . .

31 / 31

slide-84
SLIDE 84

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

s0

pop(0), +1

slide-85
SLIDE 85

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

s0

pop(0), +1

s1

pop(1) push(0), +1 push(0) −1

slide-86
SLIDE 86

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

s0

pop(0), +1

s1

pop(1) push(0), +1 push(0) −1

s2

pop(2) push(1),+1 push(1) −1

slide-87
SLIDE 87

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

s0

pop(0), +1

s1

pop(1) push(0), +1 push(0) −1

s2

pop(2) push(1),+1 push(1) −1

sm

pop(m) push(m − 1), +1 push(m − 1) −1

31 / 31

slide-88
SLIDE 88

Weak Computation of Ackermann Functions

Am(n) =

  • n + 1

if m = 0 An+1

m−1(1)

if m > 0

s0

pop(0), +1

s1

pop(1) push(0), +1 push(0) −1

s2

pop(2) push(1),+1 push(1) −1

sm

pop(m) push(m − 1), +1 push(m − 1) −1

(s0, m⊥, n)

− − → (s0, ⊥, Am(n)) If (s0, m⊥, n)

− − → (s0, ⊥, n′) then n′ ≤ Am(n)

31 / 31