Related papers: Loop Termination and Generalized Collatz Sequences
This paper introduces prime holdout problems, a problem class related to the Collatz conjecture. After applying a linear function, instead of removing a finite set of prime factors, a holdout problem specifies a set of primes to be…
An integer program (IP) with a finite number of feasible solutions may have an unbounded linear programming relaxation if it contains irrational parameters, due to implicit constraints enforced by the irrational numbers. We show that those…
We consider the termination/non-termination property of a class of loops. Such loops are commonly used abstractions of real program pieces. Second-order logic is a convenient language to express non-termination. Of course, such property is…
Determining whether a given program terminates is the quintessential undecidable problem. Algorithms for termination analysis are divided into two groups: (1) algorithms with strong behavioral guarantees that work in limited circumstances…
The Collatz Conjecture (also known as the 3x+1 Problem) proposes that the following algorithm will, after a certain number of iterations, always yield the number 1: given a natural number, multiply by three and add one if the number is odd,…
We present the first approach to prove non-termination of integer programs that is based on loop acceleration. If our technique cannot show non-termination of a loop, it tries to accelerate it instead in order to find paths to other…
Collatz Conjecture sequences increase and decrease in seemingly random fashion. By identifying and analyzing the forms of numbers, we discover that Collatz sequences are governed by very specific, well-defined rules, which we call cascades.
Infinite loops and redundant computations are long recognized open problems in Prolog. Two ways have been explored to resolve these problems: loop checking and tabling. Loop checking can cut infinite loops, but it cannot be both sound and…
Provably correct software is one of the key challenges in our softwaredriven society. While formal verification establishes the correctness of a given program, the result of program synthesis is a program which is correct by construction.…
Loop invariants are software properties that hold before and after every iteration of a loop. As such, invariants provide inductive arguments that are key in automating the verification of program loops. The problem of generating loop…
A linear parameter must be consumed exactly once in the body of its function. When declaring resources such as file handles and manually managed memory as linear arguments, a linear type system can verify that these resources are used…
We present an efficient approach to prove termination of monotone programs with integer variables, an expressive class of loops that is often encountered in computer programs. Our approach is based on a lightweight static analysis method…
In this work the generalized Collatz problem $qn+1$ ($q$ odd) is studied. As a natural generalization of the original $3n+1$ problem, it consists of a discrete dynamical system of an arithmetical kind. Using standard methods of number…
The Collatz map is defined for a positive even integer as half that integer, and for a positive odd integer as that integer threefold, plus one. The Collatz conjecture states that when the map is iterated the number one is eventually…
In this article, we define a very important sequence of functions, all the functions of this sequence present behaviors very close to that of the Collatz function. The study of such functions allows us to obtain very interesting results…
Loop invariants are properties of a program loop that hold both before and after each iteration of the loop. They are often used to verify programs and ensure that algorithms consistently produce correct results during execution.…
Linear constraints are the linear counterpart of Haskell's class constraints. Linearly typed parameters allow the programmer to control resources such as file handles and manually managed memory as linear arguments. Indeed, a linear type…
This paper is devoted to the study of the log-convexity of combinatorial sequences. We show that the log-convexity is preserved under componentwise sum, under binomial convolution, and by the linear transformations given by the matrices of…
In this article we study a class of generalised linear systems of difference equations with given non-consistent initial conditions and infinite many solutions. We take into consideration the case that the coefficients are square constant…
Counters that hold natural numbers are ubiquitous in modeling and verifying software systems; for example, they model dynamic creation and use of resources in concurrent programs. Unfortunately, such discrete counters often lead to…