@[specialize #[]]
Instantiate level parameters
Instances For
@[specialize #[]]
def
Lean.Expr.instantiateLevelParamsCore.replaceFn
(s : Lean.Name → Option Lean.Level)
(e : Lean.Expr)
:
Instances For
def
Lean.Expr.instantiateLevelParams
(e : Lean.Expr)
(paramNames : List Lean.Name)
(lvls : List Lean.Level)
:
Instantiate universe level parameters names paramNames
with lvls
in e
.
If the two lists have different length, the smallest one is used.
Equations
- e.instantiateLevelParams paramNames lvls = if (paramNames.isEmpty || lvls.isEmpty) = true then e else Lean.Expr.instantiateLevelParamsCore (Lean.Expr.getParamSubst✝ paramNames lvls) e
Instances For
def
Lean.Expr.instantiateLevelParamsNoCache
(e : Lean.Expr)
(paramNames : List Lean.Name)
(lvls : List Lean.Level)
:
Instantiate universe level parameters names paramNames
with lvls
in e
.
If the two lists have different length, the smallest one is used.
(Does not preserve expression sharing.)
Instances For
def
Lean.Expr.instantiateLevelParamsArray
(e : Lean.Expr)
(paramNames : Array Lean.Name)
(lvls : Array Lean.Level)
:
Instantiate universe level parameters names paramNames
with lvls
in e
.
If the two arrays have different length, the smallest one is used.