Documentation

Mathlib.CategoryTheory.Limits.Presentation

(Co)limit presentations #

Let J and C be categories and X : C. We define type ColimitPresentation J X that contains the data of objects Dⱼ and natural maps sⱼ : Dⱼ ⟶ X that make X the colimit of the Dⱼ.

Main definitions: #

TODOs: #

structure CategoryTheory.Limits.ColimitPresentation {C : Type u} [Category.{v, u} C] (J : Type w) [Category.{t, w} J] (X : C) :
Type (max (max (max t u) v) w)

A colimit presentation of X over J is a diagram {Dᵢ} in C and natural maps sᵢ : Dᵢ ⟶ X making X into the colimit of the Dᵢ.

Instances For
    @[reducible, inline]

    The cocone associated to a colimit presentation.

    Equations
    Instances For

      The canonical colimit presentation of any object over a point.

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

        If F : J ⥤ C is a functor that has a colimit, then this is the obvious colimit presentation of colimit F.

        Equations
        Instances For

          If F preserves colimits of shape J, it maps colimit presentations of X to colimit presentations of F(X).

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

            If P is a colimit presentation of X, it is possible to define another colimit presentation of X where P.diag is replaced by an isomorphic functor.

            Equations
            Instances For

              Map a colimit presentation under an isomorphism.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem CategoryTheory.Limits.ColimitPresentation.ofIso_diag {C : Type u} [Category.{v, u} C] {J : Type w} [Category.{t, w} J] {X : C} (P : ColimitPresentation J X) {Y : C} (e : X Y) :
                (P.ofIso e).diag = P.diag
                noncomputable def CategoryTheory.Limits.ColimitPresentation.reindex {C : Type u} [Category.{v, u} C] {J : Type w} [Category.{t, w} J] {X : C} (P : ColimitPresentation J X) {J' : Type u_1} [Category.{u_2, u_1} J'] (F : Functor J' J) [F.Final] :

                Change the index category of a colimit presentation.

                Equations
                Instances For
                  def CategoryTheory.Limits.ColimitPresentation.Total {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} (P : (j : J) → ColimitPresentation (I j) (D.obj j)) :
                  Type (max u_2 u_1)

                  The type underlying the category used in the construction of the composition of colimit presentations. This is simply Σ j, I j but with a different category structure.

                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev CategoryTheory.Limits.ColimitPresentation.Total.mk {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} (P : (j : J) → ColimitPresentation (I j) (D.obj j)) (i : J) (k : I i) :

                    Constructor for Total to guide type checking.

                    Equations
                    Instances For
                      structure CategoryTheory.Limits.ColimitPresentation.Total.Hom {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} (k l : Total P) :
                      Type (max u_3 v)

                      Morphisms in the Total category.

                      Instances For
                        theorem CategoryTheory.Limits.ColimitPresentation.Total.Hom.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {J : Type u_1} {I : JType u_2} {inst✝¹ : Category.{u_3, u_1} J} {inst✝² : (j : J) → Category.{u_4, u_2} (I j)} {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {k l : Total P} {x y : k.Hom l} :
                        x = y x.base = y.base x.hom = y.hom
                        theorem CategoryTheory.Limits.ColimitPresentation.Total.Hom.ext {C : Type u} {inst✝ : Category.{v, u} C} {J : Type u_1} {I : JType u_2} {inst✝¹ : Category.{u_3, u_1} J} {inst✝² : (j : J) → Category.{u_4, u_2} (I j)} {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {k l : Total P} {x y : k.Hom l} (base : x.base = y.base) (hom : x.hom = y.hom) :
                        x = y
                        theorem CategoryTheory.Limits.ColimitPresentation.Total.Hom.w_assoc {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {k l : Total P} (self : k.Hom l) {Z : C} (h : D.obj l.fst Z) :
                        def CategoryTheory.Limits.ColimitPresentation.Total.Hom.comp {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {k l m : Total P} (f : k.Hom l) (g : l.Hom m) :
                        k.Hom m

                        Composition of morphisms in the Total category.

                        Equations
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Limits.ColimitPresentation.Total.Hom.comp_base {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {k l m : Total P} (f : k.Hom l) (g : l.Hom m) :
                          @[simp]
                          theorem CategoryTheory.Limits.ColimitPresentation.Total.Hom.comp_hom {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {k l m : Total P} (f : k.Hom l) (g : l.Hom m) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          @[simp]
                          theorem CategoryTheory.Limits.ColimitPresentation.id_base {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} (x✝ : Total P) :
                          @[simp]
                          theorem CategoryTheory.Limits.ColimitPresentation.comp_hom {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {X✝ Y✝ Z✝ : Total P} (f : X✝.Hom Y✝) (g : Y✝.Hom Z✝) :
                          @[simp]
                          theorem CategoryTheory.Limits.ColimitPresentation.comp_base {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {X✝ Y✝ Z✝ : Total P} (f : X✝.Hom Y✝) (g : Y✝.Hom Z✝) :
                          @[simp]
                          theorem CategoryTheory.Limits.ColimitPresentation.id_hom {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{u_3, u_1} J] [(j : J) → Category.{u_4, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} (x✝ : Total P) :
                          theorem CategoryTheory.Limits.ColimitPresentation.Total.exists_hom_of_hom {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} {j j' : J} (i : I j) (u : j j') [IsFiltered (I j')] [IsFinitelyPresentable ((P j).diag.obj i)] :
                          ∃ (i' : I j') (f : mk P j i mk P j' i'), f.base = u
                          instance CategoryTheory.Limits.ColimitPresentation.instNonemptyTotalOfIsFiltered {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} [IsFiltered J] [∀ (j : J), IsFiltered (I j)] :
                          instance CategoryTheory.Limits.ColimitPresentation.instIsFilteredTotalOfIsFinitelyPresentableObjDiag {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} [IsFiltered J] [∀ (j : J), IsFiltered (I j)] [∀ (j : J) (i : I j), IsFinitelyPresentable ((P j).diag.obj i)] :
                          def CategoryTheory.Limits.ColimitPresentation.bind {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {X : C} (P : ColimitPresentation J X) (Q : (j : J) → ColimitPresentation (I j) (P.diag.obj j)) [∀ (j : J), IsFiltered (I j)] [∀ (j : J) (i : I j), IsFinitelyPresentable ((Q j).diag.obj i)] :

                          If P is a colimit presentation over J of X and for every j we are given a colimit presentation Qⱼ over I j of the P.diag.obj j, this is the refined colimit presentation of X over Total Q.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem CategoryTheory.Limits.ColimitPresentation.bind_diag_obj {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {X : C} (P : ColimitPresentation J X) (Q : (j : J) → ColimitPresentation (I j) (P.diag.obj j)) [∀ (j : J), IsFiltered (I j)] [∀ (j : J) (i : I j), IsFinitelyPresentable ((Q j).diag.obj i)] (k : Total Q) :
                            (P.bind Q).diag.obj k = (Q k.fst).diag.obj k.snd
                            @[simp]
                            theorem CategoryTheory.Limits.ColimitPresentation.bind_ι_app {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {X : C} (P : ColimitPresentation J X) (Q : (j : J) → ColimitPresentation (I j) (P.diag.obj j)) [∀ (j : J), IsFiltered (I j)] [∀ (j : J) (i : I j), IsFinitelyPresentable ((Q j).diag.obj i)] (k : Total Q) :
                            (P.bind Q).ι.app k = CategoryStruct.comp ((Q k.fst).ι.app k.snd) (P.ι.app k.fst)
                            @[simp]
                            theorem CategoryTheory.Limits.ColimitPresentation.bind_diag_map {C : Type u} [Category.{v, u} C] {J : Type w} {I : JType w} [SmallCategory J] [(j : J) → SmallCategory (I j)] {X : C} (P : ColimitPresentation J X) (Q : (j : J) → ColimitPresentation (I j) (P.diag.obj j)) [∀ (j : J), IsFiltered (I j)] [∀ (j : J) (i : I j), IsFinitelyPresentable ((Q j).diag.obj i)] {k l : Total Q} (f : k l) :
                            (P.bind Q).diag.map f = f.hom
                            structure CategoryTheory.Limits.LimitPresentation {C : Type u} [Category.{v, u} C] (J : Type w) [Category.{t, w} J] (X : C) :
                            Type (max (max (max t u) v) w)

                            A limit presentation of X over J is a diagram {Dᵢ} in C and natural maps sᵢ : X ⟶ Dᵢ making X into the limit of the Dᵢ.

                            Instances For
                              @[reducible, inline]

                              The cone associated to a limit presentation.

                              Equations
                              Instances For

                                The canonical limit presentation of any object over a point.

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

                                  If F : J ⥤ C is a functor that has a limit, then this is the obvious limit presentation of limit F.

                                  Equations
                                  Instances For

                                    If F preserves limits of shape J, it maps limit presentations of X to limit presentations of F(X).

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

                                      If P is a limit presentation of X, it is possible to define another limit presentation of X where P.diag is replaced by an isomorphic functor.

                                      Equations
                                      Instances For
                                        @[simp]

                                        Map a limit presentation under an isomorphism.

                                        Equations
                                        Instances For
                                          @[simp]
                                          @[simp]
                                          theorem CategoryTheory.Limits.LimitPresentation.ofIso_diag {C : Type u} [Category.{v, u} C] {J : Type w} [Category.{t, w} J] {X : C} (P : LimitPresentation J X) {Y : C} (e : X Y) :
                                          (P.ofIso e).diag = P.diag
                                          noncomputable def CategoryTheory.Limits.LimitPresentation.reindex {C : Type u} [Category.{v, u} C] {J : Type w} [Category.{t, w} J] {X : C} (P : LimitPresentation J X) {J' : Type u_1} [Category.{u_2, u_1} J'] (F : Functor J' J) [F.Initial] :

                                          Change the index category of a limit presentation.

                                          Equations
                                          Instances For
                                            @[simp]
                                            @[simp]