ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Limits.biproduct.conePointUniqueUpToIso_hom
theorem biproduct.conePointUniqueUpToIso_hom (f : J → C) [HasBiproduct f] {b : Bicone f}
    (hb : b.IsBilimit) :
    (hb.isLimit.conePointUniqueUpToIso (biproduct.isLimit _)).hom = biproduct.lift b.π 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (f : J → C) [CategoryTheory.Limits.HasBiproduct f] {b : CategoryTheory.Limits.Bicone f} (hb : b.IsBilimit)
Goal: (hb.isLimit.conePointUniqueUpToIso (CategoryTheory.Limits.biproduct.isLimit f)).hom =
  CategoryTheory.Limits.biproduct.lift b.π
-- CategoryTheory.Limits.biproduct.conePointUniqueUpToIso_inv
theorem biproduct.conePointUniqueUpToIso_inv (f : J → C) [HasBiproduct f] {b : Bicone f}
    (hb : b.IsBilimit) :
    (hb.isLimit.conePointUniqueUpToIso (biproduct.isLimit _)).inv = biproduct.desc b.ι 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (f : J → C) [CategoryTheory.Limits.HasBiproduct f] {b : CategoryTheory.Limits.Bicone f} (hb : b.IsBilimit)
Goal: (hb.isLimit.conePointUniqueUpToIso (CategoryTheory.Limits.biproduct.isLimit f)).inv =
  CategoryTheory.Limits.biproduct.desc b.ι
-- CategoryTheory.Limits.biproduct.uniqueUpToIso_hom
@[simps]
def biproduct.uniqueUpToIso (f : J → C) [HasBiproduct f] {b : Bicone f} (hb : b.IsBilimit) :
    b.pt ≅ ⨁ f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (f : J → C) [CategoryTheory.Limits.HasBiproduct f] {b : CategoryTheory.Limits.Bicone f} (hb : b.IsBilimit)
Goal: (CategoryTheory.Limits.biproduct.uniqueUpToIso f hb).hom = CategoryTheory.Limits.biproduct.lift b.π
-- CategoryTheory.Limits.biproduct.uniqueUpToIso_inv
@[simps]
def biproduct.uniqueUpToIso (f : J → C) [HasBiproduct f] {b : Bicone f} (hb : b.IsBilimit) :
    b.pt ≅ ⨁ f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (f : J → C) [CategoryTheory.Limits.HasBiproduct f] {b : CategoryTheory.Limits.Bicone f} (hb : b.IsBilimit)
Goal: (CategoryTheory.Limits.biproduct.uniqueUpToIso f hb).inv = CategoryTheory.Limits.biproduct.desc b.ι
-- CategoryTheory.Limits.limitBiconeOfUnique_bicone_π
@[simps]
def limitBiconeOfUnique : LimitBicone f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C) (j : J)
Goal: (CategoryTheory.Limits.limitBiconeOfUnique f).bicone.π j = CategoryTheory.eqToHom ⋯
-- CategoryTheory.Limits.limitBiconeOfUnique_bicone_pt
@[simps]
def limitBiconeOfUnique : LimitBicone f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C)
Goal: (CategoryTheory.Limits.limitBiconeOfUnique f).bicone.pt = f default
-- CategoryTheory.Limits.limitBiconeOfUnique_isBilimit_isLimit
@[simps]
def limitBiconeOfUnique : LimitBicone f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C)
Goal: (CategoryTheory.Limits.limitBiconeOfUnique f).isBilimit.isLimit = (CategoryTheory.Limits.limitConeOfUnique f).isLimit
-- CategoryTheory.Limits.limitBiconeOfUnique_isBilimit_isColimit
@[simps]
def limitBiconeOfUnique : LimitBicone f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C)
Goal: (CategoryTheory.Limits.limitBiconeOfUnique f).isBilimit.isColimit =
  (CategoryTheory.Limits.colimitCoconeOfUnique f).isColimit
-- CategoryTheory.Limits.limitBiconeOfUnique_bicone_ι
@[simps]
def limitBiconeOfUnique : LimitBicone f 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C) (j : J)
Goal: (CategoryTheory.Limits.limitBiconeOfUnique f).bicone.ι j = CategoryTheory.eqToHom ⋯
-- CategoryTheory.Limits.biproductUniqueIso_hom
@[simps!]
def biproductUniqueIso : ⨁ f ≅ f default 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C)
Goal: (CategoryTheory.Limits.biproductUniqueIso f).hom =
  CategoryTheory.Limits.biproduct.desc (CategoryTheory.Limits.limitBiconeOfUnique f).bicone.ι
