Documentation

Lean.ProjFns

  • Constructor associated with the auxiliary projection function.

    ctorName : Lean.Name
  • Number of parameters in the structure

    numParams : Nat
  • The field index associated with the auxiliary projection function.

    i : Nat
  • true if the structure is a class.

    fromClass : Bool

Given a structure S, Lean automatically creates an auxiliary definition (projection function) for each field. This structure caches information about these auxiliary definitions.

Instances For
    Equations
    @[export lean_mk_projection_info]
    def Lean.mkProjectionInfoEx (ctorName : Lean.Name) (numParams : Nat) (i : Nat) (fromClass : Bool) :
    Equations
    • Lean.mkProjectionInfoEx ctorName numParams i fromClass = { ctorName := ctorName, numParams := numParams, i := i, fromClass := fromClass }
    @[export lean_projection_info_from_class]
    Equations
    @[export lean_add_projection_info]
    def Lean.addProjectionFnInfo (env : Lean.Environment) (projName : Lean.Name) (ctorName : Lean.Name) (numParams : Nat) (i : Nat) (fromClass : Bool) :
    Equations
    • One or more equations did not get rendered due to their size.

    If projName is the name of a projection function, return the associated structure name

    Equations
    • One or more equations did not get rendered due to their size.
    def Lean.isProjectionFn {m : TypeType} [inst : Lean.MonadEnv m] [inst : Monad m] (declName : Lean.Name) :
    Equations
    Equations