Boundedness and Coverability for Pushdown Vector Addition Systems

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.
Table of Contents
1
Pushdown Vector Addition Systems
2
Boundedness for Pushdown VAS
3
Coverability for 1-dim Pushdown VAS
4
Conclusion
2 / 31
Table of Contents
1
Pushdown Vector Addition Systems
2
Boundedness for Pushdown VAS
3
Coverability for 1-dim Pushdown VAS
4
Conclusion
3 / 31
Vector Addition Systems
Definition
A VAS is a finite set of vectors a ∈ Zd . For u, v ∈ Nd it has a step
a
u −→ v
if
v = u + a.
(1, 1)
(0, 3)
(3, 0)
a
a = (−1, 2)
b
(2, 2)
(1, 4)
(1, 1)
(4, 1)
b = (2, −1)
(0, 6)
(3, 3)
(6, 0)
4 / 31
Vector Addition Systems
Definition
A VAS is a finite set of vectors a ∈ Zd . For u, v ∈ Nd it has a step
a
u −→ v
if
v = u + a.
Equivalent to Petri nets
Many decidable verification questions
∗
Reachability: does u −→ v ?
∗
Coverability: does there exist v 0 ≥ v such that u −→ v 0 ?
∗
Boundedness: is {v | u −→ v } finite ?
...
4 / 31
Pushdown Vector Addition Systems
. . . are products of VAS with pushdown automata.
push(A),
!
−1
0
pop(A),
!
nop,
p
!
2
0
0
−1
q
5 / 31
Pushdown Vector Addition Systems
. . . are products of VAS with pushdown automata.
push(A),
!
−1
0
pop(A),
!
nop,
p
!
2
0
0
−1
q
!
2
p, ⊥,
1
5 / 31
Pushdown Vector Addition Systems
. . . are products of VAS with pushdown automata.
push(A),
!
−1
0
pop(A),
!
nop,
p
!
2
0
0
−1
q
!
!
2
0
p, ⊥,
−→−
−→ p, AA⊥,
1
1
5 / 31
Pushdown Vector Addition Systems
. . . are products of VAS with pushdown automata.
push(A),
!
−1
0
pop(A),
!
nop,
!
2
0
0
−1
p
q
!
!
!
2
0
0
p, ⊥,
−→−
−→ p, AA⊥,
−→ q, AA⊥,
1
1
0
5 / 31
Pushdown Vector Addition Systems
. . . are products of VAS with pushdown automata.
push(A),
!
−1
0
pop(A),
!
nop,
p
!
2
0
0
−1
q
!
!
!
!
2
0
0
4
p, ⊥,
−→−
−→ p, AA⊥,
−→ q, AA⊥,
−→−
−→ q, ⊥,
1
1
0
0
5 / 31
Pushdown Vector Addition Systems
. . . are products of VAS with pushdown automata.
They can for example model recursive programs with variables over N.
1:
2:
3:
4:
5:
6:
7:
8:
x ←n
procedure DoubleX
if (? ∧ x > 0) then
x ← (x − 1)
DoubleX
end if
x ← (x + 2)
end procedure
start
push(A)
2
6
3
7
−1
5
pop(A)
+2
8
5 / 31
Pushdown Vector Addition Systems — Definition
Definition
A pushdown VAS is a triple hQ, Γ, ∆i 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 0 ≥ v with (p, ε, u) −→ (q, ε, v 0 ) ?
∗
Boundedness: is {(q, σ, v ) | (p, ε, u) −→ (q, σ, v )} finite ?
6 / 31
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
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 + zero-tests
VAS
Multi-PDA
PDA
7 / 31
Brief State of the Art
VAS
Boundedness
Coverability
Reachability
ExpSpace-c1,2
ExpSpace-c1,2
Decidable3,4,5
+ full counter
Decidable7
Decidable6
+ stack
Decidable9
Tower-h8
1-VAS + stack
[1]
[2]
[3]
[4]
[5]
[6]
ExpTime-e11
Lipton 1976
Rackoff 1978
Mayr 1981
Kosaraju 1982
Leroux, Schmitz 2015
Reinhardt 2008
Decidable10
[7]
[8]
[9]
[10]
[11]
?
Finkel, Sangnier 2010
Lazić 2012
Leroux, Praveen, S. 2014
Leroux, S., Totzke 2015
Leroux, S., Totzke 2015
8 / 31
Brief State of the Art
VAS
Boundedness
Coverability
Reachability
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
Table of Contents
1
Pushdown Vector Addition Systems
2
Boundedness for Pushdown VAS
3
Coverability for 1-dim Pushdown VAS
4
Conclusion
9 / 31
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
Reduced Reachability Tree for VAS [Karp, Miller 1969]
a = (−1, 2)
Truncation Rule
(1, 1)
v init
b = (2, −1)
v
v
(1, 1)
(0, 3)
(3, 0)
(2, 2)
(2, 2)
0
if v ≤ v 0
ê The reduced reachability tree is finite
ê It contains enough information to decide boundedness
ê Crucial ingredient: the strict order < is a simulation relation
11 / 31
Tentative Simulation-Based Truncation for Pushdown VAS
Truncation Rule
qinit , ε, v init
q, σ, v
q0 , σ0 , v 0
if q = q 0 , v ≤ v 0 and σ ≤prefix σ 0
ê No loss of information to decide boundedness
But...
12 / 31
Tentative Simulation-Based Truncation for Pushdown VAS
Truncation Rule
p
push(A)
q
push(B)
qinit , ε, v init
(p, ⊥)
(q, A⊥)
q, σ, v
(q, BA⊥)
q0 , σ0 , v 0
(q, BBA⊥)
if q = q 0 , v ≤ v 0 and σ ≤prefix σ 0
ê No loss of information to decide boundedness
But...
The reduced reachability tree may be infinite!
12 / 31
Reduced Reachability Tree for Pushdown VAS
Truncation Rule
qinit , ε, v init
1
p
q, σ, v
push(A), −1
q
push(B), 1
(p, ⊥, 1)
(_, _, ρ)
q0 , σ0 , v 0
(
if
q = q 0 and v ≤ v 0
σ ≤suffix ρ for all ρ
(q, A⊥, 0)
(q, BA⊥, 1)
ê The reduced reachability tree is finite
ê It contains enough information to decide boundedness
13 / 31
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
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
q
v
···
v0 ≥ v
14 / 31
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
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
q
v
···
v0 ≥ v
14 / 31
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
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
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
v0 ≥ v
q
v
14 / 31
RRT-based Algorithm for Pushdown VAS Boundedness
Proposition
A pushdown VAS is unbounded iff its reduced reachability tree contains
(q, σ, v )
|
{z
(q, σ 0 , v 0 )
}
σ remains a suffix
such that v ≤ v 0 and σ ≤suffix σ 0 , and at least one of these inequalities
is strict.
Theorem ([Leroux, Praveen, S. 2014])
Boundedness is decidable for pushdown VAS.
15 / 31
Worst-Case Complexity of the Algorithm
How big can the reduced reachability tree be?
16 / 31
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
Table of Contents
1
Pushdown Vector Addition Systems
2
Boundedness for Pushdown VAS
3
Coverability for 1-dim Pushdown VAS
4
Conclusion
17 / 31
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, $.
push(A), B++
push($)
∗
A , ε, 0) →
A , ε, 0)
(qinit
− (qfinal
pop(A), B−−
A
with budget
B
iff
0
pop($)
∗
0
A , ε, 0, 0) →
A , ε, _, _)
(qinit
− (qfinal
18 / 31
Coverability versus Reachability in Pushdown VAS
Observation ([Lazić 2012])
Reachability in dimension d reduces to Coverability in dimension d + 1.
Reach(0) v Cover (1) v Reach(1) v Cover (2) v · · ·
18 / 31
Coverability versus Reachability in Pushdown VAS
Observation ([Lazić 2012])
Reachability in dimension d reduces to Coverability in dimension d + 1.
Reach(0) v Cover (1) v Reach(1) v Cover (2) v · · ·
Theorem ([Leroux, S., Totzke 2015])
Coverability for 1-dimensional pushdown VAS is decidable.
18 / 31
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 a1 a2 . . . ak ∈ L and v 0 ∈ Nd such that
a
a
a
1
2
k
u −→
−→
· · · −→
v0
and v 0 ≥ v
19 / 31
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
Summaries for Coverability
A GVAS is a context-free grammar G = (V , A, R) such that A ⊆ Z.
Notations:
LX
X
c −→ d
=
∗
{a1 · · · ak ∈ A∗ | X =⇒ a1 · · · ak }
a
a
1
k
⇔ c −→
· · · −→
d for some a1 · · · ak ∈ LX
Definition (Summary of a Variable)
Summary X (c)
Coverability:
=
X
sup {d | c −→ d}
Summary S (c) ≥ d ?
(given S, c, d)
21 / 31
Example: Weak Computation of Multiplication by Two
S ` −1 S 1 1 | ε
LS = {(−1)n (11)n | n ∈ N}
For every c, d ∈ N,
S
c −→ d
Summary S (c)
(−1)n (11)n
⇐⇒
∃n ∈ N : c −−−−−−−→ d
⇐⇒
∃n ≤ c : c −−−−→ c − n −−−→ c + n = d
⇐⇒
c ≤ d ≤ 2c
=
(−1)n
(11)n
2c
22 / 31
Example: Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
23 / 31
Example: Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
A0 (n) = n + 1
A1 (n) = n + 2
A2 (n) = 2n + 3
A3 (n) = 2n+3 − 3
..
.
23 / 31
Example: Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
A0 (n) = n + 1
A1 (n) = n + 2
A2 (n) = 2n + 3
X0 ` 1
X1 ` −1 X1 X0 | 1 X0
X2 ` −1 X2 X1 | 1 X1
..
.
A3 (n) = 2n+3 − 3
..
.
Xm ` −1 Xm Xm−1 | 1 Xm−1
23 / 31
Example: Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
A0 (n) = n + 1
if m = 0
if m > 0
A1 (n) = n + 2
A2 (n) = 2n + 3
X0 ` 1
X1 ` −1 X1 X0 | 1 X0
X2 ` −1 X2 X1 | 1 X1
..
.
Xm ` −1 Xm Xm−1 | 1 Xm−1
A3 (n) = 2n+3 − 3
..
.
∗
n
Xm =⇒ −1n Xm Xm−1
n+1
=⇒ −1n 1Xm−1
∗
=⇒ · · ·
Am
=
Summary Xm
23 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
X1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
X1
−1
X1
X0
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
X1
−1
X1
1
X0
X0
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
X1
−1
X1
1
X0
X0
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
X1
−1
X1
1
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
−1
X1
1
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1
X1
1
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1 4
X1
1
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1 4
4 X1
1
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1 4
4 X1
4
1
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1 4
4 X1
4
1
5
X0
X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1 4
4 X1
4
1
5
X0
4 X0
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1
5 −1 4
4 X1
4
1
5
X0
4 X0
2
1
1
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1 3
5 −1 4
4 X1 3
4
1
5
2 X0 3
4 X0 3
2
1
2
1
3
Flow Conditions
1
Nodes satisfy
Summary X (IN) ≥ OUT
2
Labeling of neighboring
nodes is consistent
3
(Summary X1 (5) ≥ 3)
24 / 31
Flow Trees . . . can be arbitrarily large!
Certificates for Summary S (c) ≥ d? Annotated parse trees!
5 X1 3
5 −1 4
4 X1 3
4
1
5
2 X0 3
4 X0 3
2
1
2
1
3
Flow Conditions
1
Nodes satisfy
Summary X (IN) ≥ OUT
2
Labeling of neighboring
nodes is consistent
3
(Summary X1 (5) ≥ 3)
24 / 31
Truncating and Collapsing Flow Trees
c
S
d
a
X
b
a0
X
b0
25 / 31
Truncating and Collapsing Flow Trees
P
a0 = a + u
P
b0 = b − v
c
S
d
a
X
b
∗
X =⇒ uXv
a0
u
X
b0
v
25 / 31
Truncating and Collapsing Flow Trees
P
a0 = a + u
P
b0 = b − v
c
S
d
a
X
b
∗
X =⇒ uXv
a0
u
P
u
≤0
P
v
≤0
a, a0
a≥
a0
b0
v
b, b 0
b≤
X
b0
Replace a0 by a and b 0 by b
and then collapse.
25 / 31
Truncating and Collapsing Flow Trees
P
a0 = a + u
P
b0 = b − v
c
S
d
a
X
b
∗
X =⇒ uXv
a0
u
P
u
>0
P
v
≥0
a, a0
a<
a0
b0
v
b, b 0
b≥
X
b0
Truncate at
can iterate.
a0
X
b0
since we
25 / 31
Truncating and Collapsing Flow Trees
P
a0 = a + u
P
b0 = b − v
c
S
d
a
X
b
∗
X =⇒ uXv
a0
u
P
u
>0
P
v
<0
a, a0
b, b 0
a < a0
b < b0
X
b0
v
P
P
If
u + v > 0 then
0
0
truncate
at
P
Pa X b .
If
u + v ≤ 0 then ?
25 / 31
Truncating and Collapsing Flow Trees
P
a0 = a + u
P
b0 = b − v
c
S
d
a
X
b
∗
X =⇒ uXv
a0
u
P
u
<0
P
v
>0
a, a0
b, b 0
a > a0
b > b0
X
b0
v
P
P
If
uP+ v ≤ 0 then shift
byP
− uP
and collapse.
If
u + v > 0 then ?
25 / 31
Asymptotic Ratios
Definition (Ratio of a Variable)
Ratio X
=
lim inf n→∞
Summary X (n)
n
Grammar for Ackermann Functions Am
Summary Xm = Am
A0 (n) = n + 1
Ratio X0 = 1
A1 (n) = n + 2
Ratio X1 = 1
A2 (n) = 2n + 3
Ratio X2 = 2
A3 (n) = 2n+3 − 3
Ratio X3 = ∞
26 / 31
Pruning Flow Trees
c
S
d
a
X
b
∗
X =⇒ uXv
a0
u
X
b0
v
27 / 31
Pruning Flow Trees
a0 = a + 1
b0 = b + 2
c
S
d
a
X
b
∗
X =⇒ uXv
a0
1
X
b0
−2
27 / 31
Pruning Flow Trees
a0 = a + 1
b0 = b + 2
c
S
d
a
X
b
∗
X =⇒ uXv
a0
1
X
b0
−2
Assume Ratio X = ∞. There exists n0 such that Summary X (n) ≥ 3 · n
for all n ≥ n0 .
27 / 31
Pruning Flow Trees
a0 = a + 1
b0 = b + 2
c
S
d
a
X
b
∗
X =⇒ uXv
a0
1·n
X
b0
−2 · n
Assume Ratio X = ∞. There exists n0 such that Summary X (n) ≥ 3 · n
for all n ≥ n0 .
un
X
vn
a −→ a + n −→ n0 ≥ 3a + 3n −→ 3a + n ≥ n
27 / 31
Pruning Flow Trees
a0 = a + 1
b0 = b + 2
c
S
a
X
∗
X =⇒ uXv
a0
1·n
X
−2 · n
Assume Ratio X = ∞. There exists n0 such that Summary X (n) ≥ 3 · n
for all n ≥ n0 .
un
X
vn
a −→ a + n −→ n0 ≥ 3a + 3n −→ 3a + n ≥ n
Hence, Summary X (a) = ∞.
27 / 31
Small Certificates
Definition
A certificate is a partial flow tree such that, for every leaf
c
X d,
either Ratio X < ∞, or
Ratio X = ∞ and there is an ancestor
c0
X
d0
with c 0 < c.
Proposition
Summary S (c) ≥ d iff there is a certificate with root c S
exponential height and exponential input/output labels.
d
of at most
28 / 31
Small Certificates
Definition
A certificate is a partial flow tree such that, for every leaf
c
X d,
either Ratio X < ∞, or
Ratio X = ∞ and there is an ancestor
c0
X
d0
with c 0 < c.
Proposition
Summary S (c) ≥ d iff there is a certificate with root c S
exponential height and exponential input/output labels.
d
of at most
Guess-and-check algorithm
Need to check that an annotated partial parse tree is a certificate
28 / 31
Small Certificates and Decision Procedure
Definition
A certificate is a partial flow tree such that, for every leaf
c
X d,
either Ratio X < ∞, or
Ratio X = ∞ and there is an ancestor
c0
X
d0
with c 0 < c.
Proposition
The question whether Ratio X = ∞ is decidable. If Ratio X < ∞, then
Summary X is computable.
Guess-and-check algorithm
Need to check that an annotated partial parse tree is a certificate
28 / 31
Table of Contents
1
Pushdown Vector Addition Systems
2
Boundedness for Pushdown VAS
3
Coverability for 1-dim Pushdown VAS
4
Conclusion
29 / 31
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
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
Open Problems
ê Complexity of the boundedness problem for pushdown VAS
Lower bound: tower of exponentials (F3 ) from [Lazić 2012]
Upper bound: hyper-Ackermann (Fωω )
Thank You!
ê 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
Pushdown Vector Addition Systems — Semantics
The semantics of a pushdown VAS hQ, Γ, ∆i is the transition system
hQ × Γ∗ × Nd , →i whose transition relation → is given by
(p, nop, a, q) ∈ ∆ ∧ v 0 = v + a ≥ 0
(p, σ, v ) → (q, σ, v 0 )
(p, push(γ), a, q) ∈ ∆ ∧ v 0 = v + a ≥ 0
(p, σ, v ) → (q, γ · σ, v 0 )
(p, pop(γ), a, q) ∈ ∆ ∧ v 0 = v + a ≥ 0
(p, γ · σ, v ) → (q, σ, v 0 )
31 / 31
VASs
'
Petri nets
'
VASSs
Additional Feature of Petri nets
Test x ≥ cst without modifying x
d := d + 2
VASS
Petri net
|Q| := |T | + 1
⊆
d := d + 3
VAS
31 / 31
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
31 / 31
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
A0 (n) = n + 1
A1 (n) = n + 2
A2 (n) = 2n + 3
A3 (n) = 2n+3 − 3
..
.
31 / 31
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
pop(0),
+1
s0
if m = 0
if m > 0
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
pop(0),
+1
pop(1)
push(0)
−1
s0
s1
push(0), +1
if m = 0
if m > 0
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
pop(0),
+1
pop(1)
s0
s1
pu
sh
(1)
,+
1
p(2
)
push(0), +1
po
push(0)
−1
push(1)
−1
s2
if m = 0
if m > 0
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
pop(0),
+1
push(m − 1), +1
pop(1)
s0
s1
sm
push(m − 1)
−1
pop(m)
pu
sh
(1)
,+
1
p(2
)
push(0), +1
po
push(0)
−1
push(1)
−1
s2
31 / 31
Weak Computation of Ackermann Functions
(
n+1
Am (n) =
An+1
m−1 (1)
if m = 0
if m > 0
pop(0),
+1
push(m − 1), +1
pop(1)
s0
s1
sm
push(m − 1)
−1
pop(m)
pu
sh
(1)
,+
1
p(2
)
push(0), +1
po
push(0)
−1
push(1)
−1
s2
∗
(s0 , m⊥, n) −→ (s0 , ⊥, Am (n))
∗
If (s0 , m⊥, n) −→ (s0 , ⊥, n0 ) then n0 ≤ Am (n)
31 / 31