ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.ComposableArrows.isComplex₂_mk
lemma isComplex₂_mk (S : ComposableArrows C 2) (w : S.map' 0 1 ≫ S.map' 1 2 = 0) :
    S.IsComplex 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ComposableArrows C 2) (w : CategoryTheory.CategoryStruct.comp (S.map' 0 1 ⋯ ⋯) (S.map' 1 2 ⋯ ⋯) = 0)
Goal: S.IsComplex
-- CategoryTheory.ShortComplex.isComplex_toComposableArrows
lemma _root_.CategoryTheory.ShortComplex.isComplex_toComposableArrows (S : ShortComplex C) :
    S.toComposableArrows.IsComplex 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C)
Goal: S.toComposableArrows.IsComplex
-- CategoryTheory.ComposableArrows.exact₂_iff
lemma exact₂_iff (S : ComposableArrows C 2) (hS : S.IsComplex) :
    S.Exact ↔ (S.sc' hS 0 1 2).Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ComposableArrows C 2) (hS : S.IsComplex)
Goal: S.Exact ↔ (S.sc' hS 0 1 2 ⋯ ⋯ ⋯).Exact
-- CategoryTheory.ComposableArrows.exact₂_mk
lemma exact₂_mk (S : ComposableArrows C 2) (w : S.map' 0 1 ≫ S.map' 1 2 = 0)
    (h : (ShortComplex.mk _ _ w).Exact) : S.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ComposableArrows C 2) (w : CategoryTheory.CategoryStruct.comp (S.map' 0 1 ⋯ ⋯) (S.map' 1 2 ⋯ ⋯) = 0) (h : (CategoryTheory.ShortComplex.mk (S.map' 0 1 ⋯ ⋯) (S.map' 1 2 ⋯ ⋯) w).Exact)
Goal: S.Exact
-- CategoryTheory.ShortComplex.Exact.exact_toComposableArrows
lemma _root_.CategoryTheory.ShortComplex.Exact.exact_toComposableArrows
    {S : ShortComplex C} (hS : S.Exact) :
    S.toComposableArrows.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (hS : S.Exact)
Goal: S.toComposableArrows.Exact
-- CategoryTheory.ShortComplex.exact_iff_exact_toComposableArrows
lemma _root_.CategoryTheory.ShortComplex.exact_iff_exact_toComposableArrows
    (S : ShortComplex C) :
    S.Exact ↔ S.toComposableArrows.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C)
Goal: S.Exact ↔ S.toComposableArrows.Exact
-- CategoryTheory.ComposableArrows.exact_iff_δ₀
lemma exact_iff_δ₀ (S : ComposableArrows C (n + 2)) :
    S.Exact ↔ (mk₂ (S.map' 0 1) (S.map' 1 2)).Exact ∧ S.δ₀.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} (S : CategoryTheory.ComposableArrows C (n + 2))
Goal: S.Exact ↔ (CategoryTheory.ComposableArrows.mk₂ (S.map' 0 1 ⋯ ⋯) (S.map' 1 2 ⋯ ⋯)).Exact ∧ S.δ₀.Exact
-- CategoryTheory.ComposableArrows.Exact.δ₀
lemma Exact.δ₀ {S : ComposableArrows C (n + 2)} (hS : S.Exact) :
    S.δ₀.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 2)} (hS : S.Exact)
Goal: S.δ₀.Exact
-- CategoryTheory.ComposableArrows.exact_of_δ₀
lemma exact_of_δ₀ {S : ComposableArrows C (n + 2)}
    (h : (mk₂ (S.map' 0 1) (S.map' 1 2)).Exact) (h₀ : S.δ₀.Exact) : S.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 2)} (h : (CategoryTheory.ComposableArrows.mk₂ (S.map' 0 1 ⋯ ⋯) (S.map' 1 2 ⋯ ⋯)).Exact) (h₀ : S.δ₀.Exact)
