ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.NatTrans.mapHomologicalComplex_naturality
@[reassoc (attr := simp 1100)]
theorem NatTrans.mapHomologicalComplex_naturality {c : ComplexShape ι} {F G : W₁ ⥤ W₂}
    [F.PreservesZeroMorphisms] [G.PreservesZeroMorphisms]
    (α : F ⟶ G) {C D : HomologicalComplex W₁ c} (f : C ⟶ D) :
    (F.mapHomologicalComplex c).map f ≫ (NatTrans.mapHomologicalComplex α c).app D =
      (NatTrans.mapHomologicalComplex α c).app C ≫ (G.mapHomologicalComplex c).map f 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] {c : ComplexShape ι} {F G : W₁ ⥤ W₂} [F.PreservesZeroMorphisms] [G.PreservesZeroMorphisms] (α : F ⟶ G) {C D : HomologicalComplex W₁ c} (f : C ⟶ D)
Goal: (F.mapHomologicalComplex c).map f ≫ (CategoryTheory.NatTrans.mapHomologicalComplex α c).app D =
  (CategoryTheory.NatTrans.mapHomologicalComplex α c).app C ≫ (G.mapHomologicalComplex c).map f
-- CategoryTheory.NatIso.mapHomologicalComplex_hom_app_f
@[simps!]
def NatIso.mapHomologicalComplex {F G : W₁ ⥤ W₂} [F.PreservesZeroMorphisms]
    [G.PreservesZeroMorphisms] (α : F ≅ G) (c : ComplexShape ι) :
    F.mapHomologicalComplex c ≅ G.mapHomologicalComplex c 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] {F G : W₁ ⥤ W₂} [F.PreservesZeroMorphisms] [G.PreservesZeroMorphisms] (α : F ≅ G) (c : ComplexShape ι) (C : HomologicalComplex W₁ c) (i : ι)
Goal: ((CategoryTheory.NatIso.mapHomologicalComplex α c).hom.app C).f i = α.hom.app (C.X i)
-- CategoryTheory.NatIso.mapHomologicalComplex_inv_app_f
@[simps!]
def NatIso.mapHomologicalComplex {F G : W₁ ⥤ W₂} [F.PreservesZeroMorphisms]
    [G.PreservesZeroMorphisms] (α : F ≅ G) (c : ComplexShape ι) :
    F.mapHomologicalComplex c ≅ G.mapHomologicalComplex c 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] {F G : W₁ ⥤ W₂} [F.PreservesZeroMorphisms] [G.PreservesZeroMorphisms] (α : F ≅ G) (c : ComplexShape ι) (C : HomologicalComplex W₁ c) (i : ι)
Goal: ((CategoryTheory.NatIso.mapHomologicalComplex α c).inv.app C).f i = α.inv.app (C.X i)
-- CategoryTheory.Equivalence.mapHomologicalComplex_unitIso
@[simps]
def Equivalence.mapHomologicalComplex (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms]
    (c : ComplexShape ι) :
    HomologicalComplex W₁ c ≌ HomologicalComplex W₂ c 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms] (c : ComplexShape ι)
Goal: (e.mapHomologicalComplex c).unitIso =
  (CategoryTheory.Functor.mapHomologicalComplexIdIso W₁ c).symm ≪≫
    CategoryTheory.NatIso.mapHomologicalComplex e.unitIso c
-- CategoryTheory.Equivalence.mapHomologicalComplex_functor
@[simps]
def Equivalence.mapHomologicalComplex (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms]
    (c : ComplexShape ι) :
    HomologicalComplex W₁ c ≌ HomologicalComplex W₂ c 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms] (c : ComplexShape ι)
Goal: (e.mapHomologicalComplex c).functor = e.functor.mapHomologicalComplex c
-- CategoryTheory.Equivalence.mapHomologicalComplex_counitIso
@[simps]
def Equivalence.mapHomologicalComplex (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms]
    (c : ComplexShape ι) :
    HomologicalComplex W₁ c ≌ HomologicalComplex W₂ c 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms] (c : ComplexShape ι)
