Equations
- Lean.Meta.instReprElimAltInfo = { reprPrec := Lean.Meta.reprElimAltInfo✝ }
Equations
- Lean.Meta.instInhabitedElimAltInfo = { default := { name := default, declName? := default, numFields := default } }
Information about an eliminator as used by induction
or cases
.
Created from an expression by getElimInfo
. This typically contains level metavariables that
are instantiated as we go (e.g. in addImplicitTargets
), so this is single use.
- elimExpr : Lean.Expr
- elimType : Lean.Expr
- motivePos : Nat
- altsInfo : Array Lean.Meta.ElimAltInfo
Instances For
Equations
- Lean.Meta.instReprElimInfo = { reprPrec := Lean.Meta.reprElimInfo✝ }
Equations
- Lean.Meta.instInhabitedElimInfo = { default := { elimExpr := default, elimType := default, motivePos := default, targetsPos := default, altsInfo := default } }
def
Lean.Meta.getElimExprInfo
(elimExpr : Lean.Expr)
(baseDeclName? : optParam (Option Lake.Name) none)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.getElimInfo
(elimName : Lake.Name)
(baseDeclName? : optParam (Option Lake.Name) none)
:
Equations
- Lean.Meta.getElimInfo elimName baseDeclName? = do let __do_lift ← Lean.Meta.mkConstWithFreshMVarLevels elimName Lean.Meta.getElimExprInfo __do_lift baseDeclName?
Instances For
Eliminators/recursors may have implicit targets. For builtin recursors, all indices are implicit targets. Given an eliminator and the sequence of explicit targets, this methods returns a new sequence containing implicit and explicit targets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
partial def
Lean.Meta.addImplicitTargets.collect
(elimInfo : Lean.Meta.ElimInfo)
(targets : Array Lean.Expr)
(type : Lean.Expr)
(argIdx : Nat)
(targetIdx : Nat)
(implicits : Array Lean.MVarId)
(targets' : Array Lean.Expr)
:
Equations
- Lean.Meta.instInhabitedCustomEliminator = { default := { typeNames := default, elimName := default } }
Equations
- Lean.Meta.instReprCustomEliminator = { reprPrec := Lean.Meta.reprCustomEliminator✝ }
Equations
- Lean.Meta.instInhabitedCustomEliminators = { default := { map := default } }
Equations
- Lean.Meta.instReprCustomEliminators = { reprPrec := Lean.Meta.reprCustomEliminators✝ }
def
Lean.Meta.addCustomEliminatorEntry
(es : Lean.Meta.CustomEliminators)
(e : Lean.Meta.CustomEliminator)
:
Equations
- Lean.Meta.addCustomEliminatorEntry es e = match es with | { map := map } => { map := Lean.SMap.insert map e.typeNames e.elimName }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.addCustomEliminator declName attrKind = do let e ← Lean.Meta.mkCustomEliminator declName Lean.ScopedEnvExtension.add Lean.Meta.customEliminatorExt e attrKind
Instances For
Equations
- Lean.Meta.getCustomEliminators = do let __do_lift ← Lean.getEnv pure (Lean.ScopedEnvExtension.getState Lean.Meta.customEliminatorExt __do_lift)
Instances For
Equations
- One or more equations did not get rendered due to their size.