category_theory.linear.basicMathlib.CategoryTheory.Linear.Basic

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

feat(representation_theory/group_cohomology_resolution): add isomorphism with nth inhomogeneous cochains (#18159)

Given a $k$-linear $G$-representation $A,$ this defines the $k$-linear isomorphism between functions $G^n \to A$ and representation morphisms $Hom(k[G^{n + 1}], A),$ called Rep.diagonal_hom_equiv.

Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>

Diff
@@ -130,6 +130,28 @@ instance {X Y : C} (f : X ⟶ Y) [mono f] (r : R) [invertible r] : mono (r • f
   simpa [smul_smul] using congr_arg (λ f, ⅟r • f) H,
 end⟩
 
+/-- Given isomorphic objects `X ≅ Y, W ≅ Z` in a `k`-linear category, we have a `k`-linear
+isomorphism between `Hom(X, W)` and `Hom(Y, Z).` -/
+def hom_congr (k : Type*) {C : Type*} [category C] [semiring k]
+  [preadditive C] [linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) :
+  (X ⟶ W) ≃ₗ[k] (Y ⟶ Z) :=
+{ inv_fun := (left_comp k W f₁.hom).comp (right_comp k Y f₂.symm.hom),
+  left_inv := λ x, by simp only [iso.symm_hom, linear_map.to_fun_eq_coe, linear_map.coe_comp,
+    function.comp_app, left_comp_apply, right_comp_apply, category.assoc, iso.hom_inv_id,
+    category.comp_id, iso.hom_inv_id_assoc],
+  right_inv := λ x, by simp only [iso.symm_hom, linear_map.coe_comp, function.comp_app,
+    right_comp_apply, left_comp_apply, linear_map.to_fun_eq_coe, iso.inv_hom_id_assoc,
+    category.assoc, iso.inv_hom_id, category.comp_id],
+  ..(right_comp k Y f₂.hom).comp (left_comp k W f₁.symm.hom) }
+
+lemma hom_congr_apply (k : Type*) {C : Type*} [category C] [semiring k]
+  [preadditive C] [linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
+  hom_congr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom := rfl
+
+lemma hom_congr_symm_apply (k : Type*) {C : Type*} [category C] [semiring k]
+  [preadditive C] [linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
+  (hom_congr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv := rfl
+
 end
 
 section

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
 import CategoryTheory.Preadditive.Basic
-import Algebra.Module.LinearMap
-import Algebra.Invertible
+import Algebra.Module.LinearMap.Basic
+import Algebra.Invertible.Defs
 import Algebra.Algebra.Basic
 
 #align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
Diff
@@ -155,13 +155,13 @@ def rightComp (X : C) {Y Z : C} (g : Y ⟶ Z) : (X ⟶ Y) →ₗ[R] X ⟶ Z
 instance {X Y : C} (f : X ⟶ Y) [Epi f] (r : R) [Invertible r] : Epi (r • f) :=
   ⟨fun R g g' H =>
     by
-    rw [smul_comp, smul_comp, ← comp_smul, ← comp_smul, cancel_epi] at H 
+    rw [smul_comp, smul_comp, ← comp_smul, ← comp_smul, cancel_epi] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
 instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f) :=
   ⟨fun R g g' H =>
     by
-    rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H 
+    rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
 #print CategoryTheory.Linear.homCongr /-
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Mathbin.CategoryTheory.Preadditive.Basic
-import Mathbin.Algebra.Module.LinearMap
-import Mathbin.Algebra.Invertible
-import Mathbin.Algebra.Algebra.Basic
+import CategoryTheory.Preadditive.Basic
+import Algebra.Module.LinearMap
+import Algebra.Invertible
+import Algebra.Algebra.Basic
 
 #align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
 
Diff
@@ -58,10 +58,6 @@ class Linear (R : Type w) [Semiring R] (C : Type u) [Category.{v} C] [Preadditiv
 
 attribute [instance] linear.hom_module
 
-restate_axiom linear.smul_comp'
-
-restate_axiom linear.comp_smul'
-
 attribute [simp, reassoc] linear.smul_comp
 
 attribute [reassoc, simp] linear.comp_smul
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 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 category_theory.linear.basic
-! leanprover-community/mathlib commit 3dec44d0b621a174c56e994da4aae15ba60110a2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Preadditive.Basic
 import Mathbin.Algebra.Module.LinearMap
 import Mathbin.Algebra.Invertible
 import Mathbin.Algebra.Algebra.Basic
 
+#align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
+
 /-!
 # Linear categories
 
Diff
@@ -86,11 +86,13 @@ instance preadditiveNatLinear : Linear ℕ C
 #align category_theory.linear.preadditive_nat_linear CategoryTheory.Linear.preadditiveNatLinear
 -/
 
+#print CategoryTheory.Linear.preadditiveIntLinear /-
 instance preadditiveIntLinear : Linear ℤ C
     where
   smul_comp' X Y Z r f g := (Preadditive.rightComp X g).map_zsmul f r
   comp_smul' X Y Z f r g := (Preadditive.leftComp Z f).map_zsmul g r
 #align category_theory.linear.preadditive_int_linear CategoryTheory.Linear.preadditiveIntLinear
+-/
 
 section End
 
@@ -124,12 +126,14 @@ instance inducedCategory : Linear.{w, v} R (InducedCategory C F)
 
 end InducedCategory
 
+#print CategoryTheory.Linear.fullSubcategory /-
 instance fullSubcategory (Z : C → Prop) : Linear.{w, v} R (FullSubcategory Z)
     where
   homModule X Y := @Linear.homModule R _ C _ _ _ X.obj Y.obj
   smul_comp' P Q R f f' g := smul_comp' _ _ _ _ _ _
   comp_smul' P Q R f g g' := comp_smul' _ _ _ _ _ _
 #align category_theory.linear.full_subcategory CategoryTheory.Linear.fullSubcategory
+-/
 
 variable (R)
 
@@ -188,17 +192,21 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
 #align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr
 -/
 
+#print CategoryTheory.Linear.homCongr_apply /-
 theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
     homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom :=
   rfl
 #align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
+-/
 
+#print CategoryTheory.Linear.homCongr_symm_apply /-
 theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
     (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv :=
   rfl
 #align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_apply
+-/
 
 end
 
Diff
@@ -158,13 +158,13 @@ def rightComp (X : C) {Y Z : C} (g : Y ⟶ Z) : (X ⟶ Y) →ₗ[R] X ⟶ Z
 instance {X Y : C} (f : X ⟶ Y) [Epi f] (r : R) [Invertible r] : Epi (r • f) :=
   ⟨fun R g g' H =>
     by
-    rw [smul_comp, smul_comp, ← comp_smul, ← comp_smul, cancel_epi] at H
+    rw [smul_comp, smul_comp, ← comp_smul, ← comp_smul, cancel_epi] at H 
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
 instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f) :=
   ⟨fun R g g' H =>
     by
-    rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H
+    rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H 
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
 #print CategoryTheory.Linear.homCongr /-
@@ -212,8 +212,8 @@ variable {S : Type w} [CommSemiring S] [Linear S C]
 def comp (X Y Z : C) : (X ⟶ Y) →ₗ[S] (Y ⟶ Z) →ₗ[S] X ⟶ Z
     where
   toFun f := leftComp S Z f
-  map_add' := by intros ; ext; simp
-  map_smul' := by intros ; ext; simp
+  map_add' := by intros; ext; simp
+  map_smul' := by intros; ext; simp
 #align category_theory.linear.comp CategoryTheory.Linear.comp
 -/
 
Diff
@@ -86,12 +86,6 @@ instance preadditiveNatLinear : Linear ℕ C
 #align category_theory.linear.preadditive_nat_linear CategoryTheory.Linear.preadditiveNatLinear
 -/
 
-/- warning: category_theory.linear.preadditive_int_linear -> CategoryTheory.Linear.preadditiveIntLinear is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} C _inst_1], CategoryTheory.Linear.{0, u1, u2} Int Int.semiring C _inst_1 _inst_2
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} C _inst_1], CategoryTheory.Linear.{0, u1, u2} Int Int.instSemiringInt C _inst_1 _inst_2
-Case conversion may be inaccurate. Consider using '#align category_theory.linear.preadditive_int_linear CategoryTheory.Linear.preadditiveIntLinearₓ'. -/
 instance preadditiveIntLinear : Linear ℤ C
     where
   smul_comp' X Y Z r f g := (Preadditive.rightComp X g).map_zsmul f r
@@ -130,12 +124,6 @@ instance inducedCategory : Linear.{w, v} R (InducedCategory C F)
 
 end InducedCategory
 
-/- warning: category_theory.linear.full_subcategory -> CategoryTheory.Linear.fullSubcategory is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} C _inst_1] {R : Type.{u1}} [_inst_3 : Semiring.{u1} R] [_inst_4 : CategoryTheory.Linear.{u1, u2, u3} R _inst_3 C _inst_1 _inst_2] (Z : C -> Prop), CategoryTheory.Linear.{u1, u2, u3} R _inst_3 (CategoryTheory.FullSubcategoryₓ.{u2, u3} C _inst_1 Z) (CategoryTheory.FullSubcategory.category.{u2, u3} C _inst_1 Z) (CategoryTheory.Preadditive.fullSubcategory.{u2, u3} C _inst_1 _inst_2 Z)
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} C _inst_1] {R : Type.{u1}} [_inst_3 : Semiring.{u1} R] [_inst_4 : CategoryTheory.Linear.{u1, u2, u3} R _inst_3 C _inst_1 _inst_2] (Z : C -> Prop), CategoryTheory.Linear.{u1, u2, u3} R _inst_3 (CategoryTheory.FullSubcategory.{u3} C Z) (CategoryTheory.FullSubcategory.category.{u2, u3} C _inst_1 Z) (CategoryTheory.Preadditive.fullSubcategory.{u2, u3} C _inst_1 _inst_2 Z)
-Case conversion may be inaccurate. Consider using '#align category_theory.linear.full_subcategory CategoryTheory.Linear.fullSubcategoryₓ'. -/
 instance fullSubcategory (Z : C → Prop) : Linear.{w, v} R (FullSubcategory Z)
     where
   homModule X Y := @Linear.homModule R _ C _ _ _ X.obj Y.obj
