ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Limits.comp_zero
@[simp]
theorem comp_zero [HasZeroMorphisms C] {X Y : C} {f : X ⟶ Y} {Z : C} :
    f ≫ (0 : Y ⟶ Z) = (0 : X ⟶ Z) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {f : X ⟶ Y} {Z : C}
Goal: f ≫ 0 = 0
-- CategoryTheory.Limits.zero_comp
@[simp]
theorem zero_comp [HasZeroMorphisms C] {X : C} {Y Z : C} {f : Y ⟶ Z} :
    (0 : X ⟶ Y) ≫ f = (0 : X ⟶ Z) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y Z : C} {f : Y ⟶ Z}
Goal: 0 ≫ f = 0
-- _private.Mathlib.CategoryTheory.Limits.Shapes.ZeroMorphisms.0.CategoryTheory.Limits.HasZeroMorphisms.ext_aux
private theorem ext_aux (I J : HasZeroMorphisms C)
    (w : ∀ X Y : C, (I.zero X Y).zero = (J.zero X Y).zero) : I = J 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (I J : CategoryTheory.Limits.HasZeroMorphisms C) (w : ∀ (X Y : C), Zero.zero = Zero.zero)
Goal: I = J
-- CategoryTheory.Limits.HasZeroMorphisms.ext
theorem ext (I J : HasZeroMorphisms C) : I = J 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (I J : CategoryTheory.Limits.HasZeroMorphisms C)
Goal: I = J
-- CategoryTheory.Limits.op_zero
@[simp] lemma op_zero (X Y : C) : (0 : X ⟶ Y).op = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C)
Goal: Quiver.Hom.op 0 = 0
-- CategoryTheory.Limits.unop_zero
@[simp] lemma unop_zero (X Y : Cᵒᵖ) : (0 : X ⟶ Y).unop = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : Cᵒᵖ)
Goal: Quiver.Hom.unop 0 = 0
-- CategoryTheory.Limits.zero_of_comp_mono
theorem zero_of_comp_mono {X Y Z : C} {f : X ⟶ Y} (g : Y ⟶ Z) [Mono g] (h : f ≫ g = 0) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y Z : C} {f : X ⟶ Y} (g : Y ⟶ Z) [CategoryTheory.Mono g] (h : f ≫ g = 0)
Goal: f = 0
-- CategoryTheory.Limits.zero_of_epi_comp
theorem zero_of_epi_comp {X Y Z : C} (f : X ⟶ Y) {g : Y ⟶ Z} [Epi f] (h : f ≫ g = 0) : g = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y Z : C} (f : X ⟶ Y) {g : Y ⟶ Z} [CategoryTheory.Epi f] (h : f ≫ g = 0)
Goal: g = 0
-- CategoryTheory.Limits.eq_zero_of_image_eq_zero
theorem eq_zero_of_image_eq_zero {X Y : C} {f : X ⟶ Y} [HasImage f] (w : image.ι f = 0) :
    f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Limits.HasImage f] (w : CategoryTheory.Limits.image.ι f = 0)
