ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.ShortComplex.SnakeInput.functorL₂_map
@[simps]
def functorL₂ : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  CategoryTheory.ShortComplex.SnakeInput.functorL₂.map f = f.f₂
-- CategoryTheory.ShortComplex.SnakeInput.functorL₃_obj
@[simps]
def functorL₃ : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.ShortComplex.SnakeInput.functorL₃.obj S = S.L₃
-- CategoryTheory.ShortComplex.SnakeInput.functorL₃_map
@[simps]
def functorL₃ : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  CategoryTheory.ShortComplex.SnakeInput.functorL₃.map f = f.f₃
-- CategoryTheory.ShortComplex.SnakeInput.functorP_map
@[simps]
noncomputable def functorP : SnakeInput C ⥤ C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  CategoryTheory.ShortComplex.SnakeInput.functorP.map f =
    CategoryTheory.Limits.pullback.map X.L₁.g X.v₀₁.τ₃ Y.L₁.g Y.v₀₁.τ₃ f.f₁.τ₂ f.f₀.τ₃ f.f₁.τ₃ ⋯ ⋯
-- CategoryTheory.ShortComplex.SnakeInput.functorP_obj
@[simps]
noncomputable def functorP : SnakeInput C ⥤ C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.ShortComplex.SnakeInput.functorP.obj S = S.P
-- CategoryTheory.ShortComplex.SnakeInput.naturality_φ₂
@[reassoc]
lemma naturality_φ₂ (f : S₁ ⟶ S₂) : S₁.φ₂ ≫ f.f₂.τ₂ = functorP.map f ≫ S₂.φ₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] {S₁ S₂ : CategoryTheory.ShortComplex.SnakeInput C} (f : S₁ ⟶ S₂)
Goal: CategoryTheory.CategoryStruct.comp S₁.φ₂ f.f₂.τ₂ =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.SnakeInput.functorP.map f) S₂.φ₂
-- CategoryTheory.ShortComplex.SnakeInput.naturality_φ₁
@[reassoc]
lemma naturality_φ₁ (f : S₁ ⟶ S₂) : S₁.φ₁ ≫ f.f₂.τ₁ = functorP.map f ≫ S₂.φ₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] {S₁ S₂ : CategoryTheory.ShortComplex.SnakeInput C} (f : S₁ ⟶ S₂)
Goal: CategoryTheory.CategoryStruct.comp S₁.φ₁ f.f₂.τ₁ =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.SnakeInput.functorP.map f) S₂.φ₁
-- CategoryTheory.ShortComplex.SnakeInput.naturality_δ
@[reassoc]
lemma naturality_δ (f : S₁ ⟶ S₂) : S₁.δ ≫ f.f₃.τ₁ = f.f₀.τ₃ ≫ S₂.δ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] {S₁ S₂ : CategoryTheory.ShortComplex.SnakeInput C} (f : S₁ ⟶ S₂)
Goal: CategoryTheory.CategoryStruct.comp S₁.δ f.f₃.τ₁ = CategoryTheory.CategoryStruct.comp f.f₀.τ₃ S₂.δ
-- CategoryTheory.ShortComplex.SnakeInput.functorL₁'_map_τ₃
@[simps]
noncomputable def functorL₁' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  (CategoryTheory.ShortComplex.SnakeInput.functorL₁'.map f).τ₃ = f.f₃.τ₁
-- CategoryTheory.ShortComplex.SnakeInput.functorL₁'_obj
@[simps]
noncomputable def functorL₁' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.ShortComplex.SnakeInput.functorL₁'.obj S = S.L₁'
-- CategoryTheory.ShortComplex.SnakeInput.functorL₁'_map_τ₁
@[simps]
noncomputable def functorL₁' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  (CategoryTheory.ShortComplex.SnakeInput.functorL₁'.map f).τ₁ = f.f₀.τ₂
-- CategoryTheory.ShortComplex.SnakeInput.functorL₁'_map_τ₂
@[simps]
noncomputable def functorL₁' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  (CategoryTheory.ShortComplex.SnakeInput.functorL₁'.map f).τ₂ = f.f₀.τ₃
-- CategoryTheory.ShortComplex.SnakeInput.functorL₂'_map_τ₃
@[simps]
noncomputable def functorL₂' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  (CategoryTheory.ShortComplex.SnakeInput.functorL₂'.map f).τ₃ = f.f₃.τ₂
-- CategoryTheory.ShortComplex.SnakeInput.functorL₂'_map_τ₁
@[simps]
noncomputable def functorL₂' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  (CategoryTheory.ShortComplex.SnakeInput.functorL₂'.map f).τ₁ = f.f₀.τ₃
-- CategoryTheory.ShortComplex.SnakeInput.functorL₂'_map_τ₂
@[simps]
noncomputable def functorL₂' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  (CategoryTheory.ShortComplex.SnakeInput.functorL₂'.map f).τ₂ = f.f₃.τ₁
-- CategoryTheory.ShortComplex.SnakeInput.functorL₂'_obj
@[simps]
noncomputable def functorL₂' : SnakeInput C ⥤ ShortComplex C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.ShortComplex.SnakeInput.functorL₂'.obj S = S.L₂'
-- CategoryTheory.ShortComplex.SnakeInput.composableArrowsFunctor_obj
@[simps]
noncomputable def composableArrowsFunctor : SnakeInput C ⥤ ComposableArrows C 5 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex.SnakeInput C)
Goal: CategoryTheory.ShortComplex.SnakeInput.composableArrowsFunctor.obj S = S.composableArrows
-- CategoryTheory.ShortComplex.SnakeInput.composableArrowsFunctor_map
@[simps]
noncomputable def composableArrowsFunctor : SnakeInput C ⥤ ComposableArrows C 5 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C]
Goal: ∀ {X Y : CategoryTheory.ShortComplex.SnakeInput C} (f : X ⟶ Y),
  CategoryTheory.ShortComplex.SnakeInput.composableArrowsFunctor.map f =
    CategoryTheory.ComposableArrows.homMk₅ f.f₀.τ₁ f.f₀.τ₂ f.f₀.τ₃ f.f₃.τ₁ f.f₃.τ₂ f.f₃.τ₃ ⋯ ⋯ ⋯ ⋯ ⋯
