ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Limits.Types.Quot.desc_toCocone_desc
lemma Quot.desc_toCocone_desc {α : Type u} (f : Quot F → α) (hc : IsColimit c) (x : Quot F) :
    hc.desc (toCocone f) (Quot.desc c x) = f x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} (c : CategoryTheory.Limits.Cocone F) {α : Type u} (f : CategoryTheory.Limits.Types.Quot F → α) (hc : CategoryTheory.Limits.IsColimit c) (x : CategoryTheory.Limits.Types.Quot F)
Goal: hc.desc (CategoryTheory.Limits.Types.toCocone f) (CategoryTheory.Limits.Types.Quot.desc c x) = f x
-- CategoryTheory.Limits.Types.isColimit_iff_bijective_desc
theorem isColimit_iff_bijective_desc : Nonempty (IsColimit c) ↔ (Quot.desc c).Bijective 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} (c : CategoryTheory.Limits.Cocone F)
Goal: Nonempty (CategoryTheory.Limits.IsColimit c) ↔ Function.Bijective (CategoryTheory.Limits.Types.Quot.desc c)
-- CategoryTheory.Limits.Types.colimitCocone_pt
@[simps]
noncomputable def colimitCocone (F : J ⥤ Type u) [Small.{u} (Quot F)] : Cocone F 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [Small.{u, max u v} (CategoryTheory.Limits.Types.Quot F)]
Goal: (CategoryTheory.Limits.Types.colimitCocone F).pt = Shrink.{u, max u v} (CategoryTheory.Limits.Types.Quot F)
-- CategoryTheory.Limits.Types.colimitCocone_ι_app
@[simps]
noncomputable def colimitCocone (F : J ⥤ Type u) [Small.{u} (Quot F)] : Cocone F 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [Small.{u, max u v} (CategoryTheory.Limits.Types.Quot F)] (j : J) (x : F.obj j)
Goal: (CategoryTheory.Limits.Types.colimitCocone F).ι.app j x =
  (equivShrink (CategoryTheory.Limits.Types.Quot F)) (Quot.mk (CategoryTheory.Limits.Types.Quot.Rel F) ⟨j, x⟩)
-- CategoryTheory.Limits.Types.Quot.desc_colimitCocone
@[simp]
theorem Quot.desc_colimitCocone (F : J ⥤ Type u) [Small.{u} (Quot F)] :
    Quot.desc (colimitCocone F) = equivShrink.{u} (Quot F) 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [Small.{u, max u v} (CategoryTheory.Limits.Types.Quot F)]
Goal: CategoryTheory.Limits.Types.Quot.desc (CategoryTheory.Limits.Types.colimitCocone F) =
  ⇑(equivShrink (CategoryTheory.Limits.Types.Quot F))
-- CategoryTheory.Limits.Types.hasColimit_iff_small_quot
theorem hasColimit_iff_small_quot (F : J ⥤ Type u) : HasColimit F ↔ Small.{u} (Quot F) 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u)
Goal: CategoryTheory.Limits.HasColimit F ↔ Small.{u, max u v} (CategoryTheory.Limits.Types.Quot F)
-- CategoryTheory.Limits.Types.small_quot_of_hasColimit
theorem small_quot_of_hasColimit (F : J ⥤ Type u) [HasColimit F] : Small.{u} (Quot F) 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [CategoryTheory.Limits.HasColimit F]
Goal: Small.{u, max u v} (CategoryTheory.Limits.Types.Quot F)
-- CategoryTheory.Limits.Types.TypeMax.colimitCocone_pt
@[simps]
def colimitCocone (F : J ⥤ TypeMax.{v, u}) : Cocone F 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ TypeMax)
Goal: (CategoryTheory.Limits.Types.TypeMax.colimitCocone F).pt = CategoryTheory.Limits.Types.Quot F
-- CategoryTheory.Limits.Types.TypeMax.colimitCocone_ι_app
@[simps]
def colimitCocone (F : J ⥤ TypeMax.{v, u}) : Cocone F 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ TypeMax) (j : J) (x : F.obj j)
Goal: (CategoryTheory.Limits.Types.TypeMax.colimitCocone F).ι.app j x =
  Quot.mk (CategoryTheory.Limits.Types.Quot.Rel F) ⟨j, x⟩
