Documentation

Mathlib.CategoryTheory.Limits.Shapes.Terminal

Initial and terminal objects in a category. #

References #

@[reducible, inline]

A category has a terminal object if it has a limit over the empty diagram. Use hasTerminal_of_unique to construct instances.

Equations
    Instances For
      @[reducible, inline]

      A category has an initial object if it has a colimit over the empty diagram. Use hasInitial_of_unique to construct instances.

      Equations
        Instances For
          @[reducible, inline]

          An arbitrary choice of terminal object, if one exists. You can use the notation ⊤_ C. This object is characterized by having a unique morphism from any object.

          Equations
            Instances For
              @[reducible, inline]

              An arbitrary choice of initial object, if one exists. You can use the notation ⊥_ C. This object is characterized by having a unique morphism to any object.

              Equations
                Instances For

                  Notation for the terminal object in C

                  Equations
                    Instances For

                      Notation for the initial object in C

                      Equations
                        Instances For
                          theorem CategoryTheory.Limits.hasTerminal_of_unique {C : Type u₁} [Category.{v₁, u₁} C] (X : C) [∀ (Y : C), Nonempty (Y X)] [∀ (Y : C), Subsingleton (Y X)] :

                          We can more explicitly show that a category has a terminal object by specifying the object, and showing there is a unique morphism to it from any other object.

                          theorem CategoryTheory.Limits.hasInitial_of_unique {C : Type u₁} [Category.{v₁, u₁} C] (X : C) [∀ (Y : C), Nonempty (X Y)] [∀ (Y : C), Subsingleton (X Y)] :

                          We can more explicitly show that a category has an initial object by specifying the object, and showing there is a unique morphism from it to any other object.

                          @[reducible, inline]

                          The map from an object to the terminal object.

                          Equations
                            Instances For
                              @[reducible, inline]

                              The map to an object from the initial object.

                              Equations
                                Instances For

                                  A terminal object is terminal.

                                  Equations
                                    Instances For

                                      An initial object is initial.

                                      Equations
                                        Instances For
                                          theorem CategoryTheory.Limits.initial.hom_ext {C : Type u₁} [Category.{v₁, u₁} C] [HasInitial C] {P : C} (f g : ⊥_ C P) :
                                          f = g

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

                                          Equations
                                            Instances For

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

                                              Equations
                                                Instances For

                                                  Any morphism from a terminal object is split mono.

                                                  Any morphism to an initial object is split epi.

                                                  The limit of the constant ⊤_ C functor is ⊤_ C.

                                                  Equations
                                                    Instances For

                                                      The colimit of the constant ⊥_ C functor is ⊥_ C.

                                                      Equations
                                                        Instances For
                                                          @[instance 100]

                                                          To show a category is an InitialMonoClass it suffices to show every morphism out of the initial object is a monomorphism.

                                                          To show a category is an InitialMonoClass it suffices to show the unique morphism from the initial object to a terminal object is a monomorphism.

                                                          The comparison morphism from the image of a terminal object to the terminal object in the target category. This is an isomorphism iff G preserves terminal objects, see CategoryTheory.Limits.PreservesTerminal.ofIsoComparison.

                                                          Equations
                                                            Instances For

                                                              The comparison morphism from the initial object in the target category to the image of the initial object.

                                                              Equations
                                                                Instances For
                                                                  @[reducible, inline]

                                                                  For a functor F : J ⥤ C, if J has an initial object then the image of it is isomorphic to the limit of F.

                                                                  Equations
                                                                    Instances For
                                                                      instance CategoryTheory.Limits.hasLimit_of_domain_hasTerminal {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] [HasTerminal J] {F : Functor J C} [∀ (i j : J) (f : i j), IsIso (F.map f)] :
                                                                      @[reducible, inline]
                                                                      abbrev CategoryTheory.Limits.limitOfTerminal {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] (F : Functor J C) [HasTerminal J] [∀ (i j : J) (f : i j), IsIso (F.map f)] :
                                                                      limit F F.obj (⊤_ J)

                                                                      For a functor F : J ⥤ C, if J has a terminal object and all the morphisms in the diagram are isomorphisms, then the image of the terminal object is isomorphic to the limit of F.

                                                                      Equations
                                                                        Instances For
                                                                          @[reducible, inline]

                                                                          For a functor F : J ⥤ C, if J has a terminal object then the image of it is isomorphic to the colimit of F.

                                                                          Equations
                                                                            Instances For
                                                                              instance CategoryTheory.Limits.hasColimit_of_domain_hasInitial {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] [HasInitial J] {F : Functor J C} [∀ (i j : J) (f : i j), IsIso (F.map f)] :
                                                                              @[reducible, inline]
                                                                              abbrev CategoryTheory.Limits.colimitOfInitial {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] (F : Functor J C) [HasInitial J] [∀ (i j : J) (f : i j), IsIso (F.map f)] :

                                                                              For a functor F : J ⥤ C, if J has an initial object and all the morphisms in the diagram are isomorphisms, then the image of the initial object is isomorphic to the colimit of F.

                                                                              Equations
                                                                                Instances For

                                                                                  If j is initial in the index category, then the map limit.π F j is an isomorphism.

                                                                                  theorem CategoryTheory.Limits.isIso_π_of_isTerminal {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] {j : J} (I : IsTerminal j) (F : Functor J C) [HasLimit F] [∀ (i j : J) (f : i j), IsIso (F.map f)] :
                                                                                  instance CategoryTheory.Limits.isIso_π_terminal {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] [HasTerminal J] (F : Functor J C) [∀ (i j : J) (f : i j), IsIso (F.map f)] :

                                                                                  If j is terminal in the index category, then the map colimit.ι F j is an isomorphism.

                                                                                  theorem CategoryTheory.Limits.isIso_ι_of_isInitial {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] {j : J} (I : IsInitial j) (F : Functor J C) [HasColimit F] [∀ (i j : J) (f : i j), IsIso (F.map f)] :
                                                                                  instance CategoryTheory.Limits.isIso_ι_initial {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u} [Category.{v, u} J] [HasInitial J] (F : Functor J C) [∀ (i j : J) (f : i j), IsIso (F.map f)] :