ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- imageToKernel_comp_left
theorem imageToKernel_comp_left {Z : V} (h : Z ⟶ A) (w : f ≫ g = 0) :
    imageToKernel (h ≫ f) g (by simp [w]) =
      Subobject.ofLE _ _ (imageSubobject_comp_le h f) ≫ imageToKernel f g w 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A ⟶ B) (g : B ⟶ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {Z : V} (h : Z ⟶ A) (w : f ≫ g = 0)
Goal: imageToKernel (h ≫ f) g ⋯ =
  (CategoryTheory.Limits.imageSubobject (h ≫ f)).ofLE (CategoryTheory.Limits.imageSubobject f) ⋯ ≫ imageToKernel f g w
-- imageToKernel_comp_mono
@[simp]
theorem imageToKernel_comp_mono {D : V} (h : C ⟶ D) [Mono h] (w) :
    imageToKernel f (g ≫ h) w =
      imageToKernel f g ((cancel_mono h).mp (by simpa using w : (f ≫ g) ≫ h = 0 ≫ h)) ≫
        (Subobject.isoOfEq _ _ (kernelSubobject_comp_mono g h)).inv 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A ⟶ B) (g : B ⟶ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {D : V} (h : C ⟶ D) [CategoryTheory.Mono h] (w : f ≫ g ≫ h = 0)
Goal: imageToKernel f (g ≫ h) w =
  imageToKernel f g ⋯ ≫
    ((CategoryTheory.Limits.kernelSubobject (g ≫ h)).isoOfEq (CategoryTheory.Limits.kernelSubobject g) ⋯).inv
-- imageToKernel_epi_comp
@[simp]
theorem imageToKernel_epi_comp {Z : V} (h : Z ⟶ A) [Epi h] (w) :
    imageToKernel (h ≫ f) g w =
      Subobject.ofLE _ _ (imageSubobject_comp_le h f) ≫
        imageToKernel f g ((cancel_epi h).mp (by simpa using w : h ≫ f ≫ g = h ≫ 0)) 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A ⟶ B) (g : B ⟶ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {Z : V} (h : Z ⟶ A) [CategoryTheory.Epi h] (w : (h ≫ f) ≫ g = 0)
Goal: imageToKernel (h ≫ f) g w =
  (CategoryTheory.Limits.imageSubobject (h ≫ f)).ofLE (CategoryTheory.Limits.imageSubobject f) ⋯ ≫ imageToKernel f g ⋯
-- imageToKernel_comp_hom_inv_comp
@[simp]
theorem imageToKernel_comp_hom_inv_comp [HasEqualizers V] [HasImages V] {Z : V} {i : B ≅ Z} (w) :
    imageToKernel (f ≫ i.hom) (i.inv ≫ g) w =
      (imageSubobjectCompIso _ _).hom ≫
        imageToKernel f g (by simpa using w) ≫ (kernelSubobjectIsoComp i.inv g).inv 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A ⟶ B) (g : B ⟶ C) [CategoryTheory.Limits.HasEqualizers V] [CategoryTheory.Limits.HasImages V] {Z : V} {i : B ≅ Z} (w : (f ≫ i.hom) ≫ i.inv ≫ g = 0)
Goal: imageToKernel (f ≫ i.hom) (i.inv ≫ g) w =
  (CategoryTheory.Limits.imageSubobjectCompIso f i.hom).hom ≫
    imageToKernel f g ⋯ ≫ (CategoryTheory.Limits.kernelSubobjectIsoComp i.inv g).inv
-- imageSubobjectIso_imageToKernel'
@[simp]
theorem imageSubobjectIso_imageToKernel' (w : f ≫ g = 0) :
    (imageSubobjectIso f).hom ≫ imageToKernel' f g w =
      imageToKernel f g w ≫ (kernelSubobjectIso g).hom 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A ⟶ B) (g : B ⟶ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] (w : f ≫ g = 0)
Goal: (CategoryTheory.Limits.imageSubobjectIso f).hom ≫ imageToKernel' f g w =
  imageToKernel f g w ≫ (CategoryTheory.Limits.kernelSubobjectIso g).hom
-- imageToKernel'_kernelSubobjectIso
@[simp]
theorem imageToKernel'_kernelSubobjectIso (w : f ≫ g = 0) :
    imageToKernel' f g w ≫ (kernelSubobjectIso g).inv =
      (imageSubobjectIso f).inv ≫ imageToKernel f g w 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A ⟶ B) (g : B ⟶ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] (w : f ≫ g = 0)
