@@ -72,8 +72,8 @@ attribute [nolint simpNF] FreeAddMagma.add.injEq
72
72
attribute [nolint simpNF] FreeMagma.mul.injEq
73
73
74
74
/-- Recursor for `FreeMagma` using `x * y` instead of `FreeMagma.mul x y`. -/
75
- @[to_additive (attr := elab_as_elim) "Recursor for `FreeAddMagma` using `x + y` instead of
76
- `FreeAddMagma.add x y`." ]
75
+ @[to_additive (attr := elab_as_elim, induction_eliminator)
76
+ "Recursor for `FreeAddMagma` using `x + y` instead of `FreeAddMagma.add x y`." ]
77
77
def recOnMul {C : FreeMagma α → Sort l} (x) (ih1 : ∀ x, C (of x))
78
78
(ih2 : ∀ x y, C x → C y → C (x * y)) : C x :=
79
79
FreeMagma.recOn x ih1 ih2
@@ -394,7 +394,7 @@ def of : α →ₙ* AssocQuotient α where toFun := Quot.mk _; map_mul' _x _y :=
394
394
@[to_additive]
395
395
instance [Inhabited α] : Inhabited (AssocQuotient α) := ⟨of default⟩
396
396
397
- @[to_additive (attr := elab_as_elim)]
397
+ @[to_additive (attr := elab_as_elim, induction_eliminator )]
398
398
protected theorem induction_on {C : AssocQuotient α → Prop } (x : AssocQuotient α)
399
399
(ih : ∀ x, C (of x)) : C x := Quot.induction_on x ih
400
400
#align magma.assoc_quotient.induction_on Magma.AssocQuotient.induction_on
@@ -517,7 +517,8 @@ theorem length_of (x : α) : (of x).length = 1 := rfl
517
517
instance [Inhabited α] : Inhabited (FreeSemigroup α) := ⟨of default⟩
518
518
519
519
/-- Recursor for free semigroup using `of` and `*`. -/
520
- @[to_additive (attr := elab_as_elim) "Recursor for free additive semigroup using `of` and `+`."]
520
+ @[to_additive (attr := elab_as_elim, induction_eliminator)
521
+ "Recursor for free additive semigroup using `of` and `+`." ]
521
522
protected def recOnMul {C : FreeSemigroup α → Sort l} (x) (ih1 : ∀ x, C (of x))
522
523
(ih2 : ∀ x y, C (of x) → C y → C (of x * y)) : C x :=
523
524
FreeSemigroup.recOn x fun f s ↦
0 commit comments