Call-by-value Termination in the Untyped λ-calculus

Neil D. Jones, Nina Bohr

9 Citations (Scopus)

Abstract

Abstract
A fully-automated algorithm is developed able to show that evaluation of a given untyped ¿-expression will terminate under CBV (call-by-value). The ``size-change principle'' from first-order programs is extended to arbitrary untyped ¿-expressions in two steps. The first step suffices to show CBV termination of a single, stand-alone ¿-expression. The second suffices to show CBV termination of any member of a regular set of ¿-expressions, defined by a tree grammar. (A simple example is a minimum function, when applied to arbitrary Church numerals.) The algorithm is sound and proven so in this paper. The Halting Problem's undecidability implies that any sound algorithm is necessarily incomplete: some ¿-expressions may in fact terminate under CBV evaluation, but not be recognised as terminating. The intensional power of the termination algorithm is reasonably high. It certifies as terminating many interesting and useful general recursive algorithms including programs with mutual recursion and parameter exchanges, and Colson's ``minimum'' algorithm. Further, our type-free approach allows use of the Y combinator, and so can identify as terminating a substantial subset of PCF.
Original languageEnglish
JournalLogical Methods in Computer Science
Volume1
Issue number3
Pages (from-to)1-39
Number of pages39
ISSN1860-5974
DOIs
Publication statusPublished - 2008

Fingerprint

Dive into the research topics of 'Call-by-value Termination in the Untyped λ-calculus'. Together they form a unique fingerprint.

Cite this