Efficient Algorithms for Checking Fast

arXiv:1708.09253v1 [cs.LO] 29 Aug 2017

Termination in VASS
Tomáš Brázdil

Krishnendu Chatterjee

Faculty of Informatics, Masaryk University

IST Austria

brazdil@fi.muni.cz

krish.chat@gmail.com

Antonín Kučera

Petr Novotný

Faculty of Informatics, Masaryk University

IST Austria

kucera@fi.muni.cz

petr.novotny@ist.ac.at

Dominik Velan
Faculty of Informatics, Masaryk University
xvelan1@fi.muni.cz

Abstract
Vector Addition Systems with States (VASS) consists of a finite state space equipped with
d counters (d is called the dimension), where in each transition every counter is incremented,
decremented, or left unchanged. VASS provide a fundamental model for analysis of concurrent
processes, parametrized systems, and they are also used as abstract models for programs for
bounds analysis. While termination is the basic liveness property that asks the qualitative
question of whether a given model always terminates or not, the more general quantitative
question asks for bounds on the number of steps to termination. In the realm of quantitative
bounds a fundamental problem is to obtain asymptotic bounds on termination time. Large
asymptotic bounds such as exponential or higher already suggest that either there is some error
in modeling, or the model is not useful in practice. Hence we focus on polynomial asymptotic
bounds for VASS. While some well-known approaches (e.g., lexicographic ranking functions)
are neither sound nor complete with respect to polynomial bounds, other approaches only
present sound methods for upper bounds. The existing approaches neither provide complete
methods nor provide analysis of precise complexity bounds. In this work our main contributions
are as follows: First, for linear asymptotic bounds we present a sound and complete method
for VASS, and moreover, our algorithm runs in polynomial time. Second, we classify VASS
according the normals of the vectors of the cycles. We show that singularities in the normal
are the key reason for asymptotic bounds such as exponential (even in three dimensions) and
non-elementary (even in four dimensions) for VASS. In absence of singularities, we show
that the asymptotic complexity bound is always polynomial and of the form Θ(nk ), for some
integer k ≤ d. We present an algorithm, with time complexity polynomial in the size of the
VASS and exponential in dimension d, to compute the optimal k. In other words, in absence of

1

singularities, we present an efficient sound and complete method to obtain precise (not only
upper, but matching upper and lower) asymptotic complexity bounds for VASS.

1

Introduction

Static analysis for quantitative bounds. Static analysis of programs reasons about programs without
running them. The most basic and important problem about liveness properties studied in program
analysis is the termination problem that given a program asks whether it always terminates. The
above problem seeks a qualitative or Boolean answer. However, given the recent interest in analysis
of resource-constrained systems, such as embedded systems, as well as for performance analysis, it
is vital to obtain quantitative performance characteristics. In contrast to the qualitative termination,
the quantitative termination problem asks to obtain bounds on the number of steps to termination.
The quantitative problem, which is more challenging than the qualitative one, is of great interest
in program analysis in various domains, e.g., (a) in applications domains such as hard real-time
systems, worst-case guarantees are required; and (b) the bounds are useful in early detection of
egregious performance problems in large code bases [34].
Approaches for quantitative bounds. Given the importance of the quantitative termination problem significant research effort has been devoted, including important projects such as SPEED,
COSTA [34, 35, 1]. Some prominent approaches are the following:
• The worst-case execution time (WCET) analysis is an active field of research on its own
(with primary focus on sequential loop-free code and hardware aspects) [69].
• Advanced program-analysis techniques have also been developed for asymptotic bounds,
such as resource analysis using abstract interpretation and type systems [35, 1, 45, 36, 37],
e.g., linear invariant generation to obtain disjunctive and non-linear upper bounds [19], or
potential-based methods [36, 37].
• Ranking functions based approach provides sound and complete approach for the qualitative
termination problem, and for the quantitative problem it provides a sound approach to obtain
asymptotic upper bounds [7, 9, 20, 59, 67, 21, 70, 63].
In summary, the WCET approach does not consider asymptotic bounds, while the other approaches
consider asymptotic bounds, and present sound but not complete methods for upper bounds.
VASS and their modeling power. Vector Addition Systems (VASs) [50] or equivalently Petri Nets
are fundamental models for analysis of parallel processes [25]. Enriching VASs with an underlying
finite-state transition structure gives rise to Vector Addition Systems with States (VASS). Intuitively,
a VASS consists of a finite set of control states and transitions between the control states, and and
a set of d counters that hold non-negative integer values, where at every transition between the
control states each counter is either incremented or decremented. VASS are a fundamental model

2

for concurrent processes [25], and thus are often used for performing analysis of such processes [22,
30, 48, 49]. Besides that, VASS have been used as models of parametrized systems [6], as abstract
models for programs for bounds and amortized analysis [66], as well as models of interactions
between components of an API in component-based synthesis [27]. Thus VASS provide a rich
modeling framework for a wide class of problems in program analysis.
Previous results for VASS. For a VASS, a configuration is a control state along with the values of
counters. The termination problem for VASS can be defined as follows: (a) counter termination
where the VASS terminates when one of the counters reaches value 0; (b) control-state termination
where given a set of terminating control states the VASS terminates when one of the terminating
states is reached. The termination question for VASS, given an initial configuration, asks whether
all paths from the configuration terminate. The counter-termination problem is known to be
EXPSPACE-complete: the EXPSPACE-hardness is shown in [56, 23] and the upper bound
follows from [71, 5, 26].
Asymptotic bounds analysis for VASS. While the qualitative termination problem has been studied
extensively for VASS, the problem of quantitative bounds for the termination problem has received
much less attention. In general, even for VASS whose termination can be guaranteed, the number
of steps required to terminate can be non-elementary (tower of exponentials) in the magnitude of
the initial configuration (i.e. in the maximal counter value appearing in the configuration). For
practical purposes, bounds such as non-elementary or even exponential are too high as asymptotic
complexity bounds, and the relevant complexity bounds are the polynomial ones. In this work we
study the problem of computing asymptotic bounds for VASS, focusing on polynomial asymptotic
bounds. Given a VASS and a configuration c, let nc denote the maximum value of the counters in
c. If for all configurations c all paths starting from c terminate, then let Tc denote the worst-case
termination time from configuration c (i.e., the maximum number of steps till termination among
all paths starting from c). The quantitative termination problem with polynomial asymptotic bound
given a VASS and an integer k asks whether the asymptotic worst-case termination time is at
most a polynomial of degree k, i.e., whether there exists a constant α such that for all c we have
Tc ≤ α · nkc . Note that with k = 1 (resp., k = 2, 3) the problem asks for asymptotic linear (resp.,
quadratic, cubic) bounds on the worst-case termination time. The asymptotic bound problem is
rather different from the qualitative termination problem for VASS, and even the decidability of
this problem is not obvious.
Limitations of the previous approaches for polynomial bounds for VASS. In the analysis of asymptotic bounds there are three key aspects, namely, (a) soundness, (b) completeness, and (c) precise (or
tight complexity) bounds. For asymptotic bounds, previous approaches (such as ranking functions,
potential-based methods etc) are sound (but not complete) for upper bounds. In other words, if
the approaches obtain linear, or quadratic, or cubic bounds, then such bounds are guaranteed as
asymptotic upper bounds (i.e., soundness is guaranteed), however, even if the asymptotic bound
is linear or quadratic, the approaches may fail to obtain any asymptotic upper bound (i.e., com-

3

pleteness is not guaranteed). Another approach that has been considered for complexity analysis of
programs are lexicographic ranking functions [4]. We show that with respect to polynomial bounds
lexicographic ranking functions are not sound, i.e., there exists VASS for which lexicographic
ranking function exists but the asymptotic complexity is exponential (see Example 4.11). Finally,
none of the existing approaches are applicable for tight complexity bounds, i.e., the approaches
consider O(·) bounds and are not applicable for Θ(·) bounds. In summary, previous approaches do
not provide sound and complete method for polynomial asymptotic complexity of VASS; and no
approach provide techniques for precise complexity analysis.
Our contributions. Our main contributions are related to the complexity of the quantitative termination with polynomial asymptotic bounds for VASS and our results are applicable to counter
termination.
1. We start with the important special case of linear asymptotic bounds. We present the
first sound and complete algorithm that can decide linear asymptotic bounds for all VASS.
Moreover, our algorithm is an efficient one that has polynomial time complexity. This contrast
sharply with EXPSPACE-hardness of the qualitative termination problem and shows that
deciding fast (linear) termination, which seems even more relevant for practical purposes, is
computationally easier than deciding qualitative termination.
2. Next, we turn our attention to polynomial asymptotic bounds. For simplicity, we restrict
ourselves to VASS where the underlying finite-state transition structure is strongly connected
(see Section 7 for more comments). Given such a VASS A, for every short1 cycle C of
the A, the effect of executing the short cycle once can be represented as a d-dimensional
vector, an analogue of loop summary (ignoring any nested sub-loops) for classical programs.
Let Inc denote the set of all increments, i.e., short cycle effects in A. We investigate the
geometric properties of Inc to derive complexity bounds on A. The property playing a key
role is whether all cycle effects in Inc lie on one side of some hyperplane in Rd . Formally,
each hyperplane is uniquely determined by its normal vector n (a vector perpendicular to the
hyperplane), and a hyperplane defined by n covers a vector effects v if v · n ≤ 0, where “·”
is the dot product of vectors. Geometrically, the hyperplane defined by n splits the whole
d-dimensional space into two halves such that the normal n points into one of the halves,
and its negative −n points into the other half. The hyperplane then “covers” vector v if v
points into the same half as the vector −n. We denote by Normals(A) the set of all normals
such that each n ∈ Normals(A) covers all cycle effects in A. Depending on the properties
of Normals(A), we can distinguish the following cases:
(A) No normal: if Normals(A) = ∅ (Fig. 1a);
(B) Negative normal: if all n ∈ Normals(A) have a negative component (Fig. 1b);
(C) Positive normal: if there exists n ∈ Normals(A) whose all components are positive
(Fig. 1c);
1

A cycle C is short if its length is bounded by the number of control states of a given VASS.

4

y

y

x

x

(b) All normals are negative (normal (−1.5, −1)
pictured).

(a) No normal.

y

y

x

x

(d) Singular normal (0, 1).

(c) Positive normal (1.5, 1).

Figure 1: Classification of VASS into 4 sub-classes according to the geometric properties of vectors
of cycle effects, pictured on 2D examples. Each figure pictures (as red arrows) vectors of simple
cycle effects in some VASS (it is easy, for each figure, to construct a VASS whose simple cycle
effects are exactly those pictured). The green dashed line, if present, represents the hyperplane (in
2D it is a line) covering the set of cycle effects. The thick blue arrow represents the normal defining
the covering hyperplane. The pink shaded area represents the cone generated by cycle effects (see
Section 2.3). Intuitively, we seek hyperplanes that do not intersect the interior of the cone (but can
touch its boundary).
(D) Singular normal: if (C) does not hold, but there exists n ∈ Normals(A) such that all
components of n are non-negative (in which some component of n is zero, Fig. 1d);
First, we observe that given a VASS, we can decide to which of the above category it belongs,
in time which is polynomial in the number of control states of a given VASS for every fixed
dimension (i.e., the algorithm is exponential only in the dimension d; see Section 2.2 for more
comments). Second, we also show that if a VASS belongs to one of the first two categories,
then there exist configurations with non-terminating runs from them (see Theorem 4.2).
Hence asymptotic bounds are not applicable for the first two categories and we focus on the
last two categories for polynomial asymptotic bounds.
3. For the positive normal category (C) we show that either there exist non-terminating runs
or else the worst-case termination time is of the form Θ(nk ), where k is an integer and
5

