Documentation

Mathlib.CategoryTheory.Limits.FilteredColimitCommutesProduct

The IPC property #

Given a family of categories I i (i : α) and a family of functors F i : I i ⥤ C, we consider the diagram pointwiseProduct F : Π i, I i ⥤ C defined by (Xᵢ)ᵢ ↦ ∏ᶜ Xᵢ. Given a cocone cᵢ on Fᵢ for each i, there is a natural cocone on pointwiseProduct F with point ∏ᶜ cᵢ.

Similarly to the study of finite limits commuting with filtered colimits, we then study sufficient conditions for this cocone to be colimiting if all the cᵢ are colimiting. We say that C satisfies the w-IPC property if the morphism is an isomorphism as long as α is w-small and I i is w-small and filtered for all i.

Main definitions #

Main results #

These results will be used to show that if a category C has products indexed by α, then so does the category of Ind-objects of C.

References #

@[reducible, inline]
noncomputable abbrev CategoryTheory.Limits.pointwiseProduct {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) :
Functor ((i : α) → I i) C

Given a family of functors I i ⥤ C for i : α, we obtain a functor (∀ i, I i) ⥤ C which maps k : ∀ i, I i to ∏ᶜ fun (s : α) => (F s).obj (k s).

Equations
Instances For
    noncomputable def CategoryTheory.Limits.Pi.equivalenceOfEquivCompPointwiseProduct {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) {β : Type u_3} (f : β α) [HasProductsOfShape β C] :

    pointwiseProduct is invariant under re-indexing.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Limits.Pi.equivalenceOfEquivCompPointwiseProduct_inv_app {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) {β : Type u_3} (f : β α) [HasProductsOfShape β C] (X : (i : α) → I i) :
      (equivalenceOfEquivCompPointwiseProduct F f).inv.app X = map' f fun (j : β) => CategoryStruct.id ((F (f j)).obj (X (f j)))
      @[simp]
      theorem CategoryTheory.Limits.Pi.equivalenceOfEquivCompPointwiseProduct_hom_app {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) {β : Type u_3} (f : β α) [HasProductsOfShape β C] (X : (i : α) → I i) :
      noncomputable def CategoryTheory.Limits.coconePointwiseProduct {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] {F : (i : α) → Functor (I i) C} (c : (i : α) → Cocone (F i)) :

      The inclusions (F s).obj (k s) ⟶ colimit (F s) induce a cocone on pointwiseProduct F with cone point ∏ᶜ (fun s : α) => colimit (F s).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem CategoryTheory.Limits.coconePointwiseProduct_pt {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] {F : (i : α) → Functor (I i) C} (c : (i : α) → Cocone (F i)) :
        (coconePointwiseProduct c).pt = ∏ᶜ fun (i : α) => (c i).pt
        @[simp]
        theorem CategoryTheory.Limits.coconePointwiseProduct_ι {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] {F : (i : α) → Functor (I i) C} (c : (i : α) → Cocone (F i)) :
        noncomputable def CategoryTheory.Limits.coconePointwiseProductIso {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) {c c' : (i : α) → Cocone (F i)} (e : (i : α) → c i c' i) :

        coconePointwiseProduct is invariant under isomorphisms of cocones.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def CategoryTheory.Limits.colimitPointwiseProductToProductColimit {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) [∀ (i : α), HasColimit (F i)] [HasColimit ((Functor.pi F).comp (Pi.functor α))] :
          colimit (pointwiseProduct F) ∏ᶜ fun (s : α) => colimit (F s)

          The natural morphism colim_k (∏ᶜ s ↦ (F s).obj (k s)) ⟶ ∏ᶜ s ↦ colim_k (F s).obj (k s). A category has the IPC property of shape α if this morphism is an isomorphism as long as the indexing categories are filtered.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Limits.ι_colimitPointwiseProductToProductColimit_π {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) [∀ (i : α), HasColimit (F i)] [HasColimit (pointwiseProduct F)] (k : (i : α) → I i) (s : α) :
            @[simp]
            theorem CategoryTheory.Limits.ι_colimitPointwiseProductToProductColimit_π_assoc {C : Type u} [Category.{v, u} C] {α : Type u_1} {I : αType u_2} [(i : α) → Category.{v_1, u_2} (I i)] [HasProductsOfShape α C] (F : (i : α) → Functor (I i) C) [∀ (i : α), HasColimit (F i)] [HasColimit (pointwiseProduct F)] (k : (i : α) → I i) (s : α) {Z : C} (h : colimit (F s) Z) :
            noncomputable def CategoryTheory.Limits.pointwiseProductCompEvaluation {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] {α : Type u_3} {I : αType u_4} [(i : α) → Category.{u_5, u_4} (I i)] [HasLimitsOfShape (Discrete α) C] (F : (i : α) → Functor (I i) (Functor D C)) (d : D) :
            (pointwiseProduct F).comp ((evaluation D C).obj d) pointwiseProduct fun (s : α) => (F s).comp ((evaluation D C).obj d)

            Evaluating the pointwise product k ↦ ∏ᶜ fun (s : α) => (F s).obj (k s) at d is the same as taking the pointwise product k ↦ ∏ᶜ fun (s : α) => ((F s).obj (k s)).obj d.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem CategoryTheory.Limits.pointwiseProductCompEvaluation_hom_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] {α : Type u_3} {I : αType u_4} [(i : α) → Category.{u_5, u_4} (I i)] [HasLimitsOfShape (Discrete α) C] (F : (i : α) → Functor (I i) (Functor D C)) (d : D) (X : (i : α) → I i) :
              @[simp]
              theorem CategoryTheory.Limits.pointwiseProductCompEvaluation_inv_app {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] {α : Type u_3} {I : αType u_4} [(i : α) → Category.{u_5, u_4} (I i)] [HasLimitsOfShape (Discrete α) C] (F : (i : α) → Functor (I i) (Functor D C)) (d : D) (X : (i : α) → I i) :
              noncomputable def CategoryTheory.Limits.evaluationCoconePointwiseProductIso {C : Type u_1} [Category.{v_1, u_1} C] {D : Type u_2} [Category.{v_2, u_2} D] {α : Type u_3} {I : αType u_4} [(i : α) → Category.{u_5, u_4} (I i)] [HasLimitsOfShape (Discrete α) C] (F : (i : α) → Functor (I i) (Functor D C)) (X : D) (c : (i : α) → Cocone (F i)) :

              In a functor category, coconePointwiseProduct commutes with evaluation.

              Equations
              Instances For

                A category C has the w-IPC property for shape ι if w-sized filtered colimits commute with products of shape ι.

                Instances
                  theorem CategoryTheory.Limits.IsIPCOfShape.of_forall_exists {C : Type u_1} [Category.{v_1, u_1} C] {ι : Type u_2} [HasProductsOfShape ι C] (H : ∀ ⦃J : ιType w⦄ [inst : (i : ι) → SmallCategory (J i)] [∀ (i : ι), IsFiltered (J i)] (F : (i : ι) → Functor (J i) C) [∀ (i : ι), HasColimit (F i)], ∃ (c : (i : ι) → Cocone (F i)) (x : (i : ι) → IsColimit (c i)), Nonempty (IsColimit (coconePointwiseProduct c))) :
                  theorem CategoryTheory.Limits.IsIPCOfShape.of_isIso {C : Type u_1} [Category.{v_1, u_1} C] {ι : Type u_2} [HasProductsOfShape ι C] (H : ∀ (J : ιType w) [inst : (i : ι) → SmallCategory (J i)] [∀ (i : ι), IsFiltered (J i)] (F : (i : ι) → Functor (J i) C) [inst_2 : ∀ (i : ι), HasColimit (F i)], ∃ (x : HasColimit (pointwiseProduct F)), IsIso (colimitPointwiseProductToProductColimit F)) :

                  A category C has the w-IPC property it satisfies the IPC-property for every ι : Type w.

                  Instances
                    theorem CategoryTheory.Limits.Types.isIso_colimitPointwiseProductToProductColimit {α : Type u} {I : αType u} [(i : α) → SmallCategory (I i)] [∀ (i : α), IsFiltered (I i)] (F : (i : α) → Functor (I i) (Type u)) :