Goal: (e.mapHomologicalComplex c).counitIso =
  CategoryTheory.NatIso.mapHomologicalComplex e.counitIso c ≪≫ CategoryTheory.Functor.mapHomologicalComplexIdIso W₂ c
-- CategoryTheory.Equivalence.mapHomologicalComplex_inverse
@[simps]
def Equivalence.mapHomologicalComplex (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms]
    (c : ComplexShape ι) :
    HomologicalComplex W₁ c ≌ HomologicalComplex W₂ c 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_5, u_3} W₁] [CategoryTheory.Category.{u_6, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] (e : W₁ ≌ W₂) [e.functor.PreservesZeroMorphisms] (c : ComplexShape ι)
Goal: (e.mapHomologicalComplex c).inverse = e.inverse.mapHomologicalComplex c
-- ChainComplex.map_chain_complex_of
theorem map_chain_complex_of (F : W₁ ⥤ W₂) [F.PreservesZeroMorphisms] (X : α → W₁)
    (d : ∀ n, X (n + 1) ⟶ X n) (sq : ∀ n, d (n + 1) ≫ d n = 0) :
    (F.mapHomologicalComplex _).obj (ChainComplex.of X d sq) =
      ChainComplex.of (fun n => F.obj (X n)) (fun n => F.map (d n)) fun n => by
        rw [← F.map_comp, sq n, Functor.map_zero] 
Arguments: {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_6, u_3} W₁] [CategoryTheory.Category.{u_7, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] {α : Type u_5} [AddRightCancelSemigroup α] [One α] [DecidableEq α] (F : W₁ ⥤ W₂) [F.PreservesZeroMorphisms] (X : α → W₁) (d : (n : α) → X (n + 1) ⟶ X n) (sq : ∀ (n : α), d (n + 1) ≫ d n = 0)
Goal: (F.mapHomologicalComplex (ComplexShape.down α)).obj (ChainComplex.of X d sq) =
  ChainComplex.of (fun n => F.obj (X n)) (fun n => F.map (d n)) ⋯
-- HomologicalComplex.singleMapHomologicalComplex_hom_app_self
@[simp]
theorem singleMapHomologicalComplex_hom_app_self (j : ι) (X : W₁) :
    ((singleMapHomologicalComplex F c j).hom.app X).f j =
      F.map (singleObjXSelf c j X).hom ≫ (singleObjXSelf c j (F.obj X)).inv 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_6, u_3} W₁] [CategoryTheory.Category.{u_5, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] [CategoryTheory.Limits.HasZeroObject W₁] [CategoryTheory.Limits.HasZeroObject W₂] (F : W₁ ⥤ W₂) [F.PreservesZeroMorphisms] (c : ComplexShape ι) [DecidableEq ι] (j : ι) (X : W₁)
Goal: ((HomologicalComplex.singleMapHomologicalComplex F c j).hom.app X).f j =
  F.map (HomologicalComplex.singleObjXSelf c j X).hom ≫ (HomologicalComplex.singleObjXSelf c j (F.obj X)).inv
-- HomologicalComplex.singleMapHomologicalComplex_hom_app_ne
@[simp]
theorem singleMapHomologicalComplex_hom_app_ne {i j : ι} (h : i ≠ j) (X : W₁) :
    ((singleMapHomologicalComplex F c j).hom.app X).f i = 0 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_6, u_3} W₁] [CategoryTheory.Category.{u_5, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] [CategoryTheory.Limits.HasZeroObject W₁] [CategoryTheory.Limits.HasZeroObject W₂] (F : W₁ ⥤ W₂) [F.PreservesZeroMorphisms] (c : ComplexShape ι) [DecidableEq ι] {i j : ι} (h : i ≠ j) (X : W₁)
Goal: ((HomologicalComplex.singleMapHomologicalComplex F c j).hom.app X).f i = 0
-- HomologicalComplex.singleMapHomologicalComplex_inv_app_self
@[simp]
theorem singleMapHomologicalComplex_inv_app_self (j : ι) (X : W₁) :
    ((singleMapHomologicalComplex F c j).inv.app X).f j =
      (singleObjXSelf c j (F.obj X)).hom ≫ F.map (singleObjXSelf c j X).inv 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_6, u_3} W₁] [CategoryTheory.Category.{u_5, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] [CategoryTheory.Limits.HasZeroObject W₁] [CategoryTheory.Limits.HasZeroObject W₂] (F : W₁ ⥤ W₂) [F.PreservesZeroMorphisms] (c : ComplexShape ι) [DecidableEq ι] (j : ι) (X : W₁)
Goal: ((HomologicalComplex.singleMapHomologicalComplex F c j).inv.app X).f j =
  (HomologicalComplex.singleObjXSelf c j (F.obj X)).hom ≫ F.map (HomologicalComplex.singleObjXSelf c j X).inv
-- HomologicalComplex.singleMapHomologicalComplex_inv_app_ne
@[simp]
theorem singleMapHomologicalComplex_inv_app_ne {i j : ι} (h : i ≠ j) (X : W₁) :
    ((singleMapHomologicalComplex F c j).inv.app X).f i = 0 
Arguments: {ι : Type u_1} {W₁ : Type u_3} {W₂ : Type u_4} [CategoryTheory.Category.{u_6, u_3} W₁] [CategoryTheory.Category.{u_5, u_4} W₂] [CategoryTheory.Limits.HasZeroMorphisms W₁] [CategoryTheory.Limits.HasZeroMorphisms W₂] [CategoryTheory.Limits.HasZeroObject W₁] [CategoryTheory.Limits.HasZeroObject W₂] (F : W₁ ⥤ W₂) [F.PreservesZeroMorphisms] (c : ComplexShape ι) [DecidableEq ι] {i j : ι} (h : i ≠ j) (X : W₁)
Goal: ((HomologicalComplex.singleMapHomologicalComplex F c j).inv.app X).f i = 0
-- CategoryTheory.ShortComplex.QuasiIso.isIso'
class QuasiIso (φ : S₁ ⟶ S₂) : Prop where
    isIso' : IsIso (homologyMap φ)
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] {φ : S₁ ⟶ S₂} [self : CategoryTheory.ShortComplex.QuasiIso φ]
Goal: CategoryTheory.IsIso (CategoryTheory.ShortComplex.homologyMap φ)
-- CategoryTheory.ShortComplex.quasiIso_iff
lemma quasiIso_iff (φ : S₁ ⟶ S₂) :
    QuasiIso φ ↔ IsIso (homologyMap φ) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (CategoryTheory.ShortComplex.homologyMap φ)