k ≤ d. We show that given a VASS in this category, we can first decide whether all runs
are terminating, and if yes, then we can compute the optimal asymptotic polynomial degree
k such that the worst-case termination time is Θ(nk ) (see Theorem 4.8). Again, this is
achievable in time polynomial in the number of control states of a given VASS for every
fixed dimension. In other words, for this class of VASS we present an efficient approach
that is sound, complete, and obtains precise polynomial complexity bounds. To the best of
our knowledge, no previous work presents a complete approach for asymptotic complexity
bounds for VASS, and the existing techniques only consider O(·) bounds, and not precise
Θ(·) bounds.
4. We show that singularities in the normal are the key reason for complex asymptotic bounds in
VASS. More precisely, for VASS falling into the singular normal category (D), in general the
asymptotic bounds are not polynomial, and we show that (a) by slightly adapting the results of
[58], it follows that termination complexity of a VASS A in category (D) cannot be bounded
by any primitive recursive function in the size of A; (b) even with three dimensions, the
asymptotic bound is exponential in general (see Example 4.9), (c) even with four dimensions,
the asymptotic bound is non-elementary in general (see Example 4.10).
The main technical contribution of this paper is a novel geometric approach, based on hyperplane
separation techniques, for asymptotic time complexity analysis of VASS. Our methods are sound
for arbitrary VASS and complete for a non-trivial subclass.

2
2.1

Preliminaries
Basic Notation

We use N, Q, and R to denote the sets of non-negative integers, rational numbers, and real numbers.
The subsets of all positive elements of N, Q, and R are denoted by N+ , Q+ , and R+ . Further, we
use N∞ to denote the set N ∪ {∞} where ∞ is treated according to the standard conventions. The
cardinality of a given set M is denoted by |M |. When no confusion arises, we also use |c| to denote
the absolute value of a given c ∈ R.
Given a function f : N → N, we use O(f (n)) and Ω(f (n)) to denote the sets of all g : N → N
such that g(n) ≤ a · f (n) and g(n) ≥ b · f (n) for all sufficiently large n ∈ N, where a, b ∈ R+
are some constants. If h(n) ∈ O(f (n)) and h(n) ∈ Ω(f (n)), we write h(n) ∈ Θ(f (n)).
Let d ≥ 1. The elements of Rd are denoted by bold letters such as u, v, z, . . .. The i-th component
of v is denoted by v(i), i.e., v = (v(1), . . . , v(d)). For every n ∈ N, we use ~n to denote the
constant vector where all components are equal to n. The scalar product of v, u ∈ Rd is denoted
P
by v · u, i.e., v · u = di=1 v(i) · u(i). The other standard operations and relations on R such as +,
≤, or < are extended to Rd in the component-wise way. In particular, v is positive if v > ~0, i.e., all
p
components of v are positive. The norm of v is defined by norm(v) = v(1)2 + · · · + v(d)2 .

6

(0,0)
q1

(-1,1)

(0,0)
q2

(1,-1)

(-1,0)

q1

q2

(-1,0)

(-1,1)

(a) Quadratic complexity.

(b) Non-terminating VASS.

(1,-1)

(-1,0)
q1

(-1,1)

(0,0)

q2

(1,-1)

(c) Linear complexity.

Figure 2: An example of 2-dimensional VASS of varying complexity.
Half-spaces and Cones. An open half-space of Rd determined by a normal vector n ∈ Rd ,
where n 6= ~0, is the set Hn of all x ∈ Rd such that x · n < 0. A closed half-space Ĥn is defined in
the same way but the above inequality is non-strict. Given a finite set of vectors U ⊆ Rd , we use
P
cone(U ) to denote the set of all vectors of the form u∈U cu u, where cu is a non-negative real
constant for every u ∈ U .
Example 2.1. In Fig. 1, the cone, or more precisely its part that intersects the displayed area
of R2 , generated by the cycle effects (i.e., by the “red” vectors) is the pink-shaded area. As
for the half spaces, e.g., in Fig. 1d, the closed half-space defined by the normal vector (0, 1) is
the set {(x, y) | y ≤ 0}, while the open half-space determined by the same normal is the set
{(x, y) | y < 0}. Intuitively, each normal vector n determines a hyperplane (pictured by dashed
lines in Fig. 1) that cuts Rd in two halves, and Hn is the half which does not contain n: depending
on whether we are interested in closed or open half-space, we include the separating hyperplane
into Hn or not, respectively.

2.2

Syntax and semantics of VASS

In this subsection we present a syntax of VASS, represented as finite state graphs with transitions
labelled by vectors of counter changes.
Definition 2.2. Let d ∈ N+ . A d-dimensional vector addition system with states (VASS) is a
pair A = (Q, T ), where Q 6= ∅ is a finite set of states and T ⊆ Q × {−1, 0, 1}d × Q is a set of
transitions.
Example 2.3. Fig. 2 shows examples of three small 2-dimensional VASS. The VASS in Fig. 2a
has two states q1 , q2 and four transitions (q1 , (−1, 1), q2 ), (q1 , (0, 0), q2 ), (q2 , (−1, 0), q1 ),
(q2 , (1, −1), q2 ).
In some cases, we design algorithms where the time complexity is not polynomial in ||A|| (i.e., the
size of A), but polynomial in |Q| and exponential just in d. Then, we say that the running time is
polynomial in |Q| for a fixed d.
7

We use simple operational semantics for VASS based on the view of VASS as finite-state machines
augmented with non-negative integer-valued counters.
A configuration of A is a pair pv, where p ∈ Q and v ∈ Nd . The set of all configurations of A is
denoted by C (A). The size of pv ∈ C (A) is defined as ||pv|| = max{v(i) | 1 ≤ i ≤ d}.
A finite path in A of length n is a finite sequence π of the form p0 , u1 , p1 , u2 , p2 , . . . , un , pn where
n ≥ 1 and (pi , ui+1 , pi+1 ) ∈ T for all 0 ≤ i < n. If p0 = pn , then π is a cycle. A cycle is short
if n ≤ |Q|. The effect of π, denoted by eff (π), is the sum u1 + · · · + un . Given two finite paths
α = p0 , u1 , . . . , pn and β = q0 , v1 , . . . , qm such that pn = q0 , we use α

β to denote the finite

path p0 , u1 , . . . , pn , v1 , . . . , qm .
Let π be a finite path in A. A decomposition of π into short2 cycles, denoted by Decomp(π), is a
finite list of short cycles (repetitions allowed) defined recursively as follows:
• If π does not contain any short cycle, then Decomp(π) = [], where [] is the empty list.
• If π = α

γ

β where γ is the first short cycle occurring in π, then Decomp(π) =

Concat([γ], Decomp(α

β)), where Concat is the list concatenation operator.

Observe that if Decomp(π) = [], then the length of π is at most |Q| − 1. Since the length of every
short cycle is bounded by |Q|, the length of π is asymptotically the same as the number of elements
in Decomp(π), assuming a fixed VASS A.
Given a path π = p0 , u1 , p1 , u2 , p2 , . . . , un , pn and an initial configuration p0 v0 , the execution of
π in p0 v0 is a finite sequence p0 v0 , . . . , pn vn of configurations where vi = v0 + u1 + · · · + ui
for all 0 ≤ i ≤ n. If vi ≥ ~0 for all 0 ≤ i ≤ n, we say that π is executable in p0 v0 .

2.3

Termination Complexity of VASS

A zero-avoiding computation of length n initiated in a configuration pv is a finite sequence of
configurations α = q0 z0 , . . . , qn zn initiated in pv such that zi > ~0 for all 0 ≤ i ≤ n, and for
each 0 ≤ i < n there is a transition (qi , u, qi+1 ) ∈ T where zi+1 = zi + u. Every zero-avoiding
computation α initiated in q0 z0 determines a unique finite path πα in A such that α is the execution
of πα in q0 z0 .
Definition 2.4. Let A = (Q, T ) be a d-dimensional VASS. For every configuration pv of A, let
L(pv) be the least ` ∈ N∞ such that the length of every zero-avoiding finite computation initiated
in pv is bounded by `. The termination complexity of A is a function L : N → N defined by
L(n) = max {L(pv) | pv ∈ C (A) where ||pv|| = n} .
If L(n) = ∞ for some n ∈ N, we say that A is non-terminating, otherwise it is terminating.
2

A standard technique for analysing paths in VASS are decompositions into simple cycles, where all states except for

p0 and pn are pairwise different. The reason why we use short cycles instead of simple ones is clarified in Lemma 2.5.

8

Observe that if A is non-terminating, then L(n) = ∞ for all sufficiently large n ∈ N. Further, if A
is terminating, then L(n) ∈ Ω(n). In particular, if L(n) ∈ O(n), we also have L(n) ∈ Θ(n).
Given a path π = p0 , u1 , p1 , u2 , p2 , . . . , un , pn and an initial configuration p0 v0 , the execution of
π in p0 v0 is a finite sequence p0 v0 , . . . , pn vn where vi = v0 + u1 + · · · + ui for all 0 ≤ i ≤ n.
If vi ≥ ~0 for all 0 ≤ i ≤ n, we say that π is executable in p0 v0 .
Let Inc = {eff (π) | π is a short cycle of A} . The elements of Inc are called increments. Note
that if u ∈ Inc, then −|Q| ≤ u(i) ≤ |Q| for all 1 ≤ i ≤ d. Hence, |Inc| is polynomial in |Q|,
assuming d is a fixed constant. Although the total number of all short cycles can be exponential
in |Q|, the set Inc is computable efficiently.3
Lemma 2.5. Let A = (Q, T ) be a d-dimensional VASS, and let p ∈ Q. The set Inc is computable
in time O(||A||d ), i.e., polynomial in |Q| assuming d is a fixed constant.
Proof. The set Inc is computable by the following standard algorithm: For all q, q 0 ∈ Q and
k be the set of all effects of paths from q to q 0 of length exactly k. Observe that
1 ≤ k ≤ n, let Eq,q
0
1 = {u | (q, u, q 0 ) ∈ T } for all q, q 0 ∈ Q;
• Eq,q
0
S
k−1
k =
00
0
• for every 1 < k ≤ |Q|, we have that Eq,q
0
q 00 ∈Q {v+u | v ∈ Eq,q 00 and (q , u, q ) ∈ T }.
S
S
k , and the sets E k
Obviously, Inc = q∈Q nk=1 Eq,q
q,q 0 for k ≤ |Q| are computable in time