Goal: imageToKernel' f g w ≫ (CategoryTheory.Limits.kernelSubobjectIso g).inv =
  (CategoryTheory.Limits.imageSubobjectIso f).inv ≫ imageToKernel f g w
-- HomologicalComplex.HomologySequence.mapSnakeInput_f₂
@[simps]
noncomputable def mapSnakeInput (i j : ι) (hij : c.Rel i j) :
    snakeInput hS₁ i j hij ⟶ snakeInput hS₂ i j hij 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.mapSnakeInput φ hS₁ hS₂ i j hij).f₂ =
  (HomologicalComplex.cyclesFunctor C c j).mapShortComplex.map φ
-- HomologicalComplex.HomologySequence.mapSnakeInput_f₃
@[simps]
noncomputable def mapSnakeInput (i j : ι) (hij : c.Rel i j) :
    snakeInput hS₁ i j hij ⟶ snakeInput hS₂ i j hij 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.mapSnakeInput φ hS₁ hS₂ i j hij).f₃ =
  (HomologicalComplex.homologyFunctor C c j).mapShortComplex.map φ
-- HomologicalComplex.HomologySequence.mapSnakeInput_f₁
@[simps]
noncomputable def mapSnakeInput (i j : ι) (hij : c.Rel i j) :
    snakeInput hS₁ i j hij ⟶ snakeInput hS₂ i j hij 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.mapSnakeInput φ hS₁ hS₂ i j hij).f₁ =
  (HomologicalComplex.opcyclesFunctor C c i).mapShortComplex.map φ
-- HomologicalComplex.HomologySequence.mapSnakeInput_f₀
@[simps]
noncomputable def mapSnakeInput (i j : ι) (hij : c.Rel i j) :
    snakeInput hS₁ i j hij ⟶ snakeInput hS₂ i j hij 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.mapSnakeInput φ hS₁ hS₂ i j hij).f₀ =
  (HomologicalComplex.homologyFunctor C c i).mapShortComplex.map φ
-- HomologicalComplex.HomologySequence.δ_naturality
@[reassoc]
lemma δ_naturality (i j : ι) (hij : c.Rel i j) :
    hS₁.δ i j hij ≫ HomologicalComplex.homologyMap φ.τ₁ _ =
      HomologicalComplex.homologyMap φ.τ₃ _ ≫ hS₂.δ i j hij 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: hS₁.δ i j hij ≫ HomologicalComplex.homologyMap φ.τ₁ j = HomologicalComplex.homologyMap φ.τ₃ i ≫ hS₂.δ i j hij
-- HomologicalComplex.HomologySequence.composableArrows₂_exact
lemma composableArrows₂_exact (i : ι) :
    (composableArrows₂ S₁ i).Exact 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS₁ : S₁.ShortExact) (i : ι)
Goal: (HomologicalComplex.HomologySequence.composableArrows₂ S₁ i).Exact
-- HomologicalComplex.HomologySequence.composableArrows₅_exact
lemma composableArrows₅_exact (i j : ι) (hij : c.Rel i j) :
    (composableArrows₅ hS₁ i j hij).Exact 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS₁ : S₁.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.composableArrows₅ hS₁ i j hij).Exact
-- HomologicalComplex.HomologySequence.mono_homologyMap_τ₃
lemma mono_homologyMap_τ₃ (i : ι)
    (h₁ : Epi (homologyMap φ.τ₁ i))
    (h₂ : Mono (homologyMap φ.τ₂ i))
    (h₃ : ∀ j, c.Rel i j → Mono (homologyMap φ.τ₁ j)) :
    Mono (homologyMap φ.τ₃ i) 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₁ i)) (h₂ : CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₂ i)) (h₃ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₁ j))
Goal: CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₃ i)
-- HomologicalComplex.HomologySequence.epi_homologyMap_τ₃
lemma epi_homologyMap_τ₃ (i : ι)
    (h₁ : Epi (homologyMap φ.τ₂ i))
    (h₂ : ∀ j, c.Rel i j → Epi (homologyMap φ.τ₁ j))
    (h₃ : ∀ j, c.Rel i j → Mono (homologyMap φ.τ₂ j)) :
    Epi (homologyMap φ.τ₃ i) 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₂ i)) (h₂ : ∀ (j : ι), c.Rel i j → CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₁ j)) (h₃ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₂ j))
