Documentation

Lean.Elab.Inductive

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
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.

Return some ?m if u is of the form ?m + k. Return none if u does not contain universe metavariables. Throw exception otherwise.

Equations
  • One or more equations did not get rendered due to their size.
def Lean.Elab.Command.mkResultUniverse (us : Array Lean.Level) (rOffset : Nat) (preferProp : Bool) :
Equations
  • One or more equations did not get rendered due to their size.

Auxiliary function for updateResultingUniverse accLevel u r rOffset add u to state if it is not already there and it is different from the resulting universe level r+rOffset.

If u is a max, then its components are recursively processed. If u is a succ and rOffset > 0, we process the us child using rOffset-1.

This method is used to infer the resulting universe level of an inductive datatype.

Equations

Auxiliary function for updateResultingUniverse accLevelAtCtor ctor ctorParam r rOffset add u (ctorParam's universe) to state if it is not already there and it is different from the resulting universe level r+rOffset.

See accLevel.

Equations
  • One or more equations did not get rendered due to their size.
def Lean.Elab.Command.withCtorRef {m : TypeType} {α : Type} [Monad m] [Lean.MonadRef m] (views : Array Lean.Elab.Command.InductiveView) (ctorName : Lean.Name) (k : m α) :
m α

Execute k using the Syntax reference associated with constructor ctorName.

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

Returns true if all elements of the mutual block (Lean.Parser.Command.mutual) are inductive declarations.

Equations

Elaborates a mutual block satisfying Lean.Elab.Command.isMutualInductive.

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