Call-by-value Termination in the Untyped lambda-calculus
Neil D. Jones, Nina Bohr

TL;DR
This paper presents a fully-automated, sound algorithm that determines whether untyped lambda-expressions terminate under call-by-value evaluation, extending the size-change principle to handle complex recursive and higher-order functions.
Contribution
It introduces a novel extension of the size-change principle for untyped lambda-expressions, enabling automatic termination proofs for a broad class of programs including those with recursion and the Y combinator.
Findings
Algorithm is sound and can certify termination of complex recursive programs.
Successfully applies to programs with mutual recursion and parameter exchanges.
Identifies a substantial subset of PCF as terminating.
Abstract
A fully-automated algorithm is developed able to show that evaluation of a given untyped lambda-expression will terminate under CBV (call-by-value). The ``size-change principle'' from first-order programs is extended to arbitrary untyped lambda-expressions in two steps. The first step suffices to show CBV termination of a single, stand-alone lambda;-expression. The second suffices to show CBV termination of any member of a regular set of lambda-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 lambda-expressions may in fact terminate under CBV evaluation, but not be recognised as terminating. The intensional power of the termination algorithm is reasonably…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