Goal: CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₃ i)
-- HomologicalComplex.HomologySequence.isIso_homologyMap_τ₃
lemma isIso_homologyMap_τ₃ (i : ι)
    (h₁ : Epi (homologyMap φ.τ₁ i))
    (h₂ : IsIso (homologyMap φ.τ₂ i))
    (h₃ : ∀ j, c.Rel i j → IsIso (homologyMap φ.τ₁ j))
    (h₄ : ∀ j, c.Rel i j → Mono (homologyMap φ.τ₂ j)) :
    IsIso (homologyMap φ.τ₃ i) 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₁ i)) (h₂ : CategoryTheory.IsIso (HomologicalComplex.homologyMap φ.τ₂ i)) (h₃ : ∀ (j : ι), c.Rel i j → CategoryTheory.IsIso (HomologicalComplex.homologyMap φ.τ₁ j)) (h₄ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₂ j))
Goal: CategoryTheory.IsIso (HomologicalComplex.homologyMap φ.τ₃ i)
-- HomologicalComplex.HomologySequence.quasiIso_τ₃
lemma quasiIso_τ₃ (h₁ : QuasiIso φ.τ₁) (h₂ : QuasiIso φ.τ₂) :
    QuasiIso φ.τ₃ 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (h₁ : QuasiIso φ.τ₁) (h₂ : QuasiIso φ.τ₂)
Goal: QuasiIso φ.τ₃
-- CategoryTheory.DifferentialObject.objEqToHom_refl
@[simp]
theorem objEqToHom_refl (i : β) : X.objEqToHom (refl i) = 𝟙 _ 
Arguments: {β : Type u_1} [AddCommGroup β] {b : β} {V : Type u_2} [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) (i : β)
Goal: X.objEqToHom ⋯ = 𝟙 (X.obj i)
-- CategoryTheory.DifferentialObject.objEqToHom_d
@[reassoc (attr := simp)]
theorem objEqToHom_d {x y : β} (h : x = y) :
    X.objEqToHom h ≫ X.d y = X.d x ≫ X.objEqToHom (by cases h; rfl) 
Arguments: {β : Type u_1} [AddCommGroup β] {b : β} {V : Type u_2} [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) {x y : β} (h : x = y)
Goal: X.objEqToHom h ≫ X.d y = X.d x ≫ X.objEqToHom ⋯
-- CategoryTheory.DifferentialObject.d_squared_apply
@[reassoc (attr := simp)]
theorem d_squared_apply {x : β} : X.d x ≫ X.d _ = 0 
Arguments: {β : Type u_1} [AddCommGroup β] {b : β} {V : Type u_2} [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) {x : β}
Goal: X.d x ≫ X.d ((fun b_1 => b_1 + { as := 1 }.as • b) x) = 0
-- CategoryTheory.DifferentialObject.eqToHom_f'
@[reassoc (attr := simp)]
theorem eqToHom_f' {X Y : DifferentialObject ℤ (GradedObjectWithShift b V)} (f : X ⟶ Y) {x y : β}
    (h : x = y) : X.objEqToHom h ≫ f.f y = f.f x ≫ Y.objEqToHom h 
