ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Limits.coprod.triangle
theorem coprod.triangle (X Y : C) :
    (coprod.associator X (⊥_ C) Y).hom ≫ coprod.map (𝟙 X) (coprod.leftUnitor Y).hom =
      coprod.map (coprod.rightUnitor X).hom (𝟙 Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] [CategoryTheory.Limits.HasInitial C] (X Y : C)
Goal: (CategoryTheory.Limits.coprod.associator X (⊥_ C) Y).hom ≫
    CategoryTheory.Limits.coprod.map (𝟙 X) (CategoryTheory.Limits.coprod.leftUnitor Y).hom =
  CategoryTheory.Limits.coprod.map (CategoryTheory.Limits.coprod.rightUnitor X).hom (𝟙 Y)
-- CategoryTheory.Limits.prod.functor_map_app
@[simps]
def prod.functor : C ⥤ C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C]
Goal: ∀ {X Y : C} (f : X ⟶ Y) (T : C),
  (CategoryTheory.Limits.prod.functor.map f).app T = CategoryTheory.Limits.prod.map f (𝟙 T)
-- CategoryTheory.Limits.prod.functor_obj_obj
@[simps]
def prod.functor : C ⥤ C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] (X Y : C)
Goal: (CategoryTheory.Limits.prod.functor.obj X).obj Y = (X ⨯ Y)
-- CategoryTheory.Limits.prod.functor_obj_map
@[simps]
def prod.functor : C ⥤ C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] (X : C) {Y Z : C} (g : Y ⟶ Z)
Goal: (CategoryTheory.Limits.prod.functor.obj X).map g = CategoryTheory.Limits.prod.map (𝟙 X) g
-- CategoryTheory.Limits.coprod.functor_obj_map
@[simps]
def coprod.functor : C ⥤ C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] (X : C) {Y Z : C} (g : Y ⟶ Z)
Goal: (CategoryTheory.Limits.coprod.functor.obj X).map g = CategoryTheory.Limits.coprod.map (𝟙 X) g
-- CategoryTheory.Limits.coprod.functor_obj_obj
@[simps]
def coprod.functor : C ⥤ C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] (X Y : C)
Goal: (CategoryTheory.Limits.coprod.functor.obj X).obj Y = (X ⨿ Y)
-- CategoryTheory.Limits.coprod.functor_map_app
@[simps]
def coprod.functor : C ⥤ C ⥤ C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C]
Goal: ∀ {X Y : C} (f : X ⟶ Y) (T : C),
  (CategoryTheory.Limits.coprod.functor.map f).app T = CategoryTheory.Limits.coprod.map f (𝟙 T)
-- CategoryTheory.Limits.prodComparison_fst
@[reassoc (attr := simp)]
theorem prodComparison_fst : prodComparison F A B ≫ prod.fst = F.map prod.fst 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) (A B : C) [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)]
Goal: CategoryTheory.Limits.prodComparison F A B ≫ CategoryTheory.Limits.prod.fst = F.map CategoryTheory.Limits.prod.fst
-- CategoryTheory.Limits.prodComparison_snd
@[reassoc (attr := simp)]
theorem prodComparison_snd : prodComparison F A B ≫ prod.snd = F.map prod.snd 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) (A B : C) [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)]
Goal: CategoryTheory.Limits.prodComparison F A B ≫ CategoryTheory.Limits.prod.snd = F.map CategoryTheory.Limits.prod.snd
-- CategoryTheory.Limits.prodComparison_natural
@[reassoc]
theorem prodComparison_natural (f : A ⟶ A') (g : B ⟶ B') :
    F.map (prod.map f g) ≫ prodComparison F A' B' =
      prodComparison F A B ≫ prod.map (F.map f) (F.map g) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct A' B'] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (F.obj A') (F.obj B')] (f : A ⟶ A') (g : B ⟶ B')
Goal: F.map (CategoryTheory.Limits.prod.map f g) ≫ CategoryTheory.Limits.prodComparison F A' B' =
  CategoryTheory.Limits.prodComparison F A B ≫ CategoryTheory.Limits.prod.map (F.map f) (F.map g)
