Termination of linear loops under commutative updates

by   Ruiwen Dong, et al.

We consider the following problem: given d Γ— d rational matrices A_1, …, A_k and a polyhedral cone π’žβŠ‚β„^d, decide whether there exists a non-zero vector whose orbit under multiplication by A_1, …, A_k is contained in π’ž. This problem can be interpreted as verifying the termination of multi-path while loops with linear updates and linear guard conditions. We show that this problem is decidable for commuting invertible matrices A_1, …, A_k. The key to our decision procedure is to reinterpret this problem in a purely algebraic manner. Namely, we discover its connection with modules over the polynomial ring ℝ[X_1, …, X_k] as well as the polynomial semiring ℝ_β‰₯ 0[X_1, …, X_k]. The loop termination problem is then reduced to deciding whether a submodule of (ℝ[X_1, …, X_k])^n contains a β€œpositive” element.


page 1

page 2

page 3

page 4

βˆ™ 02/20/2019

Termination of Linear Loops over the Integers

We consider the problem of deciding termination of single-path while loo...
βˆ™ 02/20/2019

On Termination of Integer Linear Loops

We consider the problem of determining termination of single-path loops ...
βˆ™ 10/25/2019

On the Decidability of Termination for Polynomial Loops

We consider the termination problem for triangular weakly non-linear loo...
βˆ™ 07/27/2023

Linear Termination over N is Undecidable

Recently it was shown that it is undecidable whether a term rewrite syst...
βˆ™ 07/25/2019

Deciding Fast Termination for Probabilistic VASS with Nondeterminism

A probabilistic vector addition system with states (pVASS) is a finite s...
βˆ™ 10/18/2015

Termination Analysis of Polynomial Programs with Equality Conditions

In this paper, we investigate the termination problem of a family of pol...
βˆ™ 11/18/2018

Multiphase-Linear Ranking Functions and their Relation to Recurrent Sets

Multiphase ranking functions (MΞ¦RFs) are tuples γ€ˆ f_1,...,f_d 〉 of linea...

Please sign up or login with your details

Forgot password? Click here to reset