-- CategoryTheory.Limits.Types.colimitEquivQuot_symm_apply
@[simp]
theorem colimitEquivQuot_symm_apply (j : J) (x : F.obj j) :
    (colimitEquivQuot F).symm (Quot.mk _ ⟨j, x⟩) = colimit.ι F j x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [CategoryTheory.Limits.HasColimit F] (j : J) (x : F.obj j)
Goal: (CategoryTheory.Limits.Types.colimitEquivQuot F).symm (Quot.mk (CategoryTheory.Limits.Types.Quot.Rel F) ⟨j, x⟩) =
  CategoryTheory.Limits.colimit.ι F j x
-- CategoryTheory.Limits.Types.colimitEquivQuot_apply
@[simp]
theorem colimitEquivQuot_apply (j : J) (x : F.obj j) :
    (colimitEquivQuot F) (colimit.ι F j x) = Quot.mk _ ⟨j, x⟩ 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [CategoryTheory.Limits.HasColimit F] (j : J) (x : F.obj j)
Goal: (CategoryTheory.Limits.Types.colimitEquivQuot F) (CategoryTheory.Limits.colimit.ι F j x) =
  Quot.mk (CategoryTheory.Limits.Types.Quot.Rel F) ⟨j, x⟩
-- CategoryTheory.Limits.Types.Colimit.w_apply
theorem Colimit.w_apply {j j' : J} {x : F.obj j} (f : j ⟶ j') :
    colimit.ι F j' (F.map f x) = colimit.ι F j x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} [CategoryTheory.Limits.HasColimit F] {j j' : J} {x : F.obj j} (f : j ⟶ j')
Goal: CategoryTheory.Limits.colimit.ι F j' (F.map f x) = CategoryTheory.Limits.colimit.ι F j x
-- CategoryTheory.Limits.Types.Colimit.ι_desc_apply
theorem Colimit.ι_desc_apply (s : Cocone F) (j : J) (x : F.obj j) :
    colimit.desc F s (colimit.ι F j x) = s.ι.app j x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) [CategoryTheory.Limits.HasColimit F] (s : CategoryTheory.Limits.Cocone F) (j : J) (x : F.obj j)
Goal: CategoryTheory.Limits.colimit.desc F s (CategoryTheory.Limits.colimit.ι F j x) = s.ι.app j x
-- CategoryTheory.Limits.Types.Colimit.ι_map_apply
theorem Colimit.ι_map_apply {F G : J ⥤ Type u} [HasColimitsOfShape J (Type u)] (α : F ⟶ G) (j : J)
    (x : F.obj j) : colim.map α (colimit.ι F j x) = colimit.ι G j (α.app j x) 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F G : J ⥤ Type u} [CategoryTheory.Limits.HasColimitsOfShape J (Type u)] (α : F ⟶ G) (j : J) (x : F.obj j)
Goal: CategoryTheory.Limits.colim.map α (CategoryTheory.Limits.colimit.ι F j x) =
  CategoryTheory.Limits.colimit.ι G j (α.app j x)
-- CategoryTheory.Limits.Types.Colimit.w_apply'
@[simp]
theorem Colimit.w_apply' {F : J ⥤ Type v} {j j' : J} {x : F.obj j} (f : j ⟶ j') :
    colimit.ι F j' (F.map f x) = colimit.ι F j x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type v} {j j' : J} {x : F.obj j} (f : j ⟶ j')
Goal: CategoryTheory.Limits.colimit.ι F j' (F.map f x) = CategoryTheory.Limits.colimit.ι F j x
-- CategoryTheory.Limits.Types.Colimit.ι_desc_apply'
@[simp]
theorem Colimit.ι_desc_apply' (F : J ⥤ Type v) (s : Cocone F) (j : J) (x : F.obj j) :
    colimit.desc F s (colimit.ι F j x) = s.ι.app j x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type v) (s : CategoryTheory.Limits.Cocone F) (j : J) (x : F.obj j)