-- CategoryTheory.Limits.prodComparisonNatTrans_app
@[simps]
def prodComparisonNatTrans [HasBinaryProducts C] [HasBinaryProducts D] (F : C ⥤ D) (A : C) :
    prod.functor.obj A ⋙ F ⟶ F ⋙ prod.functor.obj (F.obj A) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasBinaryProducts D] (F : C ⥤ D) (A B : C)
Goal: (CategoryTheory.Limits.prodComparisonNatTrans F A).app B = CategoryTheory.Limits.prodComparison F A B
-- CategoryTheory.Limits.inv_prodComparison_map_fst
@[reassoc]
theorem inv_prodComparison_map_fst [IsIso (prodComparison F A B)] :
    inv (prodComparison F A B) ≫ F.map prod.fst = prod.fst 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A B : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)]
Goal: CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A B) ≫ F.map CategoryTheory.Limits.prod.fst =
  CategoryTheory.Limits.prod.fst
-- CategoryTheory.Limits.inv_prodComparison_map_snd
@[reassoc]
theorem inv_prodComparison_map_snd [IsIso (prodComparison F A B)] :
    inv (prodComparison F A B) ≫ F.map prod.snd = prod.snd 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A B : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)]
Goal: CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A B) ≫ F.map CategoryTheory.Limits.prod.snd =
  CategoryTheory.Limits.prod.snd
-- CategoryTheory.Limits.prodComparison_inv_natural
@[reassoc]
theorem prodComparison_inv_natural (f : A ⟶ A') (g : B ⟶ B') [IsIso (prodComparison F A B)]
    [IsIso (prodComparison F A' B')] :
    inv (prodComparison F A B) ≫ F.map (prod.map f g) =
      prod.map (F.map f) (F.map g) ≫ inv (prodComparison F A' B') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct A' B'] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (F.obj A') (F.obj B')] (f : A ⟶ A') (g : B ⟶ B') [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)] [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A' B')]
Goal: CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A B) ≫ F.map (CategoryTheory.Limits.prod.map f g) =
  CategoryTheory.Limits.prod.map (F.map f) (F.map g) ≫ CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A' B')
-- CategoryTheory.Limits.prodComparisonNatIso_hom
-- @[simps (config := { rhsMd := semireducible })] -- Porting note: no config for semireducible
@[simps]
def prodComparisonNatIso [HasBinaryProducts C] [HasBinaryProducts D] (A : C)
    [∀ B, IsIso (prodComparison F A B)] :
    prod.functor.obj A ⋙ F ≅ F ⋙ prod.functor.obj (F.obj A) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasBinaryProducts D] (A : C) [∀ (B : C), CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)]
Goal: (CategoryTheory.Limits.prodComparisonNatIso F A).hom = CategoryTheory.Limits.prodComparisonNatTrans F A
-- CategoryTheory.Limits.prodComparisonNatIso_inv
-- @[simps (config := { rhsMd := semireducible })] -- Porting note: no config for semireducible
@[simps]
def prodComparisonNatIso [HasBinaryProducts C] [HasBinaryProducts D] (A : C)
    [∀ B, IsIso (prodComparison F A B)] :
    prod.functor.obj A ⋙ F ≅ F ⋙ prod.functor.obj (F.obj A) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasBinaryProducts D] (A : C) [∀ (B : C), CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)]
Goal: (CategoryTheory.Limits.prodComparisonNatIso F A).inv =
  (CategoryTheory.asIso { app := fun B => CategoryTheory.Limits.prodComparison F A B, naturality := ⋯ }).inv
