Documentation

Cslib.Languages.LambdaCalculus.LocallyNameless.Untyped.Congruence

Congruence for the λ-calculus #

inductive Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.Xi {Var : Type u} (R : Term Var → Term Var → Prop) :
Term Var → Term Var → Prop

Congruence closure of a relation.

Instances For
    theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.Xi.step_lc_r {Var : Type u} {R : Term Var → Term Var → Prop} {M N : Term Var} (hR : ∀ {M' N' : Term Var}, R M' N' → N'.LC) (step : Xi R M N) :
    N.LC

    The right side of a congruence step is locally closed.

    theorem Cslib.LambdaCalculus.LocallyNameless.Untyped.Term.Xi.step_lc_l {Var : Type u} {R : Term Var → Term Var → Prop} {M N : Term Var} (hR : ∀ {M' N' : Term Var}, R M' N' → M'.LC) (step : Xi R M N) :
    M.LC

    The left side of a congruence step is locally closed.