Goal: CategoryTheory.Limits.colimit.desc F s (CategoryTheory.Limits.colimit.ι F j x) = s.ι.app j x
-- CategoryTheory.Limits.Types.Colimit.ι_map_apply'
@[simp]
theorem Colimit.ι_map_apply' {F G : J ⥤ Type v} (α : F ⟶ G) (j : J) (x) :
    colim.map α (colimit.ι F j x) = colimit.ι G j (α.app j x) 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F G : J ⥤ Type v} (α : F ⟶ G) (j : J) (x : F.obj j)
Goal: CategoryTheory.Limits.colim.map α (CategoryTheory.Limits.colimit.ι F j x) =
  CategoryTheory.Limits.colimit.ι G j (α.app j x)
-- CategoryTheory.Limits.Types.colimit_sound
theorem colimit_sound {j j' : J} {x : F.obj j} {x' : F.obj j'} (f : j ⟶ j')
    (w : F.map f x = x') : colimit.ι F j x = colimit.ι F j' x' 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} [CategoryTheory.Limits.HasColimit F] {j j' : J} {x : F.obj j} {x' : F.obj j'} (f : j ⟶ j') (w : F.map f x = x')
Goal: CategoryTheory.Limits.colimit.ι F j x = CategoryTheory.Limits.colimit.ι F j' x'
-- CategoryTheory.Limits.Types.colimit_sound'
theorem colimit_sound' {j j' : J} {x : F.obj j} {x' : F.obj j'} {j'' : J}
    (f : j ⟶ j'') (f' : j' ⟶ j'') (w : F.map f x = F.map f' x') :
    colimit.ι F j x = colimit.ι F j' x' 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} [CategoryTheory.Limits.HasColimit F] {j j' : J} {x : F.obj j} {x' : F.obj j'} {j'' : J} (f : j ⟶ j'') (f' : j' ⟶ j'') (w : F.map f x = F.map f' x')
Goal: CategoryTheory.Limits.colimit.ι F j x = CategoryTheory.Limits.colimit.ι F j' x'
-- CategoryTheory.Limits.Types.colimit_eq
theorem colimit_eq {j j' : J} {x : F.obj j} {x' : F.obj j'}
    (w : colimit.ι F j x = colimit.ι F j' x') :
      EqvGen (Quot.Rel F) ⟨j, x⟩ ⟨j', x'⟩ 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} [CategoryTheory.Limits.HasColimit F] {j j' : J} {x : F.obj j} {x' : F.obj j'} (w : CategoryTheory.Limits.colimit.ι F j x = CategoryTheory.Limits.colimit.ι F j' x')
Goal: EqvGen (CategoryTheory.Limits.Types.Quot.Rel F) ⟨j, x⟩ ⟨j', x'⟩
-- CategoryTheory.Limits.Types.jointly_surjective_of_isColimit
theorem jointly_surjective_of_isColimit {F : J ⥤ Type u} {t : Cocone F} (h : IsColimit t)
    (x : t.pt) : ∃ j y, t.ι.app j y = x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} {t : CategoryTheory.Limits.Cocone F} (h : CategoryTheory.Limits.IsColimit t) (x : t.pt)
Goal: ∃ j y, t.ι.app j y = x
-- CategoryTheory.Limits.Types.jointly_surjective
theorem jointly_surjective (F : J ⥤ Type u) {t : Cocone F} (h : IsColimit t) (x : t.pt) :
    ∃ j y, t.ι.app j y = x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] (F : J ⥤ Type u) {t : CategoryTheory.Limits.Cocone F} (h : CategoryTheory.Limits.IsColimit t) (x : t.pt)