-- CategoryTheory.ShortComplex.quasiIso_of_comp_left
lemma quasiIso_of_comp_left (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃)
    [hφ : QuasiIso φ] [hφφ' : QuasiIso (φ ≫ φ')] :
    QuasiIso φ' 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃) [hφ : CategoryTheory.ShortComplex.QuasiIso φ] [hφφ' : CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.CategoryStruct.comp φ φ')]
Goal: CategoryTheory.ShortComplex.QuasiIso φ'
-- CategoryTheory.ShortComplex.quasiIso_iff_comp_left
lemma quasiIso_iff_comp_left (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃) [hφ : QuasiIso φ] :
    QuasiIso (φ ≫ φ') ↔ QuasiIso φ' 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃) [hφ : CategoryTheory.ShortComplex.QuasiIso φ]
Goal: CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.CategoryStruct.comp φ φ') ↔ CategoryTheory.ShortComplex.QuasiIso φ'
-- CategoryTheory.ShortComplex.quasiIso_of_comp_right
lemma quasiIso_of_comp_right (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃)
    [hφ' : QuasiIso φ'] [hφφ' : QuasiIso (φ ≫ φ')] :
    QuasiIso φ 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃) [hφ' : CategoryTheory.ShortComplex.QuasiIso φ'] [hφφ' : CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.CategoryStruct.comp φ φ')]
