algebra.category.Module.tannaka
⟷
Mathlib.Algebra.Category.ModuleCat.Tannaka
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Algebra.Category.Module.Basic
+import Algebra.Category.ModuleCat.Basic
import LinearAlgebra.Span
#align_import algebra.category.Module.tannaka from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.Algebra.Category.Module.Basic
-import Mathbin.LinearAlgebra.Span
+import Algebra.Category.Module.Basic
+import LinearAlgebra.Span
#align_import algebra.category.Module.tannaka from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.category.Module.tannaka
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Category.Module.Basic
import Mathbin.LinearAlgebra.Span
+#align_import algebra.category.Module.tannaka from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
/-!
# Tannaka duality for rings
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -41,7 +41,7 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
invFun φ := φ.app (ModuleCat.of R R) (1 : R)
left_inv := by intro r; simp
right_inv := by
- intro φ; ext (M x)
+ intro φ; ext M x
simp only [DistribMulAction.toAddMonoidHom_apply]
have w :=
AddMonoidHom.congr_fun (φ.naturality (ModuleCat.asHomRight (LinearMap.toSpanSingleton R M x)))
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -27,6 +27,7 @@ universe u
open CategoryTheory
+#print ringEquivEndForget₂ /-
/-- An ingredient of Tannaka duality for rings:
A ring `R` is equivalent to
the endomorphisms of the additive forgetful functor `Module R ⥤ AddCommGroup`.
@@ -50,4 +51,5 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
map_add' := by intros; ext; simp [add_smul]
map_mul' := by intros; ext; simpa using mul_smul _ _ _
#align ring_equiv_End_forget₂ ringEquivEndForget₂
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -47,7 +47,7 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
(1 : R)
convert w.symm
exact (one_smul _ _).symm
- map_add' := by intros ; ext; simp [add_smul]
- map_mul' := by intros ; ext; simpa using mul_smul _ _ _
+ map_add' := by intros; ext; simp [add_smul]
+ map_mul' := by intros; ext; simpa using mul_smul _ _ _
#align ring_equiv_End_forget₂ ringEquivEndForget₂
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -27,9 +27,6 @@ universe u
open CategoryTheory
-/- warning: ring_equiv_End_forget₂ -> ringEquivEndForget₂ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ring_equiv_End_forget₂ ringEquivEndForget₂ₓ'. -/
/-- An ingredient of Tannaka duality for rings:
A ring `R` is equivalent to
the endomorphisms of the additive forgetful functor `Module R ⥤ AddCommGroup`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -39,13 +39,9 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
where
toFun r :=
{ app := fun M => by apply DistribMulAction.toAddMonoidHom M r
- naturality' := fun M N f => by
- ext
- exact (f.map_smul _ _).symm }
+ naturality' := fun M N f => by ext; exact (f.map_smul _ _).symm }
invFun φ := φ.app (ModuleCat.of R R) (1 : R)
- left_inv := by
- intro r
- simp
+ left_inv := by intro r; simp
right_inv := by
intro φ; ext (M x)
simp only [DistribMulAction.toAddMonoidHom_apply]
@@ -54,13 +50,7 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
(1 : R)
convert w.symm
exact (one_smul _ _).symm
- map_add' := by
- intros
- ext
- simp [add_smul]
- map_mul' := by
- intros
- ext
- simpa using mul_smul _ _ _
+ map_add' := by intros ; ext; simp [add_smul]
+ map_mul' := by intros ; ext; simpa using mul_smul _ _ _
#align ring_equiv_End_forget₂ ringEquivEndForget₂
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -28,10 +28,7 @@ universe u
open CategoryTheory
/- warning: ring_equiv_End_forget₂ -> ringEquivEndForget₂ is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toHasAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.CategoryTheory.End.ring.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.preadditive.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1)))))
-but is expected to have type
- forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocSemiring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonAssocRing.toNonUnitalNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instPreadditiveAdditiveFunctorInstCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align ring_equiv_End_forget₂ ringEquivEndForget₂ₓ'. -/
/-- An ingredient of Tannaka duality for rings:
A ring `R` is equivalent to
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
@@ -31,7 +31,7 @@ open CategoryTheory
lean 3 declaration is
forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toHasAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.CategoryTheory.End.ring.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.preadditive.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1)))))
but is expected to have type
- forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocSemiring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonAssocRing.toNonUnitalNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instPreadditiveAdditiveFunctorInstCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))))))))
+ forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocSemiring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonAssocRing.toNonUnitalNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instPreadditiveAdditiveFunctorInstCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align ring_equiv_End_forget₂ ringEquivEndForget₂ₓ'. -/
/-- An ingredient of Tannaka duality for rings:
A ring `R` is equivalent to
mathlib commit https://github.com/leanprover-community/mathlib/commit/fa78268d4d77cb2b2fbc89f0527e2e7807763780
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
! This file was ported from Lean 3 source module algebra.category.Module.tannaka
-! leanprover-community/mathlib commit 71150516f28d9826c7341f8815b31f7d8770c212
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.Span
/-!
# Tannaka duality for rings
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
A ring `R` is equivalent to
the endomorphisms of the additive forgetful functor `Module R ⥤ AddCommGroup`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/2651125b48fc5c170ab1111afd0817c903b1fc6c
@@ -24,6 +24,12 @@ universe u
open CategoryTheory
+/- warning: ring_equiv_End_forget₂ -> ringEquivEndForget₂ is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toHasAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.CategoryTheory.End.ring.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.category.{succ u1, u1, u1, succ u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.preadditive.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u1} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1)))))
+but is expected to have type
+ forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R], RingEquiv.{u1, succ u1} R (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CategoryTheory.End.mul.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocSemiring.toDistrib.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (NonAssocRing.toNonUnitalNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (Ring.toNonAssocRing.{succ u1} (CategoryTheory.End.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.Category.toCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{succ u1, succ u1} (CategoryTheory.AdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.instPreadditiveAdditiveFunctorInstCategoryAdditiveFunctor.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1}) (CategoryTheory.AdditiveFunctor.of.{succ u1, succ u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u1} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} (ModuleCat.{u1, u1} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u1} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u1, u1} R _inst_1)) (ModuleCat.forget₂_addCommGroupCat_additive.{u1, u1} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align ring_equiv_End_forget₂ ringEquivEndForget₂ₓ'. -/
/-- An ingredient of Tannaka duality for rings:
A ring `R` is equivalent to
the endomorphisms of the additive forgetful functor `Module R ⥤ AddCommGroup`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -2,15 +2,12 @@
Copyright (c) 2022 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.category.Module.tannaka
-! leanprover-community/mathlib commit 71150516f28d9826c7341f8815b31f7d8770c212
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Category.ModuleCat.Basic
import Mathlib.LinearAlgebra.Span
+#align_import algebra.category.Module.tannaka from "leanprover-community/mathlib"@"71150516f28d9826c7341f8815b31f7d8770c212"
+
/-!
# Tannaka duality for rings
@@ -49,17 +49,15 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
map_add' := by
intros
apply NatTrans.ext
- ext1
- dsimp
ext
+ dsimp
simp only [AddCommGroupCat.ofHom_apply, DistribMulAction.toAddMonoidHom_apply, add_smul]
rfl
map_mul' := by
intros
apply NatTrans.ext
- ext1
- dsimp
ext
+ dsimp
simp only [AddCommGroupCat.ofHom_apply, DistribMulAction.toAddMonoidHom_apply, mul_smul]
rfl
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>
@@ -23,7 +23,6 @@ universe u
open CategoryTheory
-set_option synthInstance.etaExperiment true in
/-- An ingredient of Tannaka duality for rings:
A ring `R` is equivalent to
the endomorphisms of the additive forgetful functor `Module R ⥤ AddCommGroup`.
I think the ports
didn't quite get things right, and also have some variation between them. This PR tries to straighten things out.
Major changes:
X.\a
, and put attribute @[coe]
on this.lemma Hom.map_mul {X Y : MonCat} (f : X ⟶ Y) (x y : X) : ((forget MonCat).map f) (x * y) = f x * f y
lemma coe_comp {X Y Z : MonCat} {f : X ⟶ Y} {g : Y ⟶ Z} : (f ≫ g : X → Z) = g ∘ f := rfl
Overall I'm pretty happy, and it allows me to unstick the long stuck https://github.com/leanprover-community/mathlib4/pull/3105.
This is not everything I want to do to refactor these files, but once I was satisfied that I can move forward with RingCat, I want to get this merged so we can unblock porting progress. I'll promise to come back to this soon! :-)
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>
@@ -39,9 +39,7 @@ def ringEquivEndForget₂ (R : Type u) [Ring R] :
invFun φ := φ.app (ModuleCat.of R R) (1 : R)
left_inv := by
intro r
- dsimp
- erw [AddCommGroupCat.ofHom_apply]
- simp only [DistribMulAction.toAddMonoidHom_apply, smul_eq_mul, mul_one]
+ simp
right_inv := by
intro φ
apply NatTrans.ext
The unported dependencies are