Documentation

Mathlib.CategoryTheory.Limits.Types.Colimits

Colimits in the category of types #

We show that the category of types has all colimits, by providing the usual concrete models.

def CategoryTheory.Limits.Types.Quot.Rel {J : Type v} [Category.{w, v} J] (F : Functor J (Type u)) :
(j : J) × F.obj j(j : J) × F.obj jProp

The relation defining the quotient type which implements the colimit of a functor F : J ⥤ Type u. See CategoryTheory.Limits.Types.Quot.

Equations
Instances For

    A quotient type implementing the colimit of a functor F : J ⥤ Type u, as pairs ⟨j, x⟩ where x : F.obj j, modulo the equivalence relation generated by ⟨j, x⟩ ~ ⟨j', x'⟩ whenever there is a morphism f : j ⟶ j' so F.map f x = x'.

    Equations
    Instances For
      def CategoryTheory.Limits.Types.Quot.ι {J : Type v} [Category.{w, v} J] (F : Functor J (Type u)) (j : J) :
      F.obj jQuot F

      Inclusion into the quotient type implementing the colimit.

      Equations
      Instances For
        theorem CategoryTheory.Limits.Types.Quot.jointly_surjective {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} (x : Quot F) :
        ∃ (j : J) (y : F.obj j), x = ι F j y

        (implementation detail) Part of the universal property of the colimit cocone, but without assuming that Quot F lives in the correct universe.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.Limits.Types.Quot.ι_desc {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} (c : Cocone F) (j : J) (x : F.obj j) :
          desc c (ι F j x) = c.ι.app j x
          @[simp]
          theorem CategoryTheory.Limits.Types.Quot.map_ι {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} {j j' : J} {f : j j'} (x : F.obj j) :
          ι F j' (F.map f x) = ι F j x

          The obvious map from Quot F to Quot (F ⋙ uliftFunctor.{u'}).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]

            The obvious map from Quot (F ⋙ uliftFunctor.{u'}) to Quot F.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The equivalence between Quot F and Quot (F ⋙ uliftFunctor.{u'}).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def CategoryTheory.Limits.Types.toCocone {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} {α : Type u} (f : Quot Fα) :

                (implementation detail) A function Quot F → α induces a cocone on F as long as the universes work out.

                Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Limits.Types.toCocone_ι_app {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} {α : Type u} (f : Quot Fα) (j : J) (a✝ : F.obj j) :
                  (toCocone f).ι.app j a✝ = (f Quot.ι F j) a✝
                  @[simp]
                  theorem CategoryTheory.Limits.Types.toCocone_pt {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} {α : Type u} (f : Quot Fα) :
                  (toCocone f).pt = α
                  theorem CategoryTheory.Limits.Types.Quot.desc_toCocone_desc {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} (c : Cocone F) {α : Type u} (f : Quot Fα) (hc : IsColimit c) (x : Quot F) :
                  hc.desc (toCocone f) (desc c x) = f x

                  (internal implementation) the colimit cocone of a functor, implemented as a quotient of a sigma type

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    (internal implementation) the fact that the proposed colimit cocone is the colimit

                    Equations
                    Instances For

                      (internal implementation) the colimit cocone of a functor, implemented as a quotient of a sigma type

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]

                        (internal implementation) the fact that the proposed colimit cocone is the colimit

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          The equivalence between the abstract colimit of F in Type u and the "concrete" definition as a quotient.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem CategoryTheory.Limits.Types.Colimit.w_apply {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} [HasColimit F] {j j' : J} {x : F.obj j} (f : j j') :
                            colimit.ι F j' (F.map f x) = colimit.ι F j x
                            theorem CategoryTheory.Limits.Types.Colimit.ι_desc_apply {J : Type v} [Category.{w, v} J] (F : Functor J (Type u)) [HasColimit F] (s : Cocone F) (j : J) (x : F.obj j) :
                            colimit.desc F s (colimit.ι F j x) = s.ι.app j x
                            theorem CategoryTheory.Limits.Types.Colimit.ι_map_apply {J : Type v} [Category.{w, v} J] {F G : Functor J (Type u)} [HasColimitsOfShape J (Type u)] (α : F G) (j : J) (x : F.obj j) :
                            colim.map α (colimit.ι F j x) = colimit.ι G j (α.app j x)
                            @[simp]
                            theorem CategoryTheory.Limits.Types.Colimit.w_apply' {J : Type v} [Category.{w, v} J] {F : Functor J (Type v)} {j j' : J} {x : F.obj j} (f : j j') :
                            colimit.ι F j' (F.map f x) = colimit.ι F j x
                            @[simp]
                            theorem CategoryTheory.Limits.Types.Colimit.ι_desc_apply' {J : Type v} [Category.{w, v} J] (F : Functor J (Type v)) (s : Cocone F) (j : J) (x : F.obj j) :
                            colimit.desc F s (colimit.ι F j x) = s.ι.app j x
                            @[simp]
                            theorem CategoryTheory.Limits.Types.Colimit.ι_map_apply' {J : Type v} [Category.{w, v} J] {F G : Functor J (Type v)} (α : F G) (j : J) (x : F.obj j) :
                            colim.map α (colimit.ι F j x) = colimit.ι G j (α.app j x)
                            theorem CategoryTheory.Limits.Types.colimit_sound {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} [HasColimit F] {j j' : J} {x : F.obj j} {x' : F.obj j'} (f : j j') (w : F.map f x = x') :
                            colimit.ι F j x = colimit.ι F j' x'
                            theorem CategoryTheory.Limits.Types.colimit_sound' {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} [HasColimit F] {j j' : J} {x : F.obj j} {x' : F.obj j'} {j'' : J} (f : j j'') (f' : j' j'') (w : F.map f x = F.map f' x') :
                            colimit.ι F j x = colimit.ι F j' x'
                            theorem CategoryTheory.Limits.Types.colimit_eq {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} [HasColimit F] {j j' : J} {x : F.obj j} {x' : F.obj j'} (w : colimit.ι F j x = colimit.ι F j' x') :
                            theorem CategoryTheory.Limits.Types.jointly_surjective_of_isColimit {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} {t : Cocone F} (h : IsColimit t) (x : t.pt) :
                            ∃ (j : J) (y : F.obj j), t.ι.app j y = x
                            theorem CategoryTheory.Limits.Types.jointly_surjective {J : Type v} [Category.{w, v} J] (F : Functor J (Type u)) {t : Cocone F} (h : IsColimit t) (x : t.pt) :
                            ∃ (j : J) (y : F.obj j), t.ι.app j y = x
                            theorem CategoryTheory.Limits.Types.jointly_surjective' {J : Type v} [Category.{w, v} J] {F : Functor J (Type u)} [HasColimit F] (x : colimit F) :
                            ∃ (j : J) (y : F.obj j), colimit.ι F j y = x

                            A variant of jointly_surjective for x : colimit F.

                            If a colimit is nonempty, also its index category is nonempty.