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
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    An initial object is initial.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    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
                          • One or more equations did not get rendered due to their size.
                          Instances For

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

                            Equations
                            • One or more equations did not get rendered due to their size.
                            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
                                    • One or more equations did not get rendered due to their size.
                                    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
                                      • One or more equations did not get rendered due to their size.
                                      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)] :
                                        colimit F F.obj (⊥_ J)

                                        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
                                        • One or more equations did not get rendered due to their size.
                                        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)] :