Documentation

Mathlib.CategoryTheory.Limits.Shapes.ZeroObjects

Zero objects #

A category "has a zero object" if it has an object which is both initial and terminal. Having a zero object provides zero morphisms, as the unique morphisms factoring through the zero object; see CategoryTheory.Limits.Shapes.ZeroMorphisms.

References #

structure CategoryTheory.Limits.IsZero {C : Type u} [Category.{v, u} C] (X : C) :

An object X in a category is a zero object if for every object Y there is a unique morphism to : X → Y and a unique morphism from : Y → X.

This is a characteristic predicate for HasZeroObject.

  • unique_to (Y : C) : Nonempty (Unique (X Y))

    there are unique morphisms to the object

  • unique_from (Y : C) : Nonempty (Unique (Y X))

    there are unique morphisms from the object

Instances For
    noncomputable def CategoryTheory.Limits.IsZero.to_ {C : Type u} [Category.{v, u} C] {X : C} (h : IsZero X) (Y : C) :
    X Y

    If h : IsZero X, then h.to_ Y is a choice of unique morphism X → Y.

    to is a reserved word, it was replaced by to_

    Instances For
      theorem CategoryTheory.Limits.IsZero.eq_to {C : Type u} [Category.{v, u} C] {X Y : C} (h : IsZero X) (f : X Y) :
      f = h.to_ Y
      theorem CategoryTheory.Limits.IsZero.to_eq {C : Type u} [Category.{v, u} C] {X Y : C} (h : IsZero X) (f : X Y) :
      h.to_ Y = f
      noncomputable def CategoryTheory.Limits.IsZero.from_ {C : Type u} [Category.{v, u} C] {X : C} (h : IsZero X) (Y : C) :
      Y X

      If h : is_zero X, then h.from_ Y is a choice of unique morphism Y → X.

      from is a reserved word, it was replaced by from_

      Instances For
        theorem CategoryTheory.Limits.IsZero.eq_from {C : Type u} [Category.{v, u} C] {X Y : C} (h : IsZero X) (f : Y X) :
        f = h.from_ Y
        theorem CategoryTheory.Limits.IsZero.from_eq {C : Type u} [Category.{v, u} C] {X Y : C} (h : IsZero X) (f : Y X) :
        h.from_ Y = f
        theorem CategoryTheory.Limits.IsZero.eq_of_src {C : Type u} [Category.{v, u} C] {X Y : C} (hX : IsZero X) (f g : X Y) :
        f = g
        theorem CategoryTheory.Limits.IsZero.eq_of_tgt {C : Type u} [Category.{v, u} C] {X Y : C} (hX : IsZero X) (f g : Y X) :
        f = g
        theorem CategoryTheory.Limits.IsZero.epi {C : Type u} [Category.{v, u} C] {X : C} (h : IsZero X) {Y : C} (f : Y X) :
        Epi f
        theorem CategoryTheory.Limits.IsZero.mono {C : Type u} [Category.{v, u} C] {X : C} (h : IsZero X) {Y : C} (f : X Y) :
        noncomputable def CategoryTheory.Limits.IsZero.iso {C : Type u} [Category.{v, u} C] {X Y : C} (hX : IsZero X) (hY : IsZero Y) :
        X Y

        Any two zero objects are isomorphic.

        Instances For
          theorem CategoryTheory.Limits.IsZero.isIso {C : Type u} [Category.{v, u} C] {X Y : C} (hX : IsZero X) (hY : IsZero Y) (f : X Y) :
          noncomputable def CategoryTheory.Limits.IsZero.isInitial {C : Type u} [Category.{v, u} C] {X : C} (hX : IsZero X) :

          A zero object is in particular initial.

          Instances For
            noncomputable def CategoryTheory.Limits.IsZero.isTerminal {C : Type u} [Category.{v, u} C] {X : C} (hX : IsZero X) :

            A zero object is in particular terminal.

            Instances For
              noncomputable def CategoryTheory.Limits.IsZero.isoIsInitial {C : Type u} [Category.{v, u} C] {X Y : C} (hX : IsZero X) (hY : IsInitial Y) :
              X Y

              The (unique) isomorphism between any initial object and the zero object.

              Instances For
                noncomputable def CategoryTheory.Limits.IsZero.isoIsTerminal {C : Type u} [Category.{v, u} C] {X Y : C} (hX : IsZero X) (hY : IsTerminal Y) :
                X Y

                The (unique) isomorphism between any terminal object and the zero object.

                Instances For
                  theorem CategoryTheory.Limits.IsZero.of_iso {C : Type u} [Category.{v, u} C] {X Y : C} (hY : IsZero Y) (e : X Y) :
                  noncomputable def CategoryTheory.Limits.IsZero.retract {C : Type u} [Category.{v, u} C] {X : C} (Y : C) (h : IsZero X) :

                  A zero object is a retract of every object.

                  Instances For
                    theorem CategoryTheory.Functor.isZero {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] (F : Functor C D) (hF : ∀ (X : C), Limits.IsZero (F.obj X)) :

                    A category "has a zero object" if it has an object which is both initial and terminal.

                    • zero : ∃ (X : C), IsZero X

                      there exists a zero object

                    Instances
                      @[implicit_reducible]

                      Construct a Zero C for a category with a zero object. This cannot be a global instance as it will trigger for every Zero C typeclass search.

                      Instances For
                        noncomputable def CategoryTheory.Limits.IsZero.isoZero {C : Type u} [Category.{v, u} C] [HasZeroObject C] {X : C} (hX : IsZero X) :
                        X 0

                        Every zero object is isomorphic to the zero object.

                        Instances For
                          theorem CategoryTheory.Limits.IsZero.obj {C : Type u} [Category.{v, u} C] {D : Type u'} [Category.{v', u'} D] [HasZeroObject D] {F : Functor C D} (hF : IsZero F) (X : C) :
                          IsZero (F.obj X)
                          @[implicit_reducible]

                          There is a unique morphism from the zero object to any object X.

                          Instances For
                            @[implicit_reducible]

                            There is a unique morphism from any object X to the zero object.

                            Instances For

                              A zero object is in particular initial.

                              Instances For

                                A zero object is in particular terminal.

                                Instances For
                                  @[instance 10]

                                  A zero object is in particular initial.

                                  @[instance 10]

                                  A zero object is in particular terminal.

                                  The (unique) isomorphism between any initial object and the zero object.

                                  Instances For

                                    The (unique) isomorphism between any terminal object and the zero object.

                                    Instances For

                                      The (unique) isomorphism between the chosen initial object and the chosen zero object.

                                      Instances For

                                        The (unique) isomorphism between the chosen terminal object and the chosen zero object.

                                        Instances For