Goal: ∃ j y, t.ι.app j y = x
-- CategoryTheory.Limits.Types.jointly_surjective'
theorem jointly_surjective' (x : colimit F) :
    ∃ j y, colimit.ι F j y = x 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} [CategoryTheory.Limits.HasColimit F] (x : CategoryTheory.Limits.colimit F)
Goal: ∃ j y, CategoryTheory.Limits.colimit.ι F j y = x
-- CategoryTheory.Limits.Types.nonempty_of_nonempty_colimit
theorem nonempty_of_nonempty_colimit {F : J ⥤ Type u} [HasColimit F] :
    Nonempty (colimit F) → Nonempty J 
Arguments: {J : Type v} [CategoryTheory.Category.{w, v} J] {F : J ⥤ Type u} [CategoryTheory.Limits.HasColimit F]
Goal: Nonempty (CategoryTheory.Limits.colimit F) → Nonempty J
-- CategoryTheory.Limits.Types.Image.lift_fac
theorem Image.lift_fac (F' : MonoFactorisation f) : Image.lift F' ≫ F'.m = Image.ι f 
Arguments: {α β : Type u} {f : α ⟶ β} (F' : CategoryTheory.Limits.MonoFactorisation f)
Goal: CategoryTheory.Limits.Types.Image.lift F' ≫ F'.m = CategoryTheory.Limits.Types.Image.ι f
-- CategoryTheory.Limits.Types.surjective_π_app_zero_of_surjective_map_aux
lemma surjective_π_app_zero_of_surjective_map_aux :
    Function.Surjective ((limitCone F).π.app ⟨0⟩) 
Arguments: {F : ℕᵒᵖ ⥤ Type u} (hF : ∀ (n : ℕ), Function.Surjective (F.map (CategoryTheory.homOfLE ⋯).op))
Goal: Function.Surjective ((CategoryTheory.Limits.Types.limitCone F).π.app (Opposite.op 0))
-- CategoryTheory.Limits.Types.surjective_π_app_zero_of_surjective_map
lemma surjective_π_app_zero_of_surjective_map
    (hc : IsLimit c)
    (hF : ∀ n, Function.Surjective (F.map (homOfLE (Nat.le_succ n)).op)) :
    Function.Surjective (c.π.app ⟨0⟩) 
Arguments: {F : ℕᵒᵖ ⥤ Type u} {c : CategoryTheory.Limits.Cone F} (hc : CategoryTheory.Limits.IsLimit c) (hF : ∀ (n : ℕ), Function.Surjective (F.map (CategoryTheory.homOfLE ⋯).op))
Goal: Function.Surjective (c.π.app (Opposite.op 0))
-- CategoryTheory.Limits.compCoyonedaSectionsEquiv_apply_app
@[simps]
def compCoyonedaSectionsEquiv (F : J ⥤ C) (X : C) :
    (F ⋙ coyoneda.obj (op X)).sections ≃ ((const J).obj X ⟶ F) 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] (F : J ⥤ C) (X : C) (s : ↑(F ⋙ CategoryTheory.coyoneda.obj (Opposite.op X)).sections) (j : J)
Goal: ((CategoryTheory.Limits.compCoyonedaSectionsEquiv F X) s).app j = ↑s j
-- CategoryTheory.Limits.compCoyonedaSectionsEquiv_symm_apply_coe
@[simps]
def compCoyonedaSectionsEquiv (F : J ⥤ C) (X : C) :
    (F ⋙ coyoneda.obj (op X)).sections ≃ ((const J).obj X ⟶ F) 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] (F : J ⥤ C) (X : C) (τ : (CategoryTheory.Functor.const J).obj X ⟶ F)