Goal: f = 0
-- CategoryTheory.Limits.nonzero_image_of_nonzero
theorem nonzero_image_of_nonzero {X Y : C} {f : X ⟶ Y} [HasImage f] (w : f ≠ 0) : image.ι f ≠ 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Limits.HasImage f] (w : f ≠ 0)
Goal: CategoryTheory.Limits.image.ι f ≠ 0
-- CategoryTheory.Limits.zero_app
@[simp]
theorem zero_app (F G : C ⥤ D) (j : C) : (0 : F ⟶ G).app j = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] (D : Type u') [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroMorphisms D] (F G : C ⥤ D) (j : C)
Goal: CategoryTheory.NatTrans.app 0 j = 0
-- CategoryTheory.Limits.IsZero.eq_zero_of_src
theorem eq_zero_of_src {X Y : C} (o : IsZero X) (f : X ⟶ Y) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (o : CategoryTheory.Limits.IsZero X) (f : X ⟶ Y)
Goal: f = 0
-- CategoryTheory.Limits.IsZero.eq_zero_of_tgt
theorem eq_zero_of_tgt {X Y : C} (o : IsZero Y) (f : X ⟶ Y) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (o : CategoryTheory.Limits.IsZero Y) (f : X ⟶ Y)
Goal: f = 0
-- CategoryTheory.Limits.IsZero.iff_id_eq_zero
theorem iff_id_eq_zero (X : C) : IsZero X ↔ 𝟙 X = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C)
Goal: CategoryTheory.Limits.IsZero X ↔ 𝟙 X = 0
-- CategoryTheory.Limits.IsZero.of_mono_zero
theorem of_mono_zero (X Y : C) [Mono (0 : X ⟶ Y)] : IsZero X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C) [CategoryTheory.Mono 0]
Goal: CategoryTheory.Limits.IsZero X
-- CategoryTheory.Limits.IsZero.of_epi_zero
theorem of_epi_zero (X Y : C) [Epi (0 : X ⟶ Y)] : IsZero Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C) [CategoryTheory.Epi 0]
Goal: CategoryTheory.Limits.IsZero Y
-- CategoryTheory.Limits.IsZero.of_mono_eq_zero
theorem of_mono_eq_zero {X Y : C} (f : X ⟶ Y) [Mono f] (h : f = 0) : IsZero X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Mono f] (h : f = 0)
Goal: CategoryTheory.Limits.IsZero X
-- CategoryTheory.Limits.IsZero.of_epi_eq_zero
theorem of_epi_eq_zero {X Y : C} (f : X ⟶ Y) [Epi f] (h : f = 0) : IsZero Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Epi f] (h : f = 0)
Goal: CategoryTheory.Limits.IsZero Y
-- CategoryTheory.Limits.IsZero.iff_isSplitMono_eq_zero
theorem iff_isSplitMono_eq_zero {X Y : C} (f : X ⟶ Y) [IsSplitMono f] : IsZero X ↔ f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.IsSplitMono f]
Goal: CategoryTheory.Limits.IsZero X ↔ f = 0
-- CategoryTheory.Limits.IsZero.iff_isSplitEpi_eq_zero
theorem iff_isSplitEpi_eq_zero {X Y : C} (f : X ⟶ Y) [IsSplitEpi f] : IsZero Y ↔ f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.IsSplitEpi f]
Goal: CategoryTheory.Limits.IsZero Y ↔ f = 0
-- CategoryTheory.Limits.IsZero.of_mono
theorem of_mono {X Y : C} (f : X ⟶ Y) [Mono f] (i : IsZero Y) : IsZero X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Mono f] (i : CategoryTheory.Limits.IsZero Y)
Goal: CategoryTheory.Limits.IsZero X
-- CategoryTheory.Limits.IsZero.of_epi
theorem of_epi {X Y : C} (f : X ⟶ Y) [Epi f] (i : IsZero X) : IsZero Y 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Epi f] (i : CategoryTheory.Limits.IsZero X)
Goal: CategoryTheory.Limits.IsZero Y
-- CategoryTheory.Limits.HasZeroObject.zeroIsoIsInitial_hom
@[simp]
theorem zeroIsoIsInitial_hom {X : C} (t : IsInitial X) : (zeroIsoIsInitial t).hom = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (t : CategoryTheory.Limits.IsInitial X)
Goal: (CategoryTheory.Limits.HasZeroObject.zeroIsoIsInitial t).hom = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoIsInitial_inv
@[simp]
theorem zeroIsoIsInitial_inv {X : C} (t : IsInitial X) : (zeroIsoIsInitial t).inv = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (t : CategoryTheory.Limits.IsInitial X)
Goal: (CategoryTheory.Limits.HasZeroObject.zeroIsoIsInitial t).inv = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoIsTerminal_hom
@[simp]
theorem zeroIsoIsTerminal_hom {X : C} (t : IsTerminal X) : (zeroIsoIsTerminal t).hom = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (t : CategoryTheory.Limits.IsTerminal X)
Goal: (CategoryTheory.Limits.HasZeroObject.zeroIsoIsTerminal t).hom = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoIsTerminal_inv
@[simp]
theorem zeroIsoIsTerminal_inv {X : C} (t : IsTerminal X) : (zeroIsoIsTerminal t).inv = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (t : CategoryTheory.Limits.IsTerminal X)
Goal: (CategoryTheory.Limits.HasZeroObject.zeroIsoIsTerminal t).inv = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoInitial_hom
@[simp]
theorem zeroIsoInitial_hom [HasInitial C] : zeroIsoInitial.hom = (0 : 0 ⟶ ⊥_ C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasInitial C]
Goal: CategoryTheory.Limits.HasZeroObject.zeroIsoInitial.hom = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoInitial_inv
@[simp]
theorem zeroIsoInitial_inv [HasInitial C] : zeroIsoInitial.inv = (0 : ⊥_ C ⟶ 0) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasInitial C]
Goal: CategoryTheory.Limits.HasZeroObject.zeroIsoInitial.inv = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoTerminal_hom
@[simp]
theorem zeroIsoTerminal_hom [HasTerminal C] : zeroIsoTerminal.hom = (0 : 0 ⟶ ⊤_ C) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasTerminal C]
Goal: CategoryTheory.Limits.HasZeroObject.zeroIsoTerminal.hom = 0
-- CategoryTheory.Limits.HasZeroObject.zeroIsoTerminal_inv
@[simp]
theorem zeroIsoTerminal_inv [HasTerminal C] : zeroIsoTerminal.inv = (0 : ⊤_ C ⟶ 0) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasTerminal C]
Goal: CategoryTheory.Limits.HasZeroObject.zeroIsoTerminal.inv = 0
-- CategoryTheory.Limits.IsZero.map
@[simp]
theorem IsZero.map [HasZeroObject D] [HasZeroMorphisms D] {F : C ⥤ D} (hF : IsZero F) {X Y : C}
    (f : X ⟶ Y) : F.map f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroObject D] [CategoryTheory.Limits.HasZeroMorphisms D] {F : C ⥤ D} (hF : CategoryTheory.Limits.IsZero F) {X Y : C} (f : X ⟶ Y)