@@ -200,18 +188,12 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
 #align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr
 -/
 
-/- warning: category_theory.linear.hom_congr_apply -> CategoryTheory.Linear.homCongr_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_applyₓ'. -/
 theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
     homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom :=
   rfl
 #align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
 
-/- warning: category_theory.linear.hom_congr_symm_apply -> CategoryTheory.Linear.homCongr_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_applyₓ'. -/
 theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
     (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv :=
Diff
@@ -102,10 +102,7 @@ section End
 
 variable {R : Type w}
 
-instance [Semiring R] [Linear R C] (X : C) : Module R (End X) :=
-  by
-  dsimp [End]
-  infer_instance
+instance [Semiring R] [Linear R C] (X : C) : Module R (End X) := by dsimp [End]; infer_instance
 
 instance [CommSemiring R] [Linear R C] (X : C) : Algebra R (End X) :=
   Algebra.ofModule (fun r f g => comp_smul _ _ _ _ _ _) fun r f g => smul_comp _ _ _ _ _ _
@@ -233,14 +230,8 @@ variable {S : Type w} [CommSemiring S] [Linear S C]
 def comp (X Y Z : C) : (X ⟶ Y) →ₗ[S] (Y ⟶ Z) →ₗ[S] X ⟶ Z
     where
   toFun f := leftComp S Z f
-  map_add' := by
-    intros
-    ext
-    simp
-  map_smul' := by
-    intros
-    ext
-    simp
+  map_add' := by intros ; ext; simp
+  map_smul' := by intros ; ext; simp
 #align category_theory.linear.comp CategoryTheory.Linear.comp
 -/
 
Diff
@@ -204,10 +204,7 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
 -/
 
 /- warning: category_theory.linear.hom_congr_apply -> CategoryTheory.Linear.homCongr_apply is a dubious translation:
-lean 3 declaration is
-  forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 W Z f₂))
-but is expected to have type
-  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 W Z f₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_applyₓ'. -/
 theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