Goal: ∀ (X_1 : J), ↑((CategoryTheory.Limits.compCoyonedaSectionsEquiv F X).symm τ) X_1 = τ.app X_1
-- CategoryTheory.Limits.opCompYonedaSectionsEquiv_symm_apply_coe
@[simps]
def opCompYonedaSectionsEquiv (F : J ⥤ C) (X : C) :
    (F.op ⋙ yoneda.obj X).sections ≃ (F ⟶ (const J).obj X) 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] (F : J ⥤ C) (X : C) (τ : F ⟶ (CategoryTheory.Functor.const J).obj X) (j : Jᵒᵖ)
Goal: ↑((CategoryTheory.Limits.opCompYonedaSectionsEquiv F X).symm τ) j = τ.app (Opposite.unop j)
-- CategoryTheory.Limits.opCompYonedaSectionsEquiv_apply_app
@[simps]
def opCompYonedaSectionsEquiv (F : J ⥤ C) (X : C) :
    (F.op ⋙ yoneda.obj X).sections ≃ (F ⟶ (const J).obj X) 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] (F : J ⥤ C) (X : C) (s : ↑(F.op ⋙ CategoryTheory.yoneda.obj X).sections) (j : J)
Goal: ((CategoryTheory.Limits.opCompYonedaSectionsEquiv F X) s).app j = ↑s (Opposite.op j)
-- CategoryTheory.Limits.compYonedaSectionsEquiv_apply_app
@[simps]
def compYonedaSectionsEquiv (F : J ⥤ Cᵒᵖ) (X : C) :
    (F ⋙ yoneda.obj X).sections ≃ ((const J).obj (op X) ⟶ F) 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] (F : J ⥤ Cᵒᵖ) (X : C) (s : ↑(F ⋙ CategoryTheory.yoneda.obj X).sections) (j : J)
Goal: ((CategoryTheory.Limits.compYonedaSectionsEquiv F X) s).app j = Quiver.Hom.op (↑s j)
-- CategoryTheory.Limits.compYonedaSectionsEquiv_symm_apply_coe
@[simps]
def compYonedaSectionsEquiv (F : J ⥤ Cᵒᵖ) (X : C) :
    (F ⋙ yoneda.obj X).sections ≃ ((const J).obj (op X) ⟶ F) 
Arguments: {J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{u_3, u_1} J] [CategoryTheory.Category.{u_4, u_2} C] (F : J ⥤ Cᵒᵖ) (X : C) (τ : (CategoryTheory.Functor.const J).obj (Opposite.op X) ⟶ F) (j : J)
Goal: ↑((CategoryTheory.Limits.compYonedaSectionsEquiv F X).symm τ) j = (τ.app j).unop
-- CategoryTheory.Limits.limitCompCoyonedaIsoCone_hom_app
@[simps!]
noncomputable def limitCompCoyonedaIsoCone (F : J ⥤ C) (X : C) :
    limit (F ⋙ coyoneda.obj (op X)) ≅ ((const J).obj X ⟶ F) 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : C)
Goal: ∀ (a : CategoryTheory.Limits.limit (F ⋙ CategoryTheory.coyoneda.obj (Opposite.op X))) (j : J),
  ((CategoryTheory.Limits.limitCompCoyonedaIsoCone F X).hom a).app j =
    CategoryTheory.Limits.limit.π (F ⋙ CategoryTheory.coyoneda.obj (Opposite.op X)) j a
-- CategoryTheory.Limits.limitCompCoyonedaIsoCone_inv
@[simps!]
noncomputable def limitCompCoyonedaIsoCone (F : J ⥤ C) (X : C) :
    limit (F ⋙ coyoneda.obj (op X)) ≅ ((const J).obj X ⟶ F) 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : C)
Goal: ∀ (a : (CategoryTheory.Functor.const J).obj X ⟶ F),
  (CategoryTheory.Limits.limitCompCoyonedaIsoCone F X).inv a =
    (CategoryTheory.Limits.Types.limitEquivSections (F ⋙ CategoryTheory.coyoneda.obj (Opposite.op X))).symm
      ((CategoryTheory.Limits.compCoyonedaSectionsEquiv F X).symm a)