Goal: F.map f = 0
-- CategoryTheory.Functor.zero_obj
@[simp]
theorem _root_.CategoryTheory.Functor.zero_obj [HasZeroObject D] (X : C) :
    IsZero ((0 : C ⥤ D).obj X) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroObject D] (X : C)
Goal: CategoryTheory.Limits.IsZero ((CategoryTheory.Functor.toPrefunctor 0).obj X)
-- CategoryTheory.zero_map
@[simp]
theorem _root_.CategoryTheory.zero_map [HasZeroObject D] [HasZeroMorphisms D] {X Y : C}
    (f : X ⟶ Y) : (0 : C ⥤ D).map f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroObject D] [CategoryTheory.Limits.HasZeroMorphisms D] {X Y : C} (f : X ⟶ Y)
Goal: (CategoryTheory.Functor.toPrefunctor 0).map f = 0
-- CategoryTheory.Limits.id_zero
@[simp]
theorem id_zero : 𝟙 (0 : C) = (0 : (0 : C) ⟶ 0) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C]
Goal: 𝟙 0 = 0
-- CategoryTheory.Limits.zero_of_to_zero
theorem zero_of_to_zero {X : C} (f : X ⟶ 0) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (f : X ⟶ 0)
Goal: f = 0
-- CategoryTheory.Limits.zero_of_target_iso_zero
theorem zero_of_target_iso_zero {X Y : C} (f : X ⟶ Y) (i : Y ≅ 0) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) (i : Y ≅ 0)
Goal: f = 0
-- CategoryTheory.Limits.zero_of_from_zero
theorem zero_of_from_zero {X : C} (f : 0 ⟶ X) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (f : 0 ⟶ X)
Goal: f = 0
-- CategoryTheory.Limits.zero_of_source_iso_zero
theorem zero_of_source_iso_zero {X Y : C} (f : X ⟶ Y) (i : X ≅ 0) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) (i : X ≅ 0)
Goal: f = 0
-- CategoryTheory.Limits.zero_of_source_iso_zero'
theorem zero_of_source_iso_zero' {X Y : C} (f : X ⟶ Y) (i : IsIsomorphic X 0) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) (i : CategoryTheory.IsIsomorphic X 0)
Goal: f = 0
-- CategoryTheory.Limits.zero_of_target_iso_zero'
theorem zero_of_target_iso_zero' {X Y : C} (f : X ⟶ Y) (i : IsIsomorphic Y 0) : f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) (i : CategoryTheory.IsIsomorphic Y 0)
Goal: f = 0
-- CategoryTheory.Limits.mono_of_source_iso_zero
theorem mono_of_source_iso_zero {X Y : C} (f : X ⟶ Y) (i : X ≅ 0) : Mono f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) (i : X ≅ 0)
Goal: CategoryTheory.Mono f
-- CategoryTheory.Limits.epi_of_target_iso_zero
theorem epi_of_target_iso_zero {X Y : C} (f : X ⟶ Y) (i : Y ≅ 0) : Epi f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (f : X ⟶ Y) (i : Y ≅ 0)
Goal: CategoryTheory.Epi f
-- CategoryTheory.Limits.idZeroEquivIsoZero_apply_hom
@[simp]
theorem idZeroEquivIsoZero_apply_hom (X : C) (h : 𝟙 X = 0) : ((idZeroEquivIsoZero X) h).hom = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C) (h : 𝟙 X = 0)
Goal: ((CategoryTheory.Limits.idZeroEquivIsoZero X) h).hom = 0
-- CategoryTheory.Limits.idZeroEquivIsoZero_apply_inv
@[simp]
theorem idZeroEquivIsoZero_apply_inv (X : C) (h : 𝟙 X = 0) : ((idZeroEquivIsoZero X) h).inv = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C) (h : 𝟙 X = 0)
Goal: ((CategoryTheory.Limits.idZeroEquivIsoZero X) h).inv = 0
-- CategoryTheory.Limits.isoZeroOfMonoZero_hom
@[simps]
def isoZeroOfMonoZero {X Y : C} (h : Mono (0 : X ⟶ Y)) : X ≅ 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (h : CategoryTheory.Mono 0)
Goal: (CategoryTheory.Limits.isoZeroOfMonoZero h).hom = 0
-- CategoryTheory.Limits.isoZeroOfMonoZero_inv
@[simps]
def isoZeroOfMonoZero {X Y : C} (h : Mono (0 : X ⟶ Y)) : X ≅ 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (h : CategoryTheory.Mono 0)
Goal: (CategoryTheory.Limits.isoZeroOfMonoZero h).inv = 0
-- CategoryTheory.Limits.isoZeroOfEpiZero_inv
@[simps]
def isoZeroOfEpiZero {X Y : C} (h : Epi (0 : X ⟶ Y)) : Y ≅ 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (h : CategoryTheory.Epi 0)
Goal: (CategoryTheory.Limits.isoZeroOfEpiZero h).inv = 0
-- CategoryTheory.Limits.isoZeroOfEpiZero_hom
@[simps]
def isoZeroOfEpiZero {X Y : C} (h : Epi (0 : X ⟶ Y)) : Y ≅ 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} (h : CategoryTheory.Epi 0)
Goal: (CategoryTheory.Limits.isoZeroOfEpiZero h).hom = 0
-- CategoryTheory.Limits.isIsoZeroEquiv_apply
@[simps]
def isIsoZeroEquiv (X Y : C) : IsIso (0 : X ⟶ Y) ≃ 𝟙 X = 0 ∧ 𝟙 Y = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C) (i : CategoryTheory.IsIso 0)
Goal: ⋯ = ⋯
-- CategoryTheory.Limits.isIsoZeroEquiv_symm_apply
@[simps]
def isIsoZeroEquiv (X Y : C) : IsIso (0 : X ⟶ Y) ≃ 𝟙 X = 0 ∧ 𝟙 Y = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C) (h : 𝟙 X = 0 ∧ 𝟙 Y = 0)
Goal: ⋯ = ⋯
-- CategoryTheory.Limits.isIso_of_source_target_iso_zero
theorem isIso_of_source_target_iso_zero {X Y : C} (f : X ⟶ Y) (i : X ≅ 0) (j : Y ≅ 0) :
    IsIso f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {X Y : C} (f : X ⟶ Y) (i : X ≅ 0) (j : Y ≅ 0)