Goal: CategoryTheory.ShortComplex.QuasiIso φ
-- CategoryTheory.ShortComplex.quasiIso_iff_comp_right
lemma quasiIso_iff_comp_right (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃) [hφ' : QuasiIso φ'] :
    QuasiIso (φ ≫ φ') ↔ QuasiIso φ 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] (φ : S₁ ⟶ S₂) (φ' : S₂ ⟶ S₃) [hφ' : CategoryTheory.ShortComplex.QuasiIso φ']
Goal: CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.CategoryStruct.comp φ φ') ↔ CategoryTheory.ShortComplex.QuasiIso φ
-- CategoryTheory.ShortComplex.quasiIso_of_arrow_mk_iso
lemma quasiIso_of_arrow_mk_iso (φ : S₁ ⟶ S₂) (φ' : S₃ ⟶ S₄) (e : Arrow.mk φ ≅ Arrow.mk φ')
    [hφ : QuasiIso φ] : QuasiIso φ' 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ S₄ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] [S₄.HasHomology] (φ : S₁ ⟶ S₂) (φ' : S₃ ⟶ S₄) (e : CategoryTheory.Arrow.mk φ ≅ CategoryTheory.Arrow.mk φ') [hφ : CategoryTheory.ShortComplex.QuasiIso φ]
Goal: CategoryTheory.ShortComplex.QuasiIso φ'
-- CategoryTheory.ShortComplex.quasiIso_iff_of_arrow_mk_iso
lemma quasiIso_iff_of_arrow_mk_iso (φ : S₁ ⟶ S₂) (φ' : S₃ ⟶ S₄) (e : Arrow.mk φ ≅ Arrow.mk φ') :
    QuasiIso φ ↔ QuasiIso φ' 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ S₄ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] [S₄.HasHomology] (φ : S₁ ⟶ S₂) (φ' : S₃ ⟶ S₄) (e : CategoryTheory.Arrow.mk φ ≅ CategoryTheory.Arrow.mk φ')
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.ShortComplex.QuasiIso φ'
-- CategoryTheory.ShortComplex.LeftHomologyMapData.quasiIso_iff
lemma LeftHomologyMapData.quasiIso_iff {φ : S₁ ⟶ S₂} {h₁ : S₁.LeftHomologyData}
    {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) :
    QuasiIso φ ↔ IsIso γ.φH 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] {φ : S₁ ⟶ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : CategoryTheory.ShortComplex.LeftHomologyMapData φ h₁ h₂)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso γ.φH
-- CategoryTheory.ShortComplex.RightHomologyMapData.quasiIso_iff
lemma RightHomologyMapData.quasiIso_iff {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData}
    {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) :
    QuasiIso φ ↔ IsIso γ.φH 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : CategoryTheory.ShortComplex.RightHomologyMapData φ h₁ h₂)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso γ.φH
-- CategoryTheory.ShortComplex.quasiIso_iff_isIso_leftHomologyMap'
lemma quasiIso_iff_isIso_leftHomologyMap' (φ : S₁ ⟶ S₂)
    (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData) :
    QuasiIso φ ↔ IsIso (leftHomologyMap' φ h₁ h₂) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (CategoryTheory.ShortComplex.leftHomologyMap' φ h₁ h₂)