-- CategoryTheory.Limits.biproductUniqueIso_inv
@[simps!]
def biproductUniqueIso : ⨁ f ≅ f default 
Arguments: {J : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [Unique J] (f : J → C)
Goal: (CategoryTheory.Limits.biproductUniqueIso f).inv =
  CategoryTheory.Limits.biproduct.lift (CategoryTheory.Limits.limitBiconeOfUnique f).bicone.π
-- CategoryTheory.Limits.BinaryBicone.inr_snd
-- @[nolint has_nonempty_instance] Porting note (#5171): removed
structure BinaryBicone (P Q : C) where
  pt : C
  fst : pt ⟶ P
  snd : pt ⟶ Q
  inl : P ⟶ pt
  inr : Q ⟶ pt
  inl_fst : inl ≫ fst = 𝟙 P := by aesop
  inl_snd : inl ≫ snd = 0 := by aesop
  inr_fst : inr ≫ fst = 0 := by aesop
  inr_snd : inr ≫ snd = 𝟙 Q := by aesop
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (self : CategoryTheory.Limits.BinaryBicone P Q)
Goal: self.inr ≫ self.snd = 𝟙 Q
-- CategoryTheory.Limits.BinaryBicone.inr_fst
-- @[nolint has_nonempty_instance] Porting note (#5171): removed
structure BinaryBicone (P Q : C) where
  pt : C
  fst : pt ⟶ P
  snd : pt ⟶ Q
  inl : P ⟶ pt
  inr : Q ⟶ pt
  inl_fst : inl ≫ fst = 𝟙 P := by aesop
  inl_snd : inl ≫ snd = 0 := by aesop
  inr_fst : inr ≫ fst = 0 := by aesop
  inr_snd : inr ≫ snd = 𝟙 Q := by aesop
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (self : CategoryTheory.Limits.BinaryBicone P Q)
Goal: self.inr ≫ self.fst = 0
-- CategoryTheory.Limits.BinaryBicone.inl_fst
-- @[nolint has_nonempty_instance] Porting note (#5171): removed
structure BinaryBicone (P Q : C) where
  pt : C
  fst : pt ⟶ P
  snd : pt ⟶ Q
  inl : P ⟶ pt
  inr : Q ⟶ pt
  inl_fst : inl ≫ fst = 𝟙 P := by aesop
  inl_snd : inl ≫ snd = 0 := by aesop
  inr_fst : inr ≫ fst = 0 := by aesop
  inr_snd : inr ≫ snd = 𝟙 Q := by aesop
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (self : CategoryTheory.Limits.BinaryBicone P Q)
Goal: self.inl ≫ self.fst = 𝟙 P
-- CategoryTheory.Limits.BinaryBicone.inl_snd
-- @[nolint has_nonempty_instance] Porting note (#5171): removed
structure BinaryBicone (P Q : C) where
  pt : C
  fst : pt ⟶ P
  snd : pt ⟶ Q
  inl : P ⟶ pt
  inr : Q ⟶ pt
  inl_fst : inl ≫ fst = 𝟙 P := by aesop
  inl_snd : inl ≫ snd = 0 := by aesop
  inr_fst : inr ≫ fst = 0 := by aesop
  inr_snd : inr ≫ snd = 𝟙 Q := by aesop
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (self : CategoryTheory.Limits.BinaryBicone P Q)
Goal: self.inl ≫ self.snd = 0
-- CategoryTheory.Limits.BinaryBiconeMorphism.wfst
structure BinaryBiconeMorphism {P Q : C} (A B : BinaryBicone P Q) where
    hom : A.pt ⟶ B.pt
    wfst : hom ≫ B.fst = A.fst := by aesop_cat
    wsnd : hom ≫ B.snd = A.snd := by aesop_cat
    winl : A.inl ≫ hom = B.inl := by aesop_cat
    winr : A.inr ≫ hom = B.inr := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {A B : CategoryTheory.Limits.BinaryBicone P Q} (self : CategoryTheory.Limits.BinaryBiconeMorphism A B)
Goal: self.hom ≫ B.fst = A.fst
-- CategoryTheory.Limits.BinaryBiconeMorphism.wsnd
structure BinaryBiconeMorphism {P Q : C} (A B : BinaryBicone P Q) where
    hom : A.pt ⟶ B.pt
    wfst : hom ≫ B.fst = A.fst := by aesop_cat
    wsnd : hom ≫ B.snd = A.snd := by aesop_cat
    winl : A.inl ≫ hom = B.inl := by aesop_cat
    winr : A.inr ≫ hom = B.inr := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {A B : CategoryTheory.Limits.BinaryBicone P Q} (self : CategoryTheory.Limits.BinaryBiconeMorphism A B)
Goal: self.hom ≫ B.snd = A.snd
-- CategoryTheory.Limits.BinaryBiconeMorphism.winr
structure BinaryBiconeMorphism {P Q : C} (A B : BinaryBicone P Q) where
    hom : A.pt ⟶ B.pt
    wfst : hom ≫ B.fst = A.fst := by aesop_cat
    wsnd : hom ≫ B.snd = A.snd := by aesop_cat
    winl : A.inl ≫ hom = B.inl := by aesop_cat
    winr : A.inr ≫ hom = B.inr := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {A B : CategoryTheory.Limits.BinaryBicone P Q} (self : CategoryTheory.Limits.BinaryBiconeMorphism A B)
Goal: A.inr ≫ self.hom = B.inr
-- CategoryTheory.Limits.BinaryBiconeMorphism.winl
structure BinaryBiconeMorphism {P Q : C} (A B : BinaryBicone P Q) where
    hom : A.pt ⟶ B.pt
    wfst : hom ≫ B.fst = A.fst := by aesop_cat
    wsnd : hom ≫ B.snd = A.snd := by aesop_cat
    winl : A.inl ≫ hom = B.inl := by aesop_cat
    winr : A.inr ≫ hom = B.inr := by aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {A B : CategoryTheory.Limits.BinaryBicone P Q} (self : CategoryTheory.Limits.BinaryBiconeMorphism A B)
Goal: A.inl ≫ self.hom = B.inl
-- CategoryTheory.Limits.BinaryBicone.category_comp_hom
@[simps]
instance BinaryBicone.category {P Q : C} : Category (BinaryBicone P Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C}
Goal: ∀ {X Y Z : CategoryTheory.Limits.BinaryBicone P Q} (f : X ⟶ Y) (g : Y ⟶ Z), (f ≫ g).hom = f.hom ≫ g.hom
-- CategoryTheory.Limits.BinaryBicone.category_id_hom
@[simps]
instance BinaryBicone.category {P Q : C} : Category (BinaryBicone P Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (B : CategoryTheory.Limits.BinaryBicone P Q)
Goal: (𝟙 B).hom = 𝟙 B.pt
-- CategoryTheory.Limits.BinaryBiconeMorphism.ext
@[ext]
theorem BinaryBiconeMorphism.ext {P Q : C} {c c' : BinaryBicone P Q}
    (f g : c ⟶ c') (w : f.hom = g.hom) : f = g 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {c c' : CategoryTheory.Limits.BinaryBicone P Q} (f g : c ⟶ c') (w : f.hom = g.hom)
Goal: f = g
-- CategoryTheory.Limits.BinaryBicones.ext_hom_hom
-- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
@[aesop apply safe (rule_sets := [CategoryTheory]), simps]
def ext {P Q : C} {c c' : BinaryBicone P Q} (φ : c.pt ≅ c'.pt)
    (winl : c.inl ≫ φ.hom = c'.inl := by aesop_cat)
    (winr : c.inr ≫ φ.hom = c'.inr := by aesop_cat)
    (wfst : φ.hom ≫ c'.fst = c.fst := by aesop_cat)
    (wsnd : φ.hom ≫ c'.snd = c.snd := by aesop_cat) : c ≅ c' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {c c' : CategoryTheory.Limits.BinaryBicone P Q} (φ : c.pt ≅ c'.pt) (winl : c.inl ≫ φ.hom = c'.inl := by aesop_cat) (winr : c.inr ≫ φ.hom = c'.inr := by aesop_cat) (wfst : φ.hom ≫ c'.fst = c.fst := by aesop_cat) (wsnd : φ.hom ≫ c'.snd = c.snd := by aesop_cat)
Goal: (CategoryTheory.Limits.BinaryBicones.ext φ winl winr wfst wsnd).hom.hom = φ.hom
-- CategoryTheory.Limits.BinaryBicones.ext_inv_hom
-- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
@[aesop apply safe (rule_sets := [CategoryTheory]), simps]
def ext {P Q : C} {c c' : BinaryBicone P Q} (φ : c.pt ≅ c'.pt)
    (winl : c.inl ≫ φ.hom = c'.inl := by aesop_cat)
    (winr : c.inr ≫ φ.hom = c'.inr := by aesop_cat)
    (wfst : φ.hom ≫ c'.fst = c.fst := by aesop_cat)
    (wsnd : φ.hom ≫ c'.snd = c.snd := by aesop_cat) : c ≅ c' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} {c c' : CategoryTheory.Limits.BinaryBicone P Q} (φ : c.pt ≅ c'.pt) (winl : c.inl ≫ φ.hom = c'.inl := by aesop_cat) (winr : c.inr ≫ φ.hom = c'.inr := by aesop_cat) (wfst : φ.hom ≫ c'.fst = c.fst := by aesop_cat) (wsnd : φ.hom ≫ c'.snd = c.snd := by aesop_cat)
Goal: (CategoryTheory.Limits.BinaryBicones.ext φ winl winr wfst wsnd).inv.hom = φ.inv
-- CategoryTheory.Limits.BinaryBicones.functoriality_obj_fst
@[simps]
def functoriality : BinaryBicone P Q ⥤ BinaryBicone (F.obj P) (F.obj Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type uD} [CategoryTheory.Category.{uD', uD} D] [CategoryTheory.Limits.HasZeroMorphisms D] (P Q : C) (F : C ⥤ D) [F.PreservesZeroMorphisms] (A : CategoryTheory.Limits.BinaryBicone P Q)
Goal: ((CategoryTheory.Limits.BinaryBicones.functoriality P Q F).obj A).fst = F.map A.fst
-- CategoryTheory.Limits.BinaryBicones.functoriality_obj_snd
@[simps]
def functoriality : BinaryBicone P Q ⥤ BinaryBicone (F.obj P) (F.obj Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type uD} [CategoryTheory.Category.{uD', uD} D] [CategoryTheory.Limits.HasZeroMorphisms D] (P Q : C) (F : C ⥤ D) [F.PreservesZeroMorphisms] (A : CategoryTheory.Limits.BinaryBicone P Q)
Goal: ((CategoryTheory.Limits.BinaryBicones.functoriality P Q F).obj A).snd = F.map A.snd
-- CategoryTheory.Limits.BinaryBicones.functoriality_map_hom
@[simps]
def functoriality : BinaryBicone P Q ⥤ BinaryBicone (F.obj P) (F.obj Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type uD} [CategoryTheory.Category.{uD', uD} D] [CategoryTheory.Limits.HasZeroMorphisms D] (P Q : C) (F : C ⥤ D) [F.PreservesZeroMorphisms]
Goal: ∀ {X Y : CategoryTheory.Limits.BinaryBicone P Q} (f : X ⟶ Y),
  ((CategoryTheory.Limits.BinaryBicones.functoriality P Q F).map f).hom = F.map f.hom
-- CategoryTheory.Limits.BinaryBicones.functoriality_obj_inr
@[simps]
def functoriality : BinaryBicone P Q ⥤ BinaryBicone (F.obj P) (F.obj Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type uD} [CategoryTheory.Category.{uD', uD} D] [CategoryTheory.Limits.HasZeroMorphisms D] (P Q : C) (F : C ⥤ D) [F.PreservesZeroMorphisms] (A : CategoryTheory.Limits.BinaryBicone P Q)
Goal: ((CategoryTheory.Limits.BinaryBicones.functoriality P Q F).obj A).inr = F.map A.inr
-- CategoryTheory.Limits.BinaryBicones.functoriality_obj_inl
@[simps]
def functoriality : BinaryBicone P Q ⥤ BinaryBicone (F.obj P) (F.obj Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type uD} [CategoryTheory.Category.{uD', uD} D] [CategoryTheory.Limits.HasZeroMorphisms D] (P Q : C) (F : C ⥤ D) [F.PreservesZeroMorphisms] (A : CategoryTheory.Limits.BinaryBicone P Q)
Goal: ((CategoryTheory.Limits.BinaryBicones.functoriality P Q F).obj A).inl = F.map A.inl
-- CategoryTheory.Limits.BinaryBicones.functoriality_obj_pt
@[simps]
def functoriality : BinaryBicone P Q ⥤ BinaryBicone (F.obj P) (F.obj Q) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {D : Type uD} [CategoryTheory.Category.{uD', uD} D] [CategoryTheory.Limits.HasZeroMorphisms D] (P Q : C) (F : C ⥤ D) [F.PreservesZeroMorphisms] (A : CategoryTheory.Limits.BinaryBicone P Q)
Goal: ((CategoryTheory.Limits.BinaryBicones.functoriality P Q F).obj A).pt = F.obj A.pt
-- CategoryTheory.Limits.BinaryBicone.toCone_pt
@[simp]
theorem toCone_pt (c : BinaryBicone P Q) : c.toCone.pt = c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: c.toCone.pt = c.pt
-- CategoryTheory.Limits.BinaryBicone.toCone_π_app_left
@[simp]
theorem toCone_π_app_left (c : BinaryBicone P Q) : c.toCone.π.app ⟨WalkingPair.left⟩ = c.fst 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: c.toCone.π.app { as := CategoryTheory.Limits.WalkingPair.left } = c.fst
-- CategoryTheory.Limits.BinaryBicone.toCone_π_app_right
@[simp]
theorem toCone_π_app_right (c : BinaryBicone P Q) : c.toCone.π.app ⟨WalkingPair.right⟩ = c.snd 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: c.toCone.π.app { as := CategoryTheory.Limits.WalkingPair.right } = c.snd
-- CategoryTheory.Limits.BinaryBicone.binary_fan_fst_toCone
@[simp]
theorem binary_fan_fst_toCone (c : BinaryBicone P Q) : BinaryFan.fst c.toCone = c.fst 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: CategoryTheory.Limits.BinaryFan.fst c.toCone = c.fst
-- CategoryTheory.Limits.BinaryBicone.binary_fan_snd_toCone
@[simp]
theorem binary_fan_snd_toCone (c : BinaryBicone P Q) : BinaryFan.snd c.toCone = c.snd 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: CategoryTheory.Limits.BinaryFan.snd c.toCone = c.snd
-- CategoryTheory.Limits.BinaryBicone.toCocone_pt
@[simp]
theorem toCocone_pt (c : BinaryBicone P Q) : c.toCocone.pt = c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: c.toCocone.pt = c.pt
-- CategoryTheory.Limits.BinaryBicone.toCocone_ι_app_left
@[simp]
theorem toCocone_ι_app_left (c : BinaryBicone P Q) : c.toCocone.ι.app ⟨WalkingPair.left⟩ = c.inl 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: c.toCocone.ι.app { as := CategoryTheory.Limits.WalkingPair.left } = c.inl
-- CategoryTheory.Limits.BinaryBicone.toCocone_ι_app_right
@[simp]
theorem toCocone_ι_app_right (c : BinaryBicone P Q) :
    c.toCocone.ι.app ⟨WalkingPair.right⟩ = c.inr 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: c.toCocone.ι.app { as := CategoryTheory.Limits.WalkingPair.right } = c.inr
-- CategoryTheory.Limits.BinaryBicone.binary_cofan_inl_toCocone
@[simp]
theorem binary_cofan_inl_toCocone (c : BinaryBicone P Q) : BinaryCofan.inl c.toCocone = c.inl 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: CategoryTheory.Limits.BinaryCofan.inl c.toCocone = c.inl
-- CategoryTheory.Limits.BinaryBicone.binary_cofan_inr_toCocone
@[simp]
theorem binary_cofan_inr_toCocone (c : BinaryBicone P Q) : BinaryCofan.inr c.toCocone = c.inr 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (c : CategoryTheory.Limits.BinaryBicone P Q)
Goal: CategoryTheory.Limits.BinaryCofan.inr c.toCocone = c.inr
-- CategoryTheory.Limits.BinaryBicone.toBiconeFunctor_map_hom
@[simps]
def toBiconeFunctor {X Y : C} : BinaryBicone X Y ⥤ Bicone (pairFunction X Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C}
Goal: ∀ {X_1 Y_1 : CategoryTheory.Limits.BinaryBicone X Y} (f : X_1 ⟶ Y_1),
  (CategoryTheory.Limits.BinaryBicone.toBiconeFunctor.map f).hom = f.hom
-- CategoryTheory.Limits.BinaryBicone.toBiconeFunctor_obj_ι
@[simps]
def toBiconeFunctor {X Y : C} : BinaryBicone X Y ⥤ Bicone (pairFunction X Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.BinaryBicone X Y) (j : CategoryTheory.Limits.WalkingPair)
Goal: (CategoryTheory.Limits.BinaryBicone.toBiconeFunctor.obj b).ι j = CategoryTheory.Limits.WalkingPair.casesOn j b.inl b.inr
-- CategoryTheory.Limits.BinaryBicone.toBiconeFunctor_obj_π
@[simps]
def toBiconeFunctor {X Y : C} : BinaryBicone X Y ⥤ Bicone (pairFunction X Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.BinaryBicone X Y) (j : CategoryTheory.Limits.WalkingPair)
Goal: (CategoryTheory.Limits.BinaryBicone.toBiconeFunctor.obj b).π j = CategoryTheory.Limits.WalkingPair.casesOn j b.fst b.snd
-- CategoryTheory.Limits.BinaryBicone.toBiconeFunctor_obj_pt
@[simps]
def toBiconeFunctor {X Y : C} : BinaryBicone X Y ⥤ Bicone (pairFunction X Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.BinaryBicone X Y)
Goal: (CategoryTheory.Limits.BinaryBicone.toBiconeFunctor.obj b).pt = b.pt
-- CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor_obj_pt
@[simps]
def toBinaryBiconeFunctor {X Y : C} : Bicone (pairFunction X Y) ⥤ BinaryBicone X Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.Bicone (CategoryTheory.Limits.pairFunction X Y))
Goal: (CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor.obj b).pt = b.pt
-- CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor_obj_inr
@[simps]
def toBinaryBiconeFunctor {X Y : C} : Bicone (pairFunction X Y) ⥤ BinaryBicone X Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.Bicone (CategoryTheory.Limits.pairFunction X Y))
Goal: (CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor.obj b).inr = b.ι CategoryTheory.Limits.WalkingPair.right
-- CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor_obj_inl
@[simps]
def toBinaryBiconeFunctor {X Y : C} : Bicone (pairFunction X Y) ⥤ BinaryBicone X Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.Bicone (CategoryTheory.Limits.pairFunction X Y))
Goal: (CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor.obj b).inl = b.ι CategoryTheory.Limits.WalkingPair.left
-- CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor_map_hom
@[simps]
def toBinaryBiconeFunctor {X Y : C} : Bicone (pairFunction X Y) ⥤ BinaryBicone X Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C}
Goal: ∀ {X_1 Y_1 : CategoryTheory.Limits.Bicone (CategoryTheory.Limits.pairFunction X Y)} (f : X_1 ⟶ Y_1),
  (CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor.map f).hom = f.hom
-- CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor_obj_snd
@[simps]
def toBinaryBiconeFunctor {X Y : C} : Bicone (pairFunction X Y) ⥤ BinaryBicone X Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.Bicone (CategoryTheory.Limits.pairFunction X Y))
Goal: (CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor.obj b).snd = b.π CategoryTheory.Limits.WalkingPair.right
-- CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor_obj_fst
@[simps]
def toBinaryBiconeFunctor {X Y : C} : Bicone (pairFunction X Y) ⥤ BinaryBicone X Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (b : CategoryTheory.Limits.Bicone (CategoryTheory.Limits.pairFunction X Y))
Goal: (CategoryTheory.Limits.Bicone.toBinaryBiconeFunctor.obj b).fst = b.π CategoryTheory.Limits.WalkingPair.left
-- CategoryTheory.Limits.HasBinaryBiproduct.exists_binary_biproduct
class HasBinaryBiproduct (P Q : C) : Prop where mk' ::
  exists_binary_biproduct : Nonempty (BinaryBiproductData P Q)
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} [self : CategoryTheory.Limits.HasBinaryBiproduct P Q]
Goal: Nonempty (CategoryTheory.Limits.BinaryBiproductData P Q)
-- CategoryTheory.Limits.HasBinaryBiproduct.mk
theorem HasBinaryBiproduct.mk {P Q : C} (d : BinaryBiproductData P Q) : HasBinaryBiproduct P Q 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {P Q : C} (d : CategoryTheory.Limits.BinaryBiproductData P Q)
Goal: CategoryTheory.Limits.HasBinaryBiproduct P Q