-- HomotopyCategory.quotient_obj_as
theorem quotient_obj_as (C : HomologicalComplex V c) : ((quotient V c).obj C).as = C 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} (C : HomologicalComplex V c)
Goal: ((HomotopyCategory.quotient V c).obj C).as = C
-- HomotopyCategory.quotient_map_out
@[simp]
theorem quotient_map_out {C D : HomotopyCategory V c} (f : C ⟶ D) : (quotient V c).map f.out = f 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomotopyCategory V c} (f : C ⟶ D)
Goal: (HomotopyCategory.quotient V c).map (Quot.out f) = f
-- HomotopyCategory.quot_mk_eq_quotient_map
theorem quot_mk_eq_quotient_map {C D : HomologicalComplex V c} (f : C ⟶ D) :
    Quot.mk _ f = (quotient V c).map f 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : C ⟶ D)
Goal: Quot.mk (CategoryTheory.Quotient.CompClosure (homotopic V c)) f = (HomotopyCategory.quotient V c).map f
-- HomotopyCategory.eq_of_homotopy
theorem eq_of_homotopy {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g) :
    (quotient V c).map f = (quotient V c).map g 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f g : C ⟶ D) (h : Homotopy f g)
Goal: (HomotopyCategory.quotient V c).map f = (HomotopyCategory.quotient V c).map g
-- HomotopyCategory.quotient_map_out_comp_out
@[simp 1100]
theorem quotient_map_out_comp_out {C D E : HomotopyCategory V c} (f : C ⟶ D) (g : D ⟶ E) :
    (quotient V c).map (Quot.out f ≫ Quot.out g) = f ≫ g 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomotopyCategory V c} (f : C ⟶ D) (g : D ⟶ E)
Goal: (HomotopyCategory.quotient V c).map (Quot.out f ≫ Quot.out g) = f ≫ g
-- HomotopyCategory.isoOfHomotopyEquiv_inv
@[simps]
def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
    (quotient V c).obj C ≅ (quotient V c).obj D 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : HomotopyEquiv C D)
Goal: (HomotopyCategory.isoOfHomotopyEquiv f).inv = (HomotopyCategory.quotient V c).map f.inv
-- HomotopyCategory.isoOfHomotopyEquiv_hom
@[simps]
def isoOfHomotopyEquiv {C D : HomologicalComplex V c} (f : HomotopyEquiv C D) :
    (quotient V c).obj C ≅ (quotient V c).obj D 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : HomotopyEquiv C D)