@@ -216,10 +213,7 @@ theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Prea
 #align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
 
 /- warning: category_theory.linear.hom_congr_symm_apply -> CategoryTheory.Linear.homCongr_symm_apply is a dubious translation:
-lean 3 declaration is
-  forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (LinearEquiv.symm.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 W Z f₂)))
-but is expected to have type
-  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (LinearEquiv.symm.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 W Z f₂)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_applyₓ'. -/
 theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
Diff
@@ -207,7 +207,7 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
 lean 3 declaration is
   forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 W Z f₂))
 but is expected to have type
-  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 W Z f₂))
+  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 W Z f₂))
 Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_applyₓ'. -/
 theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
@@ -219,7 +219,7 @@ theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Prea
 lean 3 declaration is
   forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (LinearEquiv.symm.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 W Z f₂)))
 but is expected to have type
-  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (LinearEquiv.symm.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 W Z f₂)))
+  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (LinearEquiv.symm.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 W Z f₂)))
 Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_applyₓ'. -/
 theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
Diff
@@ -65,9 +65,9 @@ restate_axiom linear.smul_comp'
 
 restate_axiom linear.comp_smul'
 
-attribute [simp, reassoc.1] linear.smul_comp
+attribute [simp, reassoc] linear.smul_comp
 
-attribute [reassoc.1, simp] linear.comp_smul
+attribute [reassoc, simp] linear.comp_smul
 
 -- (the linter doesn't like `simp` on the `_assoc` lemma)
 end CategoryTheory
Diff
@@ -182,6 +182,7 @@ instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f
     rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
+#print CategoryTheory.Linear.homCongr /-
 /-- Given isomorphic objects `X ≅ Y, W ≅ Z` in a `k`-linear category, we have a `k`-linear
 isomorphism between `Hom(X, W)` and `Hom(Y, Z).` -/
 def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C]
