Documentation

Lean.Elab.PreDefinition.Basic

A (potentially recursive) definition. The elaborator converts it into Kernel definitions using many different strategies.

Instances For
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Applies Lean.instantiateMVars to the types of values of each predefinition.

Equations
  • One or more equations did not get rendered due to their size.

Applies Lean.Elab.Term.levelMVarToParam to the types of each predefinition.

Equations
  • One or more equations did not get rendered due to their size.
def Lean.Elab.fixLevelParams (preDefs : Array PreDefinition) (scopeLevelNames allUserLevelNames : List Name) :
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Applies Meta.letToHave to the values of defs, instances, and abbrevs. Does not apply the transformation to values that are proofs, or to unsafe definitions.

Equations
  • One or more equations did not get rendered due to their size.

Applies Meta.letToHave to the type of the predef.

Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Auxiliary method for (temporarily) adding pre definition as an axiom

Equations
  • One or more equations did not get rendered due to their size.
def Lean.Elab.addAndCompileNonRec (preDef : PreDefinition) (all : List Name := [preDef.declName]) (cleanupValue : Bool := false) :
Equations
def Lean.Elab.addNonRec (preDef : PreDefinition) (applyAttrAfterCompilation : Bool := true) (all : List Name := [preDef.declName]) (cacheProofs : Bool := true) (cleanupValue : Bool := false) :
Equations

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.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
def Lean.Elab.ensureNoRecFn (recFnNames : Array Name) (e : Expr) :
Equations
  • One or more equations did not get rendered due to their size.

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.
Equations
  • One or more equations did not get rendered due to their size.