polynomial in |Q|, assuming d is a fixed constant.
A strongly connected component (SCC) of A is maximal R ⊆ Q such that for all p, q ∈ R where
p 6= q there is a finite path from p to q. Given a SCC R of Q, we define the VASS AR by restricting
the set of control states to R and the set of transitions to T ∩ (R × {−1, 0, 1}d × R). We say that
A is strongly connected if Q is a SCC of A.

3

Linear Termination Time

In this section, we give a complete and effective characterization of all VASS with linear termination
complexity.
More precisely, we first provide a precise mathematical characterization of VASS with linear
complexity: we show that if A is a d-dimensional VASS, then L(n) ∈ O(n) iff there is an open
half-space Hn of Rd such that n > ~0 and Inc ⊆ H.
Next we show that the mathematical characterization of VASS of linear complexity is equivalent to
the existence of a ranking function of a special form for this VASS. We also show that existence
of such a function for a given VASS A can be decided (and the function, if it exists, synthesized)
3

Note that Lemma 2.5 would not hold if we used simple cycles instead of short cycles, because the problem

whether a given vector v is an effect of a simple cycle is NP-complete, even if d = 1 (NP-hardness follows, e.g., by a
straightforward reduction of the Hamiltonian path problem).

9

in time polynomial in the size of A. Hence, we obtain a sound and complete polynomial-time
procedure for deciding whether a given VASS has linear termination complexity.
We start with the mathematical characterization. Due to the next lemma, we can safely restrict
ourselves to strongly connected VASS. A proof is trivial.
Lemma 3.1. Let d ∈ N, and let A = (Q, T ) be a d-dimensional VASS. Then L(n) ∈ O(n) iff
LR (n) ∈ O(n) for every SCC R of Q, where LR (n) is the termination complexity of AR .
Now we show that if there is no open half-space Hn such that n > ~0 and Inc ⊆ Hn , then there
P
exist short cycles γ1 , . . . , γk and coefficients b1 , . . . , bk ∈ N+ such that the sum ki=1 bi · eff (γi )
is non-negative. Note that this does not yet mean that A is non-terminating—it may happen that
the cycles π1 , . . . , πk pass through disjoint subsets of control states and cannot be concatenated
without including auxiliary finite paths decreasing the counters.
Lemma 3.2. Let A = (Q, T ) be a d-dimensional VASS. If there is no open half-space Hn of Rd
such that n > ~0 and Inc ⊆ Hn , then there exist v1 , . . . , vk ∈ Inc and b1 , . . . , bk ∈ N+ such that
P
k ≥ 1 and ki=1 bi vi ≥ ~0.
Proof. We distinguish two possibilities.
(a) There exists a closed half-space Ĥn of Rd such that n > ~0 and Inc ⊆ Ĥn .
(b) There is no closed half-space Ĥn of Rd such that n > ~0 and Inc ⊆ Ĥn .
Case (a). We show that there exists u ∈ Inc such that u 6= ~0 and −u ∈ cone(Inc). Note that this
immediately implies the claim of our lemma—since −u ∈ cone(Inc), there are v1 , . . . , vk ∈ Inc
P
and c1 , . . . , ck ∈ R+ such that −u = ki=1 ci vi . Since all elements of Inc are vectors of nonnegative integers, we can safely assume ci ∈ Q+ for all 1 ≤ i ≤ k. Let b be the least common
multiple of c1 , . . . , ck . Then bu + (b · c1 )v1 + · · · + (b · ck )vk = ~0 and we are done.
It remains to prove the existence of u. Let us fix a normal vector n > ~0 such that Inc ⊆ Ĥn and
the set Inc n = {v ∈ Inc | v · n < 0} is maximal (i.e., there is no n0 > ~0 satisfying Inc ⊆ Ĥn0
and Inc n ⊂ Inc n0 ). Further, we fix u ∈ Inc such that u · n = 0. Note that such u ∈ Inc
must exist, because otherwise Inc n = Inc which contradicts the assumption of our lemma. We
show −u ∈ cone(Inc). Suppose the converse. Then by Farkas’ lemma there exists a separating
hyperplane for cone(Inc) and −u with normal vector n0 , i.e., v · n0 ≤ 0 for all v ∈ Inc and
−u · n0 > 0. Since n > ~0, we can fix a sufficiently small ε > 0 such that the following conditions
are satisfied:
• n + εn0 > ~0,
• for all v ∈ Inc such that v · n < 0 we have that v · (n + εn0 ) < ~0.
Let w = n + εn0 . Then w > 0, v · w < 0 for all v ∈ Inc n , and u · w = u · n + ε(u · n0 ) =
ε(u · n0 ) < 0. This contradicts the maximality of Inc n .

10

Case (b). Let B = {v ∈ Rd | v ≥ ~0 and 1 ≤

Pd

i=1 v(i)

≤ 2}. We prove cone(Inc) ∩ B 6= ∅,

which implies the claim of our lemma (there are v1 , . . . , vk ∈ Inc and c1 , . . . , ck ∈ Q+ such that
Pk
i=1 ci vi ∈ B). Suppose the converse, i.e., cone(Inc) ∩ B = ∅. Since both cone(Inc) and B are
closed and convex and B is also compact, we can apply the “strict” variant of hyperplane separation
theorem. Thus, we obtain a vector n ∈ Rd and a constant c ∈ R such that x · n < c and y · n > c
for all x ∈ cone(Inc) and y ∈ B. Since ~0 ∈ cone(Inc), we have that c > 0. Further, n ≥ ~0 (to
see this, realize that if n(i) < 0 for some 1 ≤ i ≤ d, then y · n < 0 where y(i) = 1 and y(j) = 0
for all j 6= i; since y ∈ B and c > 0, we have a contradiction). Now we show x · n ≤ 0 for
all x ∈ cone(Inc), which contradicts the assumption of Case (b). Suppose x · n > 0 for some
x ∈ cone(Inc). Then (m · x) · n > c for a sufficiently large m ∈ N. Since m · x ∈ cone(Inc), we
have a contradiction.
Now we give the promised characterization of all VASS with linear termination complexity. Our
theorem also reveals that the VASS termination complexity is either linear or at least quadratic (for
example, it cannot be that L(n) ∈ Θ(n log n)).
Theorem 3.3. Let A = (Q, T ) be a d-dimensional VASS. We have the following:
(a) If there is an open half-space Hn of Rd such that n > ~0 and Inc ⊆ Hn , then L(n) ∈ O(n).
(b) If there is no open half-space Hn of Rd such that n > ~0 and Inc ⊆ Hn , then L(n) ∈ Ω(n2 ).
Proof. We start with (a). Let Hn be an open half-space of Rd such that n > ~0 and Inc ⊆ Hn , and
let qu be a configuration of A. Note that dn · ue ∈ O(||qu)||) because n does not depend on qu.
Let δ = minv∈Inc |v · n|. Each short cycle decreases the scalar product of the normal n and vector
of counters by at least δ. Therefore, for every zero-avoiding computation α initiated in qu we have
that Decomp(α) contains at most O(||qu||) elements, so the length of α is O(||qu||).
Now suppose there is no open half-space Hn of Rd such that n > ~0 and Inc ⊆ Hn . We show
that L(n) ∈ Ω(n2 ), i.e., there exist p ∈ Q and a constant a ∈ R+ such that for all configurations
p~n, where n ∈ N is sufficiently large, there is a zero-avoiding computation initiated in p~n whose
length is at least a · n2 . Due to Lemma 3.1, we can safely assume that A is strongly connected. By
Lemma 3.3, there are v1 , . . . , vk ∈ Inc and b1 , . . . , bk ∈ N+ such that k ≥ 1 and
k
X

bi vi ≥ ~0.

(1)

i=1

As the individual short cycles with effects v1 , . . . , vk may proceed through disjoint sets of states,
they cannot be trivially concatenated into one large cycle with non-negative effect. Instead, we fix
a control state p ∈ Q and a cycle π initiated in p visiting all states of Q (here we need that A is
strongly connected). Further, for every 1 ≤ i ≤ k we fix a short cycle γi such that eff (γi ) = vi .
For every t ∈ N, let πt be a cycle obtained from π by inserting precisely t · bi copies of every γi ,
where 1 ≤ i ≤ k. Observe that the inequality (1) implies
eff (πt ) = eff (π) + t ·

k
X

bi vi ≥ eff (π)

i=1

11

for every t ∈ N.

(2)

For every configuration pu, let t(u) be the largest t ∈ N such that πt is executable in pu and results
in a zero-avoiding computation. If such a t(u) does not exist, i.e. πt is executable in pu for all
t ∈ N, then A is non-terminating (since, e.g. v1 must be non-negative in such a case), and the
proof is finished. Hence, we can assume that t(u) is well-defined for each u. Since the cycles
π and γ1 , . . . , γk have fixed effects, there is b ∈ R+ such that for all configurations pu where
all components of u (and thus also ||pu||) are above some sufficiently large threshold ξ we have
that t(u) ≥ b · ||pu||, i.e. t(u) grows asymptotically at least linearly with the minimal component
of u. Now, for every n ∈ N, consider a zero-avoiding computation α(n) initiated in p~n defined
inductively as follows: Initially, α(n) consists just of pu0 = p~n; if the prefix of α(n) constructed
so far ends in a configuration pui such that t(ui ) ≥ 1 and ui ≥ ξ~ (an event we call a successful hit),
then the prefix is prolonged by executing the cycle πt(ui ) (otherwise, the construction of α(n) stops).
Thus, α(n) is obtained from p~n by applying the inductive rule I(n) times, where I(n) ∈ N∞ is the
number of successful hits before the construction of α(n) stops. Denote by pui the configuration
visited by α(n) at i-th successful hit. Now the inequality (2) implies that ui ≥ ~n + i · eff (π), so
there exists a constant e such that ||pui || ≥ n − i · e. In particular the decrease of all components
of ui is at most linear in i. This means that I(n) ≥ c · n for all sufficiently large n ∈ N, where
~ so
c ∈ R+ is a suitable constant. But at the same time, upon each successful hit we have ui ≥ ξ,
length of the segment beginning with i-th successful hit and ending with the (i + 1)-th hit or with
the last configuration of α(n) is at least b · ||pui || ≥ b · (n − i · e). Hence, the length of α(n) is at
P
least c·n
i=1 b · (n − i · e), i.e. quadratic.
Example 3.4. Consider the VASS in Figure 2c. It consists of two strongly connected components,
{q1 } and {q2 }. In A{q1 } we have Inc = {(−1, 1)}. For n = (1, 21 ) the open half-space Ĥn
contains Inc. Similarly, in A{q2 } we have Inc = {(−1, 0), (1, −1)}. For n = (1, 2) we again have
that Inc is contained in open half-space Ĥn . Hence, the VASS has linear termination complexity.
It is strongly connected and Inc

Now consider the VASS in Figure 2a.

=

