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
Equations
- One or more equations did not get rendered due to their size.
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.
Equations
- One or more equations did not get rendered due to their size.
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)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Elab.applyAttributesOf
(preDefs : Array Lean.Elab.PreDefinition)
(applicationTime : Lean.AttributeApplicationTime)
:
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
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])
:
Equations
- Lean.Elab.addAndCompileNonRec preDef all = Lean.Elab.addNonRecAux✝ preDef true all
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.
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
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
Equations
- One or more equations did not get rendered due to their size.
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.