Documentation

Lean.Declaration

Equations
Equations
structure Lean.ConstantVal :
Type
Equations
structure Lean.AxiomVal extends Lean.ConstantVal :
Type
Equations
def Lean.mkAxiomValEx (name : Lean.Name) (levelParams : List Lean.Name) (type : Lean.Expr) (isUnsafe : Bool) :
Equations
  • Lean.mkAxiomValEx name levelParams type isUnsafe = { toConstantVal := { name := name, levelParams := levelParams, type := type }, isUnsafe := isUnsafe }
Equations
Equations
  • Lean.mkDefinitionValEx name levelParams type val hints safety = { toConstantVal := { name := name, levelParams := levelParams, type := type }, value := val, hints := hints, safety := safety }
structure Lean.TheoremVal extends Lean.ConstantVal :
Type
Equations
structure Lean.OpaqueVal extends Lean.ConstantVal :
Type
Equations
def Lean.mkOpaqueValEx (name : Lean.Name) (levelParams : List Lean.Name) (type : Lean.Expr) (val : Lean.Expr) (isUnsafe : Bool) :
Equations
  • Lean.mkOpaqueValEx name levelParams type val isUnsafe = { toConstantVal := { name := name, levelParams := levelParams, type := type }, value := val, isUnsafe := isUnsafe }
structure Lean.Constructor :
Type
Equations
structure Lean.InductiveType :
Type
Equations
def Lean.mkInductiveDeclEs (lparams : List Lean.Name) (nparams : Nat) (types : List Lean.InductiveType) (isUnsafe : Bool) :
Equations
@[specialize]
def Lean.Declaration.foldExprM {α : Type} {m : TypeType} [inst : Monad m] (d : Lean.Declaration) (f : αLean.Exprm α) (a : α) :
m α
Equations
@[inline]
def Lean.Declaration.forExprM {m : TypeType} [inst : Monad m] (d : Lean.Declaration) (f : Lean.Exprm Unit) :
Equations
structure Lean.InductiveVal extends Lean.ConstantVal :
Type
Equations
  • Lean.instInhabitedInductiveVal = { default := { toConstantVal := default, numParams := default, numIndices := default, all := default, ctors := default, isRec := default, isUnsafe := default, isReflexive := default, isNested := default } }
def Lean.mkInductiveValEx (name : Lean.Name) (levelParams : List Lean.Name) (type : Lean.Expr) (numParams : Nat) (numIndices : Nat) (all : List Lean.Name) (ctors : List Lean.Name) (isRec : Bool) (isUnsafe : Bool) (isReflexive : Bool) (isNested : Bool) :
Equations
  • Lean.mkInductiveValEx name levelParams type numParams numIndices all ctors isRec isUnsafe isReflexive isNested = { toConstantVal := { name := name, levelParams := levelParams, type := type }, numParams := numParams, numIndices := numIndices, all := all, ctors := ctors, isRec := isRec, isUnsafe := isUnsafe, isReflexive := isReflexive, isNested := isNested }
structure Lean.ConstructorVal extends Lean.ConstantVal :
Type
Equations
  • Lean.instInhabitedConstructorVal = { default := { toConstantVal := default, induct := default, cidx := default, numParams := default, numFields := default, isUnsafe := default } }
def Lean.mkConstructorValEx (name : Lean.Name) (levelParams : List Lean.Name) (type : Lean.Expr) (induct : Lean.Name) (cidx : Nat) (numParams : Nat) (numFields : Nat) (isUnsafe : Bool) :
Equations
  • Lean.mkConstructorValEx name levelParams type induct cidx numParams numFields isUnsafe = { toConstantVal := { name := name, levelParams := levelParams, type := type }, induct := induct, cidx := cidx, numParams := numParams, numFields := numFields, isUnsafe := isUnsafe }
structure Lean.RecursorRule :
Type
Equations
structure Lean.RecursorVal extends Lean.ConstantVal :
Type
Equations
  • Lean.instInhabitedRecursorVal = { default := { toConstantVal := default, all := default, numParams := default, numIndices := default, numMotives := default, numMinors := default, rules := default, k := default, isUnsafe := default } }
def Lean.mkRecursorValEx (name : Lean.Name) (levelParams : List Lean.Name) (type : Lean.Expr) (all : List Lean.Name) (numParams : Nat) (numIndices : Nat) (numMotives : Nat) (numMinors : Nat) (rules : List Lean.RecursorRule) (k : Bool) (isUnsafe : Bool) :
Equations
  • Lean.mkRecursorValEx name levelParams type all numParams numIndices numMotives numMinors rules k isUnsafe = { toConstantVal := { name := name, levelParams := levelParams, type := type }, all := all, numParams := numParams, numIndices := numIndices, numMotives := numMotives, numMinors := numMinors, rules := rules, k := k, isUnsafe := isUnsafe }
Equations
Equations
structure Lean.QuotVal extends Lean.ConstantVal :
Type
Equations
def Lean.mkQuotValEx (name : Lean.Name) (levelParams : List Lean.Name) (type : Lean.Expr) (kind : Lean.QuotKind) :
Equations
  • Lean.mkQuotValEx name levelParams type kind = { toConstantVal := { name := name, levelParams := levelParams, type := type }, kind := kind }
Equations
Equations
Equations
Equations
Equations
@[extern lean_instantiate_type_lparams]
@[extern lean_instantiate_value_lparams]
def Lean.mkRecName (declName : Lean.Name) :
Equations