Equations
- Lean.mkCasesOnName indDeclName = Lean.Name.mkStr indDeclName Lean.casesOnSuffix
Equations
- Lean.mkRecOnName indDeclName = Lean.Name.mkStr indDeclName Lean.recOnSuffix
Equations
- Lean.mkBRecOnName indDeclName = Lean.Name.mkStr indDeclName Lean.brecOnSuffix
Equations
- Lean.mkBInductionOnName indDeclName = Lean.Name.mkStr indDeclName Lean.binductionOnSuffix
Equations
- Lean.mkBelowName indDeclName = Lean.Name.mkStr indDeclName Lean.belowSuffix
@[export lean_mark_aux_recursor]
Equations
- Lean.markAuxRecursor env declName = Lean.TagDeclarationExtension.tag Lean.auxRecExt env declName
@[export lean_is_aux_recursor]
Equations
- Lean.isAuxRecursor env declName = (Lean.TagDeclarationExtension.isTagged Lean.auxRecExt env declName || declName == `Eq.ndrec || declName == `Eq.ndrecOn)
def
Lean.isAuxRecursorWithSuffix
(env : Lean.Environment)
(declName : Lean.Name)
(suffix : Lean.Name)
:
Equations
- Lean.isAuxRecursorWithSuffix env declName suffix = match declName with | Lean.Name.str a s a_1 => Lean.Name.mkSimple s == suffix && Lean.isAuxRecursor env declName | x => false
Equations
- Lean.isCasesOnRecursor env declName = Lean.isAuxRecursorWithSuffix env declName (Lean.Name.mkSimple Lean.casesOnSuffix)
Equations
- Lean.isBRecOnRecursor env declName = Lean.isAuxRecursorWithSuffix env declName (Lean.Name.mkSimple Lean.brecOnSuffix)
@[export lean_mark_no_confusion]
Equations
@[export lean_is_no_confusion]