Goal: (HomotopyCategory.isoOfHomotopyEquiv f).hom = (HomotopyCategory.quotient V c).map f.hom
-- HomotopyCategory.quotient_inverts_homotopyEquivalences
lemma quotient_inverts_homotopyEquivalences :
    (HomologicalComplex.homotopyEquivalences V c).IsInvertedBy (quotient V c) 
Arguments: {ι : Type u_2} (V : Type u) [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] (c : ComplexShape ι)
Goal: (HomologicalComplex.homotopyEquivalences V c).IsInvertedBy (HomotopyCategory.quotient V c)
-- HomotopyCategory.isZero_quotient_obj_iff
lemma isZero_quotient_obj_iff (C : HomologicalComplex V c) :
    IsZero ((quotient _ _).obj C) ↔ Nonempty (Homotopy (𝟙 C) 0) 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} (C : HomologicalComplex V c)
Goal: CategoryTheory.Limits.IsZero ((HomotopyCategory.quotient V c).obj C) ↔ Nonempty (Homotopy (𝟙 C) 0)
-- CategoryTheory.Functor.mapHomotopyCategory_obj
@[simps! obj]
def Functor.mapHomotopyCategory (F : V ⥤ W) [F.Additive] (c : ComplexShape ι) :
    HomotopyCategory V c ⥤ HomotopyCategory W c 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {W : Type u_3} [CategoryTheory.Category.{u_4, u_3} W] [CategoryTheory.Preadditive W] (F : V ⥤ W) [F.Additive] (c : ComplexShape ι) (a : CategoryTheory.Quotient (homotopic V c))
Goal: (F.mapHomotopyCategory c).obj a = (HomotopyCategory.quotient W c).obj ((F.mapHomologicalComplex c).obj a.as)
-- CategoryTheory.Functor.mapHomotopyCategory_map
@[simp]
lemma Functor.mapHomotopyCategory_map (F : V ⥤ W) [F.Additive] {c : ComplexShape ι}
    {K L : HomologicalComplex V c} (f : K ⟶ L) :
    (F.mapHomotopyCategory c).map ((HomotopyCategory.quotient V c).map f) =
      (HomotopyCategory.quotient W c).map ((F.mapHomologicalComplex c).map f) 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {W : Type u_3} [CategoryTheory.Category.{u_4, u_3} W] [CategoryTheory.Preadditive W] (F : V ⥤ W) [F.Additive] {c : ComplexShape ι} {K L : HomologicalComplex V c} (f : K ⟶ L)
Goal: (F.mapHomotopyCategory c).map ((HomotopyCategory.quotient V c).map f) =
  (HomotopyCategory.quotient W c).map ((F.mapHomologicalComplex c).map f)
-- CategoryTheory.NatTrans.mapHomotopyCategory_app
@[simps]
def NatTrans.mapHomotopyCategory {F G : V ⥤ W} [F.Additive] [G.Additive] (α : F ⟶ G)
    (c : ComplexShape ι) : F.mapHomotopyCategory c ⟶ G.mapHomotopyCategory c 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {W : Type u_3} [CategoryTheory.Category.{u_4, u_3} W] [CategoryTheory.Preadditive W] {F G : V ⥤ W} [F.Additive] [G.Additive] (α : F ⟶ G) (c : ComplexShape ι) (C : HomotopyCategory V c)
Goal: (CategoryTheory.NatTrans.mapHomotopyCategory α c).app C =
  (HomotopyCategory.quotient W c).map ((CategoryTheory.NatTrans.mapHomologicalComplex α c).app C.as)
-- CategoryTheory.NatTrans.mapHomotopyCategory_id
@[simp]
theorem NatTrans.mapHomotopyCategory_id (c : ComplexShape ι) (F : V ⥤ W) [F.Additive] :
    NatTrans.mapHomotopyCategory (𝟙 F) c = 𝟙 (F.mapHomotopyCategory c) 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {W : Type u_3} [CategoryTheory.Category.{u_4, u_3} W] [CategoryTheory.Preadditive W] (c : ComplexShape ι) (F : V ⥤ W) [F.Additive]
