Documentation

Mathlib.CategoryTheory.Simple

Simple objects #

We define simple objects in any category with zero morphisms. A simple object is an object Y such that any monomorphism f : X ⟶ Y is either an isomorphism or zero (but not both).

This is formalized as a Prop valued typeclass Simple X.

In some contexts, especially representation theory, simple objects are called "irreducibles".

If a morphism f out of a simple object is nonzero and has a kernel, then that kernel is zero. (We state this as kernel.ι f = 0, but should add kernel f ≅ 0.)

When the category is abelian, being simple is the same as being cosimple (although we do not state a separate typeclass for this). As a consequence, any nonzero epimorphism out of a simple object is an isomorphism, and any nonzero morphism into a simple object has trivial cokernel.

We show that any simple object is indecomposable.

An object is simple if monomorphisms into it are (exclusively) either isomorphisms or zero.

Instances
    theorem CategoryTheory.isIso_of_mono_of_nonzero {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {X Y : C} [Simple Y] {f : X Y} [Mono f] (w : f 0) :

    A nonzero monomorphism to a simple object is an isomorphism.

    A nonzero morphism f to a simple object is an epimorphism (assuming f has an image, and C has equalizers).

    theorem CategoryTheory.mono_to_simple_zero_of_not_iso {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {X Y : C} [Simple Y] {f : X Y} [Mono f] (w : IsIso fFalse) :
    f = 0

    We don't want the definition of 'simple' to include the zero object, so we check that here.

    theorem CategoryTheory.simple_of_cosimple {C : Type u} [Category.{v, u} C] [Abelian C] (X : C) (h : ∀ {Z : C} (f : X Z) [inst : Epi f], IsIso f f 0) :

    In an abelian category, an object satisfying the dual of the definition of a simple object is simple.

    theorem CategoryTheory.isIso_of_epi_of_nonzero {C : Type u} [Category.{v, u} C] [Abelian C] {X Y : C} [Simple X] {f : X Y} [Epi f] (w : f 0) :

    A nonzero epimorphism from a simple object is an isomorphism.

    theorem CategoryTheory.epi_from_simple_zero_of_not_iso {C : Type u} [Category.{v, u} C] [Abelian C] {X Y : C} [Simple X] {f : X Y} [Epi f] (w : IsIso fFalse) :
    f = 0

    Any simple object in a preadditive category is indecomposable.

    If X has subobject lattice {⊥, ⊤}, then X is simple.

    X is simple iff it has subobject lattice {⊥, ⊤}.

    A subobject is simple iff it is an atom in the subobject lattice.