Documentation

Mathlib.CategoryTheory.Limits.VanKampen

Universal colimits and van Kampen colimits #

Main definitions #

References #

A natural transformation is equifibered if every commutative square of the following form is a pullback.

F(X) → F(Y)
 ↓      ↓
G(X) → G(Y)
Equations
Instances For

    A (colimit) cocone over a diagram F : J ⥤ C is universal if it is stable under pullbacks.

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

      A (colimit) cocone over a diagram F : J ⥤ C is van Kampen if for every cocone c' over the pullback of the diagram F' : J ⥤ C', c' is colimiting iff c' is the pullback of c.

      TODO: Show that this is iff the functor C ⥤ Catᵒᵖ sending x to C/x preserves it. TODO: Show that this is iff the inclusion functor C ⥤ Span(C) preserves it.

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

        A universal colimit is a colimit.

        Equations
        • h.isColimit = .some
        Instances For

          A van Kampen colimit is a colimit.

          Equations
          • h.isColimit = .isColimit
          Instances For
            theorem CategoryTheory.IsUniversalColimit.map_reflective {J : Type v'} [CategoryTheory.Category.{u', v'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] {Gl : CategoryTheory.Functor C D} {Gr : CategoryTheory.Functor D C} (adj : Gl Gr) [Gr.Full] [Gr.Faithful] {F : CategoryTheory.Functor J D} {c : CategoryTheory.Limits.Cocone (F.comp Gr)} (H : CategoryTheory.IsUniversalColimit c) [∀ (X : D) (f : X Gl.obj c.pt), CategoryTheory.Limits.HasPullback (Gr.map f) (adj.unit.app c.pt)] [(X : D) → (f : X Gl.obj c.pt) → CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.cospan (Gr.map f) (adj.unit.app c.pt)) Gl] :
            theorem CategoryTheory.IsVanKampenColimit.map_reflective {J : Type v'} [CategoryTheory.Category.{u', v'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Limits.HasColimitsOfShape J C] {Gl : CategoryTheory.Functor C D} {Gr : CategoryTheory.Functor D C} (adj : Gl Gr) [Gr.Full] [Gr.Faithful] {F : CategoryTheory.Functor J D} {c : CategoryTheory.Limits.Cocone (F.comp Gr)} (H : CategoryTheory.IsVanKampenColimit c) [∀ (X : D) (f : X Gl.obj c.pt), CategoryTheory.Limits.HasPullback (Gr.map f) (adj.unit.app c.pt)] [(X : D) → (f : X Gl.obj c.pt) → CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.cospan (Gr.map f) (adj.unit.app c.pt)) Gl] [(X : C) → (i : J) → (f : X c.pt) → CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.cospan f (c.app i)) Gl] :
            theorem CategoryTheory.BinaryCofan.isVanKampen_mk {C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {Y : C} (c : CategoryTheory.Limits.BinaryCofan X Y) (cofans : (X Y : C) → CategoryTheory.Limits.BinaryCofan X Y) (colimits : (X Y : C) → CategoryTheory.Limits.IsColimit (cofans X Y)) (cones : {X Y Z : C} → (f : X Z) → (g : Y Z) → CategoryTheory.Limits.PullbackCone f g) (limits : {X Y Z : C} → (f : X Z) → (g : Y Z) → CategoryTheory.Limits.IsLimit (cones f g)) (h₁ : ∀ {X' Y' : C} (αX : X' X) (αY : Y' Y) (f : (cofans X' Y').pt c.pt), CategoryTheory.CategoryStruct.comp αX c.inl = CategoryTheory.CategoryStruct.comp (cofans X' Y').inl fCategoryTheory.CategoryStruct.comp αY c.inr = CategoryTheory.CategoryStruct.comp (cofans X' Y').inr fCategoryTheory.IsPullback (cofans X' Y').inl αX f c.inl CategoryTheory.IsPullback (cofans X' Y').inr αY f c.inr) (h₂ : {Z : C} → (f : Z c.pt) → CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk (cones f c.inl).fst (cones f c.inr).fst)) :