Goal: CategoryTheory.NatTrans.mapHomotopyCategory (𝟙 F) c = 𝟙 (F.mapHomotopyCategory c)
-- CategoryTheory.NatTrans.mapHomotopyCategory_comp
@[simp]
theorem NatTrans.mapHomotopyCategory_comp (c : ComplexShape ι) {F G H : V ⥤ W} [F.Additive]
    [G.Additive] [H.Additive] (α : F ⟶ G) (β : G ⟶ H) :
    NatTrans.mapHomotopyCategory (α ≫ β) c =
      NatTrans.mapHomotopyCategory α c ≫ NatTrans.mapHomotopyCategory β c 
Arguments: {ι : Type u_2} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {W : Type u_3} [CategoryTheory.Category.{u_4, u_3} W] [CategoryTheory.Preadditive W] (c : ComplexShape ι) {F G H : V ⥤ W} [F.Additive] [G.Additive] [H.Additive] (α : F ⟶ G) (β : G ⟶ H)
Goal: CategoryTheory.NatTrans.mapHomotopyCategory (α ≫ β) c =
  CategoryTheory.NatTrans.mapHomotopyCategory α c ≫ CategoryTheory.NatTrans.mapHomotopyCategory β c
-- CochainComplex.HomComplex.Triplet.hpq
structure Triplet (n : ℤ) where
    p : ℤ
    q : ℤ
    hpq : p + n = q
Arguments: {n : ℤ} (self : CochainComplex.HomComplex.Triplet n)
Goal: self.p + n = self.q
-- CochainComplex.HomComplex.Cochain.mk_v
@[simp]
lemma mk_v (v : ∀ (p q : ℤ) (_ : p + n = q), F.X p ⟶ G.X q) (p q : ℤ) (hpq : p + n = q) :
    (Cochain.mk v).v p q hpq = v p q hpq 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (v : (p q : ℤ) → p + n = q → (F.X p ⟶ G.X q)) (p q : ℤ) (hpq : p + n = q)
Goal: (CochainComplex.HomComplex.Cochain.mk v).v p q hpq = v p q hpq
-- CochainComplex.HomComplex.Cochain.congr_v
lemma congr_v {z₁ z₂ : Cochain F G n} (h : z₁ = z₂) (p q : ℤ) (hpq : p + n = q) :
    z₁.v p q hpq = z₂.v p q hpq 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} {z₁ z₂ : CochainComplex.HomComplex.Cochain F G n} (h : z₁ = z₂) (p q : ℤ) (hpq : p + n = q)
Goal: z₁.v p q hpq = z₂.v p q hpq
-- CochainComplex.HomComplex.Cochain.ext
@[ext]
lemma ext (z₁ z₂ : Cochain F G n)
    (h : ∀ (p q hpq), z₁.v p q hpq = z₂.v p q hpq) : z₁ = z₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cochain F G n) (h : ∀ (p q : ℤ) (hpq : p + n = q), z₁.v p q hpq = z₂.v p q hpq)
Goal: z₁ = z₂
-- CochainComplex.HomComplex.Cochain.ext₀
@[ext 1100]
lemma ext₀ (z₁ z₂ : Cochain F G 0)
    (h : ∀ (p : ℤ), z₁.v p p (add_zero p) = z₂.v p p (add_zero p)) : z₁ = z₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cochain F G 0) (h : ∀ (p : ℤ), z₁.v p p ⋯ = z₂.v p p ⋯)
Goal: z₁ = z₂
-- CochainComplex.HomComplex.Cochain.zero_v
@[simp]
lemma zero_v {n : ℤ} (p q : ℤ) (hpq : p + n = q) :
    (0 : Cochain F G n).v p q hpq = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (p q : ℤ) (hpq : p + n = q)
Goal: CochainComplex.HomComplex.Cochain.v 0 p q hpq = 0
-- CochainComplex.HomComplex.Cochain.add_v
@[simp]
lemma add_v {n : ℤ} (z₁ z₂ : Cochain F G n) (p q : ℤ) (hpq : p + n = q) :
    (z₁ + z₂).v p q hpq = z₁.v p q hpq + z₂.v p q hpq 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cochain F G n) (p q : ℤ) (hpq : p + n = q)
Goal: (z₁ + z₂).v p q hpq = z₁.v p q hpq + z₂.v p q hpq
-- CochainComplex.HomComplex.Cochain.sub_v
@[simp]
lemma sub_v {n : ℤ} (z₁ z₂ : Cochain F G n) (p q : ℤ) (hpq : p + n = q) :
    (z₁ - z₂).v p q hpq = z₁.v p q hpq - z₂.v p q hpq 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cochain F G n) (p q : ℤ) (hpq : p + n = q)