-- CategoryTheory.Limits.prodComparison_comp
theorem prodComparison_comp :
    prodComparison (F ⋙ G) A B =
      G.map (prodComparison F A B) ≫ prodComparison G (F.obj A) (F.obj B) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] {E : Type u₃} [CategoryTheory.Category.{w', u₃} E] (F : C ⥤ D) (G : D ⥤ E) {A B : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (G.obj (F.obj A)) (G.obj (F.obj B))] [CategoryTheory.Limits.HasBinaryProduct ((F ⋙ G).obj A) ((F ⋙ G).obj B)]
Goal: CategoryTheory.Limits.prodComparison (F ⋙ G) A B =
  G.map (CategoryTheory.Limits.prodComparison F A B) ≫ CategoryTheory.Limits.prodComparison G (F.obj A) (F.obj B)
-- CategoryTheory.Limits.coprodComparison_inl
@[reassoc (attr := simp)]
theorem coprodComparison_inl : coprod.inl ≫ coprodComparison F A B = F.map coprod.inl 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A B : C} [CategoryTheory.Limits.HasBinaryCoproduct A B] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A) (F.obj B)]
Goal: CategoryTheory.Limits.coprod.inl ≫ CategoryTheory.Limits.coprodComparison F A B = F.map CategoryTheory.Limits.coprod.inl
-- CategoryTheory.Limits.coprodComparison_inr
@[reassoc (attr := simp)]
theorem coprodComparison_inr : coprod.inr ≫ coprodComparison F A B = F.map coprod.inr 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A B : C} [CategoryTheory.Limits.HasBinaryCoproduct A B] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A) (F.obj B)]
Goal: CategoryTheory.Limits.coprod.inr ≫ CategoryTheory.Limits.coprodComparison F A B = F.map CategoryTheory.Limits.coprod.inr
-- CategoryTheory.Limits.coprodComparison_natural
@[reassoc]
theorem coprodComparison_natural (f : A ⟶ A') (g : B ⟶ B') :
    coprodComparison F A B ≫ F.map (coprod.map f g) =
      coprod.map (F.map f) (F.map g) ≫ coprodComparison F A' B' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryCoproduct A B] [CategoryTheory.Limits.HasBinaryCoproduct A' B'] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A') (F.obj B')] (f : A ⟶ A') (g : B ⟶ B')
Goal: CategoryTheory.Limits.coprodComparison F A B ≫ F.map (CategoryTheory.Limits.coprod.map f g) =
  CategoryTheory.Limits.coprod.map (F.map f) (F.map g) ≫ CategoryTheory.Limits.coprodComparison F A' B'
-- CategoryTheory.Limits.coprodComparisonNatTrans_app
@[simps]
def coprodComparisonNatTrans [HasBinaryCoproducts C] [HasBinaryCoproducts D] (F : C ⥤ D) (A : C) :
    F ⋙ coprod.functor.obj (F.obj A) ⟶ coprod.functor.obj A ⋙ F 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] [CategoryTheory.Limits.HasBinaryCoproducts C] [CategoryTheory.Limits.HasBinaryCoproducts D] (F : C ⥤ D) (A B : C)
Goal: (CategoryTheory.Limits.coprodComparisonNatTrans F A).app B = CategoryTheory.Limits.coprodComparison F A B
-- CategoryTheory.Limits.map_inl_inv_coprodComparison
@[reassoc]
theorem map_inl_inv_coprodComparison [IsIso (coprodComparison F A B)] :
    F.map coprod.inl ≫ inv (coprodComparison F A B) = coprod.inl 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A B : C} [CategoryTheory.Limits.HasBinaryCoproduct A B] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A) (F.obj B)] [CategoryTheory.IsIso (CategoryTheory.Limits.coprodComparison F A B)]
Goal: F.map CategoryTheory.Limits.coprod.inl ≫ CategoryTheory.inv (CategoryTheory.Limits.coprodComparison F A B) =
  CategoryTheory.Limits.coprod.inl
-- CategoryTheory.Limits.map_inr_inv_coprodComparison
@[reassoc]
theorem map_inr_inv_coprodComparison [IsIso (coprodComparison F A B)] :
    F.map coprod.inr ≫ inv (coprodComparison F A B) = coprod.inr 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A B : C} [CategoryTheory.Limits.HasBinaryCoproduct A B] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A) (F.obj B)] [CategoryTheory.IsIso (CategoryTheory.Limits.coprodComparison F A B)]
Goal: F.map CategoryTheory.Limits.coprod.inr ≫ CategoryTheory.inv (CategoryTheory.Limits.coprodComparison F A B) =
  CategoryTheory.Limits.coprod.inr