Goal: CategoryTheory.IsIso f
-- CategoryTheory.Limits.hasZeroObject_of_hasInitial_object
theorem hasZeroObject_of_hasInitial_object [HasZeroMorphisms C] [HasInitial C] :
    HasZeroObject C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasInitial C]
Goal: CategoryTheory.Limits.HasZeroObject C
-- CategoryTheory.Limits.hasZeroObject_of_hasTerminal_object
theorem hasZeroObject_of_hasTerminal_object [HasZeroMorphisms C] [HasTerminal C] :
    HasZeroObject C 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasTerminal C]
Goal: CategoryTheory.Limits.HasZeroObject C
-- CategoryTheory.Limits.image_ι_comp_eq_zero
theorem image_ι_comp_eq_zero {X Y Z : C} {f : X ⟶ Y} {g : Y ⟶ Z} [HasImage f]
    [Epi (factorThruImage f)] (h : f ≫ g = 0) : image.ι f ≫ g = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y Z : C} {f : X ⟶ Y} {g : Y ⟶ Z} [CategoryTheory.Limits.HasImage f] [CategoryTheory.Epi (CategoryTheory.Limits.factorThruImage f)] (h : f ≫ g = 0)
Goal: CategoryTheory.Limits.image.ι f ≫ g = 0
-- CategoryTheory.Limits.comp_factorThruImage_eq_zero
theorem comp_factorThruImage_eq_zero {X Y Z : C} {f : X ⟶ Y} {g : Y ⟶ Z} [HasImage g]
    (h : f ≫ g = 0) : f ≫ factorThruImage g = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y Z : C} {f : X ⟶ Y} {g : Y ⟶ Z} [CategoryTheory.Limits.HasImage g] (h : f ≫ g = 0)