-- CategoryTheory.Limits.coyonedaCompLimIsoCones_inv_app
@[simps!]
noncomputable def coyonedaCompLimIsoCones (F : J ⥤ C) :
    coyoneda ⋙ (whiskeringLeft _ _ _).obj F ⋙ lim ≅ F.cones 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : Cᵒᵖ)
Goal: ∀ (a : F.cones.obj X),
  (CategoryTheory.Limits.coyonedaCompLimIsoCones F).inv.app X a =
    (CategoryTheory.Limits.Types.limitEquivSections (F ⋙ CategoryTheory.coyoneda.obj X)).symm
      ((CategoryTheory.Limits.compCoyonedaSectionsEquiv F (Opposite.unop X)).symm a)
-- CategoryTheory.Limits.coyonedaCompLimIsoCones_hom_app_app
@[simps!]
noncomputable def coyonedaCompLimIsoCones (F : J ⥤ C) :
    coyoneda ⋙ (whiskeringLeft _ _ _).obj F ⋙ lim ≅ F.cones 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : Cᵒᵖ)
Goal: ∀ (a : (CategoryTheory.coyoneda ⋙ (CategoryTheory.whiskeringLeft J C (Type v)).obj F ⋙ CategoryTheory.Limits.lim).obj X)
  (j : J),
  ((CategoryTheory.Limits.coyonedaCompLimIsoCones F).hom.app X a).app j =
    CategoryTheory.Limits.limit.π (F ⋙ CategoryTheory.coyoneda.obj X) j a
-- CategoryTheory.Limits.whiskeringLimYonedaIsoCones_inv_app_app
@[simps!]
noncomputable def whiskeringLimYonedaIsoCones : whiskeringLeft _ _ _ ⋙
    (whiskeringRight _ _ _).obj lim ⋙ (whiskeringLeft _ _ _).obj coyoneda ≅ cones J C 
Arguments: (J : Type v) [CategoryTheory.SmallCategory J] (C : Type u) [CategoryTheory.Category.{v, u} C] (X : J ⥤ C)
Goal: ∀ (X_1 : Cᵒᵖ) (a : X.cones.obj X_1),
  ((CategoryTheory.Limits.whiskeringLimYonedaIsoCones J C).inv.app X).app X_1 a =
    (CategoryTheory.Limits.Types.limitEquivSections (X ⋙ CategoryTheory.coyoneda.obj X_1)).symm
      ((CategoryTheory.Limits.compCoyonedaSectionsEquiv X (Opposite.unop X_1)).symm a)
-- CategoryTheory.Limits.whiskeringLimYonedaIsoCones_hom_app_app_app
@[simps!]
noncomputable def whiskeringLimYonedaIsoCones : whiskeringLeft _ _ _ ⋙
    (whiskeringRight _ _ _).obj lim ⋙ (whiskeringLeft _ _ _).obj coyoneda ≅ cones J C 
Arguments: (J : Type v) [CategoryTheory.SmallCategory J] (C : Type u) [CategoryTheory.Category.{v, u} C] (X : J ⥤ C)
Goal: ∀ (X_1 : Cᵒᵖ)
  (a :
    (CategoryTheory.coyoneda ⋙ (CategoryTheory.whiskeringLeft J C (Type v)).obj X ⋙ CategoryTheory.Limits.lim).obj X_1)
  (j : J),
  (((CategoryTheory.Limits.whiskeringLimYonedaIsoCones J C).hom.app X).app X_1 a).app j =
    CategoryTheory.Limits.limit.π (X ⋙ CategoryTheory.coyoneda.obj X_1) j a
-- CategoryTheory.Limits.limitCompYonedaIsoCocone_inv
@[simps!]
noncomputable def limitCompYonedaIsoCocone (F : J ⥤ C) (X : C) :
    limit (F.op ⋙ yoneda.obj X) ≅ (F ⟶ (const J).obj X) 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : C)