Goal: S.Exact
-- CategoryTheory.ComposableArrows.exact_iff_δlast
lemma exact_iff_δlast {n : ℕ} (S : ComposableArrows C (n + 2)) :
    S.Exact ↔ S.δlast.Exact ∧ (mk₂ (S.map' n (n + 1)) (S.map' (n + 1) (n + 2))).Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} (S : CategoryTheory.ComposableArrows C (n + 2))
Goal: S.Exact ↔
  S.δlast.Exact ∧ (CategoryTheory.ComposableArrows.mk₂ (S.map' n (n + 1) ⋯ ⋯) (S.map' (n + 1) (n + 2) ⋯ ⋯)).Exact
-- CategoryTheory.ComposableArrows.Exact.δlast
lemma Exact.δlast {S : ComposableArrows C (n + 2)} (hS : S.Exact) :
    S.δlast.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 2)} (hS : S.Exact)
Goal: S.δlast.Exact
-- CategoryTheory.ComposableArrows.exact_of_δlast
lemma exact_of_δlast {n : ℕ} (S : ComposableArrows C (n + 2))
    (h₁ : S.δlast.Exact) (h₂ : (mk₂ (S.map' n (n + 1)) (S.map' (n + 1) (n + 2))).Exact) :
    S.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} (S : CategoryTheory.ComposableArrows C (n + 2)) (h₁ : S.δlast.Exact) (h₂ : (CategoryTheory.ComposableArrows.mk₂ (S.map' n (n + 1) ⋯ ⋯) (S.map' (n + 1) (n + 2) ⋯ ⋯)).Exact)
Goal: S.Exact
-- HomologicalComplex.asFunctor_obj
@[simps obj map]
def asFunctor {T : Type*} [Category T] (C : HomologicalComplex (T ⥤ V) c) :
    T ⥤ HomologicalComplex V c 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {ι : Type u_1} {c : ComplexShape ι} {T : Type u_2} [CategoryTheory.Category.{u_3, u_2} T] (C : HomologicalComplex (T ⥤ V) c) (t : T)
