Documentation

Cslib.Languages.LambdaCalculus.LocallyNameless.Stlc.Safety

λ-calculus #

Type safety of the simply typed λ-calculus, with a locally nameless representation of syntax. Theorems in this file are namespaced by their respective reductions.

References #

A relation on terms preserves typing if all related terms have the same type.

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

    Typing preservation for full beta reduction.

    theorem Cslib.LambdaCalculus.LocallyNameless.Stlc.FullBeta.progress {Var : Type u} {Base : Type v} {t : Untyped.Term Var} {τ : Ty Base} (ht : Typing [] t τ) :
    t.Value ∃ (t' : Untyped.Term Var), t.FullBeta t'

    A typed term either full beta reduces or is a value.