Goal: (z₁ - z₂).v p q hpq = z₁.v p q hpq - z₂.v p q hpq
-- CochainComplex.HomComplex.Cochain.neg_v
@[simp]
lemma neg_v {n : ℤ} (z : Cochain F G n) (p q : ℤ) (hpq : p + n = q) :
    (-z).v p q hpq = - (z.v p q hpq) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z : CochainComplex.HomComplex.Cochain F G n) (p q : ℤ) (hpq : p + n = q)
Goal: (-z).v p q hpq = -z.v p q hpq
-- CochainComplex.HomComplex.Cochain.smul_v
@[simp]
lemma smul_v {n : ℤ} (k : R) (z : Cochain F G n) (p q : ℤ) (hpq : p + n = q) :
    (k • z).v p q hpq = k • (z.v p q hpq) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {R : Type u_1} [Ring R] [CategoryTheory.Linear R C] {F G : CochainComplex C ℤ} {n : ℤ} (k : R) (z : CochainComplex.HomComplex.Cochain F G n) (p q : ℤ) (hpq : p + n = q)
Goal: (k • z).v p q hpq = k • z.v p q hpq
-- CochainComplex.HomComplex.Cochain.units_smul_v
@[simp]
lemma units_smul_v {n : ℤ} (k : Rˣ) (z : Cochain F G n) (p q : ℤ) (hpq : p + n = q) :
    (k • z).v p q hpq = k • (z.v p q hpq) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {R : Type u_1} [Ring R] [CategoryTheory.Linear R C] {F G : CochainComplex C ℤ} {n : ℤ} (k : Rˣ) (z : CochainComplex.HomComplex.Cochain F G n) (p q : ℤ) (hpq : p + n = q)
Goal: (k • z).v p q hpq = k • z.v p q hpq
-- CochainComplex.HomComplex.Cochain.ofHoms_v
@[simp]
lemma ofHoms_v (ψ : ∀ (p : ℤ), F.X p ⟶ G.X p) (p : ℤ) :
    (ofHoms ψ).v p p (add_zero p) = ψ p 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (ψ : (p : ℤ) → F.X p ⟶ G.X p) (p : ℤ)
