# Schur's lemma #

We first prove the part of Schur's Lemma that holds in any preadditive category with kernels, that any nonzero morphism between simple objects is an isomorphism.

Second, we prove Schur's lemma for 𝕜-linear categories with finite dimensional hom spaces, over an algebraically closed field 𝕜: the hom space X ⟶ Y between simple objects X and Y is at most one dimensional, and is 1-dimensional iff X and Y are isomorphic.

theorem category_theory.mono_of_nonzero_from_simple {C : Type u_1} {X Y : C} {f : X Y} (w : f 0) :
theorem category_theory.is_iso_of_hom_simple {C : Type u_1} {X Y : C} {f : X Y} (w : f 0) :

The part of Schur's lemma that holds in any preadditive category with kernels: that a nonzero morphism between simple objects is an isomorphism.

theorem category_theory.is_iso_iff_nonzero {C : Type u_1} {X Y : C} (f : X Y) :
f 0

As a corollary of Schur's lemma for preadditive categories, any morphism between simple objects is (exclusively) either an isomorphism or zero.

@[protected, instance]
noncomputable def category_theory.End.division_ring {C : Type u_1} {X : C}  :

In any preadditive category with kernels, the endomorphisms of a simple object form a division ring.

Equations
theorem category_theory.finrank_hom_simple_simple_eq_zero_of_not_iso {C : Type u_1} (𝕜 : Type u_3) {X Y : C} (h : (X Y)false) :
(X Y) = 0

Part of Schur's lemma for 𝕜-linear categories: the hom space between two non-isomorphic simple objects is 0-dimensional.

theorem category_theory.finrank_endomorphism_eq_one {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] {X : C} (is_iso_iff_nonzero : ∀ (f : X X), f 0) [I : (X X)] :
(X X) = 1

An auxiliary lemma for Schur's lemma.

If X ⟶ X is finite dimensional, and every nonzero endomorphism is invertible, then X ⟶ X is 1-dimensional.

theorem category_theory.finrank_endomorphism_simple_eq_one {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] (X : C) [I : (X X)] :
(X X) = 1

Schur's lemma for endomorphisms in 𝕜-linear categories.

theorem category_theory.endomorphism_simple_eq_smul_id {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] {X : C} [I : (X X)] (f : X X) :
∃ (c : 𝕜), c 𝟙 X = f
noncomputable def category_theory.field_End_of_finite_dimensional {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] (X : C) [I : (X X)] :

Endomorphisms of a simple object form a field if they are finite dimensional. This can't be an instance as 𝕜 would be undetermined.

Equations
theorem category_theory.finrank_hom_simple_simple_le_one {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] (X Y : C) [ (X X)]  :
(X Y) 1

Schur's lemma for 𝕜-linear categories: if hom spaces are finite dimensional, then the hom space between simples is at most 1-dimensional.

See finrank_hom_simple_simple_eq_one_iff and finrank_hom_simple_simple_eq_zero_iff below for the refinements when we know whether or not the simples are isomorphic.

theorem category_theory.finrank_hom_simple_simple_eq_one_iff {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] (X Y : C) [ (X X)] [ (X Y)]  :
(X Y) = 1 nonempty (X Y)
theorem category_theory.finrank_hom_simple_simple_eq_zero_iff {C : Type u_1} (𝕜 : Type u_3) [field 𝕜] (X Y : C) [ (X X)] [ (X Y)]  :
(X Y) = 0 is_empty (X Y)