On Boundedness Problems for Pushdown Vector Addition Systems
J´ erˆ
- me Leroux
Gr´ egoire Sutre Patrick Totzke September 21, 2015
1 / 12
On Boundedness Problems for Pushdown Vector Addition Systems J er - - PowerPoint PPT Presentation
On Boundedness Problems for Pushdown Vector Addition Systems J er ome Leroux Gr egoire Sutre Patrick Totzke September 21, 2015 1 / 12 Vector Addition Systems Recap Definition A VAS is a finite set of vectors a Z d . For v ,
J´ erˆ
Gr´ egoire Sutre Patrick Totzke September 21, 2015
1 / 12
Definition
A VAS is a finite set of vectors a ∈ Zd. For v, v′ : Nd it has a step v
a
− − → v′ if v′ = v + a.
◮ Equivalent to Petri Nets
(concurrency, weak counters, event systems)
◮ Reachability: decidable Mayr’81,Kosaraju’82, . . . Leroux and Schmitz’15 ◮ Coverability, Boundedness: ExpSpace-complete Lipton’76, Rackoff’78 ◮ Most Games/Equivalences undecidable (e.g. Bisimulation) Janˇ car’95
2 / 12
. . . are products of VAS with pushdown automata. s q
push(A), −1
2
−1
. . . are products of VAS with pushdown automata. s q
push(A), −1
2
−1
1
. . . are products of VAS with pushdown automata. s q
push(A), −1
2
−1
1
− →− − → s, AA⊥, 1
. . . are products of VAS with pushdown automata. s q
push(A), −1
2
−1
1
− →− − → s, AA⊥, 1
− → q, AA⊥,
. . . are products of VAS with pushdown automata. s q
push(A), −1
2
−1
1
− →− − → s, AA⊥, 1
− → q, AA⊥,
− →− − → q, ⊥, 4
. . . are products of VAS with pushdown automata. They can for example model recursive prorams 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)
3 / 12
◮ Reachability = Coverability (= State-Reachability)
Tower-hard Lazic’13
4 / 12
◮ Reachability d dim. = Coverability d + 1 dim.
Tower-hard Lazic’13
4 / 12
◮ Reachability d dim. = Coverability d + 1 dim.
Tower-hard Lazic’13
◮ Coverability in 1 dim. is decidable Leroux, Sutre, and T.’15
4 / 12
◮ Reachability d dim. = Coverability d + 1 dim.
Tower-hard Lazic’13
◮ Coverability in 1 dim. is decidable Leroux, Sutre, and T.’15 ◮ Boundedness: decidable with Hyper-Ackermannian bounds Leroux, Praveen, and Sutre’14
Theorem [LSP’14]
If a PVAS configuration (p, ⊥, n) is bounded then the cardinality of the reachability set is at most Fωd·|Q|(d · n).
4 / 12
◮ Reachability d dim. = Coverability d + 1 dim.
Tower-hard Lazic’13
◮ Coverability in 1 dim. is decidable Leroux, Sutre, and T.’15 ◮ Boundedness: decidable with Hyper-Ackermannian bounds Leroux, Praveen, and Sutre’14 ◮ Counter-, Stack-, and Combined Boundedness Problems.
Combined Stack Counter
4 / 12
◮ Reachability d dim. = Coverability d + 1 dim.
Tower-hard Lazic’13
◮ Coverability in 1 dim. is decidable Leroux, Sutre, and T.’15 ◮ Boundedness: decidable with Hyper-Ackermannian bounds Leroux, Praveen, and Sutre’14 ◮ Counter-, Stack-, and Combined Boundedness Problems.
Combined Stack Counter The following is in ExpTime.
1-PVAS Counter-Boundedness
Given: 1-dim. PVAS, initial configuration (p, w, a). Question: is {b | (p, w, a)
∗
− − → (p′, w′, b)} infinite?
4 / 12
Definition (Context-free Controlled VAS)
a VAS A ⊆ Zd together with a context-free language L ⊆ A∗. There is a step s − − → t between s, t ∈ Nd if a1a2 . . . ak ∈ L and s
a1
− − →
a2
− − → · · ·
ak
− − → t.
5 / 12
Definition (Context-free Controlled VAS)
a VAS A ⊆ Zd together with a context-free language L ⊆ A∗. There is a step s − − → t between s, t ∈ Nd if a1a2 . . . ak ∈ L and s
a1
− − →
a2
− − → · · ·
ak
− − → t.
Theorem
For Cf-Controlled VAS, Coverability (and Reachability) logspace reduces to Boundedness.
5 / 12
Definition (Context-free Controlled VAS)
a VAS A ⊆ Zd together with a context-free language L ⊆ A∗. There is a step s − − → t between s, t ∈ Nd if a1a2 . . . ak ∈ L and s
a1
− − →
a2
− − → · · ·
ak
− − → t.
Theorem
For Cf-Controlled VAS, Coverability (and Reachability) logspace reduces to Boundedness.
Observation
Relevant for the PVAS boundedness problem is the trace language {w ∈ A∗ | (p0, ⊥)
w
− − →} defined by the PDA.
5 / 12
Definition (Context-free Controlled VAS)
a VAS A ⊆ Zd together with a context-free language L ⊆ A∗. There is a step s − − → t between s, t ∈ Nd if a1a2 . . . ak ∈ L and s
a1
− − →
a2
− − → · · ·
ak
− − → t.
Theorem
For Cf-Controlled VAS, Coverability (and Reachability) logspace reduces to Boundedness.
Observation
Relevant for the PVAS boundedness problem is the trace language {w ∈ A∗ | (p0, ⊥)
w
− − →} defined by the PDA.
5 / 12
Definition (Context-free Controlled VAS)
a VAS A ⊆ Zd together with a context-free language L ⊆ A∗. There is a step s − − → t between s, t ∈ Nd if a1a2 . . . ak ∈ L and s
a1
− − →
a2
− − → · · ·
ak
− − → t.
Theorem
For Cf-Controlled VAS, Coverability (and Reachability) logspace reduces to Boundedness.
Observation
Relevant for the PVAS boundedness problem is the trace language {w ∈ A∗ | (p0, ⊥)
w
− − →} defined by the PDA.
Main Theorem
Boundedness of 1-dim VAS controlled by a prefix-closed language is in ExpTime.
5 / 12
Definition (Context-free Controlled VAS)
a VAS A ⊆ Zd together with a context-free language L ⊆ A∗. There is a step s
X
− − → t between s, t ∈ Nd if X
∗
= = ⇒ a1a2 . . . ak and s
a1
− − →
a2
− − → · · ·
ak
− − → t.
Theorem
For Cf-Controlled VAS, Coverability (and Reachability) logspace reduces to Boundedness.
Observation
Relevant for the PVAS boundedness problem is the trace language {w ∈ A∗ | (p0, ⊥)
w
− − →} defined by the PDA.
Main Theorem
Boundedness of 1-dim VAS controlled by a prefix-closed language is in ExpTime.
5 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}.
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X −1 Y Z
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X −1 Y Z 1 Y
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X −1 Y Z 1 Y 1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X −1 Y Z 1 Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1 Y Z 1 Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5
Y Z 1 Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5 4
Y Z 1 Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5 4
Y
4
Z 1 Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5 4
Y
4
Z 1
4
Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5 4
Y
4
Z 1
4 5
Y 1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5 4
Y
4
Z 1
4 5
Y
5
1 −1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5
−1
5 4
Y
4
Z 1
4 5
Y
5
1
5
−1
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5 5
−1
5 4
Y
4 6
Z
6 5
1
4 5
Y
5 6
1
5 6
−1
6 5
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5 5
−1
5 4
Y
4 6
Z
6 5
1
4 5
Y
5 6
1
5 6
−1
6 5
X
a b means a X
− − → b′ ≥ b; X
−∞ b means ∃a ∈ N. a X
− − → b′ ≥ b.
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5 5
−1
5 4
Y
4 6
Z
6 5
1
4 5
Y
5 6
1
5 6
−1
6 5
T ⊑ T ′ if
6 / 12
A derivation tree with consistent in/out labels in Z ∪ {−∞}. X
5 5
−1
5 4
Y
4 6
Z
6 5
1
4 5
Y
5 6
1
5 6
−1
6 5
T ⊑ T ′ if
6 / 12
Definition
A certificate is a flow tree with a node X
b b′ and a descendant
X
c c′ such that
S
a
X
b b’
X
c c’
> 0
7 / 12
Definition
A certificate is a flow tree with a node X
b b′ and a descendant
X
c c′ such that
S
a
X
b b’
X
c c’
= 0 > 0
7 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch ◮ wqo (≤, =) on (input ×V ) implies matching nodes with b ≤ c
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch ◮ wqo (≤, =) on (input ×V ) implies matching nodes with b ≤ c ◮ minimality excludes b = c ∧ c′ > b′
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch ◮ wqo (≤, =) on (input ×V ) implies matching nodes with b ≤ c ◮ minimality excludes b = c ∧ c′ > b′
Unboundedness ⇐ = Certificate:
◮ yield is uvwxy ∈ L with v ≥ 0 and v + x > 0
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch ◮ wqo (≤, =) on (input ×V ) implies matching nodes with b ≤ c ◮ minimality excludes b = c ∧ c′ > b′
Unboundedness ⇐ = Certificate:
◮ yield is uvwxy ∈ L with v ≥ 0 and v + x > 0 ◮ All uvnwxn are in L and executable.
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch ◮ wqo (≤, =) on (input ×V ) implies matching nodes with b ≤ c ◮ minimality excludes b = c ∧ c′ > b′
Unboundedness ⇐ = Certificate:
◮ yield is uvwxy ∈ L with v ≥ 0 and v + x > 0 ◮ All uvnwxn are in L and executable. ◮ Prefix-closedness of L implies uvn and uvnwxn ∈ L.
8 / 12
Theorem
{a′ | a
S
− − → a′} is infinite iff there is a certificate with root S
(≤ a)
.
Unboundedness = ⇒ Certificate:
◮ a S
− − → b for sufficiently large b
◮ a minimal flow tree must have long branch ◮ wqo (≤, =) on (input ×V ) implies matching nodes with b ≤ c ◮ minimality excludes b = c ∧ c′ > b′
Unboundedness ⇐ = Certificate:
◮ yield is uvwxy ∈ L with v ≥ 0 and v + x > 0 ◮ All uvnwxn are in L and executable. ◮ Prefix-closedness of L implies uvn and uvnwxn ∈ L.
8 / 12
(maybe on blackboard if time)
Theorem
Let G = (V , A, R, S) be a CfG generating a prefix-closed language
{m | n
S
− − → m} is infinite iff it admits a certificate with height and all input/output values bounded by n + 44(|V |+1).
9 / 12
Discussed here
◮ Pushdown VAS; Boundedness of counter/stack/both ◮ Cf-controlled VAS; Flow Trees ◮ prefix-closed control ∼ counter-Boundedness ◮ Counter-Boundedness in 1-PVAS is in ExpTime
Open Problems
◮ Decidability of PVAS Reachability (even in dim 1) ◮ is Boundedness reducible to Reachability in Cf-C-VAS? ◮ Complexity of 1-PVAS counter-Boundedness
(NP– ExpTime)
◮ Complexity of 1-PVAS Coverability (NP– ExpSpace)
10 / 12
Discussed here
◮ Pushdown VAS; Boundedness of counter/stack/both ◮ Cf-controlled VAS; Flow Trees ◮ prefix-closed control ∼ counter-Boundedness ◮ Counter-Boundedness in 1-PVAS is in ExpTime
Open Problems
◮ Decidability of PVAS Reachability (even in dim 1) ◮ is Boundedness reducible to Reachability in Cf-C-VAS? ◮ Complexity of 1-PVAS counter-Boundedness
(NP– ExpTime)
◮ Complexity of 1-PVAS Coverability (NP– ExpSpace)
10 / 12
11 / 12
Am(n)
def
=
if m = 0 An+1
m−1(1)
if m > 0
12 / 12
Am(n)
def
=
if m = 0 An+1
m−1(1)
if m > 0 A0(n) = n + 1 A1(n) = n + 2 A2(n) = 2n + 2 A3(n) = 2n − 1 . . .
12 / 12
Am(n)
def
=
if m = 0 An+1
m−1(1)
if m > 0
s0
pop(0), +1
Am(n)
def
=
if m = 0 An+1
m−1(1)
if m > 0
s0
pop(0), +1
s1
pop(1) push(0), +1 push(0) −1
Am(n)
def
=
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
Am(n)
def
=
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
12 / 12
Am(n)
def
=
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
12 / 12
Am(n)
def
=
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)
12 / 12