Reducibility status for a definition.
- reducible: Lean.ReducibilityStatus
- semireducible: Lean.ReducibilityStatus
- irreducible: Lean.ReducibilityStatus
Instances For
Equations
Equations
- Lean.instReprReducibilityStatus = { reprPrec := Lean.reprReducibilityStatus✝ }
Environment extension for storing the reducibility attribute for definitions.
def
Lean.getReducibilityStatus
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
(declName : Lake.Name)
:
Return the reducibility attribute for the given declaration.
Equations
- Lean.getReducibilityStatus declName = do let __do_lift ← Lean.getEnv pure (Lean.getReducibilityStatusImp __do_lift declName)
Instances For
def
Lean.setReducibilityStatus
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
(declName : Lake.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.setReducibilityStatusImp env declName s
Instances For
def
Lean.setReducibleAttribute
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
(declName : Lake.Name)
:
m Unit
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