{(−1, 1), (−2, 2), (1, −1), (2, −2), (−1, 0)}. But there cannot be an open 2-dimensional halfspace (i.e. an open half-plane) containing two opposite vectors, e.g. (−1, 1) and (1, −1), because
for any line going through the origin such that (−1, 1) does not lie on the line it holds that (1, −1)
lies on the “other side” of the line than (−1, 1). Hence, the VASS in Figure 2a has at least quadratic
termination complexity. The same argument applies to VASS in Figure 2b.
A straightforward way of checking the condition of Theorem 3.3 is to construct the corresponding
linear constraints and check their feasibility by linear programming. This would yield an algorithm
polynomial in |Inc|, i.e., polynomial in |Q| for every fixed dimension d. Now we show that the
condition can actually be checked in time polynomial in the size of A. We do this by showing that
the mathematical condition stated in Theorem 3.3 is equivalent to the existence of a ranking function
of a special type for a given VASS. Formally, a weighted linear map for a VASS A = (Q, T )
is defined by a vector of coefficients c and by a set of weights {hq | q ∈ Q}, one constant for
each state of A. The weighted linear map µ = (c, {hq | q ∈ Q}) defines a function (which we,
slightly abusing the notation, also denote by µ) assigning numbers to configurations as follows:
12

µ(pv) = c · v + hp . A weighted linear map µ is a weighted linear ranking (WLR) function for A
if c ≥ ~0 and there exists  > 0 such that for each configuration pv and each transition (p, u, q) it
holds µ(pv) ≥ µ(q(v + u)) + , which is equivalent, due to linearity, to
hp − hq ≥ c · u + 

(3)

We show that weighted linear ranking functions provide a sound and complete method for proving
linear termination complexity of VASS.
Theorem 3.5. Let d ∈ N. The problem whether the termination complexity of a given d-dimensional
VASS is linear is solvable in time polynomial in the size of A. More precisely, the termination
complexity of a VASS A is linear if and only if there exists a weighted linear ranking function for
A. Moreover, the existence of a weighted linear ranking function for A can be decided in time
polynomial in ||A||.
Proof Sketch. In the course of the proof we describe a polynomial time-algorithm for deciding
whether given VASS has linear termination complexity. Once the algorithm is described, we will
show that what it really does is checking the existence of a weighted linear ranking function for A.
Let us start by sketching the underlying intuition. Our goal is to decide, in polynomial time, whether
there is an open half-space Hn of Rd such that n > ~0 and Inc ⊆ Hn . Note that this is equivalent to
deciding whether there is an open half-space Hn of Rd such that n ≥ ~0 and Inc ⊆ Hn (since we
demand Hn to be open and the scalar product is continuous, n ≥ ~0 can be slightly tilted by adding
a small ~δ > 0 to obtain a positive vector with the desired property).
Given a vector n ∈ Rd and a configuration qv, we say that v · n is the n-value of qv. Observe
that if there is an open half-space Hn such that n ≥ ~0 and Inc ⊆ Hn , then there is ε > 0 such
that the effect of every short cycle decreases the n-value of a configuration by at least ε. As every
path can be decomposed into short cycles, every path steadily decreases the n-value of visited
configurations. It follows that the mean change (per transition) of the n-value along an infinite path
is bounded from above by −ε/|Q|. On the other hand, if the maximum mean change in n-values
(over all infinite paths) is bounded from above by some negative constant, then every short cycle
must decrease the n-value by at least this constant. So, it suffices to decide whether there is n ≥ ~0
such that for all infinite paths the mean change of the n-value is negative. Thus, we reduce our
problem to the classical problem of maximizing the mean payoff over a decision process with
rewards. Using standard results (see, e.g., [60]), the latter problem polynomially reduces to the
problem of solving a linear program that is (essentially) equivalent to the inequality (3). Finally,
the linear program can be solved in polynomial time using e.g. [51].
Remark 3.6. The weighted linear ranking functions can be seen as a special case of well-known
linear ranking functions for linear-arithmetic programs [20, 59], in particular state-based linear
ranking functions, where a linear function of program variables is assigned to each state of the
control flow graph. WLR ranking functions are indeed a special case, since the linear functions
assigned to various state are almost identical, and they differ only in the constant coefficient hq .
13

Also, as the proof of the previous theorem shows, WLR functions in VASS can be computed directly
by linear programming, without the need for any “supporting invariants,” since effect of a transition
in VASS is independent of the current values of the counters. Also, well-foundedness (i.e. the fact
that the function is bounded from below) is guaranteed by the fact that n ≥ 0 and counter values in
VASS are always non-negative. It is a common knowledge that the existence of a state-based linear
ranking function for a linear arithmetic program implies that the running time of the program is
linear in the initial valuation of program variables. Hence, our main result can be interpreted
as proving that for VASS, state-based linear ranking functions are both sound and complete for
proving linear termination complexity.

4

Polynomial termination time

In this section we concentrate on VASS with polynomial termination complexity. For simplicity,
we restrict ourselves to strongly connected VASS. As we already indicated in Section 1, our analysis
proceeds by considering properties of normal vectors perpendicular to hyperplanes covering the
vectors of Inc.
Definition 4.1. Let A = (Q, T ) be a d-dimensional VASS. The set Normals(A) consists of all
n ∈ Rd such that n 6= ~0 and Inc ⊆ Ĥn (i.e., v · n ≤ 0 for all v ∈ Inc).
Let A be a strongly connected VASS. We distinguish four possibilities.
(A) Normals(A) = ∅.
(B) Normals(A) 6= ∅ and all n ∈ Normals(A) have a negative component.
(C) There exists n ∈ Normals(A) such that n > ~0.
(D) There exists n ∈ Normals(A) such that n ≥ ~0 and (C) does not hold.
Note that one can easily decide which of the four conditions holds by linear programming. Due to
Lemma 2.5, the decision algorithm is polynomial in the number of control states of A (assuming d
is a fixed constant).
We start by showing that a VASS satisfying (A) or (B) is non-terminating. A proof is given in
Section 5.2.
Theorem 4.2. Let A = (Q, T ) be a d-dimensional strongly connected VASS such that (A) or (B)
holds. Then A is non-terminating.

4.1

VASS satisfying condition (C)

