category_theory.linear.basic
⟷
Mathlib.CategoryTheory.Linear.Basic
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
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>
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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 /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/442a83d738cb208d3600056c489be16900ba701d
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/728baa2f54e6062c5879a3e397ac6bac323e506f
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/728baa2f54e6062c5879a3e397ac6bac323e506f
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/2196ab363eb097c008d4497125e0dde23fb36db2
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/21e3562c5e12d846c7def5eff8cdbc520d7d4936
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Splits Algebra.Algebra.Defs
off Algebra.Algebra.Basic
. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Algebra.Basic
is now a grab-bag of unrelated results, and should probably be split further or rehomed.
This is mostly motivated by the wasted effort during minimization upon encountering Algebra.Algebra.Basic.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>
@@ -3,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"
@@ -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"
@@ -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
@@ -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"
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
@@ -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
by
s! (#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 by
s".
@@ -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⟩
@@ -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
The unported dependencies are