-- CategoryTheory.Limits.coprodComparison_inv_natural
@[reassoc]
theorem coprodComparison_inv_natural (f : A ⟶ A') (g : B ⟶ B') [IsIso (coprodComparison F A B)]
    [IsIso (coprodComparison F A' B')] :
    inv (coprodComparison F A B) ≫ coprod.map (F.map f) (F.map g) =
      F.map (coprod.map f g) ≫ inv (coprodComparison F A' B') 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryCoproduct A B] [CategoryTheory.Limits.HasBinaryCoproduct A' B'] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryCoproduct (F.obj A') (F.obj B')] (f : A ⟶ A') (g : B ⟶ B') [CategoryTheory.IsIso (CategoryTheory.Limits.coprodComparison F A B)] [CategoryTheory.IsIso (CategoryTheory.Limits.coprodComparison F A' B')]
Goal: CategoryTheory.inv (CategoryTheory.Limits.coprodComparison F A B) ≫
    CategoryTheory.Limits.coprod.map (F.map f) (F.map g) =
  F.map (CategoryTheory.Limits.coprod.map f g) ≫ CategoryTheory.inv (CategoryTheory.Limits.coprodComparison F A' B')
-- CategoryTheory.Limits.coprodComparisonNatIso_inv
-- @[simps (config := { rhsMd := semireducible })] -- Porting note: no config for semireducible
@[simps]
def coprodComparisonNatIso [HasBinaryCoproducts C] [HasBinaryCoproducts D] (A : C)
    [∀ B, IsIso (coprodComparison F A B)] :
    F ⋙ coprod.functor.obj (F.obj A) ≅ coprod.functor.obj A ⋙ F 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) [CategoryTheory.Limits.HasBinaryCoproducts C] [CategoryTheory.Limits.HasBinaryCoproducts D] (A : C) [∀ (B : C), CategoryTheory.IsIso (CategoryTheory.Limits.coprodComparison F A B)]
Goal: (CategoryTheory.Limits.coprodComparisonNatIso F A).inv =
  (CategoryTheory.asIso { app := fun B => CategoryTheory.Limits.coprodComparison F A B, naturality := ⋯ }).inv
-- CategoryTheory.Limits.coprodComparisonNatIso_hom
-- @[simps (config := { rhsMd := semireducible })] -- Porting note: no config for semireducible
@[simps]
def coprodComparisonNatIso [HasBinaryCoproducts C] [HasBinaryCoproducts D] (A : C)
    [∀ B, IsIso (coprodComparison F A B)] :
    F ⋙ coprod.functor.obj (F.obj A) ≅ coprod.functor.obj A ⋙ F 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{w, u₂} D] (F : C ⥤ D) [CategoryTheory.Limits.HasBinaryCoproducts C] [CategoryTheory.Limits.HasBinaryCoproducts D] (A : C) [∀ (B : C), CategoryTheory.IsIso (CategoryTheory.Limits.coprodComparison F A B)]
Goal: (CategoryTheory.Limits.coprodComparisonNatIso F A).hom = CategoryTheory.Limits.coprodComparisonNatTrans F A
-- CategoryTheory.Over.coprodObj_map
@[simps]
def Over.coprodObj [HasBinaryCoproducts C] {A : C} : Over A → Over A ⥤ Over A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] {A : C}
Goal: ∀ (a : CategoryTheory.Over A) {X Y : CategoryTheory.Over A} (k : X ⟶ Y),
  a.coprodObj.map k = CategoryTheory.Over.homMk (CategoryTheory.Limits.coprod.map (𝟙 ((𝟭 C).obj a.left)) k.left) ⋯
-- CategoryTheory.Over.coprodObj_obj
@[simps]
def Over.coprodObj [HasBinaryCoproducts C] {A : C} : Over A → Over A ⥤ Over A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] {A : C}
Goal: ∀ (a g : CategoryTheory.Over A),
  a.coprodObj.obj g = CategoryTheory.Over.mk (CategoryTheory.Limits.coprod.desc a.hom g.hom)
