Documentation

Cslib.Languages.LambdaCalculus.LocallyNameless.Untyped.FullBetaConfluence

β-confluence for the λ-calculus #

A parallel β-reduction step.

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 left side of a parallel reduction is locally closed.

        Parallel reduction is reflexive for locally closed terms.

        theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.para_lc_r {Var : Type u} {M N : Term Var} [HasFresh Var] [DecidableEq Var] (step : M.Parallel N) :
        N.LC

        The right side of a parallel reduction is locally closed.

        theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.FullBeta.le_parallel {Var : Type u} :
        (fun (x1 x2 : Term Var) => x1.FullBeta x2) fun (x1 x2 : Term Var) => x1.Parallel x2

        The inclusion (· ⭢βᶠ ·) ≤ (· ⭢ₚ ·).

        The inclusion (· ⭢ₚ ·) ≤ (· ↠βᶠ ·).

        Multiple parallel reduction is equal to multiple β-reduction.

        theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.para_subst {Var : Type u} {M M' N N' : Term Var} [HasFresh Var] [DecidableEq Var] (x : Var) (pm : M.Parallel M') (pn : N.Parallel N') :
        M[x := N].Parallel M'[x := N']

        Parallel reduction respects substitution.

        theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.para_open_close {Var : Type u} {M M' : Term Var} [HasFresh Var] [DecidableEq Var] (x y : Var) (z : ) (para : M.Parallel M') :
        (openRec z (fvar y) (closeRec z x M)).Parallel (openRec z (fvar y) (closeRec z x M'))

        Parallel substitution respects closing and opening.

        theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.para_open_out {Var : Type u} {M M' N N' : Term Var} [HasFresh Var] [DecidableEq Var] (L : Finset Var) (mem : xL, (M.open' (fvar x)).Parallel (N.open' (fvar x))) (para : M'.Parallel N') :
        (M.open' M').Parallel (N.open' N')

        Parallel substitution respects fresh opening.

        Parallel reduction has the diamond property.

        Parallel reduction is confluent.

        β-reduction is confluent.