Combinators

Overview

Assume that there is given an infinite sequence of expressions called variables and a finite or infinite sequence of expressions called atomic constants, different from the variables. Included in the atomic constants are some basic combinators. The set of expressions called CL-terms is defined inductively as follows:

An atom is a variable or atomic constant. A non-redex constant is any atomic constant other than the basic combinators. A non-redex atom is a variable or non-redex constant. A closed term is a term containing no variables. A combinator is a closed term containing no atomic constants other than the basic combinators.

If the sequence of atomic constants is empty (besides the basic combinators), the system is called pure. Otherwise it is called applied.

Basic Combinators

The combinatory logic is a notation that eliminate the need for quantified variables. We start with basis S, K, and I. These basic combinators are defined as:

Length

The length of a CL-term (denoted lgh) is equal to the number of atoms in the term:

Occurrence

For CL-terms P and Q, the relation P occurs in Q is defined by induction on Q as:

Free Variables

FV(P) denotes all the variables of P. Note in CL-terms, all occurrences of variables are free because there is no λ to bind them.

Substitution

For any M, N, and x, define [N/x]M to be the result of substituting N for every occurrence of x in M.

Powered by Forestry.md