algebra.hom.centroid
⟷
Mathlib.Algebra.Ring.CentroidHom
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -432,17 +432,17 @@ instance : AddCommMonoid (CentroidHom α) :=
instance : NatCast (CentroidHom α) where natCast n := n • 1
-#print CentroidHom.coe_nat_cast /-
+#print CentroidHom.coe_natCast /-
@[simp, norm_cast]
-theorem coe_nat_cast (n : ℕ) : ⇑(n : CentroidHom α) = n • id :=
+theorem coe_natCast (n : ℕ) : ⇑(n : CentroidHom α) = n • id :=
rfl
-#align centroid_hom.coe_nat_cast CentroidHom.coe_nat_cast
+#align centroid_hom.coe_nat_cast CentroidHom.coe_natCast
-/
-#print CentroidHom.nat_cast_apply /-
-theorem nat_cast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
+#print CentroidHom.natCast_apply /-
+theorem natCast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
rfl
-#align centroid_hom.nat_cast_apply CentroidHom.nat_cast_apply
+#align centroid_hom.nat_cast_apply CentroidHom.natCast_apply
-/
#print CentroidHom.toEnd_one /-
@@ -465,17 +465,17 @@ theorem toEnd_pow (x : CentroidHom α) (n : ℕ) : (x ^ n).toEnd = x.toEnd ^ n :
#align centroid_hom.to_End_pow CentroidHom.toEnd_pow
-/
-#print CentroidHom.toEnd_nat_cast /-
+#print CentroidHom.toEnd_natCast /-
@[simp, norm_cast]
-theorem toEnd_nat_cast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
+theorem toEnd_natCast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
rfl
-#align centroid_hom.to_End_nat_cast CentroidHom.toEnd_nat_cast
+#align centroid_hom.to_End_nat_cast CentroidHom.toEnd_natCast
-/
-- cf `add_monoid.End.semiring`
instance : Semiring (CentroidHom α) :=
toEnd_injective.Semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_smul toEnd_pow
- toEnd_nat_cast
+ toEnd_natCast
#print CentroidHom.comp_mul_comm /-
theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S ∘ T) (a * b) := by
@@ -518,17 +518,17 @@ instance hasZsmul : SMul ℤ (CentroidHom α) :=
instance : IntCast (CentroidHom α) where intCast z := z • 1
-#print CentroidHom.coe_int_cast /-
+#print CentroidHom.coe_intCast /-
@[simp, norm_cast]
-theorem coe_int_cast (z : ℤ) : ⇑(z : CentroidHom α) = z • id :=
+theorem coe_intCast (z : ℤ) : ⇑(z : CentroidHom α) = z • id :=
rfl
-#align centroid_hom.coe_int_cast CentroidHom.coe_int_cast
+#align centroid_hom.coe_int_cast CentroidHom.coe_intCast
-/
-#print CentroidHom.int_cast_apply /-
-theorem int_cast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
+#print CentroidHom.intCast_apply /-
+theorem intCast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
rfl
-#align centroid_hom.int_cast_apply CentroidHom.int_cast_apply
+#align centroid_hom.int_cast_apply CentroidHom.intCast_apply
-/
#print CentroidHom.toEnd_neg /-
@@ -584,16 +584,16 @@ theorem sub_apply (f g : CentroidHom α) (a : α) : (f - g) a = f a - g a :=
#align centroid_hom.sub_apply CentroidHom.sub_apply
-/
-#print CentroidHom.toEnd_int_cast /-
+#print CentroidHom.toEnd_intCast /-
@[simp, norm_cast]
-theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
+theorem toEnd_intCast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
rfl
-#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_cast
+#align centroid_hom.to_End_int_cast CentroidHom.toEnd_intCast
-/
instance : Ring (CentroidHom α) :=
toEnd_injective.Ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub toEnd_smul
- toEnd_smul toEnd_pow toEnd_nat_cast toEnd_int_cast
+ toEnd_smul toEnd_pow toEnd_natCast toEnd_intCast
end NonUnitalNonAssocRing
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-/
import Algebra.GroupPower.Lemmas
-import Algebra.Hom.GroupInstances
+import Algebra.Group.Hom.Instances
#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"cc70d9141824ea8982d1562ce009952f2c3ece30"
@@ -324,12 +324,12 @@ instance hasNPowNat : Pow (CentroidHom α) ℕ :=
map_hMul_left' := fun a b => by
induction' n with n ih
· simp
- · rw [pow_succ]
+ · rw [pow_succ']
exact (congr_arg f.to_End ih).trans (f.map_mul_left' _ _)
map_hMul_right' := fun a b => by
induction' n with n ih
· simp
- · rw [pow_succ]
+ · rw [pow_succ']
exact (congr_arg f.to_End ih).trans (f.map_mul_right' _ _) }⟩
#align centroid_hom.has_npow_nat CentroidHom.hasNPowNat
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -103,7 +103,7 @@ instance : CentroidHomClass (CentroidHom α) α
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
instance : CoeFun (CentroidHom α) fun _ => α → α :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
#print CentroidHom.toFun_eq_coe /-
@[simp]
@@ -115,7 +115,7 @@ theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = (f : α → α) :=
#print CentroidHom.ext /-
@[ext]
theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align centroid_hom.ext CentroidHom.ext
-/
@@ -136,7 +136,7 @@ theorem toAddMonoidHom_eq_coe (f : CentroidHom α) : f.toAddMonoidHom = f :=
#print CentroidHom.coe_toAddMonoidHom_injective /-
theorem coe_toAddMonoidHom_injective : Injective (coe : CentroidHom α → α →+ α) := fun f g h =>
ext fun a =>
- haveI := FunLike.congr_fun h a
+ haveI := DFunLike.congr_fun h a
this
#align centroid_hom.coe_to_add_monoid_hom_injective CentroidHom.coe_toAddMonoidHom_injective
-/
@@ -174,7 +174,7 @@ theorem coe_copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : ⇑(f.copy
#print CentroidHom.copy_eq /-
theorem copy_eq (f : CentroidHom α) (f' : α → α) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align centroid_hom.copy_eq CentroidHom.copy_eq
-/
@@ -272,7 +272,7 @@ theorem id_comp (f : CentroidHom α) : (CentroidHom.id α).comp f = f :=
#print CentroidHom.cancel_right /-
theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+ ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
#align centroid_hom.cancel_right CentroidHom.cancel_right
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -314,8 +314,8 @@ instance hasNsmul : SMul ℕ (CentroidHom α) :=
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_nsmul CentroidHom.hasNsmul
-#print CentroidHom.hasNpowNat /-
-instance hasNpowNat : Pow (CentroidHom α) ℕ :=
+#print CentroidHom.hasNPowNat /-
+instance hasNPowNat : Pow (CentroidHom α) ℕ :=
⟨fun f n =>
{
(f.toEnd ^ n :
@@ -331,7 +331,7 @@ instance hasNpowNat : Pow (CentroidHom α) ℕ :=
· simp
· rw [pow_succ]
exact (congr_arg f.to_End ih).trans (f.map_mul_right' _ _) }⟩
-#align centroid_hom.has_npow_nat CentroidHom.hasNpowNat
+#align centroid_hom.has_npow_nat CentroidHom.hasNPowNat
-/
#print CentroidHom.coe_zero /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -302,7 +302,6 @@ instance : Add (CentroidHom α) :=
instance : Mul (CentroidHom α) :=
⟨comp⟩
-#print CentroidHom.hasNsmul /-
instance hasNsmul : SMul ℕ (CentroidHom α) :=
⟨fun n f =>
{
@@ -314,7 +313,6 @@ instance hasNsmul : SMul ℕ (CentroidHom α) :=
map_hMul_right' := fun a b => by change n • f (a * b) = n • f a * b;
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_nsmul CentroidHom.hasNsmul
--/
#print CentroidHom.hasNpowNat /-
instance hasNpowNat : Pow (CentroidHom α) ℕ :=
@@ -364,12 +362,12 @@ theorem coe_mul (f g : CentroidHom α) : ⇑(f * g) = f ∘ g :=
#align centroid_hom.coe_mul CentroidHom.coe_mul
-/
-#print CentroidHom.coe_nsmul /-
+#print CentroidHom.coe_smul /-
-- Eligible for `dsimp`
@[simp, norm_cast, nolint simp_nf]
-theorem coe_nsmul (f : CentroidHom α) (n : ℕ) : ⇑(n • f) = n • f :=
+theorem coe_smul (f : CentroidHom α) (n : ℕ) : ⇑(n • f) = n • f :=
rfl
-#align centroid_hom.coe_nsmul CentroidHom.coe_nsmul
+#align centroid_hom.coe_nsmul CentroidHom.coe_smul
-/
#print CentroidHom.zero_apply /-
@@ -400,12 +398,12 @@ theorem mul_apply (f g : CentroidHom α) (a : α) : (f * g) a = f (g a) :=
#align centroid_hom.mul_apply CentroidHom.mul_apply
-/
-#print CentroidHom.nsmul_apply /-
+#print CentroidHom.smul_apply /-
-- Eligible for `dsimp`
@[simp, nolint simp_nf]
-theorem nsmul_apply (f : CentroidHom α) (n : ℕ) (a : α) : (n • f) a = n • f a :=
+theorem smul_apply (f : CentroidHom α) (n : ℕ) (a : α) : (n • f) a = n • f a :=
rfl
-#align centroid_hom.nsmul_apply CentroidHom.nsmul_apply
+#align centroid_hom.nsmul_apply CentroidHom.smul_apply
-/
#print CentroidHom.toEnd_zero /-
@@ -422,15 +420,15 @@ theorem toEnd_add (x y : CentroidHom α) : (x + y).toEnd = x.toEnd + y.toEnd :=
#align centroid_hom.to_End_add CentroidHom.toEnd_add
-/
-#print CentroidHom.toEnd_nsmul /-
-theorem toEnd_nsmul (x : CentroidHom α) (n : ℕ) : (n • x).toEnd = n • x.toEnd :=
+#print CentroidHom.toEnd_smul /-
+theorem toEnd_smul (x : CentroidHom α) (n : ℕ) : (n • x).toEnd = n • x.toEnd :=
rfl
-#align centroid_hom.to_End_nsmul CentroidHom.toEnd_nsmul
+#align centroid_hom.to_End_nsmul CentroidHom.toEnd_smul
-/
-- cf.`add_monoid_hom.add_comm_monoid`
instance : AddCommMonoid (CentroidHom α) :=
- coe_toAddMonoidHom_injective.AddCommMonoid _ toEnd_zero toEnd_add toEnd_nsmul
+ coe_toAddMonoidHom_injective.AddCommMonoid _ toEnd_zero toEnd_add toEnd_smul
instance : NatCast (CentroidHom α) where natCast n := n • 1
@@ -476,7 +474,7 @@ theorem toEnd_nat_cast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
-- cf `add_monoid.End.semiring`
instance : Semiring (CentroidHom α) :=
- toEnd_injective.Semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_nsmul toEnd_pow
+ toEnd_injective.Semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_smul toEnd_pow
toEnd_nat_cast
#print CentroidHom.comp_mul_comm /-
@@ -506,7 +504,6 @@ instance : Sub (CentroidHom α) :=
map_hMul_left' := fun a b => by simp [map_mul_left, mul_sub]
map_hMul_right' := fun a b => by simp [map_mul_right, sub_mul] }⟩
-#print CentroidHom.hasZsmul /-
instance hasZsmul : SMul ℤ (CentroidHom α) :=
⟨fun n f =>
{
@@ -518,7 +515,6 @@ instance hasZsmul : SMul ℤ (CentroidHom α) :=
map_hMul_right' := fun a b => by change n • f (a * b) = n • f a * b;
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_zsmul CentroidHom.hasZsmul
--/
instance : IntCast (CentroidHom α) where intCast z := z • 1
@@ -549,14 +545,16 @@ theorem toEnd_sub (x y : CentroidHom α) : (x - y).toEnd = x.toEnd - y.toEnd :=
#align centroid_hom.to_End_sub CentroidHom.toEnd_sub
-/
-#print CentroidHom.toEnd_zsmul /-
-theorem toEnd_zsmul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.toEnd :=
+/- warning: centroid_hom.to_End_zsmul clashes with centroid_hom.to_End_nsmul -> CentroidHom.toEnd_smul
+Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_zsmul CentroidHom.toEnd_smulₓ'. -/
+#print CentroidHom.toEnd_smul /-
+theorem toEnd_smul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.toEnd :=
rfl
-#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmul
+#align centroid_hom.to_End_zsmul CentroidHom.toEnd_smul
-/
instance : AddCommGroup (CentroidHom α) :=
- toEnd_injective.AddCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_nsmul toEnd_zsmul
+ toEnd_injective.AddCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_smul toEnd_smul
#print CentroidHom.coe_neg /-
@[simp, norm_cast]
@@ -594,8 +592,8 @@ theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
-/
instance : Ring (CentroidHom α) :=
- toEnd_injective.Ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub toEnd_nsmul
- toEnd_zsmul toEnd_pow toEnd_nat_cast toEnd_int_cast
+ toEnd_injective.Ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub toEnd_smul
+ toEnd_smul toEnd_pow toEnd_nat_cast toEnd_int_cast
end NonUnitalNonAssocRing
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-/
-import Mathbin.Algebra.GroupPower.Lemmas
-import Mathbin.Algebra.Hom.GroupInstances
+import Algebra.GroupPower.Lemmas
+import Algebra.Hom.GroupInstances
#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"cc70d9141824ea8982d1562ce009952f2c3ece30"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -55,8 +55,8 @@ variable {F α : Type _}
-- because eta for structures should provide the same result.
/-- The type of centroid homomorphisms from `α` to `α`. -/
structure CentroidHom (α : Type _) [NonUnitalNonAssocSemiring α] extends α →+ α where
- map_mul_left' (a b : α) : to_fun (a * b) = a * to_fun b
- map_mul_right' (a b : α) : to_fun (a * b) = to_fun a * b
+ map_hMul_left' (a b : α) : to_fun (a * b) = a * to_fun b
+ map_hMul_right' (a b : α) : to_fun (a * b) = to_fun a * b
#align centroid_hom CentroidHom
-/
@@ -68,19 +68,19 @@ attribute [nolint doc_blame] CentroidHom.toAddMonoidHom
You should extend this class when you extend `centroid_hom`. -/
class CentroidHomClass (F : Type _) (α : outParam <| Type _) [NonUnitalNonAssocSemiring α] extends
AddMonoidHomClass F α α where
- map_mul_left (f : F) (a b : α) : f (a * b) = a * f b
- map_mul_right (f : F) (a b : α) : f (a * b) = f a * b
+ map_hMul_left (f : F) (a b : α) : f (a * b) = a * f b
+ map_hMul_right (f : F) (a b : α) : f (a * b) = f a * b
#align centroid_hom_class CentroidHomClass
-/
-export CentroidHomClass (map_mul_left map_mul_right)
+export CentroidHomClass (map_hMul_left map_hMul_right)
instance [NonUnitalNonAssocSemiring α] [CentroidHomClass F α] : CoeTC F (CentroidHom α) :=
⟨fun f =>
{ (f : α →+ α) with
toFun := f
- map_mul_left' := map_mul_left f
- map_mul_right' := map_mul_right f }⟩
+ map_hMul_left' := map_hMul_left f
+ map_hMul_right' := map_hMul_right f }⟩
/-! ### Centroid homomorphisms -/
@@ -97,8 +97,8 @@ instance : CentroidHomClass (CentroidHom α) α
coe_injective' f g h := by cases f; cases g; congr
map_zero f := f.map_zero'
map_add f := f.map_add'
- map_mul_left f := f.map_mul_left'
- map_mul_right f := f.map_mul_right'
+ map_hMul_left f := f.map_hMul_left'
+ map_hMul_right f := f.map_hMul_right'
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
@@ -160,8 +160,8 @@ definitional equalities. -/
protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : CentroidHom α :=
{ f.toAddMonoidHom.copy f' <| h with
toFun := f'
- map_mul_left' := fun a b => by simp_rw [h, map_mul_left]
- map_mul_right' := fun a b => by simp_rw [h, map_mul_right] }
+ map_hMul_left' := fun a b => by simp_rw [h, map_mul_left]
+ map_hMul_right' := fun a b => by simp_rw [h, map_mul_right] }
#align centroid_hom.copy CentroidHom.copy
-/
@@ -184,8 +184,8 @@ variable (α)
/-- `id` as a `centroid_hom`. -/
protected def id : CentroidHom α :=
{ AddMonoidHom.id α with
- map_mul_left' := fun _ _ => rfl
- map_mul_right' := fun _ _ => rfl }
+ map_hMul_left' := fun _ _ => rfl
+ map_hMul_right' := fun _ _ => rfl }
#align centroid_hom.id CentroidHom.id
-/
@@ -221,9 +221,9 @@ def comp (g f : CentroidHom α) : CentroidHom α :=
{
g.toAddMonoidHom.comp
f.toAddMonoidHom with
- map_mul_left' := fun a b => (congr_arg g <| f.map_mul_left' _ _).trans <| g.map_mul_left' _ _
- map_mul_right' := fun a b =>
- (congr_arg g <| f.map_mul_right' _ _).trans <| g.map_mul_right' _ _ }
+ map_hMul_left' := fun a b => (congr_arg g <| f.map_hMul_left' _ _).trans <| g.map_hMul_left' _ _
+ map_hMul_right' := fun a b =>
+ (congr_arg g <| f.map_hMul_right' _ _).trans <| g.map_hMul_right' _ _ }
#align centroid_hom.comp CentroidHom.comp
-/
@@ -285,8 +285,8 @@ theorem cancel_left {g f₁ f₂ : CentroidHom α} (hg : Injective g) :
instance : Zero (CentroidHom α) :=
⟨{ (0 : α →+ α) with
- map_mul_left' := fun a b => (MulZeroClass.mul_zero _).symm
- map_mul_right' := fun a b => (MulZeroClass.zero_mul _).symm }⟩
+ map_hMul_left' := fun a b => (MulZeroClass.mul_zero _).symm
+ map_hMul_right' := fun a b => (MulZeroClass.zero_mul _).symm }⟩
instance : One (CentroidHom α) :=
⟨CentroidHom.id α⟩
@@ -296,8 +296,8 @@ instance : Add (CentroidHom α) :=
{
(f + g : α →+
α) with
- map_mul_left' := fun a b => by simp [map_mul_left, mul_add]
- map_mul_right' := fun a b => by simp [map_mul_right, add_mul] }⟩
+ map_hMul_left' := fun a b => by simp [map_mul_left, mul_add]
+ map_hMul_right' := fun a b => by simp [map_mul_right, add_mul] }⟩
instance : Mul (CentroidHom α) :=
⟨comp⟩
@@ -309,9 +309,9 @@ instance hasNsmul : SMul ℕ (CentroidHom α) :=
(n • f :
α →+
α) with
- map_mul_left' := fun a b => by change n • f (a * b) = a * n • f b;
+ map_hMul_left' := fun a b => by change n • f (a * b) = a * n • f b;
rw [map_mul_left f, ← mul_smul_comm]
- map_mul_right' := fun a b => by change n • f (a * b) = n • f a * b;
+ map_hMul_right' := fun a b => by change n • f (a * b) = n • f a * b;
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_nsmul CentroidHom.hasNsmul
-/
@@ -323,12 +323,12 @@ instance hasNpowNat : Pow (CentroidHom α) ℕ :=
(f.toEnd ^ n :
AddMonoid.End
α) with
- map_mul_left' := fun a b => by
+ map_hMul_left' := fun a b => by
induction' n with n ih
· simp
· rw [pow_succ]
exact (congr_arg f.to_End ih).trans (f.map_mul_left' _ _)
- map_mul_right' := fun a b => by
+ map_hMul_right' := fun a b => by
induction' n with n ih
· simp
· rw [pow_succ]
@@ -495,16 +495,16 @@ variable [NonUnitalNonAssocRing α]
instance : Neg (CentroidHom α) :=
⟨fun f =>
{ (-f : α →+ α) with
- map_mul_left' := by simp [map_mul_left]
- map_mul_right' := by simp [map_mul_right] }⟩
+ map_hMul_left' := by simp [map_mul_left]
+ map_hMul_right' := by simp [map_mul_right] }⟩
instance : Sub (CentroidHom α) :=
⟨fun f g =>
{
(f - g : α →+
α) with
- map_mul_left' := fun a b => by simp [map_mul_left, mul_sub]
- map_mul_right' := fun a b => by simp [map_mul_right, sub_mul] }⟩
+ map_hMul_left' := fun a b => by simp [map_mul_left, mul_sub]
+ map_hMul_right' := fun a b => by simp [map_mul_right, sub_mul] }⟩
#print CentroidHom.hasZsmul /-
instance hasZsmul : SMul ℤ (CentroidHom α) :=
@@ -513,9 +513,9 @@ instance hasZsmul : SMul ℤ (CentroidHom α) :=
(n • f :
α →+
α) with
- map_mul_left' := fun a b => by change n • f (a * b) = a * n • f b;
+ map_hMul_left' := fun a b => by change n • f (a * b) = a * n • f b;
rw [map_mul_left f, ← mul_smul_comm]
- map_mul_right' := fun a b => by change n • f (a * b) = n • f a * b;
+ map_hMul_right' := fun a b => by change n • f (a * b) = n • f a * b;
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_zsmul CentroidHom.hasZsmul
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/d11f435d4e34a6cea0a1797d6b625b0c170be845
@@ -105,10 +105,12 @@ directly. -/
instance : CoeFun (CentroidHom α) fun _ => α → α :=
FunLike.hasCoeToFun
+#print CentroidHom.toFun_eq_coe /-
@[simp]
theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = (f : α → α) :=
rfl
#align centroid_hom.to_fun_eq_coe CentroidHom.toFun_eq_coe
+-/
#print CentroidHom.ext /-
@[ext]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-
-! This file was ported from Lean 3 source module algebra.hom.centroid
-! leanprover-community/mathlib commit cc70d9141824ea8982d1562ce009952f2c3ece30
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.GroupPower.Lemmas
import Mathbin.Algebra.Hom.GroupInstances
+#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"cc70d9141824ea8982d1562ce009952f2c3ece30"
+
/-!
# Centroid homomorphisms
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -113,26 +113,34 @@ theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = (f : α → α) :=
rfl
#align centroid_hom.to_fun_eq_coe CentroidHom.toFun_eq_coe
+#print CentroidHom.ext /-
@[ext]
theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align centroid_hom.ext CentroidHom.ext
+-/
+#print CentroidHom.coe_toAddMonoidHom /-
@[simp, norm_cast]
theorem coe_toAddMonoidHom (f : CentroidHom α) : ⇑(f : α →+ α) = f :=
rfl
#align centroid_hom.coe_to_add_monoid_hom CentroidHom.coe_toAddMonoidHom
+-/
+#print CentroidHom.toAddMonoidHom_eq_coe /-
@[simp]
theorem toAddMonoidHom_eq_coe (f : CentroidHom α) : f.toAddMonoidHom = f :=
rfl
#align centroid_hom.to_add_monoid_hom_eq_coe CentroidHom.toAddMonoidHom_eq_coe
+-/
+#print CentroidHom.coe_toAddMonoidHom_injective /-
theorem coe_toAddMonoidHom_injective : Injective (coe : CentroidHom α → α →+ α) := fun f g h =>
ext fun a =>
haveI := FunLike.congr_fun h a
this
#align centroid_hom.coe_to_add_monoid_hom_injective CentroidHom.coe_toAddMonoidHom_injective
+-/
#print CentroidHom.toEnd /-
/-- Turn a centroid homomorphism into an additive monoid endomorphism. -/
@@ -147,6 +155,7 @@ theorem toEnd_injective : Injective (CentroidHom.toEnd : CentroidHom α → AddM
#align centroid_hom.to_End_injective CentroidHom.toEnd_injective
-/
+#print CentroidHom.copy /-
/-- Copy of a `centroid_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : CentroidHom α :=
@@ -155,15 +164,20 @@ protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : Centroid
map_mul_left' := fun a b => by simp_rw [h, map_mul_left]
map_mul_right' := fun a b => by simp_rw [h, map_mul_right] }
#align centroid_hom.copy CentroidHom.copy
+-/
+#print CentroidHom.coe_copy /-
@[simp]
theorem coe_copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align centroid_hom.coe_copy CentroidHom.coe_copy
+-/
+#print CentroidHom.copy_eq /-
theorem copy_eq (f : CentroidHom α) (f' : α → α) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align centroid_hom.copy_eq CentroidHom.copy_eq
+-/
variable (α)
@@ -179,22 +193,28 @@ protected def id : CentroidHom α :=
instance : Inhabited (CentroidHom α) :=
⟨CentroidHom.id α⟩
+#print CentroidHom.coe_id /-
@[simp, norm_cast]
theorem coe_id : ⇑(CentroidHom.id α) = id :=
rfl
#align centroid_hom.coe_id CentroidHom.coe_id
+-/
+#print CentroidHom.toAddMonoidHom_id /-
@[simp, norm_cast]
theorem toAddMonoidHom_id : (CentroidHom.id α : α →+ α) = AddMonoidHom.id α :=
rfl
#align centroid_hom.coe_to_add_monoid_hom_id CentroidHom.toAddMonoidHom_id
+-/
variable {α}
+#print CentroidHom.id_apply /-
@[simp]
theorem id_apply (a : α) : CentroidHom.id α a = a :=
rfl
#align centroid_hom.id_apply CentroidHom.id_apply
+-/
#print CentroidHom.comp /-
/-- Composition of `centroid_hom`s as a `centroid_hom`. -/
@@ -208,20 +228,26 @@ def comp (g f : CentroidHom α) : CentroidHom α :=
#align centroid_hom.comp CentroidHom.comp
-/
+#print CentroidHom.coe_comp /-
@[simp, norm_cast]
theorem coe_comp (g f : CentroidHom α) : ⇑(g.comp f) = g ∘ f :=
rfl
#align centroid_hom.coe_comp CentroidHom.coe_comp
+-/
+#print CentroidHom.comp_apply /-
@[simp]
theorem comp_apply (g f : CentroidHom α) (a : α) : g.comp f a = g (f a) :=
rfl
#align centroid_hom.comp_apply CentroidHom.comp_apply
+-/
+#print CentroidHom.coe_comp_addMonoidHom /-
@[simp, norm_cast]
theorem coe_comp_addMonoidHom (g f : CentroidHom α) : (g.comp f : α →+ α) = (g : α →+ α).comp f :=
rfl
#align centroid_hom.coe_comp_add_monoid_hom CentroidHom.coe_comp_addMonoidHom
+-/
#print CentroidHom.comp_assoc /-
@[simp]
@@ -244,15 +270,19 @@ theorem id_comp (f : CentroidHom α) : (CentroidHom.id α).comp f = f :=
#align centroid_hom.id_comp CentroidHom.id_comp
-/
+#print CentroidHom.cancel_right /-
theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align centroid_hom.cancel_right CentroidHom.cancel_right
+-/
+#print CentroidHom.cancel_left /-
theorem cancel_left {g f₁ f₂ : CentroidHom α} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
#align centroid_hom.cancel_left CentroidHom.cancel_left
+-/
instance : Zero (CentroidHom α) :=
⟨{ (0 : α →+ α) with
@@ -307,67 +337,91 @@ instance hasNpowNat : Pow (CentroidHom α) ℕ :=
#align centroid_hom.has_npow_nat CentroidHom.hasNpowNat
-/
+#print CentroidHom.coe_zero /-
@[simp, norm_cast]
theorem coe_zero : ⇑(0 : CentroidHom α) = 0 :=
rfl
#align centroid_hom.coe_zero CentroidHom.coe_zero
+-/
+#print CentroidHom.coe_one /-
@[simp, norm_cast]
theorem coe_one : ⇑(1 : CentroidHom α) = id :=
rfl
#align centroid_hom.coe_one CentroidHom.coe_one
+-/
+#print CentroidHom.coe_add /-
@[simp, norm_cast]
theorem coe_add (f g : CentroidHom α) : ⇑(f + g) = f + g :=
rfl
#align centroid_hom.coe_add CentroidHom.coe_add
+-/
+#print CentroidHom.coe_mul /-
@[simp, norm_cast]
theorem coe_mul (f g : CentroidHom α) : ⇑(f * g) = f ∘ g :=
rfl
#align centroid_hom.coe_mul CentroidHom.coe_mul
+-/
+#print CentroidHom.coe_nsmul /-
-- Eligible for `dsimp`
@[simp, norm_cast, nolint simp_nf]
theorem coe_nsmul (f : CentroidHom α) (n : ℕ) : ⇑(n • f) = n • f :=
rfl
#align centroid_hom.coe_nsmul CentroidHom.coe_nsmul
+-/
+#print CentroidHom.zero_apply /-
@[simp]
theorem zero_apply (a : α) : (0 : CentroidHom α) a = 0 :=
rfl
#align centroid_hom.zero_apply CentroidHom.zero_apply
+-/
+#print CentroidHom.one_apply /-
@[simp]
theorem one_apply (a : α) : (1 : CentroidHom α) a = a :=
rfl
#align centroid_hom.one_apply CentroidHom.one_apply
+-/
+#print CentroidHom.add_apply /-
@[simp]
theorem add_apply (f g : CentroidHom α) (a : α) : (f + g) a = f a + g a :=
rfl
#align centroid_hom.add_apply CentroidHom.add_apply
+-/
+#print CentroidHom.mul_apply /-
@[simp]
theorem mul_apply (f g : CentroidHom α) (a : α) : (f * g) a = f (g a) :=
rfl
#align centroid_hom.mul_apply CentroidHom.mul_apply
+-/
+#print CentroidHom.nsmul_apply /-
-- Eligible for `dsimp`
@[simp, nolint simp_nf]
theorem nsmul_apply (f : CentroidHom α) (n : ℕ) (a : α) : (n • f) a = n • f a :=
rfl
#align centroid_hom.nsmul_apply CentroidHom.nsmul_apply
+-/
+#print CentroidHom.toEnd_zero /-
@[simp]
theorem toEnd_zero : (0 : CentroidHom α).toEnd = 0 :=
rfl
#align centroid_hom.to_End_zero CentroidHom.toEnd_zero
+-/
+#print CentroidHom.toEnd_add /-
@[simp]
theorem toEnd_add (x y : CentroidHom α) : (x + y).toEnd = x.toEnd + y.toEnd :=
rfl
#align centroid_hom.to_End_add CentroidHom.toEnd_add
+-/
#print CentroidHom.toEnd_nsmul /-
theorem toEnd_nsmul (x : CentroidHom α) (n : ℕ) : (n • x).toEnd = n • x.toEnd :=
@@ -381,14 +435,18 @@ instance : AddCommMonoid (CentroidHom α) :=
instance : NatCast (CentroidHom α) where natCast n := n • 1
+#print CentroidHom.coe_nat_cast /-
@[simp, norm_cast]
theorem coe_nat_cast (n : ℕ) : ⇑(n : CentroidHom α) = n • id :=
rfl
#align centroid_hom.coe_nat_cast CentroidHom.coe_nat_cast
+-/
+#print CentroidHom.nat_cast_apply /-
theorem nat_cast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
rfl
#align centroid_hom.nat_cast_apply CentroidHom.nat_cast_apply
+-/
#print CentroidHom.toEnd_one /-
@[simp]
@@ -397,10 +455,12 @@ theorem toEnd_one : (1 : CentroidHom α).toEnd = 1 :=
#align centroid_hom.to_End_one CentroidHom.toEnd_one
-/
+#print CentroidHom.toEnd_mul /-
@[simp]
theorem toEnd_mul (x y : CentroidHom α) : (x * y).toEnd = x.toEnd * y.toEnd :=
rfl
#align centroid_hom.to_End_mul CentroidHom.toEnd_mul
+-/
#print CentroidHom.toEnd_pow /-
@[simp]
@@ -420,9 +480,11 @@ instance : Semiring (CentroidHom α) :=
toEnd_injective.Semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_nsmul toEnd_pow
toEnd_nat_cast
+#print CentroidHom.comp_mul_comm /-
theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S ∘ T) (a * b) := by
rw [comp_app, map_mul_right, map_mul_left, ← map_mul_right, ← map_mul_left]
#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_comm
+-/
end NonUnitalNonAssocSemiring
@@ -461,56 +523,76 @@ instance hasZsmul : SMul ℤ (CentroidHom α) :=
instance : IntCast (CentroidHom α) where intCast z := z • 1
+#print CentroidHom.coe_int_cast /-
@[simp, norm_cast]
theorem coe_int_cast (z : ℤ) : ⇑(z : CentroidHom α) = z • id :=
rfl
#align centroid_hom.coe_int_cast CentroidHom.coe_int_cast
+-/
+#print CentroidHom.int_cast_apply /-
theorem int_cast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
rfl
#align centroid_hom.int_cast_apply CentroidHom.int_cast_apply
+-/
+#print CentroidHom.toEnd_neg /-
@[simp]
theorem toEnd_neg (x : CentroidHom α) : (-x).toEnd = -x.toEnd :=
rfl
#align centroid_hom.to_End_neg CentroidHom.toEnd_neg
+-/
+#print CentroidHom.toEnd_sub /-
@[simp]
theorem toEnd_sub (x y : CentroidHom α) : (x - y).toEnd = x.toEnd - y.toEnd :=
rfl
#align centroid_hom.to_End_sub CentroidHom.toEnd_sub
+-/
+#print CentroidHom.toEnd_zsmul /-
theorem toEnd_zsmul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.toEnd :=
rfl
#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmul
+-/
instance : AddCommGroup (CentroidHom α) :=
toEnd_injective.AddCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_nsmul toEnd_zsmul
+#print CentroidHom.coe_neg /-
@[simp, norm_cast]
theorem coe_neg (f : CentroidHom α) : ⇑(-f) = -f :=
rfl
#align centroid_hom.coe_neg CentroidHom.coe_neg
+-/
+#print CentroidHom.coe_sub /-
@[simp, norm_cast]
theorem coe_sub (f g : CentroidHom α) : ⇑(f - g) = f - g :=
rfl
#align centroid_hom.coe_sub CentroidHom.coe_sub
+-/
+#print CentroidHom.neg_apply /-
@[simp]
theorem neg_apply (f : CentroidHom α) (a : α) : (-f) a = -f a :=
rfl
#align centroid_hom.neg_apply CentroidHom.neg_apply
+-/
+#print CentroidHom.sub_apply /-
@[simp]
theorem sub_apply (f g : CentroidHom α) (a : α) : (f - g) a = f a - g a :=
rfl
#align centroid_hom.sub_apply CentroidHom.sub_apply
+-/
+#print CentroidHom.toEnd_int_cast /-
@[simp, norm_cast]
theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
rfl
#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_cast
+-/
instance : Ring (CentroidHom α) :=
toEnd_injective.Ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub toEnd_nsmul
@@ -522,6 +604,7 @@ section NonUnitalRing
variable [NonUnitalRing α]
+#print CentroidHom.commRing /-
-- See note [reducible non instances]
/-- A prime associative ring has commutative centroid. -/
@[reducible]
@@ -533,6 +616,7 @@ def commRing (h : ∀ a b : α, (∀ r : α, a * r * b = 0) → a = 0 ∨ b = 0)
rw [mul_assoc, sub_mul, sub_eq_zero, ← map_mul_right, ← map_mul_right, coe_mul, coe_mul,
comp_mul_comm] }
#align centroid_hom.comm_ring CentroidHom.commRing
+-/
end NonUnitalRing
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -70,7 +70,7 @@ attribute [nolint doc_blame] CentroidHom.toAddMonoidHom
You should extend this class when you extend `centroid_hom`. -/
class CentroidHomClass (F : Type _) (α : outParam <| Type _) [NonUnitalNonAssocSemiring α] extends
- AddMonoidHomClass F α α where
+ AddMonoidHomClass F α α where
map_mul_left (f : F) (a b : α) : f (a * b) = a * f b
map_mul_right (f : F) (a b : α) : f (a * b) = f a * b
#align centroid_hom_class CentroidHomClass
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -113,45 +113,21 @@ theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = (f : α → α) :=
rfl
#align centroid_hom.to_fun_eq_coe CentroidHom.toFun_eq_coe
-/- warning: centroid_hom.ext -> CentroidHom.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {f : CentroidHom.{u1} α _inst_1} {g : CentroidHom.{u1} α _inst_1}, (forall (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g a)) -> (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f g)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {f : CentroidHom.{u1} α _inst_1} {g : CentroidHom.{u1} α _inst_1}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a)) -> (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f g)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.ext CentroidHom.extₓ'. -/
@[ext]
theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align centroid_hom.ext CentroidHom.ext
-/- warning: centroid_hom.coe_to_add_monoid_hom -> CentroidHom.coe_toAddMonoidHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) f)) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) f)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_to_add_monoid_hom CentroidHom.coe_toAddMonoidHomₓ'. -/
@[simp, norm_cast]
theorem coe_toAddMonoidHom (f : CentroidHom α) : ⇑(f : α →+ α) = f :=
rfl
#align centroid_hom.coe_to_add_monoid_hom CentroidHom.coe_toAddMonoidHom
-/- warning: centroid_hom.to_add_monoid_hom_eq_coe -> CentroidHom.toAddMonoidHom_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toAddMonoidHom.{u1} α _inst_1 f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) f)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toAddMonoidHom.{u1} α _inst_1 f) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) f)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_add_monoid_hom_eq_coe CentroidHom.toAddMonoidHom_eq_coeₓ'. -/
@[simp]
theorem toAddMonoidHom_eq_coe (f : CentroidHom α) : f.toAddMonoidHom = f :=
rfl
#align centroid_hom.to_add_monoid_hom_eq_coe CentroidHom.toAddMonoidHom_eq_coe
-/- warning: centroid_hom.coe_to_add_monoid_hom_injective -> CentroidHom.coe_toAddMonoidHom_injective is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Function.Injective.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Function.Injective.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_to_add_monoid_hom_injective CentroidHom.coe_toAddMonoidHom_injectiveₓ'. -/
theorem coe_toAddMonoidHom_injective : Injective (coe : CentroidHom α → α →+ α) := fun f g h =>
ext fun a =>
haveI := FunLike.congr_fun h a
@@ -171,12 +147,6 @@ theorem toEnd_injective : Injective (CentroidHom.toEnd : CentroidHom α → AddM
#align centroid_hom.to_End_injective CentroidHom.toEnd_injective
-/
-/- warning: centroid_hom.copy -> CentroidHom.copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α), (Eq.{succ u1} (α -> α) f' (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)) -> (CentroidHom.{u1} α _inst_1)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α), (Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)) -> (CentroidHom.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.copy CentroidHom.copyₓ'. -/
/-- Copy of a `centroid_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : CentroidHom α :=
@@ -186,23 +156,11 @@ protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : Centroid
map_mul_right' := fun a b => by simp_rw [h, map_mul_right] }
#align centroid_hom.copy CentroidHom.copy
-/- warning: centroid_hom.coe_copy -> CentroidHom.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h)) f'
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.copy.{u1} α _inst_1 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_copy CentroidHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align centroid_hom.coe_copy CentroidHom.coe_copy
-/- warning: centroid_hom.copy_eq -> CentroidHom.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)), Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h) f
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)), Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h) f
-Case conversion may be inaccurate. Consider using '#align centroid_hom.copy_eq CentroidHom.copy_eqₓ'. -/
theorem copy_eq (f : CentroidHom α) (f' : α → α) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align centroid_hom.copy_eq CentroidHom.copy_eq
@@ -221,23 +179,11 @@ protected def id : CentroidHom α :=
instance : Inhabited (CentroidHom α) :=
⟨CentroidHom.id α⟩
-/- warning: centroid_hom.coe_id -> CentroidHom.coe_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.id.{u1} α _inst_1)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_id CentroidHom.coe_idₓ'. -/
@[simp, norm_cast]
theorem coe_id : ⇑(CentroidHom.id α) = id :=
rfl
#align centroid_hom.coe_id CentroidHom.coe_id
-/- warning: centroid_hom.coe_to_add_monoid_hom_id -> CentroidHom.toAddMonoidHom_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) (CentroidHom.id.{u1} α _inst_1)) (AddMonoidHom.id.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))))
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) (CentroidHom.id.{u1} α _inst_1)) (AddMonoidHom.id.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_to_add_monoid_hom_id CentroidHom.toAddMonoidHom_idₓ'. -/
@[simp, norm_cast]
theorem toAddMonoidHom_id : (CentroidHom.id α : α →+ α) = AddMonoidHom.id α :=
rfl
@@ -245,12 +191,6 @@ theorem toAddMonoidHom_id : (CentroidHom.id α : α →+ α) = AddMonoidHom.id
variable {α}
-/- warning: centroid_hom.id_apply -> CentroidHom.id_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.id.{u1} α _inst_1) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.id.{u1} α _inst_1) a) a
-Case conversion may be inaccurate. Consider using '#align centroid_hom.id_apply CentroidHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : CentroidHom.id α a = a :=
rfl
@@ -268,34 +208,16 @@ def comp (g f : CentroidHom α) : CentroidHom α :=
#align centroid_hom.comp CentroidHom.comp
-/
-/- warning: centroid_hom.coe_comp -> CentroidHom.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f)) (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.comp.{u1} α _inst_1 g f)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_comp CentroidHom.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp (g f : CentroidHom α) : ⇑(g.comp f) = g ∘ f :=
rfl
#align centroid_hom.coe_comp CentroidHom.coe_comp
-/- warning: centroid_hom.comp_apply -> CentroidHom.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f) a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.comp.{u1} α _inst_1 g f) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.comp_apply CentroidHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (g f : CentroidHom α) (a : α) : g.comp f a = g (f a) :=
rfl
#align centroid_hom.comp_apply CentroidHom.comp_apply
-/- warning: centroid_hom.coe_comp_add_monoid_hom -> CentroidHom.coe_comp_addMonoidHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) (CentroidHom.comp.{u1} α _inst_1 g f)) (AddMonoidHom.comp.{u1, u1, u1} α α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) g) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) f))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) (CentroidHom.comp.{u1} α _inst_1 g f)) (AddMonoidHom.comp.{u1, u1, u1} α α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) g) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) f))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_comp_add_monoid_hom CentroidHom.coe_comp_addMonoidHomₓ'. -/
@[simp, norm_cast]
theorem coe_comp_addMonoidHom (g f : CentroidHom α) : (g.comp f : α →+ α) = (g : α →+ α).comp f :=
rfl
@@ -322,23 +244,11 @@ theorem id_comp (f : CentroidHom α) : (CentroidHom.id α).comp f = f :=
#align centroid_hom.id_comp CentroidHom.id_comp
-/
-/- warning: centroid_hom.cancel_right -> CentroidHom.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g₁ : CentroidHom.{u1} α _inst_1} {g₂ : CentroidHom.{u1} α _inst_1} {f : CentroidHom.{u1} α _inst_1}, (Function.Surjective.{succ u1, succ u1} α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g₁ f) (CentroidHom.comp.{u1} α _inst_1 g₂ f)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) g₁ g₂))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g₁ : CentroidHom.{u1} α _inst_1} {g₂ : CentroidHom.{u1} α _inst_1} {f : CentroidHom.{u1} α _inst_1}, (Function.Surjective.{succ u1, succ u1} α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g₁ f) (CentroidHom.comp.{u1} α _inst_1 g₂ f)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) g₁ g₂))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.cancel_right CentroidHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align centroid_hom.cancel_right CentroidHom.cancel_right
-/- warning: centroid_hom.cancel_left -> CentroidHom.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g : CentroidHom.{u1} α _inst_1} {f₁ : CentroidHom.{u1} α _inst_1} {f₂ : CentroidHom.{u1} α _inst_1}, (Function.Injective.{succ u1, succ u1} α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f₁) (CentroidHom.comp.{u1} α _inst_1 g f₂)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f₁ f₂))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g : CentroidHom.{u1} α _inst_1} {f₁ : CentroidHom.{u1} α _inst_1} {f₂ : CentroidHom.{u1} α _inst_1}, (Function.Injective.{succ u1, succ u1} α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f₁) (CentroidHom.comp.{u1} α _inst_1 g f₂)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f₁ f₂))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.cancel_left CentroidHom.cancel_leftₓ'. -/
theorem cancel_left {g f₁ f₂ : CentroidHom α} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -397,135 +307,63 @@ instance hasNpowNat : Pow (CentroidHom α) ℕ :=
#align centroid_hom.has_npow_nat CentroidHom.hasNpowNat
-/
-/- warning: centroid_hom.coe_zero -> CentroidHom.coe_zero is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.zero.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasZero.{u1} α _inst_1))))) (OfNat.ofNat.{u1} (α -> α) 0 (OfNat.mk.{u1} (α -> α) 0 (Zero.zero.{u1} (α -> α) (Pi.instZero.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α _inst_1))))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) 0 (Zero.toOfNat0.{u1} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (Pi.instZero.{u1, u1} α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (fun (i : α) => MulZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_zero CentroidHom.coe_zeroₓ'. -/
@[simp, norm_cast]
theorem coe_zero : ⇑(0 : CentroidHom α) = 0 :=
rfl
#align centroid_hom.coe_zero CentroidHom.coe_zero
-/- warning: centroid_hom.coe_one -> CentroidHom.coe_one is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.one.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasOne.{u1} α _inst_1))))) (id.{succ u1} α)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.toOfNat1.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instOneCentroidHom.{u1} α _inst_1)))) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_one CentroidHom.coe_oneₓ'. -/
@[simp, norm_cast]
theorem coe_one : ⇑(1 : CentroidHom α) = id :=
rfl
#align centroid_hom.coe_one CentroidHom.coe_one
-/- warning: centroid_hom.coe_add -> CentroidHom.coe_add is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasAdd.{u1} α _inst_1)) f g)) (HAdd.hAdd.{u1, u1, u1} (α -> α) (α -> α) (α -> α) (instHAdd.{u1} (α -> α) (Pi.instAdd.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1)))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) f g)) (HAdd.hAdd.{u1, u1, u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (instHAdd.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (Pi.instAdd.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (fun (i : α) => Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1)))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_add CentroidHom.coe_addₓ'. -/
@[simp, norm_cast]
theorem coe_add (f g : CentroidHom α) : ⇑(f + g) = f + g :=
rfl
#align centroid_hom.coe_add CentroidHom.coe_add
-/- warning: centroid_hom.coe_mul -> CentroidHom.coe_mul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasMul.{u1} α _inst_1)) f g)) (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) f g)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_mul CentroidHom.coe_mulₓ'. -/
@[simp, norm_cast]
theorem coe_mul (f g : CentroidHom α) : ⇑(f * g) = f ∘ g :=
rfl
#align centroid_hom.coe_mul CentroidHom.coe_mul
-/- warning: centroid_hom.coe_nsmul -> CentroidHom.coe_nsmul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (SMul.smul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1) n f)) (SMul.smul.{0, u1} Nat (α -> α) (Pi.instSMul.{u1, u1, 0} α Nat (fun (ᾰ : α) => α) (fun (i : α) => AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n f)) (HSMul.hSMul.{0, u1, u1} Nat (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (instHSMul.{0, u1} Nat (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (Pi.instSMul.{u1, u1, 0} α Nat (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (fun (i : α) => AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1))))) n (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_nsmul CentroidHom.coe_nsmulₓ'. -/
-- Eligible for `dsimp`
@[simp, norm_cast, nolint simp_nf]
theorem coe_nsmul (f : CentroidHom α) (n : ℕ) : ⇑(n • f) = n • f :=
rfl
#align centroid_hom.coe_nsmul CentroidHom.coe_nsmul
-/- warning: centroid_hom.zero_apply -> CentroidHom.zero_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.zero.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasZero.{u1} α _inst_1)))) a) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α _inst_1)))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1))) a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (MulZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1))))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.zero_apply CentroidHom.zero_applyₓ'. -/
@[simp]
theorem zero_apply (a : α) : (0 : CentroidHom α) a = 0 :=
rfl
#align centroid_hom.zero_apply CentroidHom.zero_apply
-/- warning: centroid_hom.one_apply -> CentroidHom.one_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.one.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasOne.{u1} α _inst_1)))) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.toOfNat1.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instOneCentroidHom.{u1} α _inst_1))) a) a
-Case conversion may be inaccurate. Consider using '#align centroid_hom.one_apply CentroidHom.one_applyₓ'. -/
@[simp]
theorem one_apply (a : α) : (1 : CentroidHom α) a = a :=
rfl
#align centroid_hom.one_apply CentroidHom.one_apply
-/- warning: centroid_hom.add_apply -> CentroidHom.add_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasAdd.{u1} α _inst_1)) f g) a) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g a))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) f g) a) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.add_apply CentroidHom.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : CentroidHom α) (a : α) : (f + g) a = f a + g a :=
rfl
#align centroid_hom.add_apply CentroidHom.add_apply
-/- warning: centroid_hom.mul_apply -> CentroidHom.mul_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasMul.{u1} α _inst_1)) f g) a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g a))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) f g) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.mul_apply CentroidHom.mul_applyₓ'. -/
@[simp]
theorem mul_apply (f g : CentroidHom α) (a : α) : (f * g) a = f (g a) :=
rfl
#align centroid_hom.mul_apply CentroidHom.mul_apply
-/- warning: centroid_hom.nsmul_apply -> CentroidHom.nsmul_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (SMul.smul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1) n f) a) (SMul.smul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) n (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n f) a) (HSMul.hSMul.{0, u1, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (instHSMul.{0, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1)))) n (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.nsmul_apply CentroidHom.nsmul_applyₓ'. -/
-- Eligible for `dsimp`
@[simp, nolint simp_nf]
theorem nsmul_apply (f : CentroidHom α) (n : ℕ) (a : α) : (n • f) a = n • f a :=
rfl
#align centroid_hom.nsmul_apply CentroidHom.nsmul_apply
-/- warning: centroid_hom.to_End_zero -> CentroidHom.toEnd_zero is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α _inst_1 (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.zero.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasZero.{u1} α _inst_1))))) (OfNat.ofNat.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) 0 (OfNat.mk.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) 0 (Zero.zero.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (MulZeroClass.toHasZero.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Semiring.toNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.semiring.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))))))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α _inst_1 (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) 0 (Zero.toOfNat0.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (MonoidWithZero.toZero.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Semiring.toMonoidWithZero.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.semiring.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_zero CentroidHom.toEnd_zeroₓ'. -/
@[simp]
theorem toEnd_zero : (0 : CentroidHom α).toEnd = 0 :=
rfl
#align centroid_hom.to_End_zero CentroidHom.toEnd_zero
-/- warning: centroid_hom.to_End_add -> CentroidHom.toEnd_add is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (x : CentroidHom.{u1} α _inst_1) (y : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α _inst_1 (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasAdd.{u1} α _inst_1)) x y)) (HAdd.hAdd.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (instHAdd.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Distrib.toHasAdd.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Semiring.toNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.semiring.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))))))) (CentroidHom.toEnd.{u1} α _inst_1 x) (CentroidHom.toEnd.{u1} α _inst_1 y))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (x : CentroidHom.{u1} α _inst_1) (y : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α _inst_1 (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) x y)) (HAdd.hAdd.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (instHAdd.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Distrib.toAdd.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Semiring.toNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.semiring.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))))))) (CentroidHom.toEnd.{u1} α _inst_1 x) (CentroidHom.toEnd.{u1} α _inst_1 y))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_add CentroidHom.toEnd_addₓ'. -/
@[simp]
theorem toEnd_add (x y : CentroidHom α) : (x + y).toEnd = x.toEnd + y.toEnd :=
rfl
@@ -543,23 +381,11 @@ instance : AddCommMonoid (CentroidHom α) :=
instance : NatCast (CentroidHom α) where natCast n := n • 1
-/- warning: centroid_hom.coe_nat_cast -> CentroidHom.coe_nat_cast is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat (CentroidHom.{u1} α _inst_1) (HasLiftT.mk.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (CoeTCₓ.coe.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (Nat.castCoe.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNatCast.{u1} α _inst_1)))) n)) (SMul.smul.{0, u1} Nat (α -> α) (Pi.instSMul.{u1, u1, 0} α Nat (fun (ᾰ : α) => α) (fun (i : α) => AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n (id.{succ u1} α))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (Nat.cast.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instNatCastCentroidHom.{u1} α _inst_1) n)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n (CentroidHom.id.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_nat_cast CentroidHom.coe_nat_castₓ'. -/
@[simp, norm_cast]
theorem coe_nat_cast (n : ℕ) : ⇑(n : CentroidHom α) = n • id :=
rfl
#align centroid_hom.coe_nat_cast CentroidHom.coe_nat_cast
-/- warning: centroid_hom.nat_cast_apply -> CentroidHom.nat_cast_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat) (m : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat (CentroidHom.{u1} α _inst_1) (HasLiftT.mk.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (CoeTCₓ.coe.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (Nat.castCoe.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNatCast.{u1} α _inst_1)))) n) m) (SMul.smul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) n m)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat) (m : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (Nat.cast.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instNatCastCentroidHom.{u1} α _inst_1) n) m) (HSMul.hSMul.{0, u1, u1} Nat α α (instHSMul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n m)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.nat_cast_apply CentroidHom.nat_cast_applyₓ'. -/
theorem nat_cast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
rfl
#align centroid_hom.nat_cast_apply CentroidHom.nat_cast_apply
@@ -571,12 +397,6 @@ theorem toEnd_one : (1 : CentroidHom α).toEnd = 1 :=
#align centroid_hom.to_End_one CentroidHom.toEnd_one
-/
-/- warning: centroid_hom.to_End_mul -> CentroidHom.toEnd_mul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (x : CentroidHom.{u1} α _inst_1) (y : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α _inst_1 (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasMul.{u1} α _inst_1)) x y)) (HMul.hMul.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (instHMul.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Distrib.toHasMul.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Semiring.toNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.semiring.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))))))) (CentroidHom.toEnd.{u1} α _inst_1 x) (CentroidHom.toEnd.{u1} α _inst_1 y))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (x : CentroidHom.{u1} α _inst_1) (y : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α _inst_1 (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) x y)) (HMul.hMul.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (instHMul.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (Semiring.toNonAssocSemiring.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoid.End.semiring.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))))) (CentroidHom.toEnd.{u1} α _inst_1 x) (CentroidHom.toEnd.{u1} α _inst_1 y))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_mul CentroidHom.toEnd_mulₓ'. -/
@[simp]
theorem toEnd_mul (x y : CentroidHom α) : (x * y).toEnd = x.toEnd * y.toEnd :=
rfl
@@ -600,12 +420,6 @@ instance : Semiring (CentroidHom α) :=
toEnd_injective.Semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_nsmul toEnd_pow
toEnd_nat_cast
-/- warning: centroid_hom.comp_mul_comm -> CentroidHom.comp_mul_comm is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (T : CentroidHom.{u1} α _inst_1) (S : CentroidHom.{u1} α _inst_1) (a : α) (b : α), Eq.{succ u1} α (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) T) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) S) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1))) a b)) (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) S) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) T) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1))) a b))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (T : CentroidHom.{u1} α _inst_1) (S : CentroidHom.{u1} α _inst_1) (a : α) (b : α), Eq.{succ u1} α (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) T) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) S) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α _inst_1)) a b)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) S) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) T) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α _inst_1)) a b))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_commₓ'. -/
theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S ∘ T) (a * b) := by
rw [comp_app, map_mul_right, map_mul_left, ← map_mul_right, ← map_mul_left]
#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_comm
@@ -647,55 +461,25 @@ instance hasZsmul : SMul ℤ (CentroidHom α) :=
instance : IntCast (CentroidHom α) where intCast z := z • 1
-/- warning: centroid_hom.coe_int_cast -> CentroidHom.coe_int_cast is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z)) (SMul.smul.{0, u1} Int (α -> α) (Pi.instSMul.{u1, u1, 0} α Int (fun (ᾰ : α) => α) (fun (i : α) => SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) z (id.{succ u1} α))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSMul.hSMul.{0, u1, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSMul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1)) z (CentroidHom.id.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_int_cast CentroidHom.coe_int_castₓ'. -/
@[simp, norm_cast]
theorem coe_int_cast (z : ℤ) : ⇑(z : CentroidHom α) = z • id :=
rfl
#align centroid_hom.coe_int_cast CentroidHom.coe_int_cast
-/- warning: centroid_hom.int_cast_apply -> CentroidHom.int_cast_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int) (m : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z) m) (SMul.smul.{0, u1} Int α (SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))) z m)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int) (m : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z) m) (HSMul.hSMul.{0, u1, u1} Int α α (instHSMul.{0, u1} Int α (SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) z m)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.int_cast_apply CentroidHom.int_cast_applyₓ'. -/
theorem int_cast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
rfl
#align centroid_hom.int_cast_apply CentroidHom.int_cast_apply
-/- warning: centroid_hom.to_End_neg -> CentroidHom.toEnd_neg is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) x)) (Neg.neg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.toHasNeg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) x)) (Neg.neg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toNeg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_neg CentroidHom.toEnd_negₓ'. -/
@[simp]
theorem toEnd_neg (x : CentroidHom α) : (-x).toEnd = -x.toEnd :=
rfl
#align centroid_hom.to_End_neg CentroidHom.toEnd_neg
-/- warning: centroid_hom.to_End_sub -> CentroidHom.toEnd_sub is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (y : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) x y)) (HSub.hSub.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.toHasSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) y))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (y : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) x y)) (HSub.hSub.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) y))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_sub CentroidHom.toEnd_subₓ'. -/
@[simp]
theorem toEnd_sub (x y : CentroidHom α) : (x - y).toEnd = x.toEnd - y.toEnd :=
rfl
#align centroid_hom.to_End_sub CentroidHom.toEnd_sub
-/- warning: centroid_hom.to_End_zsmul -> CentroidHom.toEnd_zsmul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (n : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (SMul.smul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1) n x)) (SMul.smul.{0, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.SMulInt.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) n (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (n : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSMul.hSMul.{0, u1, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSMul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1)) n x)) (HSMul.hSMul.{0, u1, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSMul.{0, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.SMulInt.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) n (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmulₓ'. -/
theorem toEnd_zsmul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.toEnd :=
rfl
#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmul
@@ -703,56 +487,26 @@ theorem toEnd_zsmul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.t
instance : AddCommGroup (CentroidHom α) :=
toEnd_injective.AddCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_nsmul toEnd_zsmul
-/- warning: centroid_hom.coe_neg -> CentroidHom.coe_neg is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) f)) (Neg.neg.{u1} (α -> α) (Pi.instNeg.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) f)) (Neg.neg.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (Pi.instNeg.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (fun (i : α) => NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1))))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_neg CentroidHom.coe_negₓ'. -/
@[simp, norm_cast]
theorem coe_neg (f : CentroidHom α) : ⇑(-f) = -f :=
rfl
#align centroid_hom.coe_neg CentroidHom.coe_neg
-/- warning: centroid_hom.coe_sub -> CentroidHom.coe_sub is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) f g)) (HSub.hSub.{u1, u1, u1} (α -> α) (α -> α) (α -> α) (instHSub.{u1} (α -> α) (Pi.instSub.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) g))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) f g)) (HSub.hSub.{u1, u1, u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (instHSub.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (Pi.instSub.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (fun (i : α) => SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) g))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_sub CentroidHom.coe_subₓ'. -/
@[simp, norm_cast]
theorem coe_sub (f g : CentroidHom α) : ⇑(f - g) = f - g :=
rfl
#align centroid_hom.coe_sub CentroidHom.coe_sub
-/- warning: centroid_hom.neg_apply -> CentroidHom.neg_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) f) a) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f a))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) f) a) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f a))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.neg_apply CentroidHom.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : CentroidHom α) (a : α) : (-f) a = -f a :=
rfl
#align centroid_hom.neg_apply CentroidHom.neg_apply
-/- warning: centroid_hom.sub_apply -> CentroidHom.sub_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) f g) a) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) g a))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) f g) a) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) g a))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.sub_apply CentroidHom.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : CentroidHom α) (a : α) : (f - g) a = f a - g a :=
rfl
#align centroid_hom.sub_apply CentroidHom.sub_apply
-/- warning: centroid_hom.to_End_int_cast -> CentroidHom.toEnd_int_cast is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HasLiftT.mk.{1, succ u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CoeTCₓ.coe.{1, succ u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.castCoe.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toHasIntCast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))))) z)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z)) (Int.cast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toIntCast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))) z)
-Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_castₓ'. -/
@[simp, norm_cast]
theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
rfl
@@ -768,12 +522,6 @@ section NonUnitalRing
variable [NonUnitalRing α]
-/- warning: centroid_hom.comm_ring -> CentroidHom.commRing is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalRing.{u1} α], (forall (a : α) (b : α), (forall (r : α), Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1))))) a r) b) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1)))))))) -> (Or (Eq.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1)))))))) (Eq.{succ u1} α b (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1)))))))))) -> (CommRing.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalRing.{u1} α], (forall (a : α) (b : α), (forall (r : α), Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1))) a r) b) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α _inst_1)))))) -> (Or (Eq.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α _inst_1)))))) (Eq.{succ u1} α b (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α _inst_1)))))))) -> (CommRing.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align centroid_hom.comm_ring CentroidHom.commRingₓ'. -/
-- See note [reducible non instances]
/-- A prime associative ring has commutative centroid. -/
@[reducible]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -97,10 +97,7 @@ variable [NonUnitalNonAssocSemiring α]
instance : CentroidHomClass (CentroidHom α) α
where
coe f := f.toFun
- coe_injective' f g h := by
- cases f
- cases g
- congr
+ coe_injective' f g h := by cases f; cases g; congr
map_zero f := f.map_zero'
map_add f := f.map_add'
map_mul_left f := f.map_mul_left'
@@ -373,11 +370,9 @@ instance hasNsmul : SMul ℕ (CentroidHom α) :=
(n • f :
α →+
α) with
- map_mul_left' := fun a b => by
- change n • f (a * b) = a * n • f b
+ map_mul_left' := fun a b => by change n • f (a * b) = a * n • f b;
rw [map_mul_left f, ← mul_smul_comm]
- map_mul_right' := fun a b => by
- change n • f (a * b) = n • f a * b
+ map_mul_right' := fun a b => by change n • f (a * b) = n • f a * b;
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_nsmul CentroidHom.hasNsmul
-/
@@ -589,10 +584,7 @@ theorem toEnd_mul (x y : CentroidHom α) : (x * y).toEnd = x.toEnd * y.toEnd :=
#print CentroidHom.toEnd_pow /-
@[simp]
-theorem toEnd_pow (x : CentroidHom α) (n : ℕ) : (x ^ n).toEnd = x.toEnd ^ n :=
- by
- ext
- rfl
+theorem toEnd_pow (x : CentroidHom α) (n : ℕ) : (x ^ n).toEnd = x.toEnd ^ n := by ext; rfl
#align centroid_hom.to_End_pow CentroidHom.toEnd_pow
-/
@@ -646,11 +638,9 @@ instance hasZsmul : SMul ℤ (CentroidHom α) :=
(n • f :
α →+
α) with
- map_mul_left' := fun a b => by
- change n • f (a * b) = a * n • f b
+ map_mul_left' := fun a b => by change n • f (a * b) = a * n • f b;
rw [map_mul_left f, ← mul_smul_comm]
- map_mul_right' := fun a b => by
- change n • f (a * b) = n • f a * b
+ map_mul_right' := fun a b => by change n • f (a * b) = n • f a * b;
rw [map_mul_right f, ← smul_mul_assoc] }⟩
#align centroid_hom.has_zsmul CentroidHom.hasZsmul
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce86f4e05e9a9b8da5e316b22c76ce76440c56a1
@@ -680,7 +680,7 @@ theorem int_cast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
/- warning: centroid_hom.to_End_neg -> CentroidHom.toEnd_neg is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) x)) (Neg.neg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.toHasNeg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (NonAssocRing.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toNonAssocRing.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) x)) (Neg.neg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.toHasNeg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) x)) (Neg.neg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toNeg.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_neg CentroidHom.toEnd_negₓ'. -/
@@ -691,7 +691,7 @@ theorem toEnd_neg (x : CentroidHom α) : (-x).toEnd = -x.toEnd :=
/- warning: centroid_hom.to_End_sub -> CentroidHom.toEnd_sub is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (y : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) x y)) (HSub.hSub.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.toHasSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (NonAssocRing.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toNonAssocRing.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) y))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (y : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) x y)) (HSub.hSub.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.toHasSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) y))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (y : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) x y)) (HSub.hSub.{u1, u1, u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toSub.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) y))
Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_sub CentroidHom.toEnd_subₓ'. -/
@@ -702,7 +702,7 @@ theorem toEnd_sub (x y : CentroidHom α) : (x - y).toEnd = x.toEnd - y.toEnd :=
/- warning: centroid_hom.to_End_zsmul -> CentroidHom.toEnd_zsmul is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (n : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (SMul.smul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1) n x)) (SMul.smul.{0, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.SMulInt.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (NonAssocRing.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toNonAssocRing.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) n (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (n : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (SMul.smul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1) n x)) (SMul.smul.{0, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.SMulInt.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) n (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (n : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (HSMul.hSMul.{0, u1, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSMul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1)) n x)) (HSMul.hSMul.{0, u1, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instHSMul.{0, u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (SubNegMonoid.SMulInt.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroup.toSubNegMonoid.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toAddGroup.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))))) n (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) x))
Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmulₓ'. -/
@@ -759,7 +759,7 @@ theorem sub_apply (f g : CentroidHom α) (a : α) : (f - g) a = f a - g a :=
/- warning: centroid_hom.to_End_int_cast -> CentroidHom.toEnd_int_cast is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HasLiftT.mk.{1, succ u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CoeTCₓ.coe.{1, succ u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.castCoe.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toHasIntCast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (NonAssocRing.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toNonAssocRing.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))))) z)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HasLiftT.mk.{1, succ u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CoeTCₓ.coe.{1, succ u1} Int (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.castCoe.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddGroupWithOne.toHasIntCast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddCommGroupWithOne.toAddGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toAddCommGroupWithOne.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoid.End.ring.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))))) z)
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (CentroidHom.toEnd.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z)) (Int.cast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Ring.toIntCast.{u1} (AddMonoid.End.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (instRingEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))) z)
Case conversion may be inaccurate. Consider using '#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_castₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -120,7 +120,7 @@ theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = (f : α → α) :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {f : CentroidHom.{u1} α _inst_1} {g : CentroidHom.{u1} α _inst_1}, (forall (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g a)) -> (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f g)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {f : CentroidHom.{u1} α _inst_1} {g : CentroidHom.{u1} α _inst_1}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a)) -> (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f g)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {f : CentroidHom.{u1} α _inst_1} {g : CentroidHom.{u1} α _inst_1}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a)) -> (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f g)
Case conversion may be inaccurate. Consider using '#align centroid_hom.ext CentroidHom.extₓ'. -/
@[ext]
theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
@@ -131,7 +131,7 @@ theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (HasLiftT.mk.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (CoeTCₓ.coe.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHom.hasCoeT.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.centroidHomClass.{u1} α _inst_1))))) f)) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) f)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))))) (AddMonoidHomClass.toAddMonoidHom.{u1, u1, u1} α α (CentroidHom.{u1} α _inst_1) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)) f)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_to_add_monoid_hom CentroidHom.coe_toAddMonoidHomₓ'. -/
@[simp, norm_cast]
theorem coe_toAddMonoidHom (f : CentroidHom α) : ⇑(f : α →+ α) = f :=
@@ -178,7 +178,7 @@ theorem toEnd_injective : Injective (CentroidHom.toEnd : CentroidHom α → AddM
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α), (Eq.{succ u1} (α -> α) f' (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)) -> (CentroidHom.{u1} α _inst_1)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α), (Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)) -> (CentroidHom.{u1} α _inst_1)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α), (Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)) -> (CentroidHom.{u1} α _inst_1)
Case conversion may be inaccurate. Consider using '#align centroid_hom.copy CentroidHom.copyₓ'. -/
/-- Copy of a `centroid_hom` with a new `to_fun` equal to the old one. Useful to fix
definitional equalities. -/
@@ -193,7 +193,7 @@ protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : Centroid
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h)) f'
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.copy.{u1} α _inst_1 f f' h)) f'
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.copy.{u1} α _inst_1 f f' h)) f'
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_copy CentroidHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -204,7 +204,7 @@ theorem coe_copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : ⇑(f.copy
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)), Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h) f
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)), Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h) f
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (f' : α -> α) (h : Eq.{succ u1} (α -> α) f' (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)), Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.copy.{u1} α _inst_1 f f' h) f
Case conversion may be inaccurate. Consider using '#align centroid_hom.copy_eq CentroidHom.copy_eqₓ'. -/
theorem copy_eq (f : CentroidHom α) (f' : α → α) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
@@ -228,7 +228,7 @@ instance : Inhabited (CentroidHom α) :=
lean 3 declaration is
forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.id.{u1} α _inst_1)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.id.{u1} α _inst_1)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.id.{u1} α _inst_1)) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_id CentroidHom.coe_idₓ'. -/
@[simp, norm_cast]
theorem coe_id : ⇑(CentroidHom.id α) = id :=
@@ -252,7 +252,7 @@ variable {α}
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.id.{u1} α _inst_1) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.id.{u1} α _inst_1) a) a
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.id.{u1} α _inst_1) a) a
Case conversion may be inaccurate. Consider using '#align centroid_hom.id_apply CentroidHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : CentroidHom.id α a = a :=
@@ -275,7 +275,7 @@ def comp (g f : CentroidHom α) : CentroidHom α :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f)) (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.comp.{u1} α _inst_1 g f)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.comp.{u1} α _inst_1 g f)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_comp CentroidHom.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp (g f : CentroidHom α) : ⇑(g.comp f) = g ∘ f :=
@@ -286,7 +286,7 @@ theorem coe_comp (g f : CentroidHom α) : ⇑(g.comp f) = g ∘ f :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f) a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.comp.{u1} α _inst_1 g f) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (g : CentroidHom.{u1} α _inst_1) (f : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (CentroidHom.comp.{u1} α _inst_1 g f) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a))
Case conversion may be inaccurate. Consider using '#align centroid_hom.comp_apply CentroidHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (g f : CentroidHom α) (a : α) : g.comp f a = g (f a) :=
@@ -329,7 +329,7 @@ theorem id_comp (f : CentroidHom α) : (CentroidHom.id α).comp f = f :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g₁ : CentroidHom.{u1} α _inst_1} {g₂ : CentroidHom.{u1} α _inst_1} {f : CentroidHom.{u1} α _inst_1}, (Function.Surjective.{succ u1, succ u1} α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g₁ f) (CentroidHom.comp.{u1} α _inst_1 g₂ f)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g₁ : CentroidHom.{u1} α _inst_1} {g₂ : CentroidHom.{u1} α _inst_1} {f : CentroidHom.{u1} α _inst_1}, (Function.Surjective.{succ u1, succ u1} α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g₁ f) (CentroidHom.comp.{u1} α _inst_1 g₂ f)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) g₁ g₂))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g₁ : CentroidHom.{u1} α _inst_1} {g₂ : CentroidHom.{u1} α _inst_1} {f : CentroidHom.{u1} α _inst_1}, (Function.Surjective.{succ u1, succ u1} α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g₁ f) (CentroidHom.comp.{u1} α _inst_1 g₂ f)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) g₁ g₂))
Case conversion may be inaccurate. Consider using '#align centroid_hom.cancel_right CentroidHom.cancel_rightₓ'. -/
theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -340,7 +340,7 @@ theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g : CentroidHom.{u1} α _inst_1} {f₁ : CentroidHom.{u1} α _inst_1} {f₂ : CentroidHom.{u1} α _inst_1}, (Function.Injective.{succ u1, succ u1} α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f₁) (CentroidHom.comp.{u1} α _inst_1 g f₂)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g : CentroidHom.{u1} α _inst_1} {f₁ : CentroidHom.{u1} α _inst_1} {f₂ : CentroidHom.{u1} α _inst_1}, (Function.Injective.{succ u1, succ u1} α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f₁) (CentroidHom.comp.{u1} α _inst_1 g f₂)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f₁ f₂))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] {g : CentroidHom.{u1} α _inst_1} {f₁ : CentroidHom.{u1} α _inst_1} {f₂ : CentroidHom.{u1} α _inst_1}, (Function.Injective.{succ u1, succ u1} α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g)) -> (Iff (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.comp.{u1} α _inst_1 g f₁) (CentroidHom.comp.{u1} α _inst_1 g f₂)) (Eq.{succ u1} (CentroidHom.{u1} α _inst_1) f₁ f₂))
Case conversion may be inaccurate. Consider using '#align centroid_hom.cancel_left CentroidHom.cancel_leftₓ'. -/
theorem cancel_left {g f₁ f₂ : CentroidHom α} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -406,7 +406,7 @@ instance hasNpowNat : Pow (CentroidHom α) ℕ :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.zero.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasZero.{u1} α _inst_1))))) (OfNat.ofNat.{u1} (α -> α) 0 (OfNat.mk.{u1} (α -> α) 0 (Zero.zero.{u1} (α -> α) (Pi.instZero.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α _inst_1))))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) 0 (Zero.toOfNat0.{u1} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (Pi.instZero.{u1, u1} α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (fun (i : α) => MulZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) _inst_1)))))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) 0 (Zero.toOfNat0.{u1} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (Pi.instZero.{u1, u1} α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (fun (i : α) => MulZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1)))))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_zero CentroidHom.coe_zeroₓ'. -/
@[simp, norm_cast]
theorem coe_zero : ⇑(0 : CentroidHom α) = 0 :=
@@ -417,7 +417,7 @@ theorem coe_zero : ⇑(0 : CentroidHom α) = 0 :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.one.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasOne.{u1} α _inst_1))))) (id.{succ u1} α)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.toOfNat1.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instOneCentroidHom.{u1} α _inst_1)))) (id.{succ u1} α)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.toOfNat1.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instOneCentroidHom.{u1} α _inst_1)))) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_one CentroidHom.coe_oneₓ'. -/
@[simp, norm_cast]
theorem coe_one : ⇑(1 : CentroidHom α) = id :=
@@ -428,7 +428,7 @@ theorem coe_one : ⇑(1 : CentroidHom α) = id :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasAdd.{u1} α _inst_1)) f g)) (HAdd.hAdd.{u1, u1, u1} (α -> α) (α -> α) (α -> α) (instHAdd.{u1} (α -> α) (Pi.instAdd.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1)))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) f g)) (HAdd.hAdd.{u1, u1, u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (instHAdd.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (Pi.instAdd.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (fun (i : α) => Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) _inst_1)))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) f g)) (HAdd.hAdd.{u1, u1, u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (instHAdd.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (Pi.instAdd.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (fun (i : α) => Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1)))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_add CentroidHom.coe_addₓ'. -/
@[simp, norm_cast]
theorem coe_add (f g : CentroidHom α) : ⇑(f + g) = f + g :=
@@ -439,7 +439,7 @@ theorem coe_add (f g : CentroidHom α) : ⇑(f + g) = f + g :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasMul.{u1} α _inst_1)) f g)) (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) f g)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) f g)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_mul CentroidHom.coe_mulₓ'. -/
@[simp, norm_cast]
theorem coe_mul (f g : CentroidHom α) : ⇑(f * g) = f ∘ g :=
@@ -450,7 +450,7 @@ theorem coe_mul (f g : CentroidHom α) : ⇑(f * g) = f ∘ g :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (SMul.smul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1) n f)) (SMul.smul.{0, u1} Nat (α -> α) (Pi.instSMul.{u1, u1, 0} α Nat (fun (ᾰ : α) => α) (fun (i : α) => AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n f)) (HSMul.hSMul.{0, u1, u1} Nat (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (instHSMul.{0, u1} Nat (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (Pi.instSMul.{u1, u1, 0} α Nat (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (fun (i : α) => AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) _inst_1))))) n (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n f)) (HSMul.hSMul.{0, u1, u1} Nat (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (instHSMul.{0, u1} Nat (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (Pi.instSMul.{u1, u1, 0} α Nat (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (fun (i : α) => AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1))))) n (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_nsmul CentroidHom.coe_nsmulₓ'. -/
-- Eligible for `dsimp`
@[simp, norm_cast, nolint simp_nf]
@@ -462,7 +462,7 @@ theorem coe_nsmul (f : CentroidHom α) (n : ℕ) : ⇑(n • f) = n • f :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.zero.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasZero.{u1} α _inst_1)))) a) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α _inst_1)))))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1))) a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (MulZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) _inst_1))))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 0 (Zero.toOfNat0.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instZeroCentroidHom.{u1} α _inst_1))) a) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (MulZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1))))
Case conversion may be inaccurate. Consider using '#align centroid_hom.zero_apply CentroidHom.zero_applyₓ'. -/
@[simp]
theorem zero_apply (a : α) : (0 : CentroidHom α) a = 0 :=
@@ -473,7 +473,7 @@ theorem zero_apply (a : α) : (0 : CentroidHom α) a = 0 :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (OfNat.mk.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.one.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasOne.{u1} α _inst_1)))) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.toOfNat1.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instOneCentroidHom.{u1} α _inst_1))) a) a
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (OfNat.ofNat.{u1} (CentroidHom.{u1} α _inst_1) 1 (One.toOfNat1.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instOneCentroidHom.{u1} α _inst_1))) a) a
Case conversion may be inaccurate. Consider using '#align centroid_hom.one_apply CentroidHom.one_applyₓ'. -/
@[simp]
theorem one_apply (a : α) : (1 : CentroidHom α) a = a :=
@@ -484,7 +484,7 @@ theorem one_apply (a : α) : (1 : CentroidHom α) a = a :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasAdd.{u1} α _inst_1)) f g) a) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g a))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) f g) a) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHAdd.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instAddCentroidHom.{u1} α _inst_1)) f g) a) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (Distrib.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocSemiring.toDistrib.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a))
Case conversion may be inaccurate. Consider using '#align centroid_hom.add_apply CentroidHom.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : CentroidHom α) (a : α) : (f + g) a = f a + g a :=
@@ -495,7 +495,7 @@ theorem add_apply (f g : CentroidHom α) (a : α) : (f + g) a = f a + g a :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasMul.{u1} α _inst_1)) f g) a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) g a))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) f g) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (g : CentroidHom.{u1} α _inst_1) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHMul.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instMulCentroidHom.{u1} α _inst_1)) f g) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) g a))
Case conversion may be inaccurate. Consider using '#align centroid_hom.mul_apply CentroidHom.mul_applyₓ'. -/
@[simp]
theorem mul_apply (f g : CentroidHom α) (a : α) : (f * g) a = f (g a) :=
@@ -506,7 +506,7 @@ theorem mul_apply (f g : CentroidHom α) (a : α) : (f * g) a = f (g a) :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) (SMul.smul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1) n f) a) (SMul.smul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) n (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) f a))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n f) a) (HSMul.hSMul.{0, u1, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (instHSMul.{0, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) _inst_1)))) n (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (f : CentroidHom.{u1} α _inst_1) (n : Nat) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n f) a) (HSMul.hSMul.{0, u1, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (instHSMul.{0, u1} Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddMonoid.SMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1)))) n (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) f a))
Case conversion may be inaccurate. Consider using '#align centroid_hom.nsmul_apply CentroidHom.nsmul_applyₓ'. -/
-- Eligible for `dsimp`
@[simp, nolint simp_nf]
@@ -552,7 +552,7 @@ instance : NatCast (CentroidHom α) where natCast n := n • 1
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat (CentroidHom.{u1} α _inst_1) (HasLiftT.mk.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (CoeTCₓ.coe.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (Nat.castCoe.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNatCast.{u1} α _inst_1)))) n)) (SMul.smul.{0, u1} Nat (α -> α) (Pi.instSMul.{u1, u1, 0} α Nat (fun (ᾰ : α) => α) (fun (i : α) => AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n (id.{succ u1} α))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (Nat.cast.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instNatCastCentroidHom.{u1} α _inst_1) n)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n (CentroidHom.id.{u1} α _inst_1)))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (Nat.cast.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instNatCastCentroidHom.{u1} α _inst_1) n)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (HSMul.hSMul.{0, u1, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.{u1} α _inst_1) (instHSMul.{0, u1} Nat (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNsmul.{u1} α _inst_1)) n (CentroidHom.id.{u1} α _inst_1)))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_nat_cast CentroidHom.coe_nat_castₓ'. -/
@[simp, norm_cast]
theorem coe_nat_cast (n : ℕ) : ⇑(n : CentroidHom α) = n • id :=
@@ -563,7 +563,7 @@ theorem coe_nat_cast (n : ℕ) : ⇑(n : CentroidHom α) = n • id :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat) (m : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat (CentroidHom.{u1} α _inst_1) (HasLiftT.mk.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (CoeTCₓ.coe.{1, succ u1} Nat (CentroidHom.{u1} α _inst_1) (Nat.castCoe.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.hasNatCast.{u1} α _inst_1)))) n) m) (SMul.smul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) n m)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat) (m : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (Nat.cast.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instNatCastCentroidHom.{u1} α _inst_1) n) m) (HSMul.hSMul.{0, u1, u1} Nat α α (instHSMul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n m)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (n : Nat) (m : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) (Nat.cast.{u1} (CentroidHom.{u1} α _inst_1) (CentroidHom.instNatCastCentroidHom.{u1} α _inst_1) n) m) (HSMul.hSMul.{0, u1, u1} Nat α α (instHSMul.{0, u1} Nat α (AddMonoid.SMul.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) n m)
Case conversion may be inaccurate. Consider using '#align centroid_hom.nat_cast_apply CentroidHom.nat_cast_applyₓ'. -/
theorem nat_cast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
rfl
@@ -612,7 +612,7 @@ instance : Semiring (CentroidHom α) :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (T : CentroidHom.{u1} α _inst_1) (S : CentroidHom.{u1} α _inst_1) (a : α) (b : α), Eq.{succ u1} α (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) T) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) S) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1))) a b)) (Function.comp.{succ u1, succ u1, succ u1} α α α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) S) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α _inst_1) (fun (_x : CentroidHom.{u1} α _inst_1) => α -> α) (CentroidHom.hasCoeToFun.{u1} α _inst_1) T) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α _inst_1))) a b))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (T : CentroidHom.{u1} α _inst_1) (S : CentroidHom.{u1} α _inst_1) (a : α) (b : α), Eq.{succ u1} α (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) T) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) S) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α _inst_1)) a b)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) S) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) T) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α _inst_1)) a b))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocSemiring.{u1} α] (T : CentroidHom.{u1} α _inst_1) (S : CentroidHom.{u1} α _inst_1) (a : α) (b : α), Eq.{succ u1} α (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) T) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) S) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α _inst_1)) a b)) (Function.comp.{succ u1, succ u1, succ u1} α α α (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) S) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α _inst_1) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1)))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α _inst_1) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α _inst_1))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α _inst_1) α _inst_1 (CentroidHom.instCentroidHomClassCentroidHom.{u1} α _inst_1)))) T) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α _inst_1)) a b))
Case conversion may be inaccurate. Consider using '#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_commₓ'. -/
theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S ∘ T) (a * b) := by
rw [comp_app, map_mul_right, map_mul_left, ← map_mul_right, ← map_mul_left]
@@ -661,7 +661,7 @@ instance : IntCast (CentroidHom α) where intCast z := z • 1
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z)) (SMul.smul.{0, u1} Int (α -> α) (Pi.instSMul.{u1, u1, 0} α Int (fun (ᾰ : α) => α) (fun (i : α) => SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) z (id.{succ u1} α))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSMul.hSMul.{0, u1, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSMul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1)) z (CentroidHom.id.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z)) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (a : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSMul.hSMul.{0, u1, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSMul.{0, u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasZsmul.{u1} α _inst_1)) z (CentroidHom.id.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_int_cast CentroidHom.coe_int_castₓ'. -/
@[simp, norm_cast]
theorem coe_int_cast (z : ℤ) : ⇑(z : CentroidHom α) = z • id :=
@@ -672,7 +672,7 @@ theorem coe_int_cast (z : ℤ) : ⇑(z : CentroidHom α) = z • id :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int) (m : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HasLiftT.mk.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CoeTCₓ.coe.{1, succ u1} Int (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Int.castCoe.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasIntCast.{u1} α _inst_1)))) z) m) (SMul.smul.{0, u1} Int α (SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))) z m)
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int) (m : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z) m) (HSMul.hSMul.{0, u1, u1} Int α α (instHSMul.{0, u1} Int α (SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) z m)
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (z : Int) (m : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) m) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Int.cast.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instIntCastCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) z) m) (HSMul.hSMul.{0, u1, u1} Int α α (instHSMul.{0, u1} Int α (SubNegMonoid.SMulInt.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) z m)
Case conversion may be inaccurate. Consider using '#align centroid_hom.int_cast_apply CentroidHom.int_cast_applyₓ'. -/
theorem int_cast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
rfl
@@ -717,7 +717,7 @@ instance : AddCommGroup (CentroidHom α) :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) f)) (Neg.neg.{u1} (α -> α) (Pi.instNeg.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) f)) (Neg.neg.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (Pi.instNeg.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (fun (i : α) => NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) _inst_1))))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) f)) (Neg.neg.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (Pi.instNeg.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (fun (i : α) => NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1))))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_neg CentroidHom.coe_negₓ'. -/
@[simp, norm_cast]
theorem coe_neg (f : CentroidHom α) : ⇑(-f) = -f :=
@@ -728,7 +728,7 @@ theorem coe_neg (f : CentroidHom α) : ⇑(-f) = -f :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) f g)) (HSub.hSub.{u1, u1, u1} (α -> α) (α -> α) (α -> α) (instHSub.{u1} (α -> α) (Pi.instSub.{u1, u1} α (fun (ᾰ : α) => α) (fun (i : α) => SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) g))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) f g)) (HSub.hSub.{u1, u1, u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (instHSub.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (Pi.instSub.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) ᾰ) (fun (i : α) => SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) i) _inst_1)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) g))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)), Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) f g)) (HSub.hSub.{u1, u1, u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (instHSub.{u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (Pi.instSub.{u1, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) ᾰ) (fun (i : α) => SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) i) _inst_1)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) g))
Case conversion may be inaccurate. Consider using '#align centroid_hom.coe_sub CentroidHom.coe_subₓ'. -/
@[simp, norm_cast]
theorem coe_sub (f g : CentroidHom α) : ⇑(f - g) = f - g :=
@@ -739,7 +739,7 @@ theorem coe_sub (f g : CentroidHom α) : ⇑(f - g) = f - g :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasNeg.{u1} α _inst_1) f) a) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1)))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f a))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) f) a) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) _inst_1)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f a))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (Neg.neg.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instNegCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1) f) a) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f a))
Case conversion may be inaccurate. Consider using '#align centroid_hom.neg_apply CentroidHom.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : CentroidHom α) (a : α) : (-f) a = -f a :=
@@ -750,7 +750,7 @@ theorem neg_apply (f : CentroidHom α) (a : α) : (-f) a = -f a :=
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.hasSub.{u1} α _inst_1)) f g) a) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddCommGroup.toAddGroup.{u1} α (NonUnitalNonAssocRing.toAddCommGroup.{u1} α _inst_1))))) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) f a) (coeFn.{succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (fun (_x : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) => α -> α) (CentroidHom.hasCoeToFun.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) g a))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) f g) a) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) a) _inst_1))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) g a))
+ forall {α : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} α] (f : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (g : CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (HSub.hSub.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (instHSub.{u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (CentroidHom.instSubCentroidHomToNonUnitalNonAssocSemiring.{u1} α _inst_1)) f g) a) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) (NonUnitalNonAssocRing.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) a) _inst_1))))) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)))) (CentroidHomClass.toAddMonoidHomClass.{u1, u1} (CentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1) (CentroidHom.instCentroidHomClassCentroidHom.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_1))))) g a))
Case conversion may be inaccurate. Consider using '#align centroid_hom.sub_apply CentroidHom.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : CentroidHom α) (a : α) : (f - g) a = f a - g a :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -349,8 +349,8 @@ theorem cancel_left {g f₁ f₂ : CentroidHom α} (hg : Injective g) :
instance : Zero (CentroidHom α) :=
⟨{ (0 : α →+ α) with
- map_mul_left' := fun a b => (mul_zero _).symm
- map_mul_right' := fun a b => (zero_mul _).symm }⟩
+ map_mul_left' := fun a b => (MulZeroClass.mul_zero _).symm
+ map_mul_right' := fun a b => (MulZeroClass.zero_mul _).symm }⟩
instance : One (CentroidHom α) :=
⟨CentroidHom.id α⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Splits Algebra.Algebra.Defs
off Algebra.Algebra.Basic
. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Algebra.Basic
is now a grab-bag of unrelated results, and should probably be split further or rehomed.
This is mostly motivated by the wasted effort during minimization upon encountering Algebra.Algebra.Basic.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-/
-import Mathlib.Algebra.Algebra.Basic
+import Mathlib.Algebra.Algebra.Defs
import Mathlib.Algebra.Module.Hom
import Mathlib.GroupTheory.GroupAction.Ring
import Mathlib.RingTheory.NonUnitalSubsemiring.Basic
nat_cast
/int_cast
/rat_cast
to natCast
/intCast
/ratCast
(#11486)
Now that I am defining NNRat.cast
, I want a definitive answer to this naming issue. Plenty of lemmas in mathlib already use natCast
/intCast
/ratCast
over nat_cast
/int_cast
/rat_cast
, and this matches with the general expectation that underscore-separated name parts correspond to a single declaration.
@@ -381,13 +381,13 @@ instance : NatCast (CentroidHom α) where natCast n := n • (1 : CentroidHom α
-- Porting note: `nolint simpNF` added because simplify fails on left-hand side
@[simp, norm_cast, nolint simpNF]
-theorem coe_nat_cast (n : ℕ) : ⇑(n : CentroidHom α) = n • (CentroidHom.id α) :=
+theorem coe_natCast (n : ℕ) : ⇑(n : CentroidHom α) = n • (CentroidHom.id α) :=
rfl
-#align centroid_hom.coe_nat_cast CentroidHom.coe_nat_cast
+#align centroid_hom.coe_nat_cast CentroidHom.coe_natCast
-theorem nat_cast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
+theorem natCast_apply (n : ℕ) (m : α) : (n : CentroidHom α) m = n • m :=
rfl
-#align centroid_hom.nat_cast_apply CentroidHom.nat_cast_apply
+#align centroid_hom.nat_cast_apply CentroidHom.natCast_apply
@[simp]
theorem toEnd_one : (1 : CentroidHom α).toEnd = 1 :=
@@ -405,14 +405,14 @@ theorem toEnd_pow (x : CentroidHom α) (n : ℕ) : (x ^ n).toEnd = x.toEnd ^ n :
#align centroid_hom.to_End_pow CentroidHom.toEnd_pow
@[simp, norm_cast]
-theorem toEnd_nat_cast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
+theorem toEnd_natCast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
rfl
-#align centroid_hom.to_End_nat_cast CentroidHom.toEnd_nat_cast
+#align centroid_hom.to_End_nat_cast CentroidHom.toEnd_natCast
-- cf `add_monoid.End.semiring`
instance : Semiring (CentroidHom α) :=
toEnd_injective.semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_smul toEnd_pow
- toEnd_nat_cast
+ toEnd_natCast
variable (α) in
/-- `CentroidHom.toEnd` as a `RingHom`. -/
@@ -596,13 +596,13 @@ instance : IntCast (CentroidHom α) where intCast z := z • (1 : CentroidHom α
-- Porting note: `nolint simpNF` added because simplify fails on left-hand side
@[simp, norm_cast, nolint simpNF]
-theorem coe_int_cast (z : ℤ) : ⇑(z : CentroidHom α) = z • (CentroidHom.id α) :=
+theorem coe_intCast (z : ℤ) : ⇑(z : CentroidHom α) = z • (CentroidHom.id α) :=
rfl
-#align centroid_hom.coe_int_cast CentroidHom.coe_int_cast
+#align centroid_hom.coe_int_cast CentroidHom.coe_intCast
-theorem int_cast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
+theorem intCast_apply (z : ℤ) (m : α) : (z : CentroidHom α) m = z • m :=
rfl
-#align centroid_hom.int_cast_apply CentroidHom.int_cast_apply
+#align centroid_hom.int_cast_apply CentroidHom.intCast_apply
@[simp]
theorem toEnd_neg (x : CentroidHom α) : (-x).toEnd = -x.toEnd :=
@@ -641,13 +641,13 @@ theorem sub_apply (f g : CentroidHom α) (a : α) : (f - g) a = f a - g a :=
#align centroid_hom.sub_apply CentroidHom.sub_apply
@[simp, norm_cast]
-theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
+theorem toEnd_intCast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
rfl
-#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_cast
+#align centroid_hom.to_End_int_cast CentroidHom.toEnd_intCast
instance instRing : Ring (CentroidHom α) :=
toEnd_injective.ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub
- toEnd_smul toEnd_smul toEnd_pow toEnd_nat_cast toEnd_int_cast
+ toEnd_smul toEnd_smul toEnd_pow toEnd_natCast toEnd_intCast
end NonUnitalNonAssocRing
Among other things, change the nsmul
, zsmul
, qsmul
fields to have n
/q
come before x
, because this matches the lemmas we want to write about them. It would be preferrable to perform the same changes to the AddMonoid
/AddGroup
-like typeclasses, but this is impossible with the current to_additive
framework, so instead I have inserted some Function.swap
at the interface between AddMonoid
/AddGroup
and Ring
/Field
.
Reduce the diff of #11203
@@ -411,7 +411,7 @@ theorem toEnd_nat_cast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
-- cf `add_monoid.End.semiring`
instance : Semiring (CentroidHom α) :=
- toEnd_injective.semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul (swap toEnd_smul) toEnd_pow
+ toEnd_injective.semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_smul toEnd_pow
toEnd_nat_cast
variable (α) in
@@ -647,7 +647,7 @@ theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
instance instRing : Ring (CentroidHom α) :=
toEnd_injective.ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub
- (swap toEnd_smul) (swap toEnd_smul) toEnd_pow toEnd_nat_cast toEnd_int_cast
+ toEnd_smul toEnd_smul toEnd_pow toEnd_nat_cast toEnd_int_cast
end NonUnitalNonAssocRing
We change the following field in the definition of an additive commutative monoid:
nsmul_succ : ∀ (n : ℕ) (x : G),
- AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+ AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
where the latter is more natural
We adjust the definitions of ^
in monoids, groups, etc.
Originally there was a warning comment about why this natural order was preferred
use
x * npowRec n x
and notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
is blocked, to avoid deep recursion issues.
but it seems to no longer apply.
Remarks on the PR :
pow_succ
and pow_succ'
have switched their meanings.Ideal.IsPrime.mul_mem_pow
which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul
.@@ -298,12 +298,12 @@ instance hasNPowNat : Pow (CentroidHom α) ℕ :=
map_mul_left' := fun a b ↦ by
induction' n with n ih
· exact rfl
- · rw [pow_succ]
+ · rw [pow_succ']
exact (congr_arg f.toEnd ih).trans (f.map_mul_left' _ _)
map_mul_right' := fun a b ↦ by
induction' n with n ih
· exact rfl
- · rw [pow_succ]
+ · rw [pow_succ']
exact (congr_arg f.toEnd ih).trans (f.map_mul_right' _ _)
}⟩
#align centroid_hom.has_npow_nat CentroidHom.hasNPowNat
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -469,7 +469,6 @@ Let `α` be an algebra over `R`, such that the canonical ring homomorphism of `R
-/
variable {R : Type*}
-
variable [CommSemiring R]
variable [Module R α] [SMulCommClass R α α] [IsScalarTower R α α]
This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0
branch as we update to intermediate nightlies.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>
@@ -294,19 +294,18 @@ instance isScalarTowerRight : IsScalarTower M (CentroidHom α) (CentroidHom α)
instance hasNPowNat : Pow (CentroidHom α) ℕ :=
⟨fun f n ↦
- { (f.toEnd ^ n : AddMonoid.End α) with
+ { toAddMonoidHom := (f.toEnd ^ n : AddMonoid.End α)
map_mul_left' := fun a b ↦ by
induction' n with n ih
· exact rfl
- · simp
- rw [pow_succ]
+ · rw [pow_succ]
exact (congr_arg f.toEnd ih).trans (f.map_mul_left' _ _)
map_mul_right' := fun a b ↦ by
induction' n with n ih
· exact rfl
- · simp
- rw [pow_succ]
- exact (congr_arg f.toEnd ih).trans (f.map_mul_right' _ _) }⟩
+ · rw [pow_succ]
+ exact (congr_arg f.toEnd ih).trans (f.map_mul_right' _ _)
+ }⟩
#align centroid_hom.has_npow_nat CentroidHom.hasNPowNat
@[simp, norm_cast]
The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun
instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike
is EquivLike
, since that has a custom coe_injective'
field that is easier to implement. All other classes should take FunLike
or EquivLike
as a parameter.
Previously, morphism classes would be Type
-valued and extend FunLike
:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
After this PR, they should be Prop
-valued and take FunLike
as a parameter:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
[FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
(Note that A B
stay marked as outParam
even though they are not purely required to be so due to the FunLike
parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam
is slightly faster.)
Similarly, MyEquivClass
should take EquivLike
as a parameter.
As a result, every mention of [MyHomClass F A B]
should become [FunLike F A B] [MyHomClass F A B]
.
While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul
is more expensive. This is due to suboptimal processing of arguments. For example:
variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)
theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y
example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _
Before this PR, applying map_mul f
gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Since M
and N
are out_param
s, [MulHomClass F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found.
After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Now [FunLike F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found, before trying MulHomClass F M N
which fails. Since the Mul
hierarchy is very big, this can be slow to fail, especially when there is no such Mul
instance.
A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul
to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N]
because MulHomClass
fails or succeeds much faster than the others.
As a consequence, the simpNF
linter is much slower since by design it tries and fails to apply many map_
lemmas. The same issue occurs a few times in existing calls to simp [map_mul]
, where map_mul
is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.
simp
not firing sometimesThis affects map_smulₛₗ
and related definitions. For simp
lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw
can find every argument to map_smulₛₗ
successfully but simp
can't: leanprover/lean4#3701.
Especially in the category theory library, we might sometimes have a type A
which is also accessible as a synonym (Bundled A hA).1
. Instance synthesis doesn't always work if we have f : A →* B
but x * y : (Bundled A hA).1
or vice versa. This seems to be mostly fixed by keeping A B
as outParam
s in MulHomClass F A B
. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1
instead of using the syntax in the discrimination tree.)
The timeouts can be worked around for now by specifying which map_mul
we mean, either as map_mul f
for some explicit f
, or as e.g. MonoidHomClass.map_mul
.
map_smulₛₗ
not firing as simp
lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ
a simp
lemma instead of the generic map_smulₛₗ
. Writing simp [map_smulₛₗ _]
also works.
Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -61,8 +61,8 @@ attribute [nolint docBlame] CentroidHom.toAddMonoidHom
/-- `CentroidHomClass F α` states that `F` is a type of centroid homomorphisms.
You should extend this class when you extend `CentroidHom`. -/
-class CentroidHomClass (F : Type*) (α : outParam <| Type*) [NonUnitalNonAssocSemiring α] extends
- AddMonoidHomClass F α α where
+class CentroidHomClass (F α : Type*) [NonUnitalNonAssocSemiring α] [FunLike F α α] extends
+ AddMonoidHomClass F α α : Prop where
/-- Commutativity of centroid homomorphims with left multiplication. -/
map_mul_left (f : F) (a b : α) : f (a * b) = a * f b
/-- Commutativity of centroid homomorphims with right multiplication. -/
@@ -72,7 +72,8 @@ class CentroidHomClass (F : Type*) (α : outParam <| Type*) [NonUnitalNonAssocSe
export CentroidHomClass (map_mul_left map_mul_right)
-instance [NonUnitalNonAssocSemiring α] [CentroidHomClass F α] : CoeTC F (CentroidHom α) :=
+instance [NonUnitalNonAssocSemiring α] [FunLike F α α] [CentroidHomClass F α] :
+ CoeTC F (CentroidHom α) :=
⟨fun f ↦
{ (f : α →+ α) with
toFun := f
@@ -87,13 +88,15 @@ section NonUnitalNonAssocSemiring
variable [NonUnitalNonAssocSemiring α]
-instance : CentroidHomClass (CentroidHom α) α where
+instance : FunLike (CentroidHom α) α α where
coe f := f.toFun
coe_injective' f g h := by
cases f
cases g
congr with x
exact congrFun h x
+
+instance : CentroidHomClass (CentroidHom α) α where
map_zero f := f.map_zero'
map_add f := f.map_add'
map_mul_left f := f.map_mul_left'
Show that an element of a commutative semiring is central iff the corresponding multiplication operator commutes with all multiplication operators
Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -81,7 +81,6 @@ instance [NonUnitalNonAssocSemiring α] [CentroidHomClass F α] : CoeTC F (Centr
/-! ### Centroid homomorphisms -/
-
namespace CentroidHom
section NonUnitalNonAssocSemiring
@@ -514,18 +513,19 @@ def centerToCentroid : NonUnitalSubsemiring.center α →ₙ+* CentroidHom α wh
ext a
exact (((Set.mem_center_iff _).mp z₁.prop).left_assoc z₂ a).symm
-lemma centerToCentroid_apply (z : { x // x ∈ NonUnitalSubsemiring.center α }) (a : α) :
+lemma centerToCentroid_apply (z : NonUnitalSubsemiring.center α) (a : α) :
(centerToCentroid z) a = z * a := rfl
-lemma center_iff_op_centroid (a : α) :
- a ∈ NonUnitalSubsemiring.center α ↔ L a = R a ∧ (L a) ∈ Set.range CentroidHom.toEnd := by
+lemma _root_.NonUnitalNonAssocSemiring.mem_center_iff (a : α) :
+ a ∈ NonUnitalSubsemiring.center α ↔ R a = L a ∧ (L a) ∈ RingHom.rangeS (toEndRingHom α) := by
constructor
- · exact fun ha ↦ ⟨AddMonoidHom.ext <| IsMulCentral.comm ha, ⟨centerToCentroid ⟨a, ha⟩, rfl⟩⟩
+ · exact fun ha ↦ ⟨AddMonoidHom.ext <| fun _ => (IsMulCentral.comm ha _).symm,
+ ⟨centerToCentroid ⟨a, ha⟩, rfl⟩⟩
· rintro ⟨hc, ⟨T, hT⟩⟩
have e1 (d : α) : T d = a * d := congr($hT d)
- have e2 (d : α) : T d = d * a := congr($(hT.trans hc) d)
+ have e2 (d : α) : T d = d * a := congr($(hT.trans hc.symm) d)
constructor
- case comm => exact (congr($hc ·))
+ case comm => exact (congr($hc.symm ·))
case left_assoc => simpa [e1] using (map_mul_right T · ·)
case mid_assoc => exact fun b c ↦ by simpa [e1 c, e2 b] using
(map_mul_right T b c).symm.trans <| map_mul_left T b c
@@ -533,12 +533,29 @@ lemma center_iff_op_centroid (a : α) :
end NonUnitalNonAssocSemiring
+section NonUnitalNonAssocCommSemiring
+
+variable [NonUnitalNonAssocCommSemiring α]
+
+/-
+Left and right multiplication coincide as α is commutative
+-/
+local notation "L" => AddMonoid.End.mulLeft
+
+lemma _root_.NonUnitalNonAssocCommSemiring.mem_center_iff (a : α) :
+ a ∈ NonUnitalSubsemiring.center α ↔ ∀ b : α, Commute (L b) (L a) := by
+ rw [NonUnitalNonAssocSemiring.mem_center_iff, CentroidHom.centroid_eq_centralizer_mulLeftRight,
+ Subsemiring.mem_centralizer_iff, AddMonoid.End.mulRight_eq_mulLeft, Set.union_self]
+ aesop
+
+end NonUnitalNonAssocCommSemiring
+
section NonAssocSemiring
variable [NonAssocSemiring α]
/-- The canonical isomorphism from the center of a (non-associative) semiring onto its centroid. -/
-def centerIsoCentroid : NonUnitalSubsemiring.center α ≃+* CentroidHom α :=
+def centerIsoCentroid : Subsemiring.center α ≃+* CentroidHom α :=
{ centerToCentroid with
invFun := fun T ↦
⟨T 1, by refine ⟨?_, ?_, ?_, ?_⟩; all_goals simp [← map_mul_left, ← map_mul_right]⟩
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -23,7 +23,7 @@ $$
In mathlib we call elements of the centroid "centroid homomorphisms" (`CentroidHom`) in keeping
with `AddMonoidHom` etc.
-We use the `FunLike` design, so each type of morphisms has a companion typeclass which is meant to
+We use the `DFunLike` design, so each type of morphisms has a companion typeclass which is meant to
be satisfied by itself and all stricter types.
## Types of morphisms
@@ -101,9 +101,9 @@ instance : CentroidHomClass (CentroidHom α) α where
map_mul_right f := f.map_mul_right'
-/-- Helper instance for when there's too many metavariables to apply `FunLike.CoeFun`
+/-- Helper instance for when there's too many metavariables to apply `DFunLike.CoeFun`
directly. -/
-/- Porting note: Lean gave me `unknown constant 'FunLike.CoeFun'` and says `CoeFun` is a type
+/- Porting note: Lean gave me `unknown constant 'DFunLike.CoeFun'` and says `CoeFun` is a type
mismatch, so I used `library_search`. -/
instance : CoeFun (CentroidHom α) fun _ ↦ α → α :=
inferInstanceAs (CoeFun (CentroidHom α) fun _ ↦ α → α)
@@ -115,7 +115,7 @@ theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = f := rfl
@[ext]
theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align centroid_hom.ext CentroidHom.ext
@[simp, norm_cast]
@@ -130,7 +130,7 @@ theorem toAddMonoidHom_eq_coe (f : CentroidHom α) : f.toAddMonoidHom = f :=
theorem coe_toAddMonoidHom_injective : Injective ((↑) : CentroidHom α → α →+ α) :=
fun _f _g h => ext fun a ↦
- haveI := FunLike.congr_fun h a
+ haveI := DFunLike.congr_fun h a
this
#align centroid_hom.coe_to_add_monoid_hom_injective CentroidHom.coe_toAddMonoidHom_injective
@@ -158,7 +158,7 @@ theorem coe_copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : ⇑(f.copy
#align centroid_hom.coe_copy CentroidHom.coe_copy
theorem copy_eq (f : CentroidHom α) (f' : α → α) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align centroid_hom.copy_eq CentroidHom.copy_eq
variable (α)
@@ -231,7 +231,7 @@ theorem id_comp (f : CentroidHom α) : (CentroidHom.id α).comp f = f :=
@[simp]
theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
- ⟨fun h ↦ ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun a ↦ congrFun (congrArg comp a) f⟩
+ ⟨fun h ↦ ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, fun a ↦ congrFun (congrArg comp a) f⟩
#align centroid_hom.cancel_right CentroidHom.cancel_right
@[simp]
@@ -5,6 +5,7 @@ Authors: Yaël Dillies, Christopher Hoskin
-/
import Mathlib.Algebra.Algebra.Basic
import Mathlib.Algebra.Module.Hom
+import Mathlib.GroupTheory.GroupAction.Ring
import Mathlib.RingTheory.NonUnitalSubsemiring.Basic
import Mathlib.RingTheory.Subsemiring.Basic
@@ -278,13 +278,13 @@ instance instSMul : SMul M (CentroidHom α) where
#noalign centroid_hom.has_nsmul
instance [SMul M N] [IsScalarTower M N α] : IsScalarTower M N (CentroidHom α) where
- smul_assoc _ _ _ := ext <| fun _ => smul_assoc _ _ _
+ smul_assoc _ _ _ := ext fun _ => smul_assoc _ _ _
instance [SMulCommClass M N α] : SMulCommClass M N (CentroidHom α) where
- smul_comm _ _ _ := ext <| fun _ => smul_comm _ _ _
+ smul_comm _ _ _ := ext fun _ => smul_comm _ _ _
instance [DistribMulAction Mᵐᵒᵖ α] [IsCentralScalar M α] : IsCentralScalar M (CentroidHom α) where
- op_smul_eq_smul _ _ := ext <| fun _ => op_smul_eq_smul _ _
+ op_smul_eq_smul _ _ := ext fun _ => op_smul_eq_smul _ _
instance isScalarTowerRight : IsScalarTower M (CentroidHom α) (CentroidHom α) where
smul_assoc _ _ _ := rfl
Explore the relationship between the Centroid of a ring and algebra:
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -3,6 +3,7 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-/
+import Mathlib.Algebra.Algebra.Basic
import Mathlib.Algebra.Module.Hom
import Mathlib.RingTheory.NonUnitalSubsemiring.Basic
import Mathlib.RingTheory.Subsemiring.Basic
@@ -432,6 +433,55 @@ instance : DistribMulAction M (CentroidHom α) :=
instance : Module R (CentroidHom α) :=
toEnd_injective.module R (toEndRingHom α).toAddMonoidHom toEnd_smul
+/-!
+The following instances show that `α` is a non-unital and non-associative algebra over
+`CentroidHom α`.
+-/
+
+/-- The tautological action by `CentroidHom α` on `α`.
+
+This generalizes `Function.End.applyMulAction`. -/
+instance applyModule : Module (CentroidHom α) α where
+ smul T a := T a
+ add_smul _ _ _ := rfl
+ zero_smul _ := rfl
+ one_smul _ := rfl
+ mul_smul _ _ _:= rfl
+ smul_zero := map_zero
+ smul_add := map_add
+
+@[simp]
+lemma smul_def (T : CentroidHom α) (a : α) : T • a = T a := rfl
+
+instance : SMulCommClass (CentroidHom α) α α where
+ smul_comm _ _ _ := map_mul_left _ _ _
+
+instance : SMulCommClass α (CentroidHom α) α := SMulCommClass.symm _ _ _
+
+instance : IsScalarTower (CentroidHom α) α α where
+ smul_assoc _ _ _ := (map_mul_right _ _ _).symm
+
+/-!
+Let `α` be an algebra over `R`, such that the canonical ring homomorphism of `R` into
+`CentroidHom α` lies in the center of `CentroidHom α`. Then `CentroidHom α` is an algebra over `R`
+-/
+
+variable {R : Type*}
+
+variable [CommSemiring R]
+variable [Module R α] [SMulCommClass R α α] [IsScalarTower R α α]
+
+/-- The natural ring homomorphism from `R` into `CentroidHom α`.
+
+This is a stronger version of `Module.toAddMonoidEnd`. -/
+@[simps! apply_toFun]
+def _root_.Module.toCentroidHom : R →+* CentroidHom α := RingHom.smulOneHom
+
+open Module in
+/-- `CentroidHom α` as an algebra over `R`. -/
+example (h : ∀ (r : R) (T : CentroidHom α), toCentroidHom r * T = T * toCentroidHom r) :
+ Algebra R (CentroidHom α) := toCentroidHom.toAlgebra' h
+
local notation "L" => AddMonoid.End.mulLeft
local notation "R" => AddMonoid.End.mulRight
Nsmul
-> NSMul
, Zpow
-> ZPow
, etc (#9067)
Normalising to naming convention rule number 6.
@@ -288,7 +288,7 @@ instance [DistribMulAction Mᵐᵒᵖ α] [IsCentralScalar M α] : IsCentralScal
instance isScalarTowerRight : IsScalarTower M (CentroidHom α) (CentroidHom α) where
smul_assoc _ _ _ := rfl
-instance hasNpowNat : Pow (CentroidHom α) ℕ :=
+instance hasNPowNat : Pow (CentroidHom α) ℕ :=
⟨fun f n ↦
{ (f.toEnd ^ n : AddMonoid.End α) with
map_mul_left' := fun a b ↦ by
@@ -303,7 +303,7 @@ instance hasNpowNat : Pow (CentroidHom α) ℕ :=
· simp
rw [pow_succ]
exact (congr_arg f.toEnd ih).trans (f.map_mul_right' _ _) }⟩
-#align centroid_hom.has_npow_nat CentroidHom.hasNpowNat
+#align centroid_hom.has_npow_nat CentroidHom.hasNPowNat
@[simp, norm_cast]
theorem coe_zero : ⇑(0 : CentroidHom α) = 0 :=
The centroid of a non-associative, non-unital algebra coincides with the centralizer of the left and right multiplication operators.
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -3,10 +3,9 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-/
-import Mathlib.Algebra.Group.Hom.Instances
-import Mathlib.Algebra.GroupPower.Lemmas
import Mathlib.Algebra.Module.Hom
import Mathlib.RingTheory.NonUnitalSubsemiring.Basic
+import Mathlib.RingTheory.Subsemiring.Basic
#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"6cb77a8eaff0ddd100e87b1591c6d3ad319514ff"
@@ -436,6 +435,18 @@ instance : Module R (CentroidHom α) :=
local notation "L" => AddMonoid.End.mulLeft
local notation "R" => AddMonoid.End.mulRight
+lemma centroid_eq_centralizer_mulLeftRight :
+ RingHom.rangeS (toEndRingHom α) = Subsemiring.centralizer (Set.range L ∪ Set.range R) := by
+ ext T
+ refine ⟨?_, fun h ↦ ?_⟩
+ · rintro ⟨f, rfl⟩ S (⟨a, rfl⟩ | ⟨b, rfl⟩)
+ · exact AddMonoidHom.ext fun b ↦ (map_mul_left f a b).symm
+ · exact AddMonoidHom.ext fun a ↦ (map_mul_right f a b).symm
+ · rw [Subsemiring.mem_centralizer_iff] at h
+ refine ⟨⟨T, fun a b ↦ ?_, fun a b ↦ ?_⟩, rfl⟩
+ · exact congr($(h (L a) (.inl ⟨a, rfl⟩)) b).symm
+ · exact congr($(h (R b) (.inr ⟨b, rfl⟩)) a).symm
+
/-- The canonical homomorphism from the center into the centroid -/
def centerToCentroid : NonUnitalSubsemiring.center α →ₙ+* CentroidHom α where
toFun z :=
This generalizes the ℕ and ℤ actions to arbitrary monoids, and provides various compatibility instances.
The simpNF
annotations are no longer needed, as the the smul
lemmas are now about general actions, not just nsmul
and zsmul
which have different simp-normal forms.
Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com> Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com>
@@ -5,6 +5,7 @@ Authors: Yaël Dillies, Christopher Hoskin
-/
import Mathlib.Algebra.Group.Hom.Instances
import Mathlib.Algebra.GroupPower.Lemmas
+import Mathlib.Algebra.Module.Hom
import Mathlib.RingTheory.NonUnitalSubsemiring.Basic
#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"6cb77a8eaff0ddd100e87b1591c6d3ad319514ff"
@@ -44,7 +45,7 @@ centroid
open Function
-variable {F α : Type*}
+variable {F M N R α : Type*}
/-- The type of centroid homomorphisms from `α` to `α`. -/
structure CentroidHom (α : Type*) [NonUnitalNonAssocSemiring α] extends α →+ α where
@@ -259,16 +260,34 @@ instance : Add (CentroidHom α) :=
instance : Mul (CentroidHom α) :=
⟨comp⟩
-instance hasNsmul : SMul ℕ (CentroidHom α) :=
- ⟨fun n f ↦
- { ((SMul.smul n f) : α →+ α) with
- map_mul_left' := fun a b ↦ by
- change n • f (a * b) = a * n • f b
- rw [map_mul_left f, ← mul_smul_comm]
- map_mul_right' := fun a b ↦ by
- change n • f (a * b) = n • f a * b
- rw [map_mul_right f, ← smul_mul_assoc] }⟩
-#align centroid_hom.has_nsmul CentroidHom.hasNsmul
+variable [Monoid M] [Monoid N] [Semiring R]
+variable [DistribMulAction M α] [SMulCommClass M α α] [IsScalarTower M α α]
+variable [DistribMulAction N α] [SMulCommClass N α α] [IsScalarTower N α α]
+variable [Module R α] [SMulCommClass R α α] [IsScalarTower R α α]
+
+instance instSMul : SMul M (CentroidHom α) where
+ smul n f :=
+ { (n • f : α →+ α) with
+ map_mul_left' := fun a b ↦ by
+ change n • f (a * b) = a * n • f b
+ rw [map_mul_left f, ← mul_smul_comm]
+ map_mul_right' := fun a b ↦ by
+ change n • f (a * b) = n • f a * b
+ rw [map_mul_right f, ← smul_mul_assoc] }
+
+#noalign centroid_hom.has_nsmul
+
+instance [SMul M N] [IsScalarTower M N α] : IsScalarTower M N (CentroidHom α) where
+ smul_assoc _ _ _ := ext <| fun _ => smul_assoc _ _ _
+
+instance [SMulCommClass M N α] : SMulCommClass M N (CentroidHom α) where
+ smul_comm _ _ _ := ext <| fun _ => smul_comm _ _ _
+
+instance [DistribMulAction Mᵐᵒᵖ α] [IsCentralScalar M α] : IsCentralScalar M (CentroidHom α) where
+ op_smul_eq_smul _ _ := ext <| fun _ => op_smul_eq_smul _ _
+
+instance isScalarTowerRight : IsScalarTower M (CentroidHom α) (CentroidHom α) where
+ smul_assoc _ _ _ := rfl
instance hasNpowNat : Pow (CentroidHom α) ℕ :=
⟨fun f n ↦
@@ -307,11 +326,10 @@ theorem coe_mul (f g : CentroidHom α) : ⇑(f * g) = f ∘ g :=
rfl
#align centroid_hom.coe_mul CentroidHom.coe_mul
--- Eligible for `dsimp`
-@[simp, norm_cast, nolint simpNF]
-theorem coe_nsmul (f : CentroidHom α) (n : ℕ) : ⇑(n • f) = n • (⇑f) :=
+@[simp, norm_cast]
+theorem coe_smul (n : M) (f : CentroidHom α) : ⇑(n • f) = n • ⇑f :=
rfl
-#align centroid_hom.coe_nsmul CentroidHom.coe_nsmul
+#align centroid_hom.coe_nsmul CentroidHom.coe_smul
@[simp]
theorem zero_apply (a : α) : (0 : CentroidHom α) a = 0 :=
@@ -333,11 +351,12 @@ theorem mul_apply (f g : CentroidHom α) (a : α) : (f * g) a = f (g a) :=
rfl
#align centroid_hom.mul_apply CentroidHom.mul_apply
--- Eligible for `dsimp`
-@[simp, nolint simpNF]
-theorem nsmul_apply (f : CentroidHom α) (n : ℕ) (a : α) : (n • f) a = n • f a :=
+@[simp]
+theorem smul_apply (n : M) (f : CentroidHom α) (a : α) : (n • f) a = n • f a :=
rfl
-#align centroid_hom.nsmul_apply CentroidHom.nsmul_apply
+#align centroid_hom.nsmul_apply CentroidHom.smul_apply
+
+example : SMul ℕ (CentroidHom α) := instSMul
@[simp]
theorem toEnd_zero : (0 : CentroidHom α).toEnd = 0 :=
@@ -349,14 +368,12 @@ theorem toEnd_add (x y : CentroidHom α) : (x + y).toEnd = x.toEnd + y.toEnd :=
rfl
#align centroid_hom.to_End_add CentroidHom.toEnd_add
-theorem toEnd_nsmul (x : CentroidHom α) (n : ℕ) : (n • x).toEnd = n • x.toEnd :=
+theorem toEnd_smul (m : M) (x : CentroidHom α) : (m • x).toEnd = m • x.toEnd :=
rfl
-#align centroid_hom.to_End_nsmul CentroidHom.toEnd_nsmul
+#align centroid_hom.to_End_nsmul CentroidHom.toEnd_smul
--- Porting note: I guess the porter has naming issues still
--- cf.`add_monoid_hom.add_comm_monoid`
instance : AddCommMonoid (CentroidHom α) :=
- coe_toAddMonoidHom_injective.addCommMonoid _ toEnd_zero toEnd_add toEnd_nsmul
+ coe_toAddMonoidHom_injective.addCommMonoid _ toEnd_zero toEnd_add (swap toEnd_smul)
instance : NatCast (CentroidHom α) where natCast n := n • (1 : CentroidHom α)
@@ -392,14 +409,30 @@ theorem toEnd_nat_cast (n : ℕ) : (n : CentroidHom α).toEnd = ↑n :=
-- cf `add_monoid.End.semiring`
instance : Semiring (CentroidHom α) :=
- toEnd_injective.semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_nsmul toEnd_pow
+ toEnd_injective.semiring _ toEnd_zero toEnd_one toEnd_add toEnd_mul (swap toEnd_smul) toEnd_pow
toEnd_nat_cast
+variable (α) in
+/-- `CentroidHom.toEnd` as a `RingHom`. -/
+@[simps]
+def toEndRingHom : CentroidHom α →+* AddMonoid.End α where
+ toFun := toEnd
+ map_zero' := toEnd_zero
+ map_one' := toEnd_one
+ map_add' := toEnd_add
+ map_mul' := toEnd_mul
+
theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S ∘ T) (a * b) := by
simp only [Function.comp_apply]
rw [map_mul_right, map_mul_left, ← map_mul_right, ← map_mul_left]
#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_comm
+instance : DistribMulAction M (CentroidHom α) :=
+ toEnd_injective.distribMulAction (toEndRingHom α).toAddMonoidHom toEnd_smul
+
+instance : Module R (CentroidHom α) :=
+ toEnd_injective.module R (toEndRingHom α).toAddMonoidHom toEnd_smul
+
local notation "L" => AddMonoid.End.mulLeft
local notation "R" => AddMonoid.End.mulRight
@@ -471,22 +504,13 @@ instance : Sub (CentroidHom α) :=
⟨fun f g ↦
{ (f - g : α →+ α) with
map_mul_left' := fun a b ↦ by
- change (FunLike.coe f - FunLike.coe g) (a * b) = a * (FunLike.coe f - FunLike.coe g) b
+ change (⇑f - ⇑g) (a * b) = a * (⇑f - ⇑g) b
simp [map_mul_left, mul_sub]
map_mul_right' := fun a b ↦ by
- change (FunLike.coe f - FunLike.coe g) (a * b) = ((FunLike.coe f - FunLike.coe g) a) * b
+ change (⇑f - ⇑g) (a * b) = ((⇑f - ⇑g) a) * b
simp [map_mul_right, sub_mul] }⟩
-instance hasZsmul : SMul ℤ (CentroidHom α) :=
- ⟨fun n f ↦
- { (SMul.smul n f : α →+ α) with
- map_mul_left' := fun a b ↦ by
- change n • f (a * b) = a * n • f b
- rw [map_mul_left f, ← mul_smul_comm]
- map_mul_right' := fun a b ↦ by
- change n • f (a * b) = n • f a * b
- rw [map_mul_right f, ← smul_mul_assoc] }⟩
-#align centroid_hom.has_zsmul CentroidHom.hasZsmul
+#noalign centroid_hom.has_zsmul
instance : IntCast (CentroidHom α) where intCast z := z • (1 : CentroidHom α)
@@ -510,12 +534,11 @@ theorem toEnd_sub (x y : CentroidHom α) : (x - y).toEnd = x.toEnd - y.toEnd :=
rfl
#align centroid_hom.to_End_sub CentroidHom.toEnd_sub
-theorem toEnd_zsmul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.toEnd :=
- rfl
-#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmul
+#align centroid_hom.to_End_zsmul CentroidHom.toEnd_smul
instance : AddCommGroup (CentroidHom α) :=
- toEnd_injective.addCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_nsmul toEnd_zsmul
+ toEnd_injective.addCommGroup _
+ toEnd_zero toEnd_add toEnd_neg toEnd_sub (swap toEnd_smul) (swap toEnd_smul)
@[simp, norm_cast]
theorem coe_neg (f : CentroidHom α) : ⇑(-f) = -f :=
@@ -544,7 +567,7 @@ theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
instance instRing : Ring (CentroidHom α) :=
toEnd_injective.ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub
- toEnd_nsmul toEnd_zsmul toEnd_pow toEnd_nat_cast toEnd_int_cast
+ (swap toEnd_smul) (swap toEnd_smul) toEnd_pow toEnd_nat_cast toEnd_int_cast
end NonUnitalNonAssocRing
Defines the natural homomorphism from the centre of a non-unital, non-associative semiring into the centroid of the semiring. When the semiring is unital, the centre and the centroid are isomorphic.
Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com> Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com> Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com>
@@ -5,6 +5,7 @@ Authors: Yaël Dillies, Christopher Hoskin
-/
import Mathlib.Algebra.Group.Hom.Instances
import Mathlib.Algebra.GroupPower.Lemmas
+import Mathlib.RingTheory.NonUnitalSubsemiring.Basic
#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"6cb77a8eaff0ddd100e87b1591c6d3ad319514ff"
@@ -399,8 +400,58 @@ theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S
rw [map_mul_right, map_mul_left, ← map_mul_right, ← map_mul_left]
#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_comm
+local notation "L" => AddMonoid.End.mulLeft
+local notation "R" => AddMonoid.End.mulRight
+
+/-- The canonical homomorphism from the center into the centroid -/
+def centerToCentroid : NonUnitalSubsemiring.center α →ₙ+* CentroidHom α where
+ toFun z :=
+ { L (z : α) with
+ map_mul_left' := ((Set.mem_center_iff _).mp z.prop).left_comm
+ map_mul_right' := ((Set.mem_center_iff _).mp z.prop).left_assoc }
+ map_zero' := by
+ simp only [ZeroMemClass.coe_zero, map_zero]
+ exact rfl
+ map_add' := fun _ _ => by
+ simp only [AddSubmonoid.coe_add, NonUnitalSubsemiring.coe_toAddSubmonoid, map_add]
+ exact rfl
+ map_mul' := fun z₁ z₂ => by
+ ext a
+ exact (((Set.mem_center_iff _).mp z₁.prop).left_assoc z₂ a).symm
+
+lemma centerToCentroid_apply (z : { x // x ∈ NonUnitalSubsemiring.center α }) (a : α) :
+ (centerToCentroid z) a = z * a := rfl
+
+lemma center_iff_op_centroid (a : α) :
+ a ∈ NonUnitalSubsemiring.center α ↔ L a = R a ∧ (L a) ∈ Set.range CentroidHom.toEnd := by
+ constructor
+ · exact fun ha ↦ ⟨AddMonoidHom.ext <| IsMulCentral.comm ha, ⟨centerToCentroid ⟨a, ha⟩, rfl⟩⟩
+ · rintro ⟨hc, ⟨T, hT⟩⟩
+ have e1 (d : α) : T d = a * d := congr($hT d)
+ have e2 (d : α) : T d = d * a := congr($(hT.trans hc) d)
+ constructor
+ case comm => exact (congr($hc ·))
+ case left_assoc => simpa [e1] using (map_mul_right T · ·)
+ case mid_assoc => exact fun b c ↦ by simpa [e1 c, e2 b] using
+ (map_mul_right T b c).symm.trans <| map_mul_left T b c
+ case right_assoc => simpa [e2] using (map_mul_left T · ·)
+
end NonUnitalNonAssocSemiring
+section NonAssocSemiring
+
+variable [NonAssocSemiring α]
+
+/-- The canonical isomorphism from the center of a (non-associative) semiring onto its centroid. -/
+def centerIsoCentroid : NonUnitalSubsemiring.center α ≃+* CentroidHom α :=
+ { centerToCentroid with
+ invFun := fun T ↦
+ ⟨T 1, by refine ⟨?_, ?_, ?_, ?_⟩; all_goals simp [← map_mul_left, ← map_mul_right]⟩
+ left_inv := fun z ↦ Subtype.ext <| by simp [centerToCentroid_apply]
+ right_inv := fun T ↦ CentroidHom.ext <| by simp [centerToCentroid_apply, ← map_mul_right] }
+
+end NonAssocSemiring
+
section NonUnitalNonAssocRing
variable [NonUnitalNonAssocRing α]
Hom
and file name (#8095)
I believe the file defining a type of morphisms belongs alongside the file defining the structure this morphism works on. So I would like to reorganize the files in the Mathlib.Algebra.Hom
folder so that e.g. Mathlib.Algebra.Hom.Ring
becomes Mathlib.Algebra.Ring.Hom
and Mathlib.Algebra.Hom.NonUnitalAlg
becomes Mathlib.Algebra.Algebra.NonUnitalHom
.
While fixing the imports I went ahead and sorted them for good luck.
The full list of changes is: renamed: Mathlib/Algebra/Hom/NonUnitalAlg.lean -> Mathlib/Algebra/Algebra/NonUnitalHom.lean renamed: Mathlib/Algebra/Hom/Aut.lean -> Mathlib/Algebra/Group/Aut.lean renamed: Mathlib/Algebra/Hom/Commute.lean -> Mathlib/Algebra/Group/Commute/Hom.lean renamed: Mathlib/Algebra/Hom/Embedding.lean -> Mathlib/Algebra/Group/Embedding.lean renamed: Mathlib/Algebra/Hom/Equiv/Basic.lean -> Mathlib/Algebra/Group/Equiv/Basic.lean renamed: Mathlib/Algebra/Hom/Equiv/TypeTags.lean -> Mathlib/Algebra/Group/Equiv/TypeTags.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/Basic.lean -> Mathlib/Algebra/Group/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/GroupWithZero.lean -> Mathlib/Algebra/GroupWithZero/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Freiman.lean -> Mathlib/Algebra/Group/Freiman.lean renamed: Mathlib/Algebra/Hom/Group/Basic.lean -> Mathlib/Algebra/Group/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Group/Defs.lean -> Mathlib/Algebra/Group/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/GroupAction.lean -> Mathlib/GroupTheory/GroupAction/Hom.lean renamed: Mathlib/Algebra/Hom/GroupInstances.lean -> Mathlib/Algebra/Group/Hom/Instances.lean renamed: Mathlib/Algebra/Hom/Iterate.lean -> Mathlib/Algebra/GroupPower/IterateHom.lean renamed: Mathlib/Algebra/Hom/Centroid.lean -> Mathlib/Algebra/Ring/CentroidHom.lean renamed: Mathlib/Algebra/Hom/Ring/Basic.lean -> Mathlib/Algebra/Ring/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Ring/Defs.lean -> Mathlib/Algebra/Ring/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/Units.lean -> Mathlib/Algebra/Group/Units/Hom.lean
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Reorganizing.20.60Mathlib.2EAlgebra.2EHom.60
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-/
+import Mathlib.Algebra.Group.Hom.Instances
import Mathlib.Algebra.GroupPower.Lemmas
-import Mathlib.Algebra.Hom.GroupInstances
#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"6cb77a8eaff0ddd100e87b1591c6d3ad319514ff"
@@ -509,7 +509,7 @@ def commRing (h : ∀ a b : α, (∀ r : α, a * r * b = 0) → a = 0 ∨ b = 0)
{ CentroidHom.instRing with
mul_comm := fun f g ↦ by
ext
- refine' sub_eq_zero.1 ((or_self_iff _).1 <| (h _ _) fun r ↦ _)
+ refine' sub_eq_zero.1 (or_self_iff.1 <| (h _ _) fun r ↦ _)
rw [mul_assoc, sub_mul, sub_eq_zero, ← map_mul_right, ← map_mul_right, coe_mul, coe_mul,
comp_mul_comm] }
#align centroid_hom.comm_ring CentroidHom.commRing
@@ -395,7 +395,7 @@ instance : Semiring (CentroidHom α) :=
toEnd_nat_cast
theorem comp_mul_comm (T S : CentroidHom α) (a b : α) : (T ∘ S) (a * b) = (S ∘ T) (a * b) := by
- simp
+ simp only [Function.comp_apply]
rw [map_mul_right, map_mul_left, ← map_mul_right, ← map_mul_left]
#align centroid_hom.comp_mul_comm CentroidHom.comp_mul_comm
@@ -225,11 +225,13 @@ theorem id_comp (f : CentroidHom α) : (CentroidHom.id α).comp f = f :=
rfl
#align centroid_hom.id_comp CentroidHom.id_comp
+@[simp]
theorem cancel_right {g₁ g₂ f : CentroidHom α} (hf : Surjective f) :
g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
⟨fun h ↦ ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun a ↦ congrFun (congrArg comp a) f⟩
#align centroid_hom.cancel_right CentroidHom.cancel_right
+@[simp]
theorem cancel_left {g f₁ f₂ : CentroidHom α} (hg : Injective g) :
g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
⟨fun h ↦ ext fun a ↦ hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -43,10 +43,10 @@ centroid
open Function
-variable {F α : Type _}
+variable {F α : Type*}
/-- The type of centroid homomorphisms from `α` to `α`. -/
-structure CentroidHom (α : Type _) [NonUnitalNonAssocSemiring α] extends α →+ α where
+structure CentroidHom (α : Type*) [NonUnitalNonAssocSemiring α] extends α →+ α where
/-- Commutativity of centroid homomorphims with left multiplication. -/
map_mul_left' (a b : α) : toFun (a * b) = a * toFun b
/-- Commutativity of centroid homomorphims with right multiplication. -/
@@ -58,7 +58,7 @@ attribute [nolint docBlame] CentroidHom.toAddMonoidHom
/-- `CentroidHomClass F α` states that `F` is a type of centroid homomorphisms.
You should extend this class when you extend `CentroidHom`. -/
-class CentroidHomClass (F : Type _) (α : outParam <| Type _) [NonUnitalNonAssocSemiring α] extends
+class CentroidHomClass (F : Type*) (α : outParam <| Type*) [NonUnitalNonAssocSemiring α] extends
AddMonoidHomClass F α α where
/-- Commutativity of centroid homomorphims with left multiplication. -/
map_mul_left (f : F) (a b : α) : f (a * b) = a * f b
@@ -85,8 +85,7 @@ section NonUnitalNonAssocSemiring
variable [NonUnitalNonAssocSemiring α]
-instance : CentroidHomClass (CentroidHom α) α
- where
+instance : CentroidHomClass (CentroidHom α) α where
coe f := f.toFun
coe_injective' f g h := by
cases f
@@ -106,9 +105,10 @@ mismatch, so I used `library_search`. -/
instance : CoeFun (CentroidHom α) fun _ ↦ α → α :=
inferInstanceAs (CoeFun (CentroidHom α) fun _ ↦ α → α)
-/- Porting note:
-`theorem to_fun_eq_coe {f : CentroidHom α} : f.toFun = (f : α → α) := rfl`
-removed because it is now a tautology -/
+-- Porting note: removed @[simp]; not in normal form. (`toAddMonoidHom_eq_coe` below ensures that
+-- the LHS simplifies to the RHS anyway.)
+theorem toFun_eq_coe {f : CentroidHom α} : f.toFun = f := rfl
+#align centroid_hom.to_fun_eq_coe CentroidHom.toFun_eq_coe
@[ext]
theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
@@ -269,9 +269,7 @@ instance hasNsmul : SMul ℕ (CentroidHom α) :=
instance hasNpowNat : Pow (CentroidHom α) ℕ :=
⟨fun f n ↦
- { (f.toEnd ^ n :
- AddMonoid.End
- α) with
+ { (f.toEnd ^ n : AddMonoid.End α) with
map_mul_left' := fun a b ↦ by
induction' n with n ih
· exact rfl
@@ -428,10 +426,7 @@ instance : Sub (CentroidHom α) :=
instance hasZsmul : SMul ℤ (CentroidHom α) :=
⟨fun n f ↦
- {
- (SMul.smul n f :
- α →+
- α) with
+ { (SMul.smul n f : α →+ α) with
map_mul_left' := fun a b ↦ by
change n • f (a * b) = a * n • f b
rw [map_mul_left f, ← mul_smul_comm]
@@ -467,8 +462,7 @@ theorem toEnd_zsmul (x : CentroidHom α) (n : ℤ) : (n • x).toEnd = n • x.t
#align centroid_hom.to_End_zsmul CentroidHom.toEnd_zsmul
instance : AddCommGroup (CentroidHom α) :=
- toEnd_injective.addCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_nsmul
- toEnd_zsmul
+ toEnd_injective.addCommGroup _ toEnd_zero toEnd_add toEnd_neg toEnd_sub toEnd_nsmul toEnd_zsmul
@[simp, norm_cast]
theorem coe_neg (f : CentroidHom α) : ⇑(-f) = -f :=
@@ -495,7 +489,7 @@ theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
rfl
#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_cast
-instance : Ring (CentroidHom α) :=
+instance instRing : Ring (CentroidHom α) :=
toEnd_injective.ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub
toEnd_nsmul toEnd_zsmul toEnd_pow toEnd_nat_cast toEnd_int_cast
@@ -510,7 +504,7 @@ variable [NonUnitalRing α]
/-- A prime associative ring has commutative centroid. -/
@[reducible]
def commRing (h : ∀ a b : α, (∀ r : α, a * r * b = 0) → a = 0 ∨ b = 0) : CommRing (CentroidHom α) :=
- { CentroidHom.instRingCentroidHomToNonUnitalNonAssocSemiring with
+ { CentroidHom.instRing with
mul_comm := fun f g ↦ by
ext
refine' sub_eq_zero.1 ((or_self_iff _).1 <| (h _ _) fun r ↦ _)
@@ -2,15 +2,12 @@
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Christopher Hoskin
-
-! This file was ported from Lean 3 source module algebra.hom.centroid
-! leanprover-community/mathlib commit 6cb77a8eaff0ddd100e87b1591c6d3ad319514ff
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.GroupPower.Lemmas
import Mathlib.Algebra.Hom.GroupInstances
+#align_import algebra.hom.centroid from "leanprover-community/mathlib"@"6cb77a8eaff0ddd100e87b1591c6d3ad319514ff"
+
/-!
# Centroid homomorphisms
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -498,7 +498,6 @@ theorem toEnd_int_cast (z : ℤ) : (z : CentroidHom α).toEnd = ↑z :=
rfl
#align centroid_hom.to_End_int_cast CentroidHom.toEnd_int_cast
-set_option maxHeartbeats 1000000 in
instance : Ring (CentroidHom α) :=
toEnd_injective.ring _ toEnd_zero toEnd_one toEnd_add toEnd_mul toEnd_neg toEnd_sub
toEnd_nsmul toEnd_zsmul toEnd_pow toEnd_nat_cast toEnd_int_cast
@@ -60,7 +60,7 @@ attribute [nolint docBlame] CentroidHom.toAddMonoidHom
/-- `CentroidHomClass F α` states that `F` is a type of centroid homomorphisms.
-You should extend this class when you extend `centroid_hom`. -/
+You should extend this class when you extend `CentroidHom`. -/
class CentroidHomClass (F : Type _) (α : outParam <| Type _) [NonUnitalNonAssocSemiring α] extends
AddMonoidHomClass F α α where
/-- Commutativity of centroid homomorphims with left multiplication. -/
@@ -102,7 +102,7 @@ instance : CentroidHomClass (CentroidHom α) α
map_mul_right f := f.map_mul_right'
-/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
+/-- Helper instance for when there's too many metavariables to apply `FunLike.CoeFun`
directly. -/
/- Porting note: Lean gave me `unknown constant 'FunLike.CoeFun'` and says `CoeFun` is a type
mismatch, so I used `library_search`. -/
@@ -119,20 +119,20 @@ theorem ext {f g : CentroidHom α} (h : ∀ a, f a = g a) : f = g :=
#align centroid_hom.ext CentroidHom.ext
@[simp, norm_cast]
-theorem coe_to_add_monoid_hom (f : CentroidHom α) : ⇑(f : α →+ α) = f :=
+theorem coe_toAddMonoidHom (f : CentroidHom α) : ⇑(f : α →+ α) = f :=
rfl
-#align centroid_hom.coe_to_add_monoid_hom CentroidHom.coe_to_add_monoid_hom
+#align centroid_hom.coe_to_add_monoid_hom CentroidHom.coe_toAddMonoidHom
@[simp]
-theorem to_add_monoid_hom_eq_coe (f : CentroidHom α) : f.toAddMonoidHom = f :=
+theorem toAddMonoidHom_eq_coe (f : CentroidHom α) : f.toAddMonoidHom = f :=
rfl
-#align centroid_hom.to_add_monoid_hom_eq_coe CentroidHom.to_add_monoid_hom_eq_coe
+#align centroid_hom.to_add_monoid_hom_eq_coe CentroidHom.toAddMonoidHom_eq_coe
-theorem coe_to_add_monoid_hom_injective : Injective ((↑) : CentroidHom α → α →+ α) :=
+theorem coe_toAddMonoidHom_injective : Injective ((↑) : CentroidHom α → α →+ α) :=
fun _f _g h => ext fun a ↦
haveI := FunLike.congr_fun h a
this
-#align centroid_hom.coe_to_add_monoid_hom_injective CentroidHom.coe_to_add_monoid_hom_injective
+#align centroid_hom.coe_to_add_monoid_hom_injective CentroidHom.coe_toAddMonoidHom_injective
/-- Turn a centroid homomorphism into an additive monoid endomorphism. -/
def toEnd (f : CentroidHom α) : AddMonoid.End α :=
@@ -140,10 +140,10 @@ def toEnd (f : CentroidHom α) : AddMonoid.End α :=
#align centroid_hom.to_End CentroidHom.toEnd
theorem toEnd_injective : Injective (CentroidHom.toEnd : CentroidHom α → AddMonoid.End α) :=
- coe_to_add_monoid_hom_injective
+ coe_toAddMonoidHom_injective
#align centroid_hom.to_End_injective CentroidHom.toEnd_injective
-/-- Copy of a `centroid_hom` with a new `to_fun` equal to the old one. Useful to fix
+/-- Copy of a `CentroidHom` with a new `toFun` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (f : CentroidHom α) (f' : α → α) (h : f' = f) : CentroidHom α :=
{ f.toAddMonoidHom.copy f' <| h with
@@ -163,7 +163,7 @@ theorem copy_eq (f : CentroidHom α) (f' : α → α) (h : f' = f) : f.copy f' h
variable (α)
-/-- `id` as a `centroid_hom`. -/
+/-- `id` as a `CentroidHom`. -/
protected def id : CentroidHom α :=
{ AddMonoidHom.id α with
map_mul_left' := fun _ _ ↦ rfl
@@ -190,7 +190,7 @@ theorem id_apply (a : α) : CentroidHom.id α a = a :=
rfl
#align centroid_hom.id_apply CentroidHom.id_apply
-/-- Composition of `centroid_hom`s as a `centroid_hom`. -/
+/-- Composition of `CentroidHom`s as a `CentroidHom`. -/
def comp (g f : CentroidHom α) : CentroidHom α :=
{ g.toAddMonoidHom.comp f.toAddMonoidHom with
map_mul_left' := fun _a _b ↦ (congr_arg g <| f.map_mul_left' _ _).trans <| g.map_mul_left' _ _
@@ -358,7 +358,7 @@ theorem toEnd_nsmul (x : CentroidHom α) (n : ℕ) : (n • x).toEnd = n • x.t
-- Porting note: I guess the porter has naming issues still
-- cf.`add_monoid_hom.add_comm_monoid`
instance : AddCommMonoid (CentroidHom α) :=
- coe_to_add_monoid_hom_injective.addCommMonoid _ toEnd_zero toEnd_add toEnd_nsmul
+ coe_toAddMonoidHom_injective.addCommMonoid _ toEnd_zero toEnd_add toEnd_nsmul
instance : NatCast (CentroidHom α) where natCast n := n • (1 : CentroidHom α)
@@ -408,7 +408,7 @@ section NonUnitalNonAssocRing
variable [NonUnitalNonAssocRing α]
-/-- Negation of `centroid_hom`s as a `centroid_hom`. -/
+/-- Negation of `CentroidHom`s as a `CentroidHom`. -/
instance : Neg (CentroidHom α) :=
⟨fun f ↦
{ (-f : α →+ α) with
The unported dependencies are