-- CategoryTheory.Over.coprod_map_app
@[simps]
def Over.coprod [HasBinaryCoproducts C] {A : C} : Over A ⥤ Over A ⥤ Over A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] {A : C}
Goal: ∀ {X Y : CategoryTheory.Over A} (k : X ⟶ Y) (g : CategoryTheory.Over A),
  (CategoryTheory.Over.coprod.map k).app g =
    CategoryTheory.Over.homMk (CategoryTheory.Limits.coprod.map k.left (𝟙 ((𝟭 C).obj g.left))) ⋯
-- CategoryTheory.Over.coprod_obj
@[simps]
def Over.coprod [HasBinaryCoproducts C] {A : C} : Over A ⥤ Over A ⥤ Over A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryCoproducts C] {A : C} (f : CategoryTheory.Over A)
Goal: CategoryTheory.Over.coprod.obj f = f.coprodObj
-- CategoryTheory.Limits.IndObjectPresentation.hI
structure IndObjectPresentation (A : Cᵒᵖ ⥤ Type v) where
    I : Type v
    [ℐ : SmallCategory I]
  [hI : IsFiltered I]
    F : I ⥤ C
    ι : F ⋙ yoneda ⟶ (Functor.const I).obj A
    isColimit : IsColimit (Cocone.mk A ι)
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (self : CategoryTheory.Limits.IndObjectPresentation A)
Goal: CategoryTheory.IsFiltered self.I
-- CategoryTheory.Limits.IndObjectPresentation.ofCocone_I
@[simps]
def ofCocone {I : Type v} [SmallCategory I] [IsFiltered I] {F : I ⥤ C}
    (c : Cocone (F ⋙ yoneda)) (hc : IsColimit c) : IndObjectPresentation c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type v} [CategoryTheory.SmallCategory I] [CategoryTheory.IsFiltered I] {F : CategoryTheory.Functor I C} (c : CategoryTheory.Limits.Cocone (F.comp CategoryTheory.yoneda)) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.Limits.IndObjectPresentation.ofCocone c hc).I = I
-- CategoryTheory.Limits.IndObjectPresentation.ofCocone_ℐ
@[simps]
def ofCocone {I : Type v} [SmallCategory I] [IsFiltered I] {F : I ⥤ C}
    (c : Cocone (F ⋙ yoneda)) (hc : IsColimit c) : IndObjectPresentation c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type v} [CategoryTheory.SmallCategory I] [CategoryTheory.IsFiltered I] {F : CategoryTheory.Functor I C} (c : CategoryTheory.Limits.Cocone (F.comp CategoryTheory.yoneda)) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.Limits.IndObjectPresentation.ofCocone c hc).ℐ = inst✝
-- CategoryTheory.Limits.IndObjectPresentation.ofCocone_ι
@[simps]
def ofCocone {I : Type v} [SmallCategory I] [IsFiltered I] {F : I ⥤ C}
    (c : Cocone (F ⋙ yoneda)) (hc : IsColimit c) : IndObjectPresentation c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type v} [CategoryTheory.SmallCategory I] [CategoryTheory.IsFiltered I] {F : CategoryTheory.Functor I C} (c : CategoryTheory.Limits.Cocone (F.comp CategoryTheory.yoneda)) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.Limits.IndObjectPresentation.ofCocone c hc).ι = c.ι
-- CategoryTheory.Limits.IndObjectPresentation.ofCocone_F
@[simps]
def ofCocone {I : Type v} [SmallCategory I] [IsFiltered I] {F : I ⥤ C}
    (c : Cocone (F ⋙ yoneda)) (hc : IsColimit c) : IndObjectPresentation c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type v} [CategoryTheory.SmallCategory I] [CategoryTheory.IsFiltered I] {F : CategoryTheory.Functor I C} (c : CategoryTheory.Limits.Cocone (F.comp CategoryTheory.yoneda)) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.Limits.IndObjectPresentation.ofCocone c hc).F = F