-- CategoryTheory.ShortComplex.quasiIso_iff_isIso_rightHomologyMap'
lemma quasiIso_iff_isIso_rightHomologyMap' (φ : S₁ ⟶ S₂)
    (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
    QuasiIso φ ↔ IsIso (rightHomologyMap' φ h₁ h₂) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (CategoryTheory.ShortComplex.rightHomologyMap' φ h₁ h₂)
-- CategoryTheory.ShortComplex.quasiIso_iff_isIso_homologyMap'
lemma quasiIso_iff_isIso_homologyMap' (φ : S₁ ⟶ S₂)
    (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
    QuasiIso φ ↔ IsIso (homologyMap' φ h₁ h₂) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (CategoryTheory.ShortComplex.homologyMap' φ h₁ h₂)
-- CategoryTheory.ShortComplex.quasiIso_of_epi_of_isIso_of_mono
lemma quasiIso_of_epi_of_isIso_of_mono (φ : S₁ ⟶ S₂) [Epi φ.τ₁] [IsIso φ.τ₂] [Mono φ.τ₃] :
    QuasiIso φ 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) [CategoryTheory.Epi φ.τ₁] [CategoryTheory.IsIso φ.τ₂] [CategoryTheory.Mono φ.τ₃]
Goal: CategoryTheory.ShortComplex.QuasiIso φ
-- CategoryTheory.ShortComplex.quasiIso_opMap_iff
lemma quasiIso_opMap_iff (φ : S₁ ⟶ S₂) :
    QuasiIso (opMap φ) ↔ QuasiIso φ 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂)
Goal: CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.ShortComplex.opMap φ) ↔ CategoryTheory.ShortComplex.QuasiIso φ
-- CategoryTheory.ShortComplex.quasiIso_opMap
lemma quasiIso_opMap (φ : S₁ ⟶ S₂) [QuasiIso φ] :
    QuasiIso (opMap φ) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) [CategoryTheory.ShortComplex.QuasiIso φ]
Goal: CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.ShortComplex.opMap φ)
-- CategoryTheory.ShortComplex.quasiIso_unopMap
lemma quasiIso_unopMap {S₁ S₂ : ShortComplex Cᵒᵖ} [S₁.HasHomology] [S₂.HasHomology]
    [S₁.unop.HasHomology] [S₂.unop.HasHomology]
    (φ : S₁ ⟶ S₂) [QuasiIso φ] : QuasiIso (unopMap φ) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex Cᵒᵖ} [S₁.HasHomology] [S₂.HasHomology] [S₁.unop.HasHomology] [S₂.unop.HasHomology] (φ : S₁ ⟶ S₂) [CategoryTheory.ShortComplex.QuasiIso φ]
Goal: CategoryTheory.ShortComplex.QuasiIso (CategoryTheory.ShortComplex.unopMap φ)
-- CategoryTheory.ShortComplex.quasiIso_iff_isIso_liftCycles
lemma quasiIso_iff_isIso_liftCycles (φ : S₁ ⟶ S₂)
    (hf₁ : S₁.f = 0) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) :
    QuasiIso φ ↔ IsIso (S₂.liftCycles φ.τ₂ (by rw [φ.comm₂₃, hg₁, zero_comp])) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) (hf₁ : S₁.f = 0) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (S₂.liftCycles φ.τ₂ ⋯)
-- CategoryTheory.ShortComplex.quasiIso_iff_isIso_descOpcycles
lemma quasiIso_iff_isIso_descOpcycles (φ : S₁ ⟶ S₂)
    (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) (hg₂ : S₂.g = 0) :
    QuasiIso φ ↔ IsIso (S₁.descOpcycles φ.τ₂ (by rw [← φ.comm₁₂, hf₂, comp_zero])) 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) (hg₂ : S₂.g = 0)
Goal: CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (S₁.descOpcycles φ.τ₂ ⋯)
-- CochainComplex.homologySequenceδ_quotient_mapTriangle_obj
@[reassoc]
lemma homologySequenceδ_quotient_mapTriangle_obj
    (T : Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁) :
    (homologyFunctor C (up ℤ) 0).homologySequenceδ
        ((quotient C (up ℤ)).mapTriangle.obj T) n₀ n₁ h =
      (homologyFunctorFactors C (up ℤ) n₀).hom.app _ ≫
        (HomologicalComplex.homologyFunctor C (up ℤ) 0).shiftMap T.mor₃ n₀ n₁ (by omega) ≫
        (homologyFunctorFactors C (up ℤ) n₁).inv.app _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁)