Goal: f ≫ CategoryTheory.Limits.factorThruImage g = 0
-- CategoryTheory.Limits.monoFactorisationZero_m
@[simps]
def monoFactorisationZero (X Y : C) : MonoFactorisation (0 : X ⟶ Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X Y : C)
Goal: (CategoryTheory.Limits.monoFactorisationZero X Y).m = 0
-- CategoryTheory.Limits.monoFactorisationZero_e
@[simps]
def monoFactorisationZero (X Y : C) : MonoFactorisation (0 : X ⟶ Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X Y : C)
Goal: (CategoryTheory.Limits.monoFactorisationZero X Y).e = 0
-- CategoryTheory.Limits.monoFactorisationZero_I
@[simps]
def monoFactorisationZero (X Y : C) : MonoFactorisation (0 : X ⟶ Y) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X Y : C)
Goal: (CategoryTheory.Limits.monoFactorisationZero X Y).I = 0
-- CategoryTheory.Limits.image.ι_zero
@[simp]
theorem image.ι_zero {X Y : C} [HasImage (0 : X ⟶ Y)] : image.ι (0 : X ⟶ Y) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {X Y : C} [CategoryTheory.Limits.HasImage 0]
Goal: CategoryTheory.Limits.image.ι 0 = 0
-- CategoryTheory.Limits.image.ι_zero'
@[simp]
theorem image.ι_zero' [HasEqualizers C] {X Y : C} {f : X ⟶ Y} (h : f = 0) [HasImage f] :
    image.ι f = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasEqualizers C] {X Y : C} {f : X ⟶ Y} (h : f = 0) [CategoryTheory.Limits.HasImage f]
