A (potentially recursive) definition. The elaborator converts it into Kernel definitions using many different strategies.
- ref : Lean.Syntax
- kind : Lean.Elab.DefKind
- modifiers : Lean.Elab.Modifiers
- declName : Lean.Name
- type : Lean.Expr
- value : Lean.Expr
- termination : Lean.Elab.TerminationHints
Instances For
def
Lean.Elab.PreDefinition.filterAttrs
(preDef : Lean.Elab.PreDefinition)
(p : Lean.Elab.Attribute → Bool)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Applies Lean.instantiateMVars
to the types of values of each predefinition.
Instances For
Applies Lean.Elab.Term.levelMVarToParam
to the types of each predefinition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.fixLevelParams
(preDefs : Array Lean.Elab.PreDefinition)
(scopeLevelNames allUserLevelNames : List Lean.Name)
:
Instances For
def
Lean.Elab.applyAttributesOf
(preDefs : Array Lean.Elab.PreDefinition)
(applicationTime : Lean.AttributeApplicationTime)
:
Instances For
Instances For
Auxiliary method for (temporarily) adding pre definition as an axiom
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.addAndCompileNonRec
(preDef : Lean.Elab.PreDefinition)
(all : List Lean.Name := [preDef.declName])
:
Instances For
def
Lean.Elab.addNonRec
(preDef : Lean.Elab.PreDefinition)
(applyAttrAfterCompilation : Bool := true)
(all : List Lean.Name := [preDef.declName])
:
Equations
- Lean.Elab.addNonRec preDef applyAttrAfterCompilation all = Lean.Elab.addNonRecAux✝ preDef false all applyAttrAfterCompilation
Instances For
Eliminate recursive application annotations containing syntax. These annotations are used by the well-founded recursion module to produce better error messages.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.addAndCompileUnsafe
(preDefs : Array Lean.Elab.PreDefinition)
(safety : Lean.DefinitionSafety := Lean.DefinitionSafety.unsafe)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Checks that all codomains have the same level, throws an error otherwise.
Equations
- One or more equations did not get rendered due to their size.