@@ -200,13 +201,26 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
         left_comp_apply, LinearMap.toFun_eq_coe, iso.inv_hom_id_assoc, category.assoc,
         iso.inv_hom_id, category.comp_id] }
 #align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr
+-/
 
+/- warning: category_theory.linear.hom_congr_apply -> CategoryTheory.Linear.homCongr_apply is a dubious translation:
+lean 3 declaration is
+  forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 W Z f₂))
+but is expected to have type
+  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y W Z (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y X W (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 X Y f₁) f) (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 W Z f₂))
+Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_applyₓ'. -/
 theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
     homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom :=
   rfl
 #align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
 
+/- warning: category_theory.linear.hom_congr_symm_apply -> CategoryTheory.Linear.homCongr_symm_apply is a dubious translation:
+lean 3 declaration is
+  forall (k : Type.{u1}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u3, u2} C] [_inst_6 : Semiring.{u1} k] [_inst_7 : CategoryTheory.Preadditive.{u3, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u3, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u3, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (coeFn.{succ u3, succ u3} (LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (fun (_x : LinearEquiv.{u1, u1, u3, u3} k k _inst_6 _inst_6 (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) => (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) -> (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W)) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6)) (LinearEquiv.symm.{u1, u1, u3, u3} k k (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u3, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u1, u3, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHom.id.{u1} k (Semiring.toNonAssocSemiring.{u1} k _inst_6)) (RingHomInvPair.ids.{u1} k _inst_6) (RingHomInvPair.ids.{u1} k _inst_6) (CategoryTheory.Linear.homCongr.{u1, u2, u3} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u3, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u3, u2} C (CategoryTheory.Category.toCategoryStruct.{u3, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u3, u2} C _inst_5 W Z f₂)))
+but is expected to have type
+  forall (k : Type.{u3}) {C : Type.{u2}} [_inst_5 : CategoryTheory.Category.{u1, u2} C] [_inst_6 : Semiring.{u3} k] [_inst_7 : CategoryTheory.Preadditive.{u1, u2} C _inst_5] [_inst_8 : CategoryTheory.Linear.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7] {X : C} {Y : C} {W : C} {Z : C} (f₁ : CategoryTheory.Iso.{u1, u2} C _inst_5 X Y) (f₂ : CategoryTheory.Iso.{u1, u2} C _inst_5 W Z) (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) => Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _x) (SMulHomClass.toFunLike.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z))))) (SMulZeroClass.toSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toZero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribSMul.toSMulZeroClass.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddMonoid.toAddZeroClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)))) (DistribMulAction.toDistribSMul.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u3, u1, u1} (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (MonoidWithZero.toMonoid.{u3} k (Semiring.toMonoidWithZero.{u3} k _inst_6)) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z))) (AddCommMonoid.toAddMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W))) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z)) (Module.toDistribMulAction.{u3, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u1, u1} k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (LinearEquiv.{u3, u3, u1, u1} k k _inst_6 _inst_6 (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W)) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6)))))) (LinearEquiv.symm.{u3, u3, u1, u1} k k (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) _inst_6 _inst_6 (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) X W) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 X W)) (AddCommGroup.toAddCommMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5)) Y Z) (CategoryTheory.Preadditive.homGroup.{u1, u2} C _inst_5 _inst_7 Y Z)) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 X W) (CategoryTheory.Linear.homModule.{u3, u1, u2} k _inst_6 C _inst_5 _inst_7 _inst_8 Y Z) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHom.id.{u3} k (Semiring.toNonAssocSemiring.{u3} k _inst_6)) (RingHomInvPair.ids.{u3} k _inst_6) (RingHomInvPair.ids.{u3} k _inst_6) (CategoryTheory.Linear.homCongr.{u3, u2, u1} k C _inst_5 _inst_6 _inst_7 _inst_8 X Y W Z f₁ f₂)) f) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) X Y W (CategoryTheory.Iso.hom.{u1, u2} C _inst_5 X Y f₁) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_5) Y Z W f (CategoryTheory.Iso.inv.{u1, u2} C _inst_5 W Z f₂)))
+Case conversion may be inaccurate. Consider using '#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_applyₓ'. -/
 theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
     (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv :=
Diff
@@ -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 category_theory.linear.basic
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
+! leanprover-community/mathlib commit 3dec44d0b621a174c56e994da4aae15ba60110a2
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -182,6 +182,37 @@ instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f
     rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
+/-- Given isomorphic objects `X ≅ Y, W ≅ Z` in a `k`-linear category, we have a `k`-linear
+isomorphism between `Hom(X, W)` and `Hom(Y, Z).` -/
+def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C]
+    {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) : (X ⟶ W) ≃ₗ[k] Y ⟶ Z :=
+  {
+    (rightComp k Y f₂.hom).comp
+      (leftComp k W
+        f₁.symm.hom) with
+    invFun := (leftComp k W f₁.hom).comp (rightComp k Y f₂.symm.hom)
+    left_inv := fun x => by
+      simp only [iso.symm_hom, LinearMap.toFun_eq_coe, LinearMap.coe_comp, Function.comp_apply,
+        left_comp_apply, right_comp_apply, category.assoc, iso.hom_inv_id, category.comp_id,
+        iso.hom_inv_id_assoc]
+    right_inv := fun x => by
+      simp only [iso.symm_hom, LinearMap.coe_comp, Function.comp_apply, right_comp_apply,
+        left_comp_apply, LinearMap.toFun_eq_coe, iso.inv_hom_id_assoc, category.assoc,
+        iso.inv_hom_id, category.comp_id] }
+#align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr
+
+theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
+    [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
+    homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom :=
+  rfl
+#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
+
+theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
+    [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
+    (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv :=
+  rfl
+#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_apply
+
 end
 
 section
Diff
@@ -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 category_theory.linear.basic
-! leanprover-community/mathlib commit 829895f162a1f29d0133f4b3538f4cd1fb5bffd3
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.Algebra.Algebra.Basic
 /-!
 # Linear categories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 An `R`-linear category is a category in which `X ⟶ Y` is an `R`-module in such a way that
 composition of morphisms is `R`-linear in both variables.
 
Diff
@@ -44,6 +44,7 @@ open LinearMap
 
 namespace CategoryTheory
 
+#print CategoryTheory.Linear /-
 /-- A category is called `R`-linear if `P ⟶ Q` is an `R`-module such that composition is
     `R`-linear in both variables. -/
 class Linear (R : Type w) [Semiring R] (C : Type u) [Category.{v} C] [Preadditive C] where
@@ -53,6 +54,7 @@ class Linear (R : Type w) [Semiring R] (C : Type u) [Category.{v} C] [Preadditiv
   comp_smul' : ∀ (X Y Z : C) (f : X ⟶ Y) (r : R) (g : Y ⟶ Z), f ≫ (r • g) = r • f ≫ g := by
     obviously
 #align category_theory.linear CategoryTheory.Linear
+-/
 
 attribute [instance] linear.hom_module
 
@@ -73,12 +75,20 @@ namespace CategoryTheory.Linear
 
 variable {C : Type u} [Category.{v} C] [Preadditive C]
 
+#print CategoryTheory.Linear.preadditiveNatLinear /-
 instance preadditiveNatLinear : Linear ℕ C
     where
   smul_comp' X Y Z r f g := (Preadditive.rightComp X g).map_nsmul f r
   comp_smul' X Y Z f r g := (Preadditive.leftComp Z f).map_nsmul g r
 #align category_theory.linear.preadditive_nat_linear CategoryTheory.Linear.preadditiveNatLinear
+-/
 
+/- warning: category_theory.linear.preadditive_int_linear -> CategoryTheory.Linear.preadditiveIntLinear is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} C _inst_1], CategoryTheory.Linear.{0, u1, u2} Int Int.semiring C _inst_1 _inst_2
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Preadditive.{u1, u2} C _inst_1], CategoryTheory.Linear.{0, u1, u2} Int Int.instSemiringInt C _inst_1 _inst_2
+Case conversion may be inaccurate. Consider using '#align category_theory.linear.preadditive_int_linear CategoryTheory.Linear.preadditiveIntLinearₓ'. -/
 instance preadditiveIntLinear : Linear ℤ C
     where
   smul_comp' X Y Z r f g := (Preadditive.rightComp X g).map_zsmul f r
@@ -109,15 +119,23 @@ universe u'
 
 variable {C} {D : Type u'} (F : D → C)
 
+#print CategoryTheory.Linear.inducedCategory /-
 instance inducedCategory : Linear.{w, v} R (InducedCategory C F)
     where
   homModule X Y := @Linear.homModule R _ C _ _ _ (F X) (F Y)
   smul_comp' P Q R f f' g := smul_comp' _ _ _ _ _ _
   comp_smul' P Q R f g g' := comp_smul' _ _ _ _ _ _
 #align category_theory.linear.induced_category CategoryTheory.Linear.inducedCategory
+-/
 
 end InducedCategory
 
+/- warning: category_theory.linear.full_subcategory -> CategoryTheory.Linear.fullSubcategory is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} C _inst_1] {R : Type.{u1}} [_inst_3 : Semiring.{u1} R] [_inst_4 : CategoryTheory.Linear.{u1, u2, u3} R _inst_3 C _inst_1 _inst_2] (Z : C -> Prop), CategoryTheory.Linear.{u1, u2, u3} R _inst_3 (CategoryTheory.FullSubcategoryₓ.{u2, u3} C _inst_1 Z) (CategoryTheory.FullSubcategory.category.{u2, u3} C _inst_1 Z) (CategoryTheory.Preadditive.fullSubcategory.{u2, u3} C _inst_1 _inst_2 Z)
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u3} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u3} C _inst_1] {R : Type.{u1}} [_inst_3 : Semiring.{u1} R] [_inst_4 : CategoryTheory.Linear.{u1, u2, u3} R _inst_3 C _inst_1 _inst_2] (Z : C -> Prop), CategoryTheory.Linear.{u1, u2, u3} R _inst_3 (CategoryTheory.FullSubcategory.{u3} C Z) (CategoryTheory.FullSubcategory.category.{u2, u3} C _inst_1 Z) (CategoryTheory.Preadditive.fullSubcategory.{u2, u3} C _inst_1 _inst_2 Z)
+Case conversion may be inaccurate. Consider using '#align category_theory.linear.full_subcategory CategoryTheory.Linear.fullSubcategoryₓ'. -/
 instance fullSubcategory (Z : C → Prop) : Linear.{w, v} R (FullSubcategory Z)
     where
   homModule X Y := @Linear.homModule R _ C _ _ _ X.obj Y.obj
