Documentation

Mathlib.CategoryTheory.Presentable.ColimitPresentation

Presentation of a colimit of objects equipped with a presentation #

Main definition: #

def CategoryTheory.Limits.ColimitPresentation.Total {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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.{v_1, u_1} J] [(j : J) → Category.{u_3, 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.{v_1, u_1} J] [(j : J) → Category.{u_3, u_2} (I j)] {D : Functor J C} {P : (j : J) → ColimitPresentation (I j) (D.obj j)} (k l : Total P) :
          Type (max v v_1)

          Morphisms in the Total category.

          Instances For
            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.{v_1, u_1} J} {inst✝² : (j : J) → Category.{u_3, 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.ext_iff {C : Type u} {inst✝ : Category.{v, u} C} {J : Type u_1} {I : JType u_2} {inst✝¹ : Category.{v_1, u_1} J} {inst✝² : (j : J) → Category.{u_3, 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.w_assoc {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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.{v_1, u_1} J] [(j : J) → Category.{u_3, 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_hom {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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_base {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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
                  @[simp]
                  theorem CategoryTheory.Limits.ColimitPresentation.id_hom {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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_base {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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_base {C : Type u} [Category.{v, u} C] {J : Type u_1} {I : JType u_2} [Category.{v_1, u_1} J] [(j : J) → Category.{u_3, 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.{v_1, u_1} J] [(j : J) → Category.{u_3, 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✝) :
                  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
                    Instances For
                      @[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_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_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