-- CategoryTheory.Limits.IndObjectPresentation.ofCocone_isColimit
@[simps]
def ofCocone {I : Type v} [SmallCategory I] [IsFiltered I] {F : I ⥤ C}
    (c : Cocone (F ⋙ yoneda)) (hc : IsColimit c) : IndObjectPresentation c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type v} [CategoryTheory.SmallCategory I] [CategoryTheory.IsFiltered I] {F : CategoryTheory.Functor I C} (c : CategoryTheory.Limits.Cocone (F.comp CategoryTheory.yoneda)) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.Limits.IndObjectPresentation.ofCocone c hc).isColimit = hc
-- CategoryTheory.Limits.IndObjectPresentation.cocone_pt
@[simps pt]
def cocone : Cocone (P.F ⋙ yoneda) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A)
Goal: P.cocone.pt = A
-- CategoryTheory.Limits.IndObjectPresentation.extend_F
@[simps!]
noncomputable def extend {A B : Cᵒᵖ ⥤ Type v} (P : IndObjectPresentation A) (η : A ⟶ B) [IsIso η] :
    IndObjectPresentation B 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A B : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (η : A ⟶ B) [CategoryTheory.IsIso η]
Goal: (P.extend η).F = P.F
-- CategoryTheory.Limits.IndObjectPresentation.extend_ι_app_app
@[simps!]
noncomputable def extend {A B : Cᵒᵖ ⥤ Type v} (P : IndObjectPresentation A) (η : A ⟶ B) [IsIso η] :
    IndObjectPresentation B 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A B : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (η : A ⟶ B) [CategoryTheory.IsIso η] (X : P.I)
Goal: ∀ (X_1 : Cᵒᵖ) (a : ((Opposite.unop (Opposite.op (P.F.comp CategoryTheory.yoneda))).obj X).obj X_1),
  ((P.extend η).ι.app X).app X_1 a = η.app X_1 ((P.cocone.ι.app X).app X_1 a)
-- CategoryTheory.Limits.IndObjectPresentation.extend_ℐ
@[simps!]
noncomputable def extend {A B : Cᵒᵖ ⥤ Type v} (P : IndObjectPresentation A) (η : A ⟶ B) [IsIso η] :
    IndObjectPresentation B 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A B : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (η : A ⟶ B) [CategoryTheory.IsIso η]
Goal: (P.extend η).ℐ = P.ℐ
-- CategoryTheory.Limits.IndObjectPresentation.extend_I
@[simps!]
noncomputable def extend {A B : Cᵒᵖ ⥤ Type v} (P : IndObjectPresentation A) (η : A ⟶ B) [IsIso η] :
    IndObjectPresentation B 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A B : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (η : A ⟶ B) [CategoryTheory.IsIso η]
Goal: (P.extend η).I = P.I
-- CategoryTheory.Limits.IndObjectPresentation.extend_isColimit_desc_app
@[simps!]
noncomputable def extend {A B : Cᵒᵖ ⥤ Type v} (P : IndObjectPresentation A) (η : A ⟶ B) [IsIso η] :
    IndObjectPresentation B 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A B : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (η : A ⟶ B) [CategoryTheory.IsIso η] (s : CategoryTheory.Limits.Cocone (P.F.comp CategoryTheory.yoneda)) (X : Cᵒᵖ)
Goal: ∀ (a : (P.cocone.extend η).pt.obj X),
  ((P.extend η).isColimit.desc s).app X a = (P.coconeIsColimit.desc s).app X (CategoryTheory.inv (η.app X) a)
-- CategoryTheory.Limits.IndObjectPresentation.toCostructuredArrow_obj_hom
@[simps! obj_left obj_right_as obj_hom map_left]
def toCostructuredArrow : P.I ⥤ CostructuredArrow yoneda A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (X : P.I)
Goal: (P.toCostructuredArrow.obj X).hom = P.cocone.ι.app X
-- CategoryTheory.Limits.IndObjectPresentation.toCostructuredArrow_obj_right_as
@[simps! obj_left obj_right_as obj_hom map_left]
def toCostructuredArrow : P.I ⥤ CostructuredArrow yoneda A 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (P : CategoryTheory.Limits.IndObjectPresentation A) (X : P.I)
Goal: (P.toCostructuredArrow.obj X).right.as = PUnit.unit