Distilling Programs to Prove Termination

08/07/2020
by   G. W. Hamilton, et al.
0

The problem of determining whether or not any program terminates was shown to be undecidable by Turing, but recent advances in the area have allowed this information to be determined for a large class of programs. The classic method for deciding whether a program terminates dates back to Turing himself and involves finding a ranking function that maps a program state to a well-order, and then proving that the result of this function decreases for every possible program transition. More recent approaches to proving termination have involved moving away from the search for a single ranking function and toward a search for a set of ranking functions; this set is a choice of ranking functions and a disjunctive termination argument is used. In this paper, we describe a new technique for determining whether programs terminate. Our technique is applied to the output of the distillation program transformation that converts programs into a simplified form called distilled form. Programs in distilled form are converted into a corresponding labelled transition system and termination can be demonstrated by showing that all possible infinite traces through this labelled transition system would result in an infinite descent of well-founded data values. We demonstrate our technique on a number of examples, and compare it to previous work.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/10/2021

Termination Analysis of Programs with Multiphase Control-Flow

Programs with multiphase control-flow are programs where the execution p...
research
02/07/2021

Neural Termination Analysis

We introduce a novel approach to the automated termination analysis of c...
research
02/22/2021

Supermartingales, Ranking Functions and Probabilistic Lambda Calculus

We introduce a method for proving almost sure termination in the context...
research
04/02/2021

Proving Non-termination by Program Reversal

We present a new approach to proving non-termination of non-deterministi...
research
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...
research
01/24/2021

Termination Analysis Without the Tears

Determining whether a given program terminates is the quintessential und...
research
04/22/2023

Fairness in Ranking Supermartingales

Lexicographic Ranking SuperMartingale (LexRSM) is a generalization of Ra...

Please sign up or login with your details

Forgot password? Click here to reset