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
© Copyright 2025 Paperzz