Arguments: {β : Type u_1} [AddCommGroup β] {b : β} {V : Type u_2} [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] {X Y : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)} (f : X ⟶ Y) {x y : β} (h : x = y)
Goal: X.objEqToHom h ≫ f.f y = f.f x ≫ Y.objEqToHom h
-- HomologicalComplex.d_eqToHom
@[reassoc (attr := simp, nolint simpNF)]
theorem d_eqToHom (X : HomologicalComplex V (ComplexShape.up' b)) {x y z : β} (h : y = z) :
    X.d x y ≫ eqToHom (congr_arg X.X h) = X.d x z 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : HomologicalComplex V (ComplexShape.up' b)) {x y z : β} (h : y = z)
Goal: X.d x y ≫ CategoryTheory.eqToHom ⋯ = X.d x z
-- HomologicalComplex.dgoToHomologicalComplex_obj_d
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) (i j : β)
Goal: ((HomologicalComplex.dgoToHomologicalComplex b V).obj X).d i j = if h : i + b = j then X.d i ≫ X.objEqToHom ⋯ else 0
-- HomologicalComplex.dgoToHomologicalComplex_obj_X
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) (i : β)
Goal: ((HomologicalComplex.dgoToHomologicalComplex b V).obj X).X i = X.obj i
-- HomologicalComplex.dgoToHomologicalComplex_map_f
@[simps]
def dgoToHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ⥤
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] {X Y : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)} (f : X ⟶ Y) (i : β)
Goal: ((HomologicalComplex.dgoToHomologicalComplex b V).map f).f i = f.f i
-- HomologicalComplex.homologicalComplexToDGO_obj_obj
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : HomologicalComplex V (ComplexShape.up' b)) (i : β)
Goal: ((HomologicalComplex.homologicalComplexToDGO b V).obj X).obj i = X.X i
-- HomologicalComplex.homologicalComplexToDGO_obj_d
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : HomologicalComplex V (ComplexShape.up' b)) (i : β)
Goal: ((HomologicalComplex.homologicalComplexToDGO b V).obj X).d i = X.d i ((fun b_1 => b_1 + { as := 1 }.as • b) i)
-- HomologicalComplex.homologicalComplexToDGO_map_f
@[simps]
def homologicalComplexToDGO :
    HomologicalComplex V (ComplexShape.up' b) ⥤
      DifferentialObject ℤ (GradedObjectWithShift b V) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] {X Y : HomologicalComplex V (ComplexShape.up' b)} (f : X ⟶ Y) (i : β)
Goal: ((HomologicalComplex.homologicalComplexToDGO b V).map f).f i = f.f i
-- HomologicalComplex.dgoEquivHomologicalComplexUnitIso_inv_app_f
@[simps!]
def dgoEquivHomologicalComplexUnitIso :
    𝟭 (DifferentialObject ℤ (GradedObjectWithShift b V)) ≅
      dgoToHomologicalComplex b V ⋙ homologicalComplexToDGO b V 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) (i : β)
Goal: ((HomologicalComplex.dgoEquivHomologicalComplexUnitIso b V).inv.app X).f i = 𝟙 (X.obj i)
-- HomologicalComplex.dgoEquivHomologicalComplexUnitIso_hom_app_f
@[simps!]
def dgoEquivHomologicalComplexUnitIso :
    𝟭 (DifferentialObject ℤ (GradedObjectWithShift b V)) ≅
      dgoToHomologicalComplex b V ⋙ homologicalComplexToDGO b V 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : CategoryTheory.DifferentialObject ℤ (CategoryTheory.GradedObjectWithShift b V)) (i : β)
Goal: ((HomologicalComplex.dgoEquivHomologicalComplexUnitIso b V).hom.app X).f i = 𝟙 (X.obj i)
-- HomologicalComplex.dgoEquivHomologicalComplexCounitIso_hom_app_f
@[simps!]
def dgoEquivHomologicalComplexCounitIso :
    homologicalComplexToDGO b V ⋙ dgoToHomologicalComplex b V ≅
      𝟭 (HomologicalComplex V (ComplexShape.up' b)) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : HomologicalComplex V (ComplexShape.up' b)) (i : β)
Goal: ((HomologicalComplex.dgoEquivHomologicalComplexCounitIso b V).hom.app X).f i = 𝟙 (X.X i)
-- HomologicalComplex.dgoEquivHomologicalComplexCounitIso_inv_app_f
@[simps!]
def dgoEquivHomologicalComplexCounitIso :
    homologicalComplexToDGO b V ⋙ dgoToHomologicalComplex b V ≅
      𝟭 (HomologicalComplex V (ComplexShape.up' b)) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V] (X : HomologicalComplex V (ComplexShape.up' b)) (i : β)
Goal: ((HomologicalComplex.dgoEquivHomologicalComplexCounitIso b V).inv.app X).f i = 𝟙 (X.X i)
-- HomologicalComplex.dgoEquivHomologicalComplex_unitIso
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V]
Goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).unitIso = HomologicalComplex.dgoEquivHomologicalComplexUnitIso b V
-- HomologicalComplex.dgoEquivHomologicalComplex_counitIso
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V]
Goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).counitIso =
  HomologicalComplex.dgoEquivHomologicalComplexCounitIso b V
