Equations
- Lean.instInhabitedProjectionFunctionInfo = { default := { ctorName := default, numParams := default, i := default, fromClass := default } }
@[export lean_mk_projection_info]
Equations
- Lean.mkProjectionInfoEx ctorName numParams i fromClass = { ctorName := ctorName, numParams := numParams, i := i, fromClass := fromClass }
@[export lean_projection_info_from_class]
Equations
- Lean.ProjectionFunctionInfo.fromClassEx info = info.fromClass
@[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.
@[export lean_get_projection_info]
Equations
- Lean.Environment.getProjectionFnInfo? env projName = Lean.MapDeclarationExtension.find? Lean.projectionFnInfoExt env projName
Equations
- Lean.Environment.isProjectionFn env declName = Lean.MapDeclarationExtension.contains Lean.projectionFnInfoExt env declName
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 : Type → Type}
[inst : Lean.MonadEnv m]
[inst : Monad m]
(declName : Lean.Name)
:
m Bool
Equations
- Lean.isProjectionFn declName = do let a ← Lean.getEnv pure (Lean.Environment.isProjectionFn a declName)
def
Lean.getProjectionFnInfo?
{m : Type → Type}
[inst : Lean.MonadEnv m]
[inst : Monad m]
(declName : Lean.Name)
:
Equations
- Lean.getProjectionFnInfo? declName = do let a ← Lean.getEnv pure (Lean.Environment.getProjectionFnInfo? a declName)