Goal: ∀ (a : F ⟶ (CategoryTheory.Functor.const J).obj X),
  (CategoryTheory.Limits.limitCompYonedaIsoCocone F X).inv a =
    (CategoryTheory.Limits.Types.limitEquivSections (F.op ⋙ CategoryTheory.yoneda.obj X)).symm
      ((CategoryTheory.Limits.opCompYonedaSectionsEquiv F X).symm a)
-- CategoryTheory.Limits.limitCompYonedaIsoCocone_hom_app
@[simps!]
noncomputable def limitCompYonedaIsoCocone (F : J ⥤ C) (X : C) :
    limit (F.op ⋙ yoneda.obj X) ≅ (F ⟶ (const J).obj X) 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : C)
Goal: ∀ (a : CategoryTheory.Limits.limit (F.op ⋙ CategoryTheory.yoneda.obj X)) (j : J),
  ((CategoryTheory.Limits.limitCompYonedaIsoCocone F X).hom a).app j =
    CategoryTheory.Limits.limit.π (F.op ⋙ CategoryTheory.yoneda.obj X) (Opposite.op j) a
-- CategoryTheory.Limits.yonedaCompLimIsoCocones_inv_app
@[simps!]
noncomputable def yonedaCompLimIsoCocones (F : J ⥤ C) :
    yoneda ⋙ (whiskeringLeft _ _ _).obj F.op ⋙ lim ≅ F.cocones 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : C)
Goal: ∀ (a : F.cocones.obj X),
  (CategoryTheory.Limits.yonedaCompLimIsoCocones F).inv.app X a =
    (CategoryTheory.Limits.Types.limitEquivSections (F.op ⋙ CategoryTheory.yoneda.obj X)).symm
      ((CategoryTheory.Limits.opCompYonedaSectionsEquiv F X).symm a)
-- CategoryTheory.Limits.yonedaCompLimIsoCocones_hom_app_app
@[simps!]
noncomputable def yonedaCompLimIsoCocones (F : J ⥤ C) :
    yoneda ⋙ (whiskeringLeft _ _ _).obj F.op ⋙ lim ≅ F.cocones 
Arguments: {J : Type v} [CategoryTheory.SmallCategory J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ C) (X : C)
Goal: ∀
  (a :
    (CategoryTheory.yoneda ⋙ (CategoryTheory.whiskeringLeft Jᵒᵖ Cᵒᵖ (Type v)).obj F.op ⋙ CategoryTheory.Limits.lim).obj
      X)
  (j : J),
  ((CategoryTheory.Limits.yonedaCompLimIsoCocones F).hom.app X a).app j =
    CategoryTheory.Limits.limit.π (F.op ⋙ CategoryTheory.yoneda.obj X) (Opposite.op j) a
-- CategoryTheory.Limits.opHomCompWhiskeringLimYonedaIsoCocones_hom_app_app_app
@[simps!]
noncomputable def opHomCompWhiskeringLimYonedaIsoCocones : opHom _ _ ⋙ whiskeringLeft _ _ _ ⋙
      (whiskeringRight _ _ _).obj lim ⋙ (whiskeringLeft _ _ _).obj yoneda ≅ cocones J C 
Arguments: (J : Type v) [CategoryTheory.SmallCategory J] (C : Type u) [CategoryTheory.Category.{v, u} C] (X : (J ⥤ C)ᵒᵖ)
Goal: ∀ (X_1 : C)
  (a :
    (CategoryTheory.yoneda ⋙
          (CategoryTheory.whiskeringLeft Jᵒᵖ Cᵒᵖ (Type v)).obj (Opposite.unop X).op ⋙ CategoryTheory.Limits.lim).obj
      X_1)
  (j : J),
  (((CategoryTheory.Limits.opHomCompWhiskeringLimYonedaIsoCocones J C).hom.app X).app X_1 a).app j =
    CategoryTheory.Limits.limit.π ((Opposite.unop X).op ⋙ CategoryTheory.yoneda.obj X_1) (Opposite.op j) a