Goal: (CochainComplex.HomComplex.Cochain.ofHoms ψ).v p p ⋯ = ψ p
-- CochainComplex.HomComplex.Cochain.ofHoms_zero
@[simp]
lemma ofHoms_zero : ofHoms (fun p => (0 : F.X p ⟶ G.X p)) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ}
Goal: (CochainComplex.HomComplex.Cochain.ofHoms fun p => 0) = 0
-- CochainComplex.HomComplex.Cochain.ofHoms_v_comp_d
@[simp]
lemma ofHoms_v_comp_d (ψ : ∀ (p : ℤ), F.X p ⟶ G.X p) (p q q' : ℤ) (hpq : p + 0 = q) :
    (ofHoms ψ).v p q hpq ≫ G.d q q' = ψ p ≫ G.d p q' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (ψ : (p : ℤ) → F.X p ⟶ G.X p) (p q q' : ℤ) (hpq : p + 0 = q)
Goal: (CochainComplex.HomComplex.Cochain.ofHoms ψ).v p q hpq ≫ G.d q q' = ψ p ≫ G.d p q'
-- CochainComplex.HomComplex.Cochain.d_comp_ofHoms_v
@[simp]
lemma d_comp_ofHoms_v (ψ : ∀ (p : ℤ), F.X p ⟶ G.X p) (p' p q : ℤ) (hpq : p + 0 = q) :
    F.d p' p ≫ (ofHoms ψ).v p q hpq = F.d p' q ≫ ψ q 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (ψ : (p : ℤ) → F.X p ⟶ G.X p) (p' p q : ℤ) (hpq : p + 0 = q)
Goal: F.d p' p ≫ (CochainComplex.HomComplex.Cochain.ofHoms ψ).v p q hpq = F.d p' q ≫ ψ q
-- CochainComplex.HomComplex.Cochain.ofHom_zero
@[simp]
lemma ofHom_zero : ofHom (0 : F ⟶ G) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (F G : CochainComplex C ℤ)
Goal: CochainComplex.HomComplex.Cochain.ofHom 0 = 0
-- CochainComplex.HomComplex.Cochain.ofHom_v
@[simp]
lemma ofHom_v (φ : F ⟶ G) (p : ℤ) : (ofHom φ).v p p (add_zero p) = φ.f p 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) (p : ℤ)
Goal: (CochainComplex.HomComplex.Cochain.ofHom φ).v p p ⋯ = φ.f p
-- CochainComplex.HomComplex.Cochain.ofHom_v_comp_d
@[simp]
lemma ofHom_v_comp_d (φ : F ⟶ G) (p q q' : ℤ) (hpq : p + 0 = q) :
    (ofHom φ).v p q hpq ≫ G.d q q' = φ.f p ≫ G.d p q' 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) (p q q' : ℤ) (hpq : p + 0 = q)
Goal: (CochainComplex.HomComplex.Cochain.ofHom φ).v p q hpq ≫ G.d q q' = φ.f p ≫ G.d p q'
-- CochainComplex.HomComplex.Cochain.d_comp_ofHom_v
@[simp]
lemma d_comp_ofHom_v (φ : F ⟶ G) (p' p q : ℤ) (hpq : p + 0 = q) :
    F.d p' p ≫ (ofHom φ).v p q hpq = F.d p' q ≫ φ.f q 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) (p' p q : ℤ) (hpq : p + 0 = q)
Goal: F.d p' p ≫ (CochainComplex.HomComplex.Cochain.ofHom φ).v p q hpq = F.d p' q ≫ φ.f q
-- CochainComplex.HomComplex.Cochain.ofHom_add
@[simp]
lemma ofHom_add (φ₁ φ₂ : F ⟶ G) :
    Cochain.ofHom (φ₁ + φ₂) = Cochain.ofHom φ₁ + Cochain.ofHom φ₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ₁ φ₂ : F ⟶ G)
Goal: CochainComplex.HomComplex.Cochain.ofHom (φ₁ + φ₂) =
  CochainComplex.HomComplex.Cochain.ofHom φ₁ + CochainComplex.HomComplex.Cochain.ofHom φ₂
-- CochainComplex.HomComplex.Cochain.ofHom_sub
@[simp]
lemma ofHom_sub (φ₁ φ₂ : F ⟶ G) :
    Cochain.ofHom (φ₁ - φ₂) = Cochain.ofHom φ₁ - Cochain.ofHom φ₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ₁ φ₂ : F ⟶ G)
Goal: CochainComplex.HomComplex.Cochain.ofHom (φ₁ - φ₂) =
  CochainComplex.HomComplex.Cochain.ofHom φ₁ - CochainComplex.HomComplex.Cochain.ofHom φ₂
-- CochainComplex.HomComplex.Cochain.ofHom_neg
@[simp]
lemma ofHom_neg (φ : F ⟶ G) :
    Cochain.ofHom (-φ) = -Cochain.ofHom φ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G)
Goal: CochainComplex.HomComplex.Cochain.ofHom (-φ) = -CochainComplex.HomComplex.Cochain.ofHom φ
-- CochainComplex.HomComplex.Cochain.ofHomotopy_ofEq
@[simp]
lemma ofHomotopy_ofEq {φ₁ φ₂ : F ⟶ G} (h : φ₁ = φ₂) :
    ofHomotopy (Homotopy.ofEq h) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {φ₁ φ₂ : F ⟶ G} (h : φ₁ = φ₂)
Goal: CochainComplex.HomComplex.Cochain.ofHomotopy (Homotopy.ofEq h) = 0
-- CochainComplex.HomComplex.Cochain.ofHomotopy_refl
@[simp]
lemma ofHomotopy_refl (φ : F ⟶ G) :
    ofHomotopy (Homotopy.refl φ) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G)
Goal: CochainComplex.HomComplex.Cochain.ofHomotopy (Homotopy.refl φ) = 0
-- CochainComplex.HomComplex.Cochain.v_comp_XIsoOfEq_hom
@[reassoc]
lemma v_comp_XIsoOfEq_hom
    (γ : Cochain F G n) (p q q' : ℤ) (hpq : p + n = q) (hq' : q = q') :
    γ.v p q hpq ≫ (HomologicalComplex.XIsoOfEq G hq').hom = γ.v p q' (by rw [← hq', hpq]) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (γ : CochainComplex.HomComplex.Cochain F G n) (p q q' : ℤ) (hpq : p + n = q) (hq' : q = q')
Goal: γ.v p q hpq ≫ (HomologicalComplex.XIsoOfEq G hq').hom = γ.v p q' ⋯