In mathematics and theoretical computer science, the Church–Rosser theorem states that, when applying reduction rules to terms in some typed variants of the lambda calculus, 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.
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.
- Alama, Jesse (2017). Zalta, Edward N., ed. The Stanford Encyclopedia of Philosophy (Fall 2017 ed.). Metaphysics Research Lab, Stanford University.
- Church, Alonzo; Rosser, J. Barkley (May 1936), "Some properties of conversion" (PDF), Transactions of the American Mathematical Society, 39 (3): 472–482, doi:10.2307/1989762, JSTOR 1989762.
- Barendregt, Hendrik Pieter (1984), The Lambda Calculus: Its Syntax and Semantics, Studies in Logic and the Foundations of Mathematics, 103 (Revised ed.), North Holland, Amsterdam, p. 277, ISBN 0-444-87508-5, archived from the original on 2004-08-23. Errata.
|This computer science article is a stub. You can help Wikipedia by expanding it.|