-- HomologicalComplex.dgoEquivHomologicalComplex_inverse
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V]
Goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).inverse = HomologicalComplex.homologicalComplexToDGO b V
-- HomologicalComplex.dgoEquivHomologicalComplex_functor
@[simps]
def dgoEquivHomologicalComplex :
    DifferentialObject ℤ (GradedObjectWithShift b V) ≌
      HomologicalComplex V (ComplexShape.up' b) 
Arguments: {β : Type u_1} [AddCommGroup β] (b : β) (V : Type u_2) [CategoryTheory.Category.{u_3, u_2} V] [CategoryTheory.Limits.HasZeroMorphisms V]
Goal: (HomologicalComplex.dgoEquivHomologicalComplex b V).functor = HomologicalComplex.dgoToHomologicalComplex b V
-- CategoryTheory.ShortComplex.SnakeInput.L₁_exact
structure SnakeInput where
    L₀ : ShortComplex C
    L₁ : ShortComplex C
    L₂ : ShortComplex C
    L₃ : ShortComplex C
    v₀₁ : L₀ ⟶ L₁
    v₁₂ : L₁ ⟶ L₂
    v₂₃ : L₂ ⟶ L₃
  w₀₂ : v₀₁ ≫ v₁₂ = 0 := by aesop_cat
  w₁₃ : v₁₂ ≫ v₂₃ = 0 := by aesop_cat
    h₀ : IsLimit (KernelFork.ofι _ w₀₂)
    h₃ : IsColimit (CokernelCofork.ofπ _ w₁₃)
  L₁_exact : L₁.Exact
  epi_L₁_g : Epi L₁.g
  L₂_exact : L₂.Exact
  mono_L₂_f : Mono L₂.f
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (self : CategoryTheory.ShortComplex.SnakeInput C)
Goal: self.L₁.Exact
-- CategoryTheory.ShortComplex.SnakeInput.epi_L₁_g
structure SnakeInput where
    L₀ : ShortComplex C
    L₁ : ShortComplex C
    L₂ : ShortComplex C
    L₃ : ShortComplex C
    v₀₁ : L₀ ⟶ L₁
    v₁₂ : L₁ ⟶ L₂
    v₂₃ : L₂ ⟶ L₃
  w₀₂ : v₀₁ ≫ v₁₂ = 0 := by aesop_cat
  w₁₃ : v₁₂ ≫ v₂₃ = 0 := by aesop_cat
    h₀ : IsLimit (KernelFork.ofι _ w₀₂)
    h₃ : IsColimit (CokernelCofork.ofπ _ w₁₃)
  L₁_exact : L₁.Exact
  epi_L₁_g : Epi L₁.g
  L₂_exact : L₂.Exact
  mono_L₂_f : Mono L₂.f
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (self : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.Epi self.L₁.g
-- CategoryTheory.ShortComplex.SnakeInput.w₁₃
structure SnakeInput where
    L₀ : ShortComplex C
    L₁ : ShortComplex C
    L₂ : ShortComplex C
    L₃ : ShortComplex C
    v₀₁ : L₀ ⟶ L₁
    v₁₂ : L₁ ⟶ L₂
    v₂₃ : L₂ ⟶ L₃
  w₀₂ : v₀₁ ≫ v₁₂ = 0 := by aesop_cat
  w₁₃ : v₁₂ ≫ v₂₃ = 0 := by aesop_cat
    h₀ : IsLimit (KernelFork.ofι _ w₀₂)
    h₃ : IsColimit (CokernelCofork.ofπ _ w₁₃)
  L₁_exact : L₁.Exact
  epi_L₁_g : Epi L₁.g
  L₂_exact : L₂.Exact
  mono_L₂_f : Mono L₂.f
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (self : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.CategoryStruct.comp self.v₁₂ self.v₂₃ = 0
-- CategoryTheory.ShortComplex.SnakeInput.mono_L₂_f
structure SnakeInput where
    L₀ : ShortComplex C
    L₁ : ShortComplex C
    L₂ : ShortComplex C
    L₃ : ShortComplex C
    v₀₁ : L₀ ⟶ L₁
    v₁₂ : L₁ ⟶ L₂
    v₂₃ : L₂ ⟶ L₃
  w₀₂ : v₀₁ ≫ v₁₂ = 0 := by aesop_cat
  w₁₃ : v₁₂ ≫ v₂₃ = 0 := by aesop_cat
    h₀ : IsLimit (KernelFork.ofι _ w₀₂)
    h₃ : IsColimit (CokernelCofork.ofπ _ w₁₃)
  L₁_exact : L₁.Exact
  epi_L₁_g : Epi L₁.g
  L₂_exact : L₂.Exact
  mono_L₂_f : Mono L₂.f
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (self : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.Mono self.L₂.f
-- CategoryTheory.ShortComplex.SnakeInput.w₀₂
structure SnakeInput where
    L₀ : ShortComplex C
    L₁ : ShortComplex C
    L₂ : ShortComplex C
    L₃ : ShortComplex C
    v₀₁ : L₀ ⟶ L₁
    v₁₂ : L₁ ⟶ L₂
    v₂₃ : L₂ ⟶ L₃
  w₀₂ : v₀₁ ≫ v₁₂ = 0 := by aesop_cat
  w₁₃ : v₁₂ ≫ v₂₃ = 0 := by aesop_cat
    h₀ : IsLimit (KernelFork.ofι _ w₀₂)
    h₃ : IsColimit (CokernelCofork.ofπ _ w₁₃)
  L₁_exact : L₁.Exact
  epi_L₁_g : Epi L₁.g
  L₂_exact : L₂.Exact
  mono_L₂_f : Mono L₂.f
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (self : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.CategoryStruct.comp self.v₀₁ self.v₁₂ = 0