Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

foetus -Termination Checker for Simple Functional Programs

Summary: foetus - Termination Checker for Simple
Functional Programs
Andreas Abel 
July 16, 1998
We introduce a simple functional language foetus (lambda calculus
with tuples, constructors and pattern matching) supplied with a ter-
mination checker. This checker tries to nd a well-founded structural
order on the parameters on the given function to prove termination.
The components of the check algorithm are: function call extraction
out of the program text, call graph completion and nding a lexical
order for the function parameters. The HTML version of this paper
contains many ready-to-run Web-based examples.
1 Introduction
Since the very beginning of informatics the problem of termination has been
of special interest, for it is part of the problem of program veri cation for in-
stance. Because the halting problem is undecidable, there is no method that
can prove or disprove termination of all programs, but for several systems
termination checkers have been developed. We have focused on functional
programs and designed the simple language foetus 1 , for which we have imple-


Source: Abel, Andreas - Theoretische Informatik, Ludwig-Maximilians-Universit√§t M√ľnchen


Collections: Computer Technologies and Information Sciences