Goal: CategoryTheory.Limits.image.ι f = 0
-- CategoryTheory.Limits.IsLimit.isZero_pt
lemma IsLimit.isZero_pt {c : Cone F} (hc : IsLimit c) (hF : IsZero F) : IsZero c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {F : D ⥤ C} {c : CategoryTheory.Limits.Cone F} (hc : CategoryTheory.Limits.IsLimit c) (hF : CategoryTheory.Limits.IsZero F)
Goal: CategoryTheory.Limits.IsZero c.pt
-- CategoryTheory.Limits.IsColimit.isZero_pt
lemma IsColimit.isZero_pt {c : Cocone F} (hc : IsColimit c) (hF : IsZero F) : IsZero c.pt 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {F : D ⥤ C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) (hF : CategoryTheory.Limits.IsZero F)
Goal: CategoryTheory.Limits.IsZero c.pt
-- CategoryTheory.Limits.IsTerminal.isZero
lemma IsTerminal.isZero {X : C} (hX : IsTerminal X) : IsZero X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (hX : CategoryTheory.Limits.IsTerminal X)
Goal: CategoryTheory.Limits.IsZero X
-- CategoryTheory.Limits.IsInitial.isZero
lemma IsInitial.isZero {X : C} (hX : IsInitial X) : IsZero X 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X : C} (hX : CategoryTheory.Limits.IsInitial X)
Goal: CategoryTheory.Limits.IsZero X
-- CategoryTheory.Limits.HasCountableLimits.out
class HasCountableLimits : Prop where
    out (J : Type) [SmallCategory J] [CountableCategory J] : HasLimitsOfShape J C
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [self : CategoryTheory.Limits.HasCountableLimits C] (J : Type) [CategoryTheory.SmallCategory J] [CategoryTheory.CountableCategory J]
Goal: CategoryTheory.Limits.HasLimitsOfShape J C
-- CategoryTheory.Limits.HasCountableColimits.out
class HasCountableColimits : Prop where
    out (J : Type) [SmallCategory J] [CountableCategory J] : HasColimitsOfShape J C
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [self : CategoryTheory.Limits.HasCountableColimits C] (J : Type) [CategoryTheory.SmallCategory J] [CategoryTheory.CountableCategory J]
Goal: CategoryTheory.Limits.HasColimitsOfShape J C
-- CategoryTheory.Limits.sequentialFunctor_map
theorem sequentialFunctor_map : Antitone (sequentialFunctor_obj J) 
Arguments: (J : Type u_2) [Countable J] [Preorder J] [CategoryTheory.IsCofiltered J]
Goal: Antitone (CategoryTheory.Limits.sequentialFunctor_obj J)
-- CategoryTheory.Limits.sequentialFunctor_initial_aux
theorem sequentialFunctor_initial_aux (j : J) : ∃ (n : ℕ), sequentialFunctor_obj J n ≤ j 
Arguments: (J : Type u_2) [Countable J] [Preorder J] [CategoryTheory.IsCofiltered J] (j : J)
Goal: ∃ n, CategoryTheory.Limits.sequentialFunctor_obj J n ≤ j
-- CategoryTheory.RegularMono.w
class RegularMono (f : X ⟶ Y) where
    Z : C -- Porting note: violates naming but what is better?
    left : Y ⟶ Z
    right : Y ⟶ Z
    w : f ≫ left = f ≫ right := by aesop_cat
    isLimit : IsLimit (Fork.ofι f w)
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} {f : X ⟶ Y} [self : CategoryTheory.RegularMono f]
Goal: CategoryTheory.CategoryStruct.comp f CategoryTheory.RegularMono.left =
  CategoryTheory.CategoryStruct.comp f CategoryTheory.RegularMono.right
-- CategoryTheory.isIso_of_regularMono_of_epi
theorem isIso_of_regularMono_of_epi (f : X ⟶ Y) [RegularMono f] [Epi f] : IsIso f 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.RegularMono f] [CategoryTheory.Epi f]
Goal: CategoryTheory.IsIso f