File: Mathlib/CategoryTheory/Limits/ColimitLimit.lean

full_name: CategoryTheory.Limits.map_id_left_eq_curry_map
code: theorem map_id_left_eq_curry_map {j : J} {k k' : K} {f : k ⟶ k'} :
    F.map ((𝟙 j, f) : (j, k) ⟶ (j, k')) = ((curry.obj F).obj j).map f 
goal: F.map (𝟙 j, f) = ((CategoryTheory.curry.obj F).obj j).map f

full_name: CategoryTheory.Limits.map_id_right_eq_curry_swap_map
code: theorem map_id_right_eq_curry_swap_map {j j' : J} {f : j ⟶ j'} {k : K} :
    F.map ((f, 𝟙 k) : (j, k) ⟶ (j', k)) = ((curry.obj (Prod.swap K J ⋙ F)).obj k).map f 
goal: F.map (f, 𝟙 k) = ((CategoryTheory.curry.obj (CategoryTheory.Prod.swap K J ⋙ F)).obj k).map f

full_name: CategoryTheory.Limits.colimitLimitToLimitColimit
code: /-- The universal morphism
$\colim_k \lim_j F(j,k) → \lim_j \colim_k F(j, k)$.
-/
noncomputable def colimitLimitToLimitColimit :
    colimit (curry.obj (Prod.swap K J ⋙ F) ⋙ lim) ⟶ limit (curry.obj F ⋙ colim) 
goal: CategoryTheory.Limits.colimit
    (CategoryTheory.curry.obj (CategoryTheory.Prod.swap K J ⋙ F) ⋙ CategoryTheory.Limits.lim) ⟶
  CategoryTheory.Limits.limit (CategoryTheory.curry.obj F ⋙ CategoryTheory.Limits.colim)

full_name: CategoryTheory.Limits.ι_colimitLimitToLimitColimit_π
code: /-- Since `colimit_limit_to_limit_colimit` is a morphism from a colimit to a limit,
this lemma characterises it.
-/
@[reassoc (attr := simp)]
theorem ι_colimitLimitToLimitColimit_π (j) (k) :
    colimit.ι _ k ≫ colimitLimitToLimitColimit F ≫ limit.π _ j =
      limit.π ((curry.obj (Prod.swap K J ⋙ F)).obj k) j ≫ colimit.ι ((curry.obj F).obj j) k 
goal: CategoryTheory.Limits.colimit.ι
      (CategoryTheory.curry.obj (CategoryTheory.Prod.swap K J ⋙ F) ⋙ CategoryTheory.Limits.lim) k ≫
    CategoryTheory.Limits.colimitLimitToLimitColimit F ≫
      CategoryTheory.Limits.limit.π (CategoryTheory.curry.obj F ⋙ CategoryTheory.Limits.colim) j =
  CategoryTheory.Limits.limit.π ((CategoryTheory.curry.obj (CategoryTheory.Prod.swap K J ⋙ F)).obj k) j ≫
    CategoryTheory.Limits.colimit.ι ((CategoryTheory.curry.obj F).obj j) k

full_name: CategoryTheory.Limits.ι_colimitLimitToLimitColimit_π_apply
code: @[simp]
theorem ι_colimitLimitToLimitColimit_π_apply [Small.{v} J] [Small.{v} K] (F : J × K ⥤ Type v)
    (j : J) (k : K) (f) : limit.π (curry.obj F ⋙ colim) j
        (colimitLimitToLimitColimit F (colimit.ι (curry.obj (Prod.swap K J ⋙ F) ⋙ lim) k f)) =
      colimit.ι ((curry.obj F).obj j) k (limit.π ((curry.obj (Prod.swap K J ⋙ F)).obj k) j f) 
goal: CategoryTheory.Limits.limit.π (CategoryTheory.curry.obj F ⋙ CategoryTheory.Limits.colim) j
    (CategoryTheory.Limits.colimitLimitToLimitColimit F
      (CategoryTheory.Limits.colimit.ι
        (CategoryTheory.curry.obj (CategoryTheory.Prod.swap K J ⋙ F) ⋙ CategoryTheory.Limits.lim) k f)) =
  CategoryTheory.Limits.colimit.ι ((CategoryTheory.curry.obj F).obj j) k
    (CategoryTheory.Limits.limit.π ((CategoryTheory.curry.obj (CategoryTheory.Prod.swap K J ⋙ F)).obj k) j f)

full_name: CategoryTheory.Limits.colimitLimitToLimitColimitCone
code: /-- The map `colimit_limit_to_limit_colimit` realized as a map of cones. -/
@[simps]
noncomputable def colimitLimitToLimitColimitCone (G : J ⥤ K ⥤ C) [HasLimit G] :
    colim.mapCone (limit.cone G) ⟶ limit.cone (G ⋙ colim) 
goal: CategoryTheory.Limits.colim.mapCone (CategoryTheory.Limits.limit.cone G) ⟶
  CategoryTheory.Limits.limit.cone (G ⋙ CategoryTheory.Limits.colim)

full_name: CategoryTheory.Limits.colimitLimitToLimitColimitCone_hom
code: /-- The map `colimit_limit_to_limit_colimit` realized as a map of cones. -/
@[simps]
noncomputable def colimitLimitToLimitColimitCone (G : J ⥤ K ⥤ C) [HasLimit G] :
    colim.mapCone (limit.cone G) ⟶ limit.cone (G ⋙ colim) 
goal: (CategoryTheory.Limits.colimitLimitToLimitColimitCone G).hom =
  CategoryTheory.Limits.colim.map (CategoryTheory.Limits.limitIsoSwapCompLim G).hom ≫
    CategoryTheory.Limits.colimitLimitToLimitColimit (CategoryTheory.uncurry.obj G) ≫
      CategoryTheory.Limits.lim.map
        (CategoryTheory.whiskerRight (CategoryTheory.currying.unitIso.app G).inv CategoryTheory.Limits.colim)