With , the combinator satisfies . Every finite reduct of is, up to alpha equivalence, : the remaining copy of is its only beta-redex.
Lambda-definable function Created 2026-09-28 Updated 2026-10-05
A function is lambda-definable when some combinator satisfies
for every tuple of natural numbers.
A fixed-point combinator is a closed lambda term such that for every lambda term . It suffices to check this for a fresh free variable , since capture-avoiding substitution then gives every instance. Take
If , applying both sides to gives . Conversely suppose is a fixed-point combinator. Its application to a fresh has a head normal form, because it is beta equivalent to . Since is closed, head reduction of must first expose a lambda abstraction in itself. Thus , and
This establishes the needed abstraction equality by beta reduction, without assuming eta conversion. Abstracting now gives .
Two examples are the Curry fixed-point combinator and the Turing fixed-point combinator:
Writing , we have , while . Different displayed syntax alone would not prove that the two combinators are distinct under beta equivalence. Here is a reduct invariant that does. Every finite reduct of is , up to alpha equivalence: is beta-normal and the one remaining beta-redex is its self-application. No such reduct contains the closed subterm .
Every finite reduct of , in contrast, retains a closed subterm . The contraction recreates one. The only other redexes created by these expansions are abstractions applied to variables; contracting them substitutes a variable, so preserves any closed inside their bodies. This describes all redexes inductively: expansion inserts only a variable-headed application and a copy of , and a variable substitution preserves that description. Thus every finite reduct contains . A common reduct of and is impossible, so the Church-Rosser theorem proves .
Finally put , with . The fixed-point combinator equation gives
where is fresh. If had a head normal form with leading abstractions, then would have one with . A reduct of a head normal form preserves its initial abstraction count and variable-headed spine: only its argument subterms can still contract. These two head normal forms therefore cannot have a common reduct, contradicting the Church-Rosser theorem. Hence is unsolvable.
Use untyped lambda calculus and normal-order beta reduction. Write for the Church numeral of . We will construct a closed term such that
when is defined, and with no head normal form otherwise. The latter condition implies that the result is not in beta equivalence with any Church numeral, so both definedness and the output are represented.
First represent all total primitive recursive functions. The zero function is , the successor function is
and the th projection function is . Function composition in recursion theory is represented by . This composition claim is used here for total functions, whose inner terms all reduce to numerals.
For primitive recursion use Church pairs and iteration. Put
Suppose represent the total constituents of and . Define
After iterations the pair reduces to , by mathematical induction on . Its second projection is the required result. This lambda definition of primitive recursion by pair iteration and structural induction on the primitive recursive construction give terms for all primitive recursive functions.
For an arbitrary partial computable function use the Kleene normal form theorem with its program index fixed. There are total primitive recursive functions and such that is zero exactly when codes a valid halting computation history on , and extracts that history's output. Checking finite coded configurations and each transition is primitive recursive. Determinism ensures that every accepted history on an input has the same output. Hence
If the input computation never halts, no history is accepted. Let be the total numeral-representing terms already obtained. The Church numeral zero test is , returning exactly on zero. A Church Boolean applied to two arguments selects the appropriate branch without evaluating the other.
Take the fixed-point combinator . For the input tuple define
Expanding the displayed abbreviations gives a genuine finite combinator. At a numeral code , the total predicate computation terminates. If it returns a positive numeral, the false Church Boolean selects the next search code. If it returns zero, the true Church Boolean selects , which reduces to the output numeral. If the least accepted code is , a finite sequence of these tests reaches it and then produces .
If there is no accepted code, every test is false and head reduction moves through codes forever. At no finite point can a head variable or an outer numeral abstraction be produced: the applied search term must first unfold the fixed point and evaluate the next total test, and the decoder branch is always discarded. Thus it has no head normal form. The standard head-normalization property, or the Church-Rosser theorem together with normalization of normal-order reduction, rules out beta equivalence to a numeral. In particular, we have avoided a lazy-composition pitfall: an outer function that discards an argument need not force a divergent inner computation. The decoder is reached only after the guarded search succeeds. This proves lambda representation of partial computable functions:
A combinator is a lambda term without free variables. It is a fixed-point combinator when
for every lambda term .
The fixed-point theorem for the untyped lambda calculus states that every untyped lambda term has a fixed point up to beta equivalence. Put
One beta reduction gives
which proves the theorem. Equivalently,
is a fixed-point combinator.
Apply the theorem to the lambda term . Its fixed point is a nonnormalizing lambda term satisfying ; it is not a Church numeral. The definition of a lambda-definable function describes the representing term only on Church-numeral inputs, so it does not turn this syntactic fixed point into a natural number satisfying .
By assumption the set of combinators is recursively enumerable. Finite beta reduction sequences, and hence finite certificates of beta equivalence, are also recursively enumerable.
For a closed term , choose a fresh variable . The term is a fixed-point combinator exactly when
Indeed, substitution then gives the required equivalence for every , and the forward direction follows by taking . Dovetail the enumeration of closed terms with all finite beta-equivalence certificates. Whenever a certificate of the displayed equivalence is found, output . This enumerates exactly the fixed-point combinators, proving recursively enumerable fixed-point combinators.