Expressibility in the Lambda Calculus with μ

We address a problem connected to the unfolding semantics of functional programming languages: give a useful characterization of those infinite λ-terms that are λletrec-expressible in the sense that they arise as infinite unfoldings of terms in λletrec, the λ-calculus with letrec. We provide two characterizations, using concepts we introduce for infinite λ-terms: regularity, strong regularity, and binding–capturing chains. It turns out that λletrec-expressible infinite λ-terms form a proper subclass of the regular infinite λ-terms. In this paper we establish these characterizations only for expressibility in λμ, the λ-calculus with explicit μ-recursion. We show that for all infinite λ-terms T the following are equivalent: (i): T is λμ-expressible; (ii): T is strongly regular; (iii): T is regular, and it only has finite binding–capturing chains. We define regularity and strong regularity for infinite λ-terms as two different generalizations of regularity for infinite first-order terms: as the existence of only finitely many subterms that are defined as the reducts of two rewrite systems for decomposing λ-terms. These rewrite systems act on infinite λ-terms furnished with a bracketed prefix of abstractions for collecting decomposed λ-abstractions and keeping the terms closed under decomposition. They differ in which vacuous abstractions in the prefix are removed. 1998 ACM Subject Classification F.3.3 Studies of Program Constructs