deepdream of
          a sidewalk
Show Answer
Math and science::Theory of Computation::Lambda calculus

β-reduction

Beta reduction is a term that encompasses 3 relations defined over the set of all lambda terms: single-step, multi-step and equality.

β-reduction, single step, β

Let M,U and L be lambda terms.

The following 2 rules define the true entries of the single step beta reduction relation.

Basis
(λ.M)UβM[x:=U]
Compatibility
If MβU, then:
  • MLβUL
  • [?β? ]
  • [?β? ]

the syntax [x:=U] refers to the lambda terms that results from substituting all occurrences of the unbound variable x by the term U. This syntax in some sense requires some "work".

There are names given to parts of the above definition:

[What1?] and [what2?]

If a subterm of a lambda expression matches the left-hand side of the basis rule above, it is called a [ what1? ]. This name comes from from reducible expression. The subterm on the right-hand side, M[x:=U], is called the [ what2? ] of the [what1].

Multi-step reduction extends the single step relation by augmenting it with reflexivity and transitivity. Before we get to multi-step reduction, we describe the following definition:

Reduction sequence (personal definition)

A reduction sequence is a sequence of lambda terms (Wn)n=0N such that for every nN,n<N, we have WnβWn+1. The sequences starts at W0 and ends at WN.

β-reduction, multi-step, β

Let M and U be lambda terms.

M reduces through multi-step β-reduction to U iff [...].

Note: the possibility of n=0 for multi-step reduction is what introduces the quality of reflexivity to the relation.

For multi-step β-reduction, it is possible for MβU to be true while UβM is false. Below, we extend the multi-step β-reduction with symmetry and arrive at β-equality, an equivalence relation. First, another assisting definition.

Bi-directional reduction sequence (personal definition)

A bi-directional reduction sequence is a sequence of lambda terms (Wn)n=0N such that for every nN,n<N either WnβWn+1 or Wn+1βWn.

β-equality, =β

Let M and U be lambda terms.

M and U are said to be β-equal iff [...].

β-convertable is sometimes said instead of β-equal.