A combinator is a lambda term with no free variables.
The identity function represented as a closed lambda term. In combinatory logic, take as the abbreviation , where is the S combinator and is the K combinator; the basic equality axioms give .
In lambda calculus, distributes its third argument to its first two arguments. In combinatory logic, its primitive constant satisfies and implements the application clause of bracket abstraction.
In lambda calculus, the closed lambda term discards its second argument. In combinatory logic, its primitive constant satisfies . The corresponding principal type in the simply typed lambda calculus is .
The omega combinator is the divergent untyped lambda calculus term
whose only beta reduction reproduces .
An untyped lambda term is a fixed-point combinator when for every term .
Put and . Then . Unlike the Curry fixed-point combinator, every finite reduct retains a closed subterm . Contracting this subterm recreates one; every other generated redex substitutes a variable and preserves it. The Church-Rosser theorem therefore proves .
With , the combinator satisfies . Every finite reduct of is, up to alpha equivalence, : the remaining copy of is its only beta-redex.
Every lambda term has a fixed point: the term
satisfies . Equivalently, a fixed-point combinator such as
satisfies for every .
The set of fixed-point combinators is recursively enumerable. Enumerate closed lambda terms and finite proofs of beta equivalence, and output whenever a proof of appears for a fresh variable .

Articles by others on the same topic (0)

There are currently no matching articles.