Termination analysis for functional programs using term orderings (1995)
| Venue: | IN PROCEEDINGS OF THE SECOND INTERNATIONAL STATIC ANALYSIS SYMPOSIUM, LNCS 983 |
| Citations: | 31 - 12 self |
BibTeX
@INPROCEEDINGS{Giesl95terminationanalysis,
author = {Jürgen Giesl},
title = {Termination analysis for functional programs using term orderings},
booktitle = {IN PROCEEDINGS OF THE SECOND INTERNATIONAL STATIC ANALYSIS SYMPOSIUM, LNCS 983},
year = {1995},
pages = {154--171},
publisher = {Springer}
}
Years of Citing Articles
OpenURL
Abstract
To prove the termination of a functional program there has to be a well-founded ordering such that the arguments in each recursive call are smaller than the corresponding inputs. In this paper we present a procedure for automated termination proofs of functional programs. In contrast to previously presented methods a suited well-founded ordering does not have to be fixed in advance by the user, but can be synthesized automatically. For that purpose we use approaches developed in the area of term rewriting systems for the automated generation of suited well-founded term orderings. But unfortunately term orderings cannot be directly used for termination proofs of functional programs which call other algorithms in the arguments of their recursive calls. The reason is that while for the termination of term rewriting systems orderings between terms are needed, for functional programs we need orderings between objects of algebraic data types. Our method solves this problem and enables term orderings to be used for termination proofs of functional programs.







