In lambda calculus, the Church–Rosser theorem states that, when applying reduction rules to terms, the ordering in which the reductions are chosen does not make a difference to the eventual result.
More precisely, if there are two distinct reductions or sequences of reductions that can be applied to the same term, then there exists a term that is reachable from both results, by applying (possibly empty) sequences of additional reductions. The theorem was proved in 1936 by Alonzo Church and J. Barkley Rosser, after whom it is named.
The theorem is symbolized by the adjacent diagram: If term a can be reduced to both b and c, then there must be a further term d (possibly equal to either b or c) to which both b and c can be reduced.Viewing the lambda calculus as an abstract rewriting system, the Church–Rosser theorem states that the reduction rules of the lambda calculus are confluent. As a consequence of the theorem, a term in the lambda calculus has at most one normal form, justifying reference to "the normal form" of a given normalizable term.
In 1936, Alonzo Church and J. Barkley Rosser proved that the theorem holds for β-reduction in the λI-calculus (in which every abstracted variable must appear in the term's body). The proof method is known as "finiteness of developments", and it has additional consequences such as the Standardization Theorem, which relates to a method in which reductions can be performed from left to right to reach a normal form (if one exists). The result for the pure untyped lambda calculus was proved by D. E. Schroer in 1965.
One type of reduction in the pure untyped lambda calculus for which the Church–Rosser theorem applies is β-reduction, in which a subterm of the form
(λx.t)s
t[x:=s]
→ \beta
\twoheadrightarrow\beta
\forallM,N1,N2\inΛ:if M\twoheadrightarrow\betaN1 and M\twoheadrightarrow\betaN2 then \existsX\inΛ:N1\twoheadrightarrow\betaX and N2\twoheadrightarrow\betaX
A consequence of this property is that two terms equal in
λ\beta
\forallM,N\inΛ:if λ\beta\vdashM=N then \existsX:M\twoheadrightarrow\betaX and N\twoheadrightarrow\betaX
The theorem also applies to η-reduction, in which a subterm
λx.Sx
S
For β-reduction, one proof method originates from William W. Tait and Per Martin-Löf. Say that a binary relation
→
\forallM,N1,N2\inΛ:if M → N1 and M → N2 then \existsX\inΛ:N1 → X and N2 → X
Then the Church–Rosser property is the statement that
\twoheadrightarrow\beta
→ \|
\twoheadrightarrow\beta
\twoheadrightarrow\beta
The relation
→ \|
M → \|M
M → \|M'
N → \|N'
λx.M → \|λx.M'
MN → \|M'N'
(λx.M)N → \|M'[x:=N']
The η-reduction rule can be proved to be Church–Rosser directly. Then, it can be proved that β-reduction and η-reduction commute in the sense that:
If
M → \betaN1
M → ηN2
X
N1 → ηX
N2 → \betaX
Hence we can conclude that βη-reduction is Church–Rosser.
A reduction rule that satisfies the Church–Rosser property has the property that every term M can have at most one distinct normal form, as follows: if X and Y are normal forms of M then by the Church–Rosser property, they both reduce to an equal term Z. Both terms are already normal forms so
X=Z=Y
If a reduction is strongly normalising (there are no infinite reduction paths) then a weak form of the Church–Rosser property implies the full property (see Newman's lemma). The weak property, for a relation
→
\forallM,N1,N2\inΛ:
M → N1
M → N2
X
N1\twoheadrightarrowX
N2\twoheadrightarrowX
The Church–Rosser theorem also holds for many variants of the lambda calculus, such as the simply-typed lambda calculus, many calculi with advanced type systems, and Gordon Plotkin's beta-value calculus. Plotkin also used a Church–Rosser theorem to prove that the evaluation of functional programs (for both lazy evaluation and eager evaluation) is a function from programs to values (a subset of the lambda terms).
In older research papers, a rewriting system is said to be Church–Rosser, or to have the Church–Rosser property, when it is confluent.