λ-calculus #
Contexts as pairs of free variables and types.
@[reducible, inline]
A typing context is a list of free variables and corresponding types.
Equations
- Cslib.LambdaCalculus.LocallyNameless.Context α β = List ((_ : α) × β)
Instances For
@[instance_reducible]
instance Cslib.LambdaCalculus.LocallyNameless.Context.instHasWellFormed {α : Type u} {β : Type v} :
HasWellFormed (Context α β)
theorem Cslib.LambdaCalculus.LocallyNameless.Context.haswellformed_def {α : Type u} {β : Type v} (Γ : Context α β) :
def Cslib.LambdaCalculus.LocallyNameless.Context.mapVal {α : Type u} {β : Type v} (f : β → β) (Γ : Context α β) :
Context α β
A mapping of values within a context.
Equations
Instances For
theorem Cslib.LambdaCalculus.LocallyNameless.Context.mapVal_mem {α : Type u} {β : Type v} [DecidableEq α] {Γ : Context α β} {x : α} {σ : β} (mem : σ ∈ List.dlookup x Γ) (f : β → β) :
A mapping of values maps lookups.