17 research outputs found
On Termination of Integer Linear Loops
A fundamental problem in program verification concerns the termination of
simple linear loops of the form x := u ; while Bx >= b do {x := Ax + a} where x
is a vector of variables, u, a, and c are integer vectors, and A and B are
integer matrices. Assuming the matrix A is diagonalisable, we give a decision
procedure for the problem of whether, for all initial integer vectors u, such a
loop terminates. The correctness of our algorithm relies on sophisticated tools
from algebraic and analytic number theory, Diophantine geometry, and real
algebraic geometry. To the best of our knowledge, this is the first substantial
advance on a 10-year-old open problem of Tiwari (2004) and Braverman (2006).Comment: Accepted to SODA1
Reachability problems for PAMs
Piecewise affine maps (PAMs) are frequently used as a reference model to show
the openness of the reachability questions in other systems. The reachability
problem for one-dimentional PAM is still open even if we define it with only
two intervals. As the main contribution of this paper we introduce new
techniques for solving reachability problems based on p-adic norms and weights
as well as showing decidability for two classes of maps. Then we show the
connections between topological properties for PAM's orbits, reachability
problems and representation of numbers in a rational base system. Finally we
show a particular instance where the uniform distribution of the original orbit
may not remain uniform or even dense after making regular shifts and taking a
fractional part in that sequence.Comment: 16 page
On the Termination of Linear and Affine Programs over the Integers
The termination problem for affine programs over the integers was left open
in\cite{Braverman}. For more that a decade, it has been considered and cited as
a challenging open problem. To the best of our knowledge, we present here the
most complete response to this issue: we show that termination for affine
programs over Z is decidable under an assumption holding for almost all affine
programs, except for an extremely small class of zero Lesbegue measure. We use
the notion of asymptotically non-terminating initial variable values} (ANT, for
short) for linear loop programs over Z. Those values are directly associated to
initial variable values for which the corresponding program does not terminate.
We reduce the termination problem of linear affine programs over the integers
to the emptiness check of a specific ANT set of initial variable values. For
this class of linear or affine programs, we prove that the corresponding ANT
set is a semi-linear space and we provide a powerful computational methods
allowing the automatic generation of these sets. Moreover, we are able to
address the conditional termination problem too. In other words, by taking ANT
set complements, we obtain a precise under-approximation of the set of inputs
for which the program does terminate.Comment: arXiv admin note: substantial text overlap with arXiv:1407.455
Vector Reachability Problem in
The decision problems on matrices were intensively studied for many decades
as matrix products play an essential role in the representation of various
computational processes. However, many computational problems for matrix
semigroups are inherently difficult to solve even for problems in low
dimensions and most matrix semigroup problems become undecidable in general
starting from dimension three or four.
This paper solves two open problems about the decidability of the vector
reachability problem over a finitely generated semigroup of matrices from
and the point to point reachability (over rational
numbers) for fractional linear transformations, where associated matrices are
from . The approach to solving reachability problems
is based on the characterization of reachability paths between points which is
followed by the translation of numerical problems on matrices into
computational and combinatorial problems on words and formal languages. We also
give a geometric interpretation of reachability paths and extend the
decidability results to matrix products represented by arbitrary labelled
directed graphs. Finally, we will use this technique to prove that a special
case of the scalar reachability problem is decidable
Termination of Triangular Integer Loops is Decidable
We consider the problem whether termination of affine integer loops is
decidable. Since Tiwari conjectured decidability in 2004, only special cases
have been solved. We complement this work by proving decidability for the case
that the update matrix is triangular.Comment: Full version (with proofs) of a paper published in the Proceedings of
the 31st International Conference on Computer Aided Verification (CAV '19),
New York, NY, USA, Lecture Notes in Computer Science, Springer-Verlag, 201
Decidability of the Membership Problem for integer matrices
The main result of this paper is the decidability of the membership problem
for nonsingular integer matrices. Namely, we will construct the
first algorithm that for any nonsingular integer matrices
and decides whether belongs to the semigroup generated
by .
Our algorithm relies on a translation of the numerical problem on matrices
into combinatorial problems on words. It also makes use of some algebraical
properties of well-known subgroups of and various
new techniques and constructions that help to limit an infinite number of
possibilities by reducing them to the membership problem for regular languages
A Calculus for Modular Loop Acceleration
Loop acceleration can be used to prove safety, reachability, runtime bounds, and (non-)termination of programs operating on integers. To this end, a variety of acceleration techniques has been proposed. However, all of them are monolithic: Either they accelerate a loop successfully or they fail completely. In contrast, we present a calculus that allows for combining acceleration techniques in a modular way and we show how to integrate many existing acceleration techniques into our calculus. Moreover, we propose two novel acceleration techniques that can be incorporated into our calculus seamlessly. An empirical evaluation demonstrates the applicability of our approach
A Calculus for Modular Loop Acceleration
Loop acceleration can be used to prove safety, reachability, runtime bounds,
and (non-)termination of programs operating on integers. To this end, a variety
of acceleration techniques has been proposed. However, all of them are
monolithic: Either they accelerate a loop successfully or they fail completely.
In contrast, we present a calculus that allows for combining acceleration
techniques in a modular way and we show how to integrate many existing
acceleration techniques into our calculus. Moreover, we propose two novel
acceleration techniques that can be incorporated into our calculus seamlessly.
An empirical evaluation demonstrates the applicability of our approach