@@ -127,6 +145,7 @@ instance fullSubcategory (Z : C → Prop) : Linear.{w, v} R (FullSubcategory Z)
 
 variable (R)
 
+#print CategoryTheory.Linear.leftComp /-
 /-- Composition by a fixed left argument as an `R`-linear map. -/
 @[simps]
 def leftComp {X Y : C} (Z : C) (f : X ⟶ Y) : (Y ⟶ Z) →ₗ[R] X ⟶ Z
@@ -135,7 +154,9 @@ def leftComp {X Y : C} (Z : C) (f : X ⟶ Y) : (Y ⟶ Z) →ₗ[R] X ⟶ Z
   map_add' := by simp
   map_smul' := by simp
 #align category_theory.linear.left_comp CategoryTheory.Linear.leftComp
+-/
 
+#print CategoryTheory.Linear.rightComp /-
 /-- Composition by a fixed right argument as an `R`-linear map. -/
 @[simps]
 def rightComp (X : C) {Y Z : C} (g : Y ⟶ Z) : (X ⟶ Y) →ₗ[R] X ⟶ Z
@@ -144,6 +165,7 @@ def rightComp (X : C) {Y Z : C} (g : Y ⟶ Z) : (X ⟶ Y) →ₗ[R] X ⟶ Z
   map_add' := by simp
   map_smul' := by simp
 #align category_theory.linear.right_comp CategoryTheory.Linear.rightComp
