Documentation

Cslib.Languages.CombinatoryLogic.Confluence

SKI reduction is confluent #

This file proves the Church-Rosser theorem for the SKI calculus, that is, if a ↠ b and a ↠ c, b ↠ d and c ↠ d for some term d. More strongly (though equivalently), we show that the relation of having a common reduct is transitive — in the above situation, a and b, and a and c have common reducts, so the result implies the same of b and c. Note that MJoin Red is symmetric (trivially) and reflexive (since is), so we in fact show that MJoin Red is an equivalence.

Our proof follows the method of Tait and Martin-Löf for the lambda calculus, as presented for instance in Chapter 4 of Peter Selinger's notes: https://www.mscs.dal.ca/~selinger/papers/papers/lambdanotes.pdf.

Main definitions #

Main results #

A reduction step allowing simultaneous reduction of disjoint redexes

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The inclusion ⭢ₚ ⊆ ↠

        The inclusion ⭢ ⊆ ⭢ₚ

        Irreducibility for the (partially applied) primitive combinators.

        TODO: possibly these should be proven more generally (in another file) for .

        The key result: the Church-Rosser property holds for ⭢ₚ. The proof is a lengthy case analysis on the reductions a ⭢ₚ a₁ and a ⭢ₚ a₂, but is entirely mechanical.

        The Church-Rosser theorem in its general form.

        The Church-Rosser theorem in the form it is usually stated.