Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
JRGEN GIESL, CHRISTOPH WALTHER, JRGEN BRAUBURGER TERMINATION ANALYSIS FOR FUNCTIONAL PROGRAMS
 

Summary: JÜRGEN GIESL, CHRISTOPH WALTHER, JÜRGEN BRAUBURGER
TERMINATION ANALYSIS FOR FUNCTIONAL PROGRAMS
1. INTRODUCTION
Proving termination is a central problem in software development and for­
mal methods for termination analysis are essential for program verification.
However, since the halting problem is undecidable and totality of functions
is not even semi­decidable, there is no procedure to prove or disprove the
termination of all algorithms.
While most work on the automation of termination proofs has been done
in the areas of term rewriting systems (for surveys see e.g. (Dershowitz, 1987;
Steinbach, 1995b)) and of logic programs (e.g. (Ullman and van Gelder,
1988; Plümer, 1990; De Schreye and Decorte, 1994)), in this chapter we fo­
cus on functional programs and we also investigate the application of our
methods for termination analysis of loops in imperative programs.
To prove termination of a functional algorithm, one has to find a well­
founded relation such that the arguments in each recursive call are smaller
than the corresponding inputs. (A relation OE is well founded iff there is no
infinite descending chain : : : OE t 2 OE t 1 .) A semi­automatic method for termi­
nation proofs of LISP functions has been implemented in the NQTHM system
of R. S. Boyer and J S. Moore (1979). For an algorithm f (x) their prover

  

Source: Ábrahám, Erika - Fachgruppe Informatik, Rheinisch Westfälische Technische Hochschule Aachen (RWTH)

 

Collections: Computer Technologies and Information Sciences