+-/
 
 instance {X Y : C} (f : X ⟶ Y) [Epi f] (r : R) [Invertible r] : Epi (r • f) :=
   ⟨fun R g g' H =>
@@ -163,6 +185,7 @@ section
 
 variable {S : Type w} [CommSemiring S] [Linear S C]
 
+#print CategoryTheory.Linear.comp /-
 /-- Composition as a bilinear map. -/
 @[simps]
 def comp (X Y Z : C) : (X ⟶ Y) →ₗ[S] (Y ⟶ Z) →ₗ[S] X ⟶ Z
@@ -177,6 +200,7 @@ def comp (X Y Z : C) : (X ⟶ Y) →ₗ[S] (Y ⟶ Z) →ₗ[S] X ⟶ Z
     ext
     simp
 #align category_theory.linear.comp CategoryTheory.Linear.comp
+-/
 
 end
 

Changes in mathlib4

mathlib3
mathlib4
chore: split Algebra.Algebra.Basic (#12486)

Splits Algebra.Algebra.Defs off Algebra.Algebra.Basic. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Algebra.Basic is now a grab-bag of unrelated results, and should probably be split further or rehomed.

This is mostly motivated by the wasted effort during minimization upon encountering Algebra.Algebra.Basic.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Diff
@@ -3,9 +3,10 @@ Copyright (c) 2021 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Mathlib.CategoryTheory.Preadditive.Basic
+import Mathlib.Algebra.Algebra.Defs
+import Mathlib.Algebra.Module.Equiv
 import Mathlib.Algebra.Module.LinearMap.Basic
-import Mathlib.Algebra.Algebra.Basic
+import Mathlib.CategoryTheory.Preadditive.Basic
 
 #align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
 
chore: create Algebra/Module/LinearMap/Basic in preparation of splitting (#10160)
  • chore: create Algebra/Module/LinearMap in preparation of splitting
  • adjust imports
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
 import Mathlib.CategoryTheory.Preadditive.Basic
-import Mathlib.Algebra.Module.LinearMap
+import Mathlib.Algebra.Module.LinearMap.Basic
 import Mathlib.Algebra.Algebra.Basic
 
 #align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
refactor: Int.negOnePow as a map to ℤˣ rather than ℤ (#8307)

Following #7866, Int.negOnePow is redefined as a map ℤ → ℤˣ rather than ℤ → ℤ.

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -176,6 +176,18 @@ theorem homCongr_symm_apply (k : Type*) {C : Type*} [Category C] [Semiring k] [P
   rfl
 #align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_apply
 
+variable {R}
+
+@[simp]
+lemma units_smul_comp {X Y Z : C} (r : Rˣ) (f : X ⟶ Y) (g : Y ⟶ Z) :
+    (r • f) ≫ g = r • f ≫ g := by
+  apply Linear.smul_comp
+
+@[simp]
+lemma comp_units_smul {X Y Z : C} (f : X ⟶ Y) (r : Rˣ) (g : Y ⟶ Z) :
+    f ≫ (r • g) = r • f ≫ g := by
+  apply Linear.comp_smul
+
 end
 
 section
chore: split Mathlib.Algebra.Invertible (#6973)

Mathlib.Algebra.Invertible is used by fundamental tactics, and this essentially splits it into the part used by NormNum, and everything else.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -5,7 +5,6 @@ Authors: Scott Morrison
 -/
 import Mathlib.CategoryTheory.Preadditive.Basic
 import Mathlib.Algebra.Module.LinearMap
-import Mathlib.Algebra.Invertible
 import Mathlib.Algebra.Algebra.Basic
 
 #align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -148,7 +148,7 @@ instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f
 
 /-- Given isomorphic objects `X ≅ Y, W ≅ Z` in a `k`-linear category, we have a `k`-linear
 isomorphism between `Hom(X, W)` and `Hom(Y, Z).` -/
-def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C]
+def homCongr (k : Type*) {C : Type*} [Category C] [Semiring k] [Preadditive C] [Linear k C]
     {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) : (X ⟶ W) ≃ₗ[k] Y ⟶ Z :=
   {
     (rightComp k Y f₂.hom).comp
@@ -165,13 +165,13 @@ def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
         Iso.inv_hom_id, Category.comp_id] }
 #align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr
 
-theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
+theorem homCongr_apply (k : Type*) {C : Type*} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
     homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom :=
   rfl
 #align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
 
-theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
+theorem homCongr_symm_apply (k : Type*) {C : Type*} [Category C] [Semiring k] [Preadditive C]
     [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
     (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv :=
   rfl
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 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 category_theory.linear.basic
-! leanprover-community/mathlib commit 3dec44d0b621a174c56e994da4aae15ba60110a2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Preadditive.Basic
 import Mathlib.Algebra.Module.LinearMap
 import Mathlib.Algebra.Invertible
 import Mathlib.Algebra.Algebra.Basic
 
+#align_import category_theory.linear.basic from "leanprover-community/mathlib"@"3dec44d0b621a174c56e994da4aae15ba60110a2"
+
 /-!
 # Linear categories
 
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -140,14 +140,12 @@ def rightComp (X : C) {Y Z : C} (g : Y ⟶ Z) : (X ⟶ Y) →ₗ[R] X ⟶ Z
 #align category_theory.linear.right_comp CategoryTheory.Linear.rightComp
 
 instance {X Y : C} (f : X ⟶ Y) [Epi f] (r : R) [Invertible r] : Epi (r • f) :=
-  ⟨fun g g' H =>
-    by
+  ⟨fun g g' H => by
     rw [smul_comp, smul_comp, ← comp_smul, ← comp_smul, cancel_epi] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
 instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f) :=
-  ⟨fun g g' H =>
-    by
+  ⟨fun g g' H => by
     rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
Diff
@@ -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 category_theory.linear.basic
-! leanprover-community/mathlib commit 829895f162a1f29d0133f4b3538f4cd1fb5bffd3
+! leanprover-community/mathlib commit 3dec44d0b621a174c56e994da4aae15ba60110a2
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -151,6 +151,37 @@ instance {X Y : C} (f : X ⟶ Y) [Mono f] (r : R) [Invertible r] : Mono (r • f
     rw [comp_smul, comp_smul, ← smul_comp, ← smul_comp, cancel_mono] at H
     simpa [smul_smul] using congr_arg (fun f => ⅟ r • f) H⟩
 
+/-- Given isomorphic objects `X ≅ Y, W ≅ Z` in a `k`-linear category, we have a `k`-linear
+isomorphism between `Hom(X, W)` and `Hom(Y, Z).` -/
+def homCongr (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C] [Linear k C]
+    {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) : (X ⟶ W) ≃ₗ[k] Y ⟶ Z :=
+  {
+    (rightComp k Y f₂.hom).comp
+      (leftComp k W
+        f₁.symm.hom) with
+    invFun := (leftComp k W f₁.hom).comp (rightComp k Y f₂.symm.hom)
+    left_inv := fun x => by
+      simp only [Iso.symm_hom, LinearMap.toFun_eq_coe, LinearMap.coe_comp, Function.comp_apply,
+        leftComp_apply, rightComp_apply, Category.assoc, Iso.hom_inv_id, Category.comp_id,
+        Iso.hom_inv_id_assoc]
+    right_inv := fun x => by
+      simp only [Iso.symm_hom, LinearMap.coe_comp, Function.comp_apply, rightComp_apply,
+        leftComp_apply, LinearMap.toFun_eq_coe, Iso.inv_hom_id_assoc, Category.assoc,
+        Iso.inv_hom_id, Category.comp_id] }
+#align category_theory.linear.hom_congr CategoryTheory.Linear.homCongr
+
+theorem homCongr_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
+    [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : X ⟶ W) :
+    homCongr k f₁ f₂ f = (f₁.inv ≫ f) ≫ f₂.hom :=
+  rfl
+#align category_theory.linear.hom_congr_apply CategoryTheory.Linear.homCongr_apply
+
+theorem homCongr_symm_apply (k : Type _) {C : Type _} [Category C] [Semiring k] [Preadditive C]
+    [Linear k C] {X Y W Z : C} (f₁ : X ≅ Y) (f₂ : W ≅ Z) (f : Y ⟶ Z) :
+    (homCongr k f₁ f₂).symm f = f₁.hom ≫ f ≫ f₂.inv :=
+  rfl
+#align category_theory.linear.hom_congr_symm_apply CategoryTheory.Linear.homCongr_symm_apply
+
 end
 
 section
feat: port CategoryTheory.Linear.Basic (#2744)

Dependencies 8 + 420

421 files ported (98.1%)
170406 lines ported (98.2%)
Show graph

The unported dependencies are