Goal: C.asFunctor.obj t = { X := fun i => (C.X i).obj t, d := fun i j => (C.d i j).app t, shape := ⋯, d_comp_d' := ⋯ }
-- HomologicalComplex.asFunctor_map
@[simps obj map]
def asFunctor {T : Type*} [Category T] (C : HomologicalComplex (T ⥤ V) c) :
    T ⥤ HomologicalComplex V c 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {ι : Type u_1} {c : ComplexShape ι} {T : Type u_2} [CategoryTheory.Category.{u_3, u_2} T] (C : HomologicalComplex (T ⥤ V) c)
Goal: ∀ {X Y : T} (h : X ⟶ Y), C.asFunctor.map h = { f := fun i => (C.X i).map h, comm' := ⋯ }
-- HomologicalComplex.complexOfFunctorsToFunctorToComplex_map_app_f
@[simps]
def complexOfFunctorsToFunctorToComplex {T : Type*} [Category T] :
    HomologicalComplex (T ⥤ V) c ⥤ T ⥤ HomologicalComplex V c 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {ι : Type u_1} {c : ComplexShape ι} {T : Type u_2} [CategoryTheory.Category.{u_3, u_2} T]
Goal: ∀ {X Y : HomologicalComplex (T ⥤ V) c} (f : X ⟶ Y) (t : T) (i : ι),
  ((HomologicalComplex.complexOfFunctorsToFunctorToComplex.map f).app t).f i = (f.f i).app t
-- HomologicalComplex.complexOfFunctorsToFunctorToComplex_obj
@[simps]
def complexOfFunctorsToFunctorToComplex {T : Type*} [Category T] :
    HomologicalComplex (T ⥤ V) c ⥤ T ⥤ HomologicalComplex V c 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {ι : Type u_1} {c : ComplexShape ι} {T : Type u_2} [CategoryTheory.Category.{u_3, u_2} T] (C : HomologicalComplex (T ⥤ V) c)
Goal: HomologicalComplex.complexOfFunctorsToFunctorToComplex.obj C = C.asFunctor
-- CategoryTheory.ShortComplex.RightHomologyData.wι
structure RightHomologyData where
    Q : C
    H : C
    p : S.X₂ ⟶ Q
    ι : H ⟶ Q
    wp : S.f ≫ p = 0
    hp : IsColimit (CokernelCofork.ofπ p wp)
    wι : ι ≫ hp.desc (CokernelCofork.ofπ _ S.zero) = 0
    hι : IsLimit (KernelFork.ofι ι wι)
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (self : S.RightHomologyData)
Goal: CategoryTheory.CategoryStruct.comp self.ι (self.hp.desc (CategoryTheory.Limits.CokernelCofork.ofπ S.g ⋯)) = 0
-- CategoryTheory.ShortComplex.RightHomologyData.wp
structure RightHomologyData where
    Q : C
    H : C
    p : S.X₂ ⟶ Q
    ι : H ⟶ Q
    wp : S.f ≫ p = 0
    hp : IsColimit (CokernelCofork.ofπ p wp)
    wι : ι ≫ hp.desc (CokernelCofork.ofπ _ S.zero) = 0
    hι : IsLimit (KernelFork.ofι ι wι)
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (self : S.RightHomologyData)
Goal: CategoryTheory.CategoryStruct.comp S.f self.p = 0
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel_ι
@[simps]
noncomputable def ofHasCokernelOfHasKernel
    [HasCokernel S.f] [HasKernel (cokernel.desc S.f S.g S.zero)] :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasCokernel S.f] [CategoryTheory.Limits.HasKernel (CategoryTheory.Limits.cokernel.desc S.f S.g ⋯)]
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel S).ι =
  CategoryTheory.Limits.kernel.ι (CategoryTheory.Limits.cokernel.desc S.f S.g ⋯)
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel_Q
@[simps]
noncomputable def ofHasCokernelOfHasKernel
    [HasCokernel S.f] [HasKernel (cokernel.desc S.f S.g S.zero)] :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasCokernel S.f] [CategoryTheory.Limits.HasKernel (CategoryTheory.Limits.cokernel.desc S.f S.g ⋯)]
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel S).Q = CategoryTheory.Limits.cokernel S.f
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel_p
@[simps]
noncomputable def ofHasCokernelOfHasKernel
    [HasCokernel S.f] [HasKernel (cokernel.desc S.f S.g S.zero)] :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasCokernel S.f] [CategoryTheory.Limits.HasKernel (CategoryTheory.Limits.cokernel.desc S.f S.g ⋯)]
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel S).p = CategoryTheory.Limits.cokernel.π S.f
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel_H
@[simps]
noncomputable def ofHasCokernelOfHasKernel
    [HasCokernel S.f] [HasKernel (cokernel.desc S.f S.g S.zero)] :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasCokernel S.f] [CategoryTheory.Limits.HasKernel (CategoryTheory.Limits.cokernel.desc S.f S.g ⋯)]
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasCokernelOfHasKernel S).H =
  CategoryTheory.Limits.kernel (CategoryTheory.Limits.cokernel.desc S.f S.g ⋯)
-- CategoryTheory.ShortComplex.RightHomologyData.p_descQ
@[reassoc (attr := simp)]
lemma p_descQ (k : S.X₂ ⟶ A) (hk : S.f ≫ k = 0) : h.p ≫ h.descQ k hk = k 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0)
Goal: CategoryTheory.CategoryStruct.comp h.p (h.descQ k hk) = k
-- CategoryTheory.ShortComplex.RightHomologyData.p_g'
@[reassoc (attr := simp)] lemma p_g' : h.p ≫ h.g' = S.g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData)
Goal: CategoryTheory.CategoryStruct.comp h.p h.g' = S.g
-- CategoryTheory.ShortComplex.RightHomologyData.ι_g'
@[reassoc (attr := simp)] lemma ι_g' : h.ι ≫ h.g' = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData)
Goal: CategoryTheory.CategoryStruct.comp h.ι h.g' = 0
-- CategoryTheory.ShortComplex.RightHomologyData.ι_descQ_eq_zero_of_boundary
@[reassoc]
lemma ι_descQ_eq_zero_of_boundary (k : S.X₂ ⟶ A) (x : S.X₃ ⟶ A) (hx : k = S.g ≫ x) :
    h.ι ≫ h.descQ k (by rw [hx, S.zero_assoc, zero_comp]) = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) {A : C} (k : S.X₂ ⟶ A) (x : S.X₃ ⟶ A) (hx : k = CategoryTheory.CategoryStruct.comp S.g x)