Assume A is a d-dimensional VASS satisfying (C). We prove that if A is terminating, then
L(n) ∈ Θ(n` ) for some ` ∈ {1, . . . , d}. Further, there is a polynomial-time algorithm deciding
whether A is terminating and computing the constant ` if it exists (assuming d is a fixed constant).

14

A crucial tool for our analysis is a good normal, introduced in the next definition.
Definition 4.3. Let A be a VASS. We say that a normal n ∈ Normals(A) is good if n > ~0 and for
every v ∈ cone(Inc) we have that −v ∈ cone(Inc) iff v · n = 0.
Example 4.4. Consider the VASS of Fig. 2a. Here, a good normal is, e.g., the vector n = (1, 1).
Observe that the effects of both self-loops (on q1 and q2 ) belong to the hyperplane defined by (1, 1).
Note that these loops compensate each other’s effects so long as we stay in the hyperplane (this is
the defining property of the good normal). This allows us to zig-zag in the plane without "paying"
with decrements in the n-value except when we need to switch between the loops (recall that the
n-value of a configuration qv is the product v · n). This produces a path of quadratic length, which
is asymptotically the worst case.
The next lemma says that a good normal always exists and it is computable efficiently. A proof can
be found in Section 5.3.
Lemma 4.5. Let A be a d-dimensional VASS satisfying (C). Then there exists a good normal
computable in time polynomial in |Q|, assuming d is a fixed constant.
The next theorem is the key result of this section. It allows to reduce the analysis of termination
complexity of a given VASS to the analysis of several smaller instances of the problem, which can
be then solved recursively.
Theorem 4.6. Let A be a VASS satisfying (C), and let n ∈ Normals(A) be a good normal.
Consider a VASS An = (Q, Tn ) where
Tn = {t ∈ T | there is a short cycle γ of A containing t such that eff (γ) · n = 0} .
Further, let C1 , . . . , Ck be all SCC of An with at least one transition. We have the following:
(1) If k = 0 (i.e., if there is no SCC of An with at least one transition), then LA (n) ∈ Θ(n).
(2) If k > 0, all AnC1 , . . . , AnCk are terminating, and the termination complexity of every AnCi is Θ(fi (n)), then A is terminating and LA (n) ∈ Θ(n · max[f1 , . . . , fk ](n)),
where max[f1 , . . . , fk ] : N → N is a function defined by max[f1 , . . . , fk ](n) =
max{f1 (n), . . . , fk (n)}.
To get some intuiting behind the proof of Theorem 4.6, consider the following example.
Example 4.7. Consider the VASS of Fig. 2a. As mentioned in Example 4.4, there is a good normal
n = (1, 1), which gives Tn = {(−1, 1), (1, −1)}. Then Case (2) of Theorem 4.6 gives us two
simpler VASS AnC1 , AnC2 where AnC1 has a single state q1 and a single transition (q1 , (−1, 1), q1 ),
and AnC2 has a single state q2 and a single transition (q2 , (1, −1), q2 ). Observe that both AnC1
and AnC2 can now be considered individually, and both of them have linear complexity. Also, as
mentioned in Example 4.4, the good normal makes sure that the effect of the worst case behavior
in AnC1 can be compensated by a path in AnC2 , and vice versa. Moreover, following the worst
case path in AnC1 and its compensation in AnC2 decreases the final n-value of configurations only
by a constant (caused by the switch between AnC1 and AnC2 ). So, we can follow such “almost
compensating” loop Ω(n) times, and obtain a path of quadratic length.
15

Note that in the general case the situation is more complicated since the compensating path may
need to be composed using paths in several VASS of AnC1 , . . . , AnCk . So, we need to be careful about
the number of switches and about geometry of the compensating path.
Proof sketch for Theorem 4.6. Claim (1) follows easily. It suffices to realize that if there is no SCC
of An with at least one transition, then there is no v ∈ Inc satisfying v · n = 0. Hence, v · n < 0
for all v ∈ Inc, and we can apply Theorem 3.3.
Now we prove Claim (2). Let α be a zero-avoiding computation of A initiated in a configuration
qu. Since the last configuration pv of α satisfies v ≥ ~0, we have that v · n ≥ 0. Hence,
v·n

=

(u + eff (πα )) · n

=

u · n + eff (πα ) · n

≥

0.

Let Decomp(πα ) by a decomposition of πα into short cycles. For every short cycle γ of A we have
that eff (γ) · n ≤ 0. Since πα can contain at most |Q| transitions which are not contained in any
cycle, we have that u · n ≤ v · n + c, where c ∈ N is some fixed constant. This means that ||pv|| is
O(||qu||). Consequently, the same holds also for all intermediate configurations visited by α.
A short cycle γ of A such that eff (γ) · n < 0 is called n-decreasing, otherwise it is n-neutral.
Clearly, the total number of n-decreasing short cycles in Decomp(πα ) is O(||qu||), because each of
them decreases the scalar product with n by a fixed constant bounded away from zero, and u · n is
O(||qu||). This means that the total number of transitions in πα which are not in Tn is O(||qu||) (as
we already noted, πα can also contain transitions which are not contained in any short cycle, but
their total number is bounded by |Q|). Let % be a subpath of πα with maximal length containing only
transitions of Tn . Note that % is a concatenation of at most |Q| subpaths which contain transitions
of the same SCC Ci of An . Each of these subpaths is initiated in a configuration of size O(||qu||),
and hence its length is O(fi (||qu||)). Hence, the length of % is O(||qu|| · max[f1 , . . . , fk ](||qu||)).
It remains to prove that LA (n) ∈ Ω(n · max[f1 , . . . , fk ](n)). Let us fix some i ≤ k. We prove that
there exists a constant a ∈ R+ such that for all sufficiently large n there exists a zero-avoiding
computation αn of length at least a · n · fi (n) initiated in a configuration of size n. The construction
of αn is technically non-trivial, so we first explain the underlying idea informally. A formal proof
is given in Section 5.4.
To achieve the length Ω(n · fi (n)), the computation αn needs to execute Ω(n) paths of length
Θ(fi (n)) “borrowed” from AnCi . The problem is that even after executing just one path π of length
Θ(fi (n)), some counters can have very small values, which prevents the executing of another
path of length Θ(fi (n)). Therefore, we need to “compensate” the effect of π and increase the
counters. This is where we use the properties of a good normal. We can choose π so that it forms
a cycle in AnCi (not necessarily a short one), and we prove that all cycles in AnCi are n-neutral.
From this we get − eff (π) ∈ cone(Inc), and hence the effect of π can be compensated by an
appropriate combination of short cycles of An . So, after executing π, we execute the corresponding
“compensating” path, and this is repeated Ω(n) times. Note that we need to ensure that the
compensating paths do not decrease the counters too much in intermediate configurations, and the
16

compensation ends in a configuration which is sufficiently close to the original configuration where
we started executing π.
Now we can formulate and prove the main result of this section.
Theorem 4.8. Let A be a d-dimensional VASS satisfying (C). The problem whether A is terminating
is decidable in time polynomial in |Q|, assuming d is a fixed constant. Further, if A is terminating,
then L(n) ∈ Θ(nk ), where k ∈ {1, . . . , d} is a constant computable in time polynomial in |Q|,
assuming d is a fixed constant.
Proof. For a given a A, the algorithm starts by computing a good normal n (see Lemma 4.5) and
constructing the VASS An = (Q, Tn ) of Theorem 4.6. Here, the set Tn is computed as follows.
Note that A can be seen as a directed multigraph where the nodes are the states and the edges
correspond to transitions. To every transition (q, u, q 0 ) we assign its weight −u · n. Note that the
multigraph does not contain any negative cycles (a negative cycle in the multigraph would induce a
cycle in A increasing the n-value; however, such a cycle cannot exist with a good normal n). To
decide whether a given transition (q, u, q 0 ) belongs to Tn , it suffices to find a path with the least
accumulated weight from q 0 to q (which can be done using, e.g., Bellman-Ford algorithm [64])
and check whether the accumulated weight is equal to u · n. Hence, Tn is computable in time
polynomial in the size of A (for a given good normal n).
Then, the algorithm proceeds by constructing the SCC C1 , . . . , Ck of An . If k = 0, then L(n) ∈
Θ(n) (see Theorem 4.6 (1)). If k = 1 and AnC1 = A, then A is non-terminating (this is a
consequence of Theorem 4.6 (2); if AnC1 was terminating with termination complexity Θ(f1 (n)),
then by Theorem 4.6 (2), the termination complexity of A = AnC1 is Θ(n · f1 (n)), which is
impossible). Otherwise, the algorithm proceeds by analyzing AnC1 , . . . , AnCk recursively. If some
of them is non-terminating, then A is also non-terminating. Otherwise, the termination complexity
of A is derived from the termination complexity of AnC1 , . . . , AnCk as in Theorem 4.6 (2). Clearly,
we obtain L(n) ∈ Θ(nk ) for some k ∈ {1, . . . , d}. It is easy to verify that the total the number of
recursive calls is polynomial in the size of A.

4.2

VASS satisfying condition (D)

Condition (D) is not sufficiently strong to guarantee polynomial termination time for terminating
VASS. In fact, as d increases, the termination complexity can grow very fast. Even for d = 3, one
can easily construct a terminating VASS satisfying (C) such that L(n) ∈ Ω(2n ).
Example 4.9. Consider the strongly connected 3-dimensional VASS A in Fig. 3. Let n ∈ N
be arbitrary. We construct a zero-avoiding computation α(n) starting in q1~n whose length is
exponential in n. For better readability, denote by x, y, and z the variables representing the first,
second, and third counter, respectively.

17

(1,0,0)
q1

q2
(1,-1,0)

(0,0,-1)

(0,0,0)
(-1,1,0)

q3

q4
(0,1,0)

Figure 3: A 3-dimensional VASS satisfying condition (D) which has an exponential termination
complexity.
The construction consist of iterating several phases.

In Phase (a) we iterate the short

cycle q1 , (1, 0, 0), q2 , (1, −1, 0), q1 as long as y

2.

≥

Then we perform the path

q1 , (1, 0, 0), q2 , (0, 0, 0), q4 to q4 . From there we continue with Phase (b), where we iterate
the short cycle q4 , (0, 1, 0), q3 , (−1, 1, 0), q4 as long as x ≥ 2. After this we perform the path
q4 , (0, 1, 0), q3 , (0, 0, −1), q1 to q1 . There we again switch to Phase (a), repeating the process until
one of the counters hits zero.
One can straightforwardly check that the total effect of performing Phase (a) once is setting y to 1
while setting x to xa +2ya , where xa , ya are the values of x, y before the start of the phase. Similarly,
The total effect of performing Phase (b) once is setting x to 1 while setting y to yb + 2xb , where
xb , yb are the values of x, y before the start of the phase. Hence, the total effect of consecutively
performing Phases (a) and (b) once can be bounded from below as follows: setting x to 1 and
multiplying y by 4. Hence, the total effect of performing N consecutive iterations of Phases (a) and
(b) is setting x to 1, multiplying y by 4N and decreasing z by N . Since z decreases exactly during
the witch from Phase (b) to Phase (a), we can perform exactly n consecutive iterations of (a) and
(b). But increasing y from n to 4n requires at least 4n − n steps in VASS, hence the termination
complexity of A is at least exponential. The matching asymptotic upper bound is easy to get.
The key idea of the previous example can be used as building block for showing that higherdimensional terminating VASS satisfying (D) can have even larger termination complexity than
exponential. Already in dimension 4, the complexity can be non-elementary.
Example 4.10. Consider the 4-dimensional strongly connected VASS in Fig. 4. As before, we
denote by x, y, z, w the individual counters.
For n ∈ N we construct a zero-avoiding computation α(n) started in q1~n whose length in nonelementary. The construction again proceeds by switching between various phases and the phases
we consider are the following: in Phase (a) we iterate cycle q1 , (−1, 1, 0, 0), q2 , (0, 1, 0, 0), q1 from
q1 as long as x ≥ 2. The effect of a single execution of (a) is setting x to 1 and y to ya + 2xa
(as before vp denotes the value of counter v at the start of phase (p)). In Phase (b) we iterate
the self-loop on q3 as long as y ≥ 2, the effect of the phase is setting y to 1 and x to xb + yb .

18

(0,0,-1,0)
(1,-1,0,0)

(-1,1,0,0)

q3

q1

q2

(0,0,0,0)

(0,1,0,0)

(0,0,0,-1)

(0,0,0,0)
q4

(1,-1,1,0)

Figure 4: A 4-dimensional VASS satisfying condition (D) which has a non-elementary termination
complexity.
Phase (c) consists of iterating the self-loop on q4 as long as y ≥ 2 and the effect is setting y to 1
and x and z to xc + yc and zc + yc , respectively. Switching from (b) to (a) or (c) decreases z by 1,
while switching from (c) to (a) or (b) decreases w by 1. Now the construction of α(n) proceeds as
follows: we switch between Phases (a) and (b) as long as z ≥ 2, after which we perform Phase
(a) once more. We call this a Phase (d) and the total effect of (d) is setting x and z to 1, and y
to a number at least 4zd · xd . After Phase (d) we go to q4 and execute Phase (c), after which we
go to q1 and start (d) again, repeating the process until a configuration with a zero counter is hit.
The total effect of a single consecutive execution of (d) and (c) is setting y to 1 and x and z to
a number at least 2zd · xd . Since w is only decremented when switching from (d) to (c), we can
repeat this consecutive execution at least n times. An easy induction shows that after i repeats of
the consecutive executions of (d) and (c) the value of x is at least
n

22

··· 2

ξn := n · 2 | {z } .
n times

Hence, the length of α(n) is at least ξn , i.e. non-elementary.
Figure 3 also provides an example showing that lexicographic ranking functions are not sound
for polynomial bounds on termination complexity. We first define the notion of lexicographic
ranking function for VASS: we specialize the standard definition of a lexicographic ranking
functions for affine automata [4] (a generalization of VASS which models general linear arithmetic
programs). Formally, an m-dimensional lexicographic map for a VASS A = (Q, T ) is a collection
{fqj | q ∈ Q, 1 ≤ j ≤ m} of linear functions of counter values, one function per state and
1 ≤ j ≤ m (we allow m to be different from the dimension d of A). A lexicographic map
{fqj | q ∈ Q, 1 ≤ j ≤ m} is a lexicographic -ranking function for A if each fqj is bounded
from below on N and for each transition (q, u, q 0 ) of A there exists 1 ≤ j ≤ m such that
0
0
f j0 (u) ≤ fqj (~0) −  and for all 1 ≤ j 0 < j it holds f j0 (u) ≤ fqj (~0). A standard argument shows
q

q

that if A has a lexicographic -ranking function for, then it is terminating. However, lexicographic
ranking functions are not sound for polynomial complexity bounds.
Example 4.11. Consider the VASS A in Figure 3. Then, denoting the first, second, and third counter
as x, y, z, respectively, there is the following 3-dimensional lexicographic 12 -ranking function for
19

A (we denote fq = (fq1 , . . . , fqm )): fq1 = (z, y, x), fq2 = (z, y − 12 , x), fq4 = (z − 12 , x, y),
fq3 = (z − 12 , x − 12 , y). But as shown in Example 4.9, the VASS has exponential termination
complexity.

5
5.1

Technical Proofs
Proof of Theorem 3.5

We describe a polynomial time-algorithm for deciding whether a given VASS has linear termination
complexity. Recall from the proof sketch that it suffices to solve an equivalent problem whether
there is an open half-space Hn of Rd such that n ≥ ~0 and Inc ⊆ Hn .
Let us formalize our intuition presented in the proof sketch. We need to introduce some additional
notation: An infinite path π is an infinite sequence of the form p0 , u1 , p1 , u2 , p2 , . . . where for
each n ≥ 1 the finite subsequence p0 , u1 , p1 , u2 , p2 , . . . , un , pn is a finite path. We denote by π↓n
the finite prefix p0 , u1 , p1 , u2 , p2 , . . . , un , pn of π. Given an infinite path π, we define the mean
change of n-value as
eff (π↓n ) · n
.
n→∞
n
Consider the following linear program L obtained from [60], Section 8.8, by substituting the reward
MC n (π) = lim inf

r(s, a) with u · n where u is an effect of a transition:
Minimize g with respect to the following constraints:
For all (q, u, q 0 ) ∈ T
g + h(q) − h(q 0 ) ≥ u · n
and
n ≥ ~0.
Here, the variables are g, all h(q), q ∈ Q, and all components of n. By applying the results of [60],
for every optimal solution g, h, n we have that
g = sup MC n (π).
π

Moreover, there is at least one feasible solution.
We prove that there is n ≥ ~0 such that the open half-space Hn contains Inc iff an optimal solution
g, h, n of the above program satisfies g < 0.
Consider an optimal solution g, h, n of the above program. Assume that g < 0. We show that
Inc ⊆ Hn . For the sake of contradiction, assume that there is a short cycle π such that eff (π)·n ≥ 0.
Following the cycle π ad infinitum determines an infinite path π with MC n (π) ≥ 0. However, this
contradicts the fact that 0 > g = supπ MC n (π).

20

Now assume there is n ≥ ~0 such that Inc ⊆ Hn . Let π be an infinite path. Let us fix n ≥ 1
and consider Decomp(π↓n ), the decomposition of π↓n into short cycles. Let Rest(π↓n ) be the
remaining path obtained after removing all short cycles of Decomp(π↓n ) from π↓n . Note that the
~ · n.
length of Rest(π↓n ) is at most |Q|, and hence eff (Rest(π↓n )) · n ≤ |Q|
Now let m be the length (i.e., the number of elements) of the list Decomp(π↓n ). Note that
m ≥ n/|Q| − 1. Consider ε > 0 such that for all short cycles α we have that eff (α) · n ≤ −ε.
Then
eff (π↓n )

≤

~
m·(−ε)+|Q|·n

≤

~
(n/|Q|−1)·(−ε)+|Q|·n

=

~
(n·(−ε)/|Q|)+(|Q|·n+ε)

and thus
eff (π↓n )
n

≤

~ · n + ε)
(n · (−ε)/|Q|) + (|Q|
n

=

~ · n + ε)
−ε (|Q|
+
.
|Q|
n

~ · n + ε)/n = 0, we obtain that MC n (π) ≤ (−ε)/|Q|. As π was chosen
Since limn→∞ (|Q|
arbitrarily, we have that

−ε
< 0.
|Q|
π
Hence, there is a solution g, h, n of the above linear program with g < 0.
sup MC n (π)

≤

In order to decide whether there is an open half-space Hn of Rd such that n ≥ ~0 and Inc ⊆ Hn , it
suffices to compute an optimal solution g, h, n of the above linear program, which can be done in
polynomial time (see, e.g., [51]), and check whether g < 0.
Now we get back to weighted linear ranking functions. Note that each solution g, h, n of the linear
program L in which g < 0 yields a weighted linear ranking function (c, {hq | q ∈ Q}) by putting
c := n and hq := h(q) for each q. Conversely, each weighted linear ranking function yields a
solution of L where g < 0, (we need to put g := −, where  is from the definition of a weighted
lin. ranking function). Hence, a VASS A has linear termination complexity if and only if it has a
weighted linear ranking function and this can be decided in polynomial time in size of A.

5.2

Proof of Theorem 4.2

If condition (A) or (B) holds, there is no n ≥ ~0 such that Inc ⊆ Ĥn . We show that then there exists
u ∈ cone(Inc) such that u > ~0. Suppose there is no such u. Let B be the set of all v > ~0. Since
cone(Inc) and B are convex and disjoint, there is a separating hyperplane with normal n ≥ ~0 for
cone(Inc) and B. Since cone(Inc) ⊆ Ĥn , we have a contradiction.
P
So, let u > ~0 such that u = ki=1 ai · vi , where ai ∈ Q+ and vi ∈ Inc for all 1 ≤ i ≤ k. Hence,
P
there also exist b1 , . . . , bk ∈ N+ such that w = k bi · vi > ~0. Let us fix a cycle π in A visiting
i=1

all control states (here we need that A is strongly connected). Clearly, there exists c ∈ N such that
eff (π) + c · w > 0. Let % be a cycle obtained from π by inserting c · bi copies of a short cycle γi ,
where eff (γi ) = vi . Then, eff (%) > ~0, and hence there exists an infinite computation initiated in
p~n for a sufficiently large n ∈ N (the control state p can be chosen arbitrarily).
21

5.3

Proof of Lemma 4.5

Due to condition (C), there exists at least one positive normal. Hence, we can fix a positive
n ∈ Normals(A) such that the set {u ∈ Inc | u · n = 0} is minimal. We show that for every
v ∈ cone(Inc) we have that −v ∈ cone(Inc) iff v · n = 0, i.e., n is a good normal. The “⇒”
direction immediate—if v, −v ∈ cone(Inc), then v · n ≤ 0 and −v · n ≤ 0, which implies
v · n = 0. For the other direction, suppose there exists v ∈ cone(Inc) such that v · n = 0 and
−v 6∈ cone(Inc). Then there also exists u ∈ Inc such that u · n = 0 and −u 6∈ cone(Inc). For
the rest of this proof, we fix such u. By Farkas’ lemma, there exists a separating hyperplane for
cone(Inc) and −u with normal vector n0 , i.e., −u · n0 > 0 and v · n0 ≤ 0 for every v ∈ cone(Inc).
Let us fix a sufficiently small ε > 0 such that n + εn0 > ~0 and v · (n + εn0 ) < 0 for all v ∈ Inc
where v · n < 0. Clearly, n + εn0 is a positive normal. Further, for all v ∈ cone(Inc) such that
v · n < 0 we have that v · (n + εn0 ) < 0. Since u · (n + εn0 ) < 0, we obtain a contradiction with
the minimality of n.
To compute a good normal, first observe that the condition of Definition 4.3 can be safely relaxed
just to the vectors of Inc, i.e., if n ∈ Normals(A) such that n > ~0 and −v ∈ cone(Inc) iff
v · n = 0 for every v ∈ Inc, then n is a good normal. To see this, fix some n with this property,
P
and let u = ki=1 ai · vi , where ai ∈ R+ and vi ∈ Inc for all 1 ≤ i ≤ k. We need to show that
P 0
−u ∈ cone(Inc) iff u · n = 0. If −u ∈ cone(Inc), then −u = ki=1 a0j · vi0 where a0i ∈ R+ and
vi0 ∈ Inc for all 1 ≤ i ≤ k 0 . Hence,
~0 = u + (−u) =

k
X

0

ai · vi +

i=1

k
X

a0i · vi0 .

i=1

Hence,
0 = (u + (−u)) · n =

k
X

0

a i · vi · n +

i=1

k
X

a0i · vi0 · n.

i=1

· n ≤ 0 for all 1 ≤ i ≤ k and all 1 ≤ i0 ≤ k 0 , we obtain vi · n = 0 for all
P
1 ≤ i ≤ k, hence u · n = 0. On the other hand, if u · n = 0, then ki=1 ai · vi · n = 0. Since ai > 0
Since vi · n ≤ 0 and

vi0

and vi · n ≤ 0 for all 1 ≤ i ≤ k, we have that vi · n = 0 for all 1 ≤ i ≤ k. Hence −vi ∈ cone(Inc)
P
for every 1 ≤ i ≤ k (by our assumption), and −u = ki=1 ai · (−vi ) ∈ cone(Inc).
Using the above observation, we can compute a good normal using linear programming as follows:
First, compute the set I = {v ∈ Inc | −v ∈ cone(Inc)}. Note that I can be computed easily by
checking feasibility of the following linear constraints:
−v =

X

au · u

and

au ≥ 0.

u∈Inc

Here, the variables are au . A good normal can be computed using the following linear program:

22

Maximize ε with respect to the following constraints:
u · n = 0 for all u ∈ I
v · n ≤ −ε for all v ∈ Inc r I
n ≥ ~ε.
Here, the variables are ε and all components of n.
Note that there is a good normal iff there is an optimal solution with ε > 0. Moreover, every
optimal solution ε, n with ε > 0 gives a good normal n.

5.4

Proof of Theorem 4.6

Now start by formulating an auxiliary technical lemma which is needed in the proof of Theorem 4.6.
Lemma 5.1. Let A be a VASS satisfying (C), and let n be a good normal. Then there is a constant
κ ∈ R+ such that for every w ∈ cone(Inc), where w · n = 0 and norm(w) = 1, there exist
P
k ∈ N, a1 , . . . , ak ∈ R+ , and v1 , . . . , vk ∈ Inc such that w = kj=1 aj · vj , vj · n = 0 for all
P 0
1 ≤ j ≤ k, and for all k 0 ≤ k, the absolute values of all components of the vector kj=1 aj · vj are
bounded by κ.
Proof. Let w =
Clearly, w · n =

Pk

Pj=1
k

aj · vj where aj ∈ R+ , vj ∈ Inc for all 1 ≤ j ≤ k, and k is minimal.

j=1 aj

· (vj · n) = 0, which implies vj · n = 0 for all 1 ≤ j ≤ k (recall

that vj · n ≤ 0 because n ∈ Normals(A)). First, we show that for every j ≤ k, the vector
−vj does not belong to cone({v1 , . . . , vj−1 , vj+1 , . . . , vk }). Assume the converse, i.e., −v1 ∈
P
cone({v2 , . . . , vk }). Then −v1 = kj=2 bj · vj , where bj ∈ R+ for all 2 ≤ j ≤ k. Further,
w

=

(a1 − c) · v1 + (a2 − cb2 ) · v2 + · · · + (ak − cbk )vk

for every c > 0. Clearly, there exists c > 0 such that at least one of the coefficients (a1 − c),
(a2 − cb2 ), . . . , (ak − cbk ) is zero and the other remain positive, which contradicts the minimality of k. Since {v1 , . . . , vk } ⊆ Ĥn , there must exist n0 > ~0 such that {v1 , . . . , vk } ⊆ Hn0
(otherwise, we can use the same argument as in the proof of Case (a) of Lemma 3.2 to show
that −vj ∈ cone({v1 , . . . , vj−1 , vj+1 , . . . , vk }) for some 1 ≤ j ≤ k). Since vj · n0 < 0 for
all 1 ≤ j ≤ k, each vj moves in the direction of −n by some fixed positive distance. Since
norm(w) = 1, there is a bound δv1 ,...,vk ∈ R+ such that aj ≤ δv1 ,...,vk for all 1 ≤ j ≤ k, because
no aj · vj can go in the direction of −n by more than a unit distance.
The above claim applies to every w ∈ cone(Inc) where w · n = 0. Since Inc is finite, there
are only finitely many candidates for the set of vectors {v1 , . . . , vk } used to express w, and
hence there exists a fixed upper bound δ ∈ R+ for all δv1 ,...,vk . This means that, for every
w ∈ cone(Inc) where w · n = 0, there exist k ∈ N, a1 , . . . , ak ∈ R+ , and v1 , . . . , vk ∈ Inc such
P
that w = kj=1 aj · vj , vj · n = 0, and aj ≤ δ for all 1 ≤ j ≤ k. This immediately implies the
existence of κ.
23

Now can formalize the proof of Theorem 4.6.
All cycles of AnCi are n-neutral. First, realize that for every cycle η of A (not necessarily short)
P
we have that eff (η) · n = γ∈Decomp(η) eff (γ) · n ≤ 0. Now let β = p0 , u1 , p1 , u2 , p2 , . . . , un , pk
be a cycle of AnCi (not necessarily short). Then each transition (pj , uj+1 , pj+1 ) of β is contained in
some n-neutral short cycle γi of A. Let %i be the (unique) path from pj+1 to pj determined by γj ,
P
and let % = %k−1 · · · %0 . Then eff (β)+eff (%) = k−1
j=0 eff (γj ). Hence, eff (β)·n+eff (%)·n =
Pk−1
j=0 eff (γj ) · n = 0. Thus, we obtain eff (β) · n = − eff (%) · n. Since both β and % are cycles
of A, we have that eff (β) · n ≤ 0 and eff (%) · n ≤ 0, which implies eff (β) · n = 0.
Constructing the paths of length Θ(fi (n)). Since the termination complexity of AnCi is Θ(fi (n)),
there is b ∈ R+ such that for all sufficiently large n ∈ N there exist a configuration pn~n and a
zero-avoiding computation βn of length at least b · fi (n) initiated in pn~n. Since πβn inevitably
contains a cycle whose length is at least b0 · fi (n) (for some fixed b0 ∈ R+ independent of βn ), we
can safely assume that πβn is actually a cycle, which implies eff (πβn ) ∈ cone(Inc).
Constructing the compensating path.

Since πβn is n-neutral and eff (πβn ) ∈ cone(Inc), we

have that − eff (πβn ) ∈ cone(Inc). This is where we use the defining property of a good normal.
P
+
Since − eff (πβn ) = m
j=1 aj · vj , where m ∈ N, aj ∈ Q , and vj ∈ Inc for all 1 ≤ j ≤ m, a
straightforward idea is to define the compensating path by “concatenating” baj c copies of γj , where
eff (γj ) = vj , for all 1 ≤ j ≤ m. This would produce the desired effect on the counters, but there
is no bound on the counter decrease in intermediate configurations visited when executing this path.
To overcome this problem, we construct the compensating path for πβn more carefully. Let w be
the normalized eff (πβn ), i.e., w has the same direction as eff (πβn ) but its norm is equal to 1. By
P
+
Lemma 5.1, −w is expressible as −w = m
j=1 aj · vj , where m ∈ N, aj ∈ Q , and vj ∈ Inc, so
that vj · n = 0 for all 1 ≤ j ≤ m, and for all m0 ≤ m, the absolute values of all components of the
P 0
vector m
j=1 aj · vj are bounded by κ, where κ is a constant independent of w. Let us fix some
cycle η of AnCi visiting all of its states (recall that AnCi is strongly connected). The compensating
path for πβn is obtained from η by inserting bnorm(eff (πβn )) · aj c copies of a short cycle with
effect vj , for every 1 ≤ j ≤ m. Observe that the difference between the effect of this compensating
path and − eff (πβn ) is bounded by a constant vector independent of n. Further, when executing
the compensating path, the counters are never decreased by more that κ · norm(eff (πβn )).
Constructing a zero-avoiding computation αn of length Ω(n · fi (n)).

Now we are ready to put

the above ingredients together, which still requires some effort. Let us fix a sufficiently large n ∈ N
and a configuration pv where ||pv|| = n and p is a control state of AnCi . Let q be the first state of
πβn . If we started αn in pv by executing a finite path which changes the control state from p to the
first control state of πβn (which takes at most |Q| transitions) and continued by executing πβn , the
counters could potentially reach values arbitrarily close to zero (it might even happen that πβn is
not executable). Instead, we fix a suitable n0 ≤ n satisfying n − n0 ≥ κ · norm(eff (πβn0 )) + |Q|.
√
√
Since norm(eff (πβn0 )) ≤ d · n0 , we can safely put n0 = (n − |Q|)/(1 + κ d). Now, we can
initiate αn by a short finite path which changes the control state from p to the first control state

24

√
of πβn0 , and continue by executing πβn0 . Note that (1 + κ d) is a constant, so decreasing n to
n0 has no influence in the asymptotic length of the constructed computation. Then, we can safely
execute the compensating path for πβn0 , and thus reach a configuration qu where we continue in
the same way as in pv, i.e., execute another finite path of length Θ(fi (n)) and its corresponding
compensating path. Since the v − u is bounded by a constant vector, this can be repeated Ω(n)
times before reaching a configuration where some counter value is not sufficiently large to perform
another “round”. Hence, the length of the resulting αn is Ω(n · fi (n)).

6

Related Work

In this section we discuss the related work.
Resource analysis. Our work is most closely related to automatic amortized analysis [38, 39, 40, 41,
42, 46, 45, 36, 31], as well as the SPEED project [34, 35, 33]. All these works focus on worst-case
asymptotic bounds for programs, and present sound methods but not complete methods for upper
bounds, i.e., even though the asymptotic bound is linear or quadratic, the approaches may still fail
to provide any upper bound. However, all these works consider general programs rather than the
model of VASS. In contrast, we consider VASS and present sound and complete method to derive
tight (upper and matching lower) polynomial complexity bounds.
Recurrence relations. Other approaches for bounds analysis involve recurrence relations, such
as [32, 29, 1, 2, 3]. Even for relatively simple programs the recurrence are quite complex, and
cannot be obtained automatically. In contrast, we present a polynomial-time approach for optimal
asymptotic bounds for VASS.
Ranking functions and extensions. Ranking functions for intraprocedural analysis have been widely
studied [7, 9, 20, 59, 67, 21, 70, 63]. Most works have focussed on linear or polynomial ranking
functions [20, 59, 67, 21, 70, 63], as well as non-polynomial bounds [14]. Again, these approaches
are sound, but not complete even to derive upper bounds for VASS. The notion of ranking functions
have been also extended to ranking supermartingales [10, 28, 15, 13, 16] for expected termination
time of probabilistic programs, but such approaches do not present polynomial asymptotic bounds.
Results on VASS. The model of VASS [50] or equivalently Petri nets are a fundamental model
for parallel programs [25, 50] as well as parameterized systems [6]. The termination problems
(counter-termination, control-state termination) as well as the related problems of boundedness
and coverability have been a rich source of theoretical problems that have been widely studied [56,
61, 23, 24, 8]. The complexity of the termination problem with fixed initial configuration is
EXPSPACE-complete [56, 71, 5]. Recent work such as [66, 6] shows how VASS and subclass of
VASS (such as lossy VASS) provide a natural model for abstraction and analysis of programs as well
as parametrized systems. The work of [66] also considers lexicographic ranking functions to obtain
sound asymptotic upper bounds for lossy VASS. However, this approach is not complete, and also
25

do not consider tight complexity bounds (but only upper bounds). Besides the termination problem,
the more general reachability problem where given a VASS, an initial and a final configuration,
whether there exists a path between them has also been studied [57, 53, 55]. The reachability
problem is decidable [57, 53, 55], and EXPSPACE-hard [56], and the current best-known upper
bound is cubic Ackermannian [54], a complexity class belonging to the third level of a fast-growing
complexity hierarchy introduced in [62].
Other related approaches are sized types [17, 43, 44], and polynomial resource bounds [65]. Again
none of these approaches are complete for VASS nor they can yield tight asymptotic complexity
bounds.
Hyperplane-separation technique and existence of infinite computation. The problem of existence
of infinite computations in VASS has been studied in the literature. Polynomial-time algorithms
have been presented in [11, 68] using results of [52]. In the more general context of games
played on VASS, even deciding the existence of infinite computation is coNP-complete [11,
68], and various algorithmic approaches based on hyperplane-separation technique have been
studied [12, 47, 18]. In this work we also consider normals of effects of cycles in VASS, which is
related to hyperplane-separation technique. However all previous works consider hyperplane-based
techniques to determine the existence of infinite computations on games played on VASS, and do
not consider asymptotic time of termination. In contrast, we present the first approach to show
that hyperplane-based techniques can be used to derive tight asymptotic complexity bounds on
termination time for VASS.

7

Conclusion

In this paper, we studied the problem of obtaining precise polynomial asymptotic bounds for VASS.
We obtained a full end efficient characterization of all VASS with linear termination complexity.
Then we considered polynomial termination for strongly connected VASS, dividing them into four
disjoint classes (A)–(D). For the first two classes, we proved that the VASS are non-terminating.
For VASS in (C), we obtained a full and effective characterization of termination complexity. For
the last class (D), we have shown that the termination complexity can be exponential even for
dimension three. The results are applicable also to general (i.e., non-strongly connected VASS), by
analyzing the individual SCCs. Some extra effort is needed in (C), because here a possible increase
in the size of configurations accumulated in a given SCC before moving into another SCC must be
taken into account. To keep our proofs reasonably simple, we considered just strongly connected
VASS.
Our result gives rise to a number of interesting directions for future work. First, whether our precise
complexity analysis or the complete method can be extended to other models in program analysis
(such as affine programs with loops) is an interesting theoretical direction to pursue. Second, in the
practical direction, using our result for developing a scalable tool for sound and complete analysis
26

of asymptotic bounds for VASS and their applications in program analysis is also an interesting
subject for future work.

References
[1] Elvira Albert, Puri Arenas, Samir Genaim, Miguel Gómez-Zamalloa, German Puebla, Diana V.
Ramírez-Deantes, Guillermo Román-Díez, and Damiano Zanardini. Termination and cost
analysis with COSTA and its user interfaces. ENTCS, 258(1):109–121, 2009.
[2] Elvira Albert, Puri Arenas, Samir Genaim, and Germán Puebla. Automatic inference of
upper bounds for recurrence relations in cost analysis. In SAS, volume 5079 of LNCS, pages
221–237. Springer, 2008.
[3] Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, and Damiano Zanardini. Cost
analysis of java bytecode. In ESOP, volume 4421 of LNCS, pages 157–172. Springer, 2007.
[4] Christophe Alias, Alain Darte, Paul Feautrier, and Laure Gonnord. Multi-dimensional
rankings, program termination, and complexity bounds of flowchart programs. In SAS, pages
117–133. Springer-Verlag, 2010.
[5] Mohamed Faouzi Atig and Peter Habermehl. On yen’s path logic for petri nets. IJFCS,
22(04):783–799, 2011.
[6] Roderick Bloem, Swen Jacobs, Ayrat Khalimov, Igor Konnov, Sasha Rubin, Helmut Veith,
and Josef Widder. Decidability in parameterized verification. SIGACT News, 47(2):53–64,
2016.
[7] Olivier Bournez and Florent Garnier. Proving positive almost-sure termination. In RTA, pages
323–337, 2005.
[8] Laura Bozzelli and Pierre Ganty. Complexity Analysis of the Backward Coverability Algorithm
for VASS. In RP, pages 96–109. Springer, 2011.
[9] Aaron R. Bradley, Zohar Manna, and Henny B. Sipma. Linear ranking with reachability. In
CAV, volume 3576 of LNCS, pages 491–504. Springer, 2005.
[10] Aleksandar Chakarov and Sriram Sankaranarayanan. Probabilistic program analysis with
martingales. In CAV, volume 8044 of LNCS, pages 511–526. Springer, 2013.
[11] Krishnendu Chatterjee, Laurent Doyen, Thomas A. Henzinger, and Jean-Francois Raskin.
Generalized mean-payoff and energy games. In FSTTCS, pages 505–516, 2010.
[12] Krishnendu Chatterjee and Yaron Velner. Hyperplane separation technique for multidimensional mean-payoff games. In CONCUR, pages 500–515. LNCS 8052, Springer, 2013.

27

[13] Krishnendu Chatterjee, Hongfei Fu, and Amir Kafshdar Goharshady. Termination analysis of
probabilistic programs through positivstellensatz’s. In CAV (I), pages 3–22, 2016.
[14] Krishnendu Chatterjee, Hongfei Fu, and Amir Kafshdar Goharshady. Non-polynomial worstcase analysis of recursive programs. In CAV, pages 41–63, 2017.
[15] Krishnendu Chatterjee, Hongfei Fu, Petr Novotný, and Rouzbeh Hasheminezhad. Algorithmic
analysis of qualitative and quantitative termination problems for affine probabilistic programs.
In POPL, pages 327–342. ACM, 2016.
[16] Krishnendu Chatterjee, Petr Novotný, and Dorde Zikelic. Stochastic invariants for probabilistic
termination. In POPL, pages 145–160, 2017.
[17] Wei-Ngan Chin and Siau-Cheng Khoo. Calculating sized types. In Higher-Order and Symbolic
Computation, 14(2-3):261–300, 2001.
[18] Thomas Colcombet, Marcin Jurdzinski, Ranko Lazic, and Sylvain Schmitz. Perfect half space
games. In CoRR, 2017.
[19] Michael Colón, Sriram Sankaranarayanan, and Henny Sipma. Linear invariant generation
using non-linear constraint solving. In CAV, volume 2725 of LNCS, pages 420–432. Springer,
2003.
[20] Michael Colón and Henny Sipma. Synthesis of linear ranking functions. In TACAS, volume
2031 of LNCS, pages 67–81. Springer, 2001.
[21] Patrick Cousot. Proving program invariance and termination by parametric abstraction,
Lagrangian relaxation and semidefinite programming. In VMCAI, volume 3385 of LNCS,
pages 1–24. Springer, 2005.
[22] Emanuele D’Osualdo, Jonathan Kochems, and C. H. Luke Ong. Automatic Verification of
Erlang-Style Concurrency. In SAS, pages 454–476. Springer 2013.
[23] Javier Esparza. Decidability and complexity of petri net problems—an introduction. Petri
nets, pages 374–428, 1996.
[24] Javier Esparza, Ruslán Ledesma-Garza, Rupak Majumdar, Philipp Meyer, and Filip Niksic.
An SMT-Based Approach to Coverability Analysis. In CAV, pages 603–619, Springer, 2014.
[25] Javier Esparza and Mogens Nielsen. Decidability issues for petri nets - a survey. In Bulletin
of the EATCS, 52:245–262, 1994.
[26] Uli Fahrenberg, Line Juhl, Kim G. Larsen, Jiří Srba. Energy Games in Multiweighted
Automata. In Theoretical Aspects of Computing – ICTAC 2011, volume 6916 of LNCS, pages
95–115. Springer, 2011.
[27] Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, and Thomas W. Reps. Component-based
synthesis for complex apis. In POPL, pages 599–612, ACM, 2017.

28

[28] Luis María Ferrer Fioriti and Holger Hermanns. Probabilistic termination: Soundness,
completeness, and compositionality. In POPL, pages 489–501. ACM, 2015.
[29] Philippe Flajolet, Bruno Salvy, and Paul Zimmermann. Automatic average-case analysis of
algorithm. TCS, 79(1):37–109, 1991.
[30] Pierre Ganty and Rupak Majumdar. Algorithmic verification of asynchronous programs.
TOPLAS, 34(1):6:1–6:48, May 2012.
[31] Stéphane Gimenez and Georg Moser. The complexity of interaction. In POPL, pages 243–255.
ACM, 2016.
[32] Bernd Grobauer. Cost recurrences for DML programs. In ICFP, pages 253–264. ACM, 2001.
[33] Bhargav S. Gulavani and Sumit Gulwani. A numerical abstract domain based on expression
abstraction and max operator with application in timing analysis. In CAV, volume 5123 of
LNCS, pages 370–384. Springer, 2008.
[34] Sumit Gulwani. SPEED: symbolic complexity bound analysis. In CAV, volume 5643 of
LNCS, pages 51–62. Springer, 2009.
[35] Sumit Gulwani, Krishna K. Mehra, and Trishul M. Chilimbi. SPEED: precise and efficient
static estimation of program computational complexity. In POPL, pages 127–139. ACM,
2009.
[36] Jan Hoffmann, Klaus Aehlig, and Martin Hofmann. Multivariate amortized resource analysis.
TOPLAS, 34(3):14, 2012.
[37] Jan Hoffmann, Klaus Aehlig, and Martin Hofmann. Resource aware ML. In CAV, volume
7358 of LNCS, pages 781–786. Springer, 2012.
[38] Jan Hoffmann and Martin Hofmann. Amortized resource analysis with polymorphic recursion
and partial big-step operational semantics. In APLAS, volume 6461 of LNCS, pages 172–187.
Springer, 2010.
[39] Jan Hoffmann and Martin Hofmann. Amortized resource analysis with polynomial potential.
In ESOP, volume 6012 of LNCS, pages 287–306. Springer, 2010.
[40] Martin Hofmann and Steffen Jost. Static prediction of heap space usage for first-order
functional programs. In POPL, pages 185–197. ACM, 2003.
[41] Martin Hofmann and Steffen Jost. Type-based amortised heap-space analysis. In ESOP,
volume 3924 of LNCS, pages 22–37. Springer, 2006.
[42] Martin Hofmann and Dulma Rodriguez. Efficient type-checking for amortised heap-space
analysis. In CSL, volume 5771 of LNCS, pages 317–331. Springer, 2009.
[43] John Hughes and Lars Pareto. Recursion and dynamic data-structures in bounded space:
Towards embedded ML programming. In ICFP, pages 70–81. ACM, 1999.
29

[44] John Hughes, Lars Pareto, and Amr Sabry. Proving the correctness of reactive systems using
sized types. In POPL, pages 410–423. ACM Press, 1996.
[45] Steffen Jost, Kevin Hammond, Hans-Wolfgang Loidl, and Martin Hofmann. Static determination of quantitative resource usage for higher-order programs. In POPL, pages 223–236.
ACM, 2010.
[46] Steffen Jost, Hans-Wolfgang Loidl, Kevin Hammond, Norman Scaife, and Martin Hofmann.
"carbon credits" for resource-bounded computations using amortised analysis. In FM, volume
5850 of LNCS, pages 354–369. Springer, 2009.
[47] Marcin Jurdzinski, Ranko Lazic, and Sylvain Schmitz. Fixed-dimensional energy games are
in pseudo-polynomial time. In ICALP pages 260–272, 2015.
[48] Alexander Kaiser, Daniel Kroening, and Thomas Wahl. Dynamic Cutoff Detection in Parameterized Concurrent Programs. In CAV, volume 6174 of LNCS, pages 645–659. Springer,
2010.
[49] Alexander Kaiser, Daniel Kroening, and Thomas Wahl. Efficient Coverability Analysis by
Proof Minimization. IN CONCUR, pages 500–515. Springer, 2012.
[50] Richard M. Karp and Raymond E. Miller. Parallel program schemata. JCSS, 3(2):147–195,
1969.
[51] Leonid Genrikhovich Khachiyan. A polynomial algorithm in linear programming. Doklady
Akademii Nauk SSSR, 244:1093–1096, 1979.
[52] S. Rao Kosaraju and Gregory F. Sullivan. Detecting cycles in dynamic graphs in polynomial
time. In STOC, pages 398–406, 1988.
[53] S. Rao Kosaraju. Decidability of reachability in vector addition systems (preliminary version).
In STOC, pages 267–281. ACM, 1982.
[54] Jérôme Leroux and Sylvain Schmitz. Demystifying reachability in vector addition systems.
In LICS, pages 56–67. ACM/IEEE 2015.
[55] Jérôme Leroux. Vector addition system reachability problem: A short self-contained proof.
In POPL, pages 307–316. ACM, 2011.
[56] Richard J. Lipton. The reachability problem requires exponential space. Technical report 62,
1976.
[57] Ernst W. Mayr. An Algorithm for the General Petri Net Reachability Problem. In SIAM,
13:441–460, 1984.
[58] Ernst W. Mayr and Albert R. Meyer. The complexity of the finite conainment problem for
Petri nets. Journal of the ACM, pages 561–576, 1981.

30

[59] Andreas Podelski and Andrey Rybalchenko. A complete method for the synthesis of linear
ranking functions. In VMCAI, volume 2937 of LNCS, pages 239–251. Springer, 2004.
[60] Martin L. Puterman. Markov Decision Processes. Wiley, 1994.
[61] Charles Rackoff. The Covering and Boundedness Problems for Vector Addition Systems.
TCS, 6:223–231, 1978.
[62] Sylvain Schmitz. Complexity hierarchies beyond elementary. TOTC, 8(1):3:1–3:36, February
2016.
[63] Liyong Shen, Min Wu, Zhengfeng Yang, and Zhenbing Zeng. Generating exact nonlinear
ranking functions by symbolic-numeric hybrid method. J. Systems Science & Complexity,
26(2):291–301, 2013.
[64] Alfonso Shimbel. Applications of matrix algebra to communication nets. The bull. math.
biophysics, 13(3):165–178, Sep 1951.
[65] Olha Shkaravska, Ron van Kesteren, and Marko C. J. D. van Eekelen. Polynomial size
analysis of first-order functions. In TLCA, volume 4583 of LNCS, pages 351–365. Springer,
2007.
[66] Moritz Sinn, Florian Zuleger, and Helmut Veith. A simple and scalable static analysis for
bound analysis and amortized complexity analysis. In CAV, pages 745–761, 2014.
[67] Kirack Sohn and Allen Van Gelder. Termination detection in logic programs using argument
sizes. In PODS, pages 216–226. ACM Press, 1991.
[68] Yaron Velner, Krishnendu Chatterjee, Laurent Doyen, Thomas A. Henzinger, Alexander
Rabinovich, and Jean-Francois Raskin. The complexity of multi-mean-payoff and multienergy games. Inf. Comput., 241:177–196, 2015.
[69] Reinhard Wilhelm. The worst-case execution-time problem - overview of methods and survey
of tools. TECS, 7(3), 2008.
[70] Lu Yang, Chaochen Zhou, Naijun Zhan, and Bican Xia. Recent advances in program
verification through computer algebra. FCS, 4(1):1–16, 2010.
[71] Hsu-Chun Yen. A unified approach for deciding the existence of certain petri net paths.
Information and Computation, 96(1):119–137, 1992.

31

