λ-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
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.map_val
{α : Type u}
{β : Type v}
(f : β → β)
(Γ : Context α β)
:
Context α β
A mapping of values within a context.
Equations
Instances For
theorem
Cslib.LambdaCalculus.LocallyNameless.Context.map_val_mem
{α : Type u}
{β : Type v}
[DecidableEq α]
{Γ : Context α β}
{x : α}
{σ : β}
(mem : σ ∈ List.dlookup x Γ)
(f : β → β)
:
A mapping of values maps lookups.