Reducibility status for a definition.
- reducible : Lean.ReducibilityStatus
- semireducible : Lean.ReducibilityStatus
- irreducible : Lean.ReducibilityStatus
Instances For
Equations
Equations
- Lean.instReprReducibilityStatus = { reprPrec := Lean.reprReducibilityStatus✝ }
Equations
Equations
- Lean.ReducibilityStatus.reducible.toAttrString = "[reducible]"
- Lean.ReducibilityStatus.irreducible.toAttrString = "[irreducible]"
- Lean.ReducibilityStatus.semireducible.toAttrString = "[semireducible]"
Instances For
@[export lean_get_reducibility_status]
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.getReducibilityStatus
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
(declName : Lean.Name)
:
Return the reducibility attribute for the given declaration.
Equations
- Lean.getReducibilityStatus declName = do let __do_lift ← Lean.getEnv pure (Lean.getReducibilityStatusCore __do_lift declName)
Instances For
def
Lean.setReducibilityStatus
{m : Type → Type}
[Lean.MonadEnv m]
(declName : Lean.Name)
(s : Lean.ReducibilityStatus)
:
m Unit
Set the reducibility attribute for the given declaration.
Equations
- Lean.setReducibilityStatus declName s = Lean.modifyEnv fun (env : Lean.Environment) => Lean.setReducibilityStatusCore✝ env declName s Lean.AttributeKind.global Lean.Name.anonymous
Instances For
Set the given declaration as [reducible]
Equations
Instances For
Return true
if the given declaration has been marked as [reducible]
.
Equations
- Lean.isReducible declName = do let __do_lift ← Lean.getReducibilityStatus declName match __do_lift with | Lean.ReducibilityStatus.reducible => pure true | x => pure false
Instances For
Return true
if the given declaration has been marked as [irreducible]
Equations
- Lean.isIrreducible declName = do let __do_lift ← Lean.getReducibilityStatus declName match __do_lift with | Lean.ReducibilityStatus.irreducible => pure true | x => pure false
Instances For
Set the given declaration as [irreducible]