-- CategoryTheory.Limits.opHomCompWhiskeringLimYonedaIsoCocones_inv_app_app
@[simps!]
noncomputable def opHomCompWhiskeringLimYonedaIsoCocones : opHom _ _ ⋙ whiskeringLeft _ _ _ ⋙
      (whiskeringRight _ _ _).obj lim ⋙ (whiskeringLeft _ _ _).obj yoneda ≅ cocones J C 
Arguments: (J : Type v) [CategoryTheory.SmallCategory J] (C : Type u) [CategoryTheory.Category.{v, u} C] (X : (J ⥤ C)ᵒᵖ)
Goal: ∀ (X_1 : C) (a : (Opposite.unop X).cocones.obj X_1),
  ((CategoryTheory.Limits.opHomCompWhiskeringLimYonedaIsoCocones J C).inv.app X).app X_1 a =
    (CategoryTheory.Limits.Types.limitEquivSections ((Opposite.unop X).op ⋙ CategoryTheory.yoneda.obj X_1)).symm
      ((CategoryTheory.Limits.opCompYonedaSectionsEquiv (Opposite.unop X) X_1).symm a)
-- CategoryTheory.biconeCategoryStruct_id
@[simps]
instance biconeCategoryStruct : CategoryStruct (Bicone J) 
Arguments: (J : Type u₁) [CategoryTheory.Category.{v₁, u₁} J] (j : CategoryTheory.Bicone J)
Goal: CategoryTheory.CategoryStruct.id j =
  CategoryTheory.Bicone.casesOn j CategoryTheory.BiconeHom.left_id CategoryTheory.BiconeHom.right_id fun k =>
    CategoryTheory.BiconeHom.diagram (CategoryTheory.CategoryStruct.id k)
-- CategoryTheory.biconeCategoryStruct_Hom
@[simps]
instance biconeCategoryStruct : CategoryStruct (Bicone J) 
Arguments: (J : Type u₁) [CategoryTheory.Category.{v₁, u₁} J]
Goal: ∀ (a a_1 : CategoryTheory.Bicone J), (a ⟶ a_1) = CategoryTheory.BiconeHom J a a_1
-- CategoryTheory.biconeMk_obj
@[simps]
def biconeMk {C : Type u₁} [Category.{v₁} C] {F : J ⥤ C} (c₁ c₂ : Cone F) : Bicone J ⥤ C 
Arguments: (J : Type v₁) [CategoryTheory.SmallCategory J] {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {F : CategoryTheory.Functor J C} (c₁ c₂ : CategoryTheory.Limits.Cone F) (X : CategoryTheory.Bicone J)
Goal: (CategoryTheory.biconeMk J c₁ c₂).obj X = CategoryTheory.Bicone.casesOn X c₁.pt c₂.pt fun j => F.obj j
-- CategoryTheory.Limits.Concrete.productEquiv_apply_apply
@[simp]
lemma productEquiv_apply_apply (x : (forget C).obj (∏ᶜ F)) (j : J) :
    productEquiv F x j = Pi.π F j x 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {J : Type w} (F : J → C) [CategoryTheory.Limits.HasProduct F] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor F) (CategoryTheory.forget C)] (x : (CategoryTheory.forget C).obj (∏ᶜ F)) (j : J)
Goal: (CategoryTheory.Limits.Concrete.productEquiv F) x j = (CategoryTheory.Limits.Pi.π F j) x
-- CategoryTheory.Limits.Concrete.productEquiv_symm_apply_π
@[simp]
lemma productEquiv_symm_apply_π (x : ∀ j, F j) (j : J) :
    Pi.π F j ((productEquiv F).symm x) = x j 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.ConcreteCategory C] {J : Type w} (F : J → C) [CategoryTheory.Limits.HasProduct F] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor F) (CategoryTheory.forget C)] (x : (j : J) → (CategoryTheory.forget C).obj (F j)) (j : J)
Goal: (CategoryTheory.Limits.Pi.π F j) ((CategoryTheory.Limits.Concrete.productEquiv F).symm x) = x j