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.

If F : J ⥤ Type u, then the data of a "type-theoretic" cocone of F with a point in Type u is the same as the data of a cocone (in a categorical sense).

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Functor.coconeTypesEquiv_apply_ι_app {J : Type v} [Category.{w, v} J] (F : Functor J (Type u)) (c : F.CoconeTypes) (j : J) (a✝ : F.obj j) :
    (F.coconeTypesEquiv c).ι.app j a✝ = c.ι j a✝
    @[simp]
    theorem CategoryTheory.Functor.coconeTypesEquiv_symm_apply_ι {J : Type v} [Category.{w, v} J] (F : Functor J (Type u)) (c : Limits.Cocone F) (j : J) (a✝ : F.obj j) :
    (F.coconeTypesEquiv.symm c).ι j a✝ = c.ι.app j a✝
    @[reducible, inline]

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

    Equations
    Instances For

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

      Equations
      Instances For
        @[deprecated CategoryTheory.Limits.Types.hasColimit_iff_small_colimitType (since := "2025-06-22")]

        Alias of CategoryTheory.Limits.Types.hasColimit_iff_small_colimitType.

        @[deprecated CategoryTheory.Limits.Types.small_colimitType_of_hasColimit (since := "2025-06-22")]

        Alias of CategoryTheory.Limits.Types.small_colimitType_of_hasColimit.

        @[instance 1300]

        The category of types has all colimits.

        @[reducible, inline]

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

        Equations
        Instances For

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

          Equations
          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
              @[simp]
              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
              @[simp]
              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
              @[simp]
              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)
              @[deprecated CategoryTheory.Limits.Types.Colimit.w_apply (since := "2025-08-22")]
              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

              Alias of CategoryTheory.Limits.Types.Colimit.w_apply.

              @[deprecated CategoryTheory.Limits.Types.Colimit.ι_desc_apply (since := "2025-08-22")]
              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

              Alias of CategoryTheory.Limits.Types.Colimit.ι_desc_apply.

              @[deprecated CategoryTheory.Limits.Types.Colimit.ι_map_apply (since := "2025-08-22")]
              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)

              Alias of CategoryTheory.Limits.Types.Colimit.ι_map_apply.

              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.

              @[deprecated CategoryTheory.Functor.ColimitTypeRel (since := "2025-06-22")]
              def CategoryTheory.Limits.Types.Quot.Rel {J : Type u} [Category.{v, u} J] (F : Functor J (Type w₀)) :
              (j : J) × F.obj j(j : J) × F.obj jProp

              Alias of CategoryTheory.Functor.ColimitTypeRel.


              Given F : J ⥤ Type w₀, this is the relation Σ j, F.obj j which generates an equivalence relation such that the quotient identifies to the colimit type of F.

              Equations
              Instances For
                @[deprecated CategoryTheory.Functor.ColimitType (since := "2025-06-22")]
                def CategoryTheory.Limits.Types.Quot {J : Type u} [Category.{v, u} J] (F : Functor J (Type w₀)) :
                Type (max u w₀)

                Alias of CategoryTheory.Functor.ColimitType.


                The colimit type of a functor F : J ⥤ Type w₀. (It may not be in Type w₀.)

                Equations
                Instances For
                  @[deprecated CategoryTheory.Functor.ιColimitType (since := "2025-06-22")]
                  def CategoryTheory.Limits.Types.Quot.ι {J : Type u} [Category.{v, u} J] (F : Functor J (Type w₀)) (j : J) (x : F.obj j) :

                  Alias of CategoryTheory.Functor.ιColimitType.


                  The canonical maps F.obj j → F.ColimitType.

                  Equations
                  Instances For
                    @[deprecated CategoryTheory.Functor.ιColimitType_jointly_surjective (since := "2025-06-22")]
                    theorem CategoryTheory.Limits.Types.Quot.jointly_surjective {J : Type u} [Category.{v, u} J] (F : Functor J (Type w₀)) (t : F.ColimitType) :
                    ∃ (j : J) (x : F.obj j), F.ιColimitType j x = t

                    Alias of CategoryTheory.Functor.ιColimitType_jointly_surjective.

                    @[deprecated CategoryTheory.Functor.descColimitType (since := "2025-06-22")]

                    Alias of CategoryTheory.Functor.descColimitType.


                    An heterogeneous universe version of the universal property of the colimit is satisfied by F.ColimitType together the maps F.ιColimitType j.

                    Equations
                    Instances For
                      @[deprecated CategoryTheory.Functor.descColimitType_comp_ι (since := "2025-06-22")]

                      Alias of CategoryTheory.Functor.descColimitType_comp_ι.

                      @[deprecated CategoryTheory.Functor.ιColimitType_map (since := "2025-06-22")]
                      theorem CategoryTheory.Limits.Types.Quot.map_ι {J : Type u} [Category.{v, u} J] (F : Functor J (Type w₀)) {j j' : J} (f : j j') (x : F.obj j) :
                      F.ιColimitType j' (F.map f x) = F.ιColimitType j x

                      Alias of CategoryTheory.Functor.ιColimitType_map.

                      @[deprecated CategoryTheory.Limits.Types.isColimit_iff_coconeTypesIsColimit (since := "2025-06-22")]

                      Alias of CategoryTheory.Limits.Types.isColimit_iff_coconeTypesIsColimit.

                      @[deprecated CategoryTheory.Limits.Types.colimitEquivColimitType (since := "2025-06-22")]

                      Alias of CategoryTheory.Limits.Types.colimitEquivColimitType.


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

                      Equations
                      Instances For
                        @[deprecated CategoryTheory.Limits.Types.colimitEquivColimitType_symm_apply (since := "2025-06-22")]

                        Alias of CategoryTheory.Limits.Types.colimitEquivColimitType_symm_apply.

                        @[deprecated CategoryTheory.Limits.Types.colimitEquivColimitType_apply (since := "2025-06-22")]

                        Alias of CategoryTheory.Limits.Types.colimitEquivColimitType_apply.