Goal: (HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).homologySequenceδ
    ((HomotopyCategory.quotient C (ComplexShape.up ℤ)).mapTriangle.obj T) n₀ n₁ h =
  (HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₀).hom.app T.obj₃ ≫
    (HomologicalComplex.homologyFunctor C (ComplexShape.up ℤ) 0).shiftMap T.mor₃ n₀ n₁ ⋯ ≫
      (HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₁).inv.app T.obj₁
-- CochainComplex.mappingCone.inr_descShortComplex
@[reassoc (attr := simp)]
lemma inr_descShortComplex : inr S.f ≫ descShortComplex S = S.g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ))
Goal: CochainComplex.mappingCone.inr S.f ≫ CochainComplex.mappingCone.descShortComplex S = S.g
-- CochainComplex.mappingCone.inr_f_descShortComplex_f
@[reassoc (attr := simp)]
lemma inr_f_descShortComplex_f (n : ℤ) : (inr S.f).f n ≫ (descShortComplex S).f n = S.g.f n 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (n : ℤ)
Goal: (CochainComplex.mappingCone.inr S.f).f n ≫ (CochainComplex.mappingCone.descShortComplex S).f n = S.g.f n
-- CochainComplex.mappingCone.inl_v_descShortComplex_f
@[reassoc (attr := simp)]
lemma inl_v_descShortComplex_f (i j : ℤ) (h : i + (-1) = j) :
    (inl S.f).v i j h ≫ (descShortComplex S).f j = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (i j : ℤ) (h : i + -1 = j)
Goal: (CochainComplex.mappingCone.inl S.f).v i j h ≫ (CochainComplex.mappingCone.descShortComplex S).f j = 0
-- CochainComplex.mappingCone.homologySequenceδ_triangleh
lemma homologySequenceδ_triangleh (n₀ : ℤ) (n₁ : ℤ) (h : n₀ + 1 = n₁) :
    (homologyFunctor C (up ℤ) 0).homologySequenceδ (triangleh S.f) n₀ n₁ h =
      (homologyFunctorFactors C (up ℤ) n₀).hom.app _ ≫
        HomologicalComplex.homologyMap (descShortComplex S) n₀ ≫ hS.δ n₀ n₁ h ≫
          (homologyFunctorFactors C (up ℤ) n₁).inv.app _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁)
Goal: (HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).homologySequenceδ (CochainComplex.mappingCone.triangleh S.f)
    n₀ n₁ h =
  (HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₀).hom.app (CochainComplex.mappingCone S.f) ≫
    HomologicalComplex.homologyMap (CochainComplex.mappingCone.descShortComplex S) n₀ ≫
      hS.δ n₀ n₁ h ≫ (HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₁).inv.app S.X₁
-- CochainComplex.mappingCone.quasiIso_descShortComplex
lemma quasiIso_descShortComplex : QuasiIso (descShortComplex S) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact)
Goal: QuasiIso (CochainComplex.mappingCone.descShortComplex S)
-- ComplexShape.Embedding.rel
structure Embedding where
    f : ι → ι'
  injective_f : Function.Injective f
  rel {i₁ i₂ : ι} (h : c.Rel i₁ i₂) : c'.Rel (f i₁) (f i₂)
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} (self : c.Embedding c') {i₁ i₂ : ι} (h : c.Rel i₁ i₂)
Goal: c'.Rel (self.f i₁) (self.f i₂)
-- ComplexShape.Embedding.injective_f
structure Embedding where
    f : ι → ι'
  injective_f : Function.Injective f
  rel {i₁ i₂ : ι} (h : c.Rel i₁ i₂) : c'.Rel (f i₁) (f i₂)
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} (self : c.Embedding c')
Goal: Function.Injective self.f