Goal: CategoryTheory.CategoryStruct.comp h.ι (h.descQ k ⋯) = 0
-- CategoryTheory.ShortComplex.RightHomologyData.liftH_ι
@[reassoc (attr := simp)]
lemma liftH_ι (k : A ⟶ h.Q) (hk : k ≫ h.g' = 0) : h.liftH k hk ≫ h.ι = k 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) {A : C} (k : A ⟶ h.Q) (hk : CategoryTheory.CategoryStruct.comp k h.g' = 0)
Goal: CategoryTheory.CategoryStruct.comp (h.liftH k hk) h.ι = k
-- CategoryTheory.ShortComplex.RightHomologyData.isIso_p
lemma isIso_p (hf : S.f = 0) : IsIso h.p 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) (hf : S.f = 0)
Goal: CategoryTheory.IsIso h.p
-- CategoryTheory.ShortComplex.RightHomologyData.isIso_ι
lemma isIso_ι (hg : S.g = 0) : IsIso h.ι 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) (hg : S.g = 0)
Goal: CategoryTheory.IsIso h.ι
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork_ι
@[simps]
def ofIsLimitKernelFork (hf : S.f = 0) (c : KernelFork S.g) (hc : IsLimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (c : CategoryTheory.Limits.KernelFork S.g) (hc : CategoryTheory.Limits.IsLimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork S hf c hc).ι = CategoryTheory.Limits.Fork.ι c
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork_p
@[simps]
def ofIsLimitKernelFork (hf : S.f = 0) (c : KernelFork S.g) (hc : IsLimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (c : CategoryTheory.Limits.KernelFork S.g) (hc : CategoryTheory.Limits.IsLimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork S hf c hc).p = CategoryTheory.CategoryStruct.id S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork_Q
@[simps]
def ofIsLimitKernelFork (hf : S.f = 0) (c : KernelFork S.g) (hc : IsLimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (c : CategoryTheory.Limits.KernelFork S.g) (hc : CategoryTheory.Limits.IsLimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork S hf c hc).Q = S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork_H
@[simps]
def ofIsLimitKernelFork (hf : S.f = 0) (c : KernelFork S.g) (hc : IsLimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (c : CategoryTheory.Limits.KernelFork S.g) (hc : CategoryTheory.Limits.IsLimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork S hf c hc).H = c.pt
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork_g'
@[simp] lemma ofIsLimitKernelFork_g' (hf : S.f = 0) (c : KernelFork S.g)
    (hc : IsLimit c) : (ofIsLimitKernelFork S hf c hc).g' = S.g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (c : CategoryTheory.Limits.KernelFork S.g) (hc : CategoryTheory.Limits.IsLimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsLimitKernelFork S hf c hc).g' = S.g
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel_p
@[simps!]
noncomputable def ofHasKernel [HasKernel S.g] (hf : S.f = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasKernel S.g] (hf : S.f = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel S hf).p = CategoryTheory.CategoryStruct.id S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel_ι
@[simps!]
noncomputable def ofHasKernel [HasKernel S.g] (hf : S.f = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasKernel S.g] (hf : S.f = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel S hf).ι = CategoryTheory.Limits.kernel.ι S.g
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel_Q
@[simps!]
noncomputable def ofHasKernel [HasKernel S.g] (hf : S.f = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasKernel S.g] (hf : S.f = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel S hf).Q = S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel_H
@[simps!]
noncomputable def ofHasKernel [HasKernel S.g] (hf : S.f = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [CategoryTheory.Limits.HasKernel S.g] (hf : S.f = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofHasKernel S hf).H = CategoryTheory.Limits.kernel S.g
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork_H
@[simps]
def ofIsColimitCokernelCofork (hg : S.g = 0) (c : CokernelCofork S.f) (hc : IsColimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) (c : CategoryTheory.Limits.CokernelCofork S.f) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork S hg c hc).H = c.pt
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork_Q
@[simps]
def ofIsColimitCokernelCofork (hg : S.g = 0) (c : CokernelCofork S.f) (hc : IsColimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) (c : CategoryTheory.Limits.CokernelCofork S.f) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork S hg c hc).Q = c.pt
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork_p
@[simps]
def ofIsColimitCokernelCofork (hg : S.g = 0) (c : CokernelCofork S.f) (hc : IsColimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) (c : CategoryTheory.Limits.CokernelCofork S.f) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork S hg c hc).p = CategoryTheory.Limits.Cofork.π c
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork_ι
@[simps]
def ofIsColimitCokernelCofork (hg : S.g = 0) (c : CokernelCofork S.f) (hc : IsColimit c) :
    S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) (c : CategoryTheory.Limits.CokernelCofork S.f) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork S hg c hc).ι =
  CategoryTheory.CategoryStruct.id c.pt
-- CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork_g'
@[simp] lemma ofIsColimitCokernelCofork_g' (hg : S.g = 0) (c : CokernelCofork S.f)
  (hc : IsColimit c) : (ofIsColimitCokernelCofork S hg c hc).g' = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) (c : CategoryTheory.Limits.CokernelCofork S.f) (hc : CategoryTheory.Limits.IsColimit c)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofIsColimitCokernelCofork S hg c hc).g' = 0
-- CategoryTheory.ShortComplex.RightHomologyData.ofZeros_H
@[simps]
def ofZeros (hf : S.f = 0) (hg : S.g = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (hg : S.g = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofZeros S hf hg).H = S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofZeros_p
@[simps]
def ofZeros (hf : S.f = 0) (hg : S.g = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (hg : S.g = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofZeros S hf hg).p = CategoryTheory.CategoryStruct.id S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofZeros_ι
@[simps]
def ofZeros (hf : S.f = 0) (hg : S.g = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (hg : S.g = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofZeros S hf hg).ι = CategoryTheory.CategoryStruct.id S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofZeros_Q
@[simps]
def ofZeros (hf : S.f = 0) (hg : S.g = 0) : S.RightHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (hg : S.g = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofZeros S hf hg).Q = S.X₂
-- CategoryTheory.ShortComplex.RightHomologyData.ofZeros_g'
@[simp]
lemma ofZeros_g' (hf : S.f = 0) (hg : S.g = 0) :
    (ofZeros S hf hg).g' = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hf : S.f = 0) (hg : S.g = 0)
Goal: (CategoryTheory.ShortComplex.RightHomologyData.ofZeros S hf hg).g' = 0
-- CategoryTheory.ShortComplex.HasRightHomology.condition
class HasRightHomology : Prop where
  condition : Nonempty S.RightHomologyData
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} [self : S.HasRightHomology]
Goal: Nonempty S.RightHomologyData
-- CategoryTheory.ShortComplex.HasRightHomology.mk'
lemma mk' (h : S.RightHomologyData) : HasRightHomology S 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData)
Goal: S.HasRightHomology
-- CategoryTheory.ShortComplex.RightHomologyData.op_H
@[simps]
def op (h : S.RightHomologyData) : S.op.LeftHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData)
Goal: h.op.H = Opposite.op h.H
-- CategoryTheory.ShortComplex.RightHomologyData.op_π
@[simps]
def op (h : S.RightHomologyData) : S.op.LeftHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData)
Goal: h.op.π = h.ι.op
-- CategoryTheory.ShortComplex.RightHomologyData.op_i
@[simps]
def op (h : S.RightHomologyData) : S.op.LeftHomologyData 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData)
Goal: h.op.i = h.p.op