ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- ComplexShape.Embedding.BoundaryLE.not_mem
lemma BoundaryLE.not_mem {j : ι} (hj : e.BoundaryLE j) {k' : ι'} (hk' : c'.Rel (e.f j) k')
    (a : ι) : e.f a ≠ k' 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {e : c.Embedding c'} {j : ι} (hj : e.BoundaryLE j) {k' : ι'} (hk' : c'.Rel (e.f j) k') (a : ι)
Goal: e.f a ≠ k'
-- ComplexShape.Embedding.next_f_of_not_boundaryLE
lemma next_f_of_not_boundaryLE [e.IsRelIff] {j k : ι} (hjk : c.next j = k)
    (hj : ¬ e.BoundaryLE j) :
    c'.next (e.f j) = e.f k 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} (e : c.Embedding c') [e.IsRelIff] {j k : ι} (hjk : c.next j = k) (hj : ¬e.BoundaryLE j)
Goal: c'.next (e.f j) = e.f k
-- ComplexShape.Embedding.BoundaryLE.false_of_isTruncGE
lemma BoundaryLE.false_of_isTruncGE {j : ι} (hj : e.BoundaryLE j) [e.IsTruncGE] : False 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {e : c.Embedding c'} {j : ι} (hj : e.BoundaryLE j) [e.IsTruncGE]
Goal: False
-- ComplexShape.boundaryGE_embeddingUpIntGE_iff
lemma boundaryGE_embeddingUpIntGE_iff (p : ℤ) (n : ℕ) :
    (embeddingUpIntGE p).BoundaryGE n ↔ n = 0 
Arguments: (p : ℤ) (n : ℕ)
Goal: (ComplexShape.embeddingUpIntGE p).BoundaryGE n ↔ n = 0
-- ComplexShape.boundaryLE_embeddingUpIntLE_iff
lemma boundaryLE_embeddingUpIntLE_iff (p : ℤ) (n : ℕ) :
    (embeddingUpIntGE p).BoundaryGE n ↔ n = 0 
Arguments: (p : ℤ) (n : ℕ)
Goal: (ComplexShape.embeddingUpIntGE p).BoundaryGE n ↔ n = 0
-- HomologicalComplex.IsStrictlySupported.isZero
class IsStrictlySupported : Prop where
  isZero (i' : ι') (hi' : ∀ i, e.f i ≠ i') : IsZero (K.X i')
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K : HomologicalComplex C c'} {e : c.Embedding c'} [self : K.IsStrictlySupported e] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i')
Goal: CategoryTheory.Limits.IsZero (K.X i')
-- HomologicalComplex.isZero_X_of_isStrictlySupported
lemma isZero_X_of_isStrictlySupported [K.IsStrictlySupported e]
    (i' : ι') (hi' : ∀ i, e.f i ≠ i') :
    IsZero (K.X i') 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c') (e : c.Embedding c') [K.IsStrictlySupported e] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i')
Goal: CategoryTheory.Limits.IsZero (K.X i')
-- HomologicalComplex.isStrictlySupported_of_iso
lemma isStrictlySupported_of_iso [K.IsStrictlySupported e] : L.IsStrictlySupported e 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K L : HomologicalComplex C c'} (e' : K ≅ L) (e : c.Embedding c') [K.IsStrictlySupported e]
Goal: L.IsStrictlySupported e
-- HomologicalComplex.IsSupported.exactAt
class IsSupported : Prop where
  exactAt (i' : ι') (hi' : ∀ i, e.f i ≠ i') : K.ExactAt i'
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K : HomologicalComplex C c'} {e : c.Embedding c'} [self : K.IsSupported e] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i')
Goal: K.ExactAt i'
-- HomologicalComplex.exactAt_of_isSupported
lemma exactAt_of_isSupported [K.IsSupported e] (i' : ι') (hi' : ∀ i, e.f i ≠ i') :
    K.ExactAt i' 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c') (e : c.Embedding c') [K.IsSupported e] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i')
Goal: K.ExactAt i'
-- HomologicalComplex.isSupported_of_iso
lemma isSupported_of_iso [K.IsSupported e] : L.IsSupported e 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K L : HomologicalComplex C c'} (e' : K ≅ L) (e : c.Embedding c') [K.IsSupported e]
Goal: L.IsSupported e
-- HomologicalComplex.IsStrictlySupportedOutside.isZero
structure IsStrictlySupportedOutside : Prop where
  isZero (i : ι) : IsZero (K.X (e.f i))
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K : HomologicalComplex C c'} {e : c.Embedding c'} (self : K.IsStrictlySupportedOutside e) (i : ι)
Goal: CategoryTheory.Limits.IsZero (K.X (e.f i))
-- HomologicalComplex.IsSupportedOutside.exactAt
structure IsSupportedOutside : Prop where
  exactAt (i : ι) : K.ExactAt (e.f i)
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K : HomologicalComplex C c'} {e : c.Embedding c'} (self : K.IsSupportedOutside e) (i : ι)
Goal: K.ExactAt (e.f i)
-- HomologicalComplex.IsStrictlySupportedOutside.isSupportedOutside
lemma IsStrictlySupportedOutside.isSupportedOutside (h : K.IsStrictlySupportedOutside e) :
    K.IsSupportedOutside e 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] {K : HomologicalComplex C c'} {e : c.Embedding c'} (h : K.IsStrictlySupportedOutside e)
Goal: K.IsSupportedOutside e
-- HomologicalComplex.isZero_iff_isStrictlySupported_and_isStrictlySupportedOutside
lemma isZero_iff_isStrictlySupported_and_isStrictlySupportedOutside :
    IsZero K ↔ K.IsStrictlySupported e ∧ K.IsStrictlySupportedOutside e 
Arguments: {ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{u_4, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c') (e : c.Embedding c')
Goal: CategoryTheory.Limits.IsZero K ↔ K.IsStrictlySupported e ∧ K.IsStrictlySupportedOutside e
-- CochainComplex.mappingCone.inl_v_fst_v
@[reassoc (attr := simp)]
lemma inl_v_fst_v (p q : ℤ) (hpq : q + 1 = p) :
    (inl φ).v p q (by rw [← hpq, add_neg_cancel_right]) ≫
      (fst φ : Cochain (mappingCone φ) F 1).v q p hpq = 𝟙 _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : q + 1 = p)
Goal: (CochainComplex.mappingCone.inl φ).v p q ⋯ ≫ (↑(CochainComplex.mappingCone.fst φ)).v q p hpq = 𝟙 (F.X p)
-- CochainComplex.mappingCone.inl_v_snd_v
@[reassoc (attr := simp)]
lemma inl_v_snd_v (p q : ℤ) (hpq : p + (-1) = q) :
    (inl φ).v p q hpq ≫ (snd φ).v q q (add_zero q) = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + -1 = q)
Goal: (CochainComplex.mappingCone.inl φ).v p q hpq ≫ (CochainComplex.mappingCone.snd φ).v q q ⋯ = 0
-- CochainComplex.mappingCone.inr_f_fst_v
@[reassoc (attr := simp)]
lemma inr_f_fst_v (p q : ℤ) (hpq : p + 1 = q) :
    (inr φ).f p ≫ (fst φ).1.v p q hpq = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + 1 = q)
Goal: (CochainComplex.mappingCone.inr φ).f p ≫ (↑(CochainComplex.mappingCone.fst φ)).v p q hpq = 0
-- CochainComplex.mappingCone.inr_f_snd_v
@[reassoc (attr := simp)]
lemma inr_f_snd_v (p : ℤ) :
    (inr φ).f p ≫ (snd φ).v p p (add_zero p) = 𝟙 _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p : ℤ)
Goal: (CochainComplex.mappingCone.inr φ).f p ≫ (CochainComplex.mappingCone.snd φ).v p p ⋯ = 𝟙 (G.X p)
-- CochainComplex.mappingCone.inl_fst
@[simp]
lemma inl_fst :
    (inl φ).comp (fst φ).1 (neg_add_self 1) = Cochain.ofHom (𝟙 F) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: (CochainComplex.mappingCone.inl φ).comp ↑(CochainComplex.mappingCone.fst φ) ⋯ =
  CochainComplex.HomComplex.Cochain.ofHom (𝟙 F)
-- CochainComplex.mappingCone.inl_snd
@[simp]
lemma inl_snd :
    (inl φ).comp (snd φ) (add_zero (-1)) = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: (CochainComplex.mappingCone.inl φ).comp (CochainComplex.mappingCone.snd φ) ⋯ = 0
-- CochainComplex.mappingCone.inr_fst
@[simp]
lemma inr_fst :
    (Cochain.ofHom (inr φ)).comp (fst φ).1 (zero_add 1) = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)).comp ↑(CochainComplex.mappingCone.fst φ)
    ⋯ =
  0
-- CochainComplex.mappingCone.inr_snd
@[simp]
lemma inr_snd :
    (Cochain.ofHom (inr φ)).comp (snd φ) (zero_add 0) = Cochain.ofHom (𝟙 G) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)).comp (CochainComplex.mappingCone.snd φ) ⋯ =
  CochainComplex.HomComplex.Cochain.ofHom (𝟙 G)
-- CochainComplex.mappingCone.inl_fst_assoc
@[simp]
lemma inl_fst_assoc {K : CochainComplex C ℤ} {d e : ℤ} (γ : Cochain F K d) (he : 1 + d = e) :
    (inl φ).comp ((fst φ).1.comp γ he) (by rw [← he, neg_add_cancel_left]) = γ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {d e : ℤ} (γ : CochainComplex.HomComplex.Cochain F K d) (he : 1 + d = e)
Goal: (CochainComplex.mappingCone.inl φ).comp ((↑(CochainComplex.mappingCone.fst φ)).comp γ he) ⋯ = γ
-- CochainComplex.mappingCone.inl_snd_assoc
@[simp]
lemma inl_snd_assoc {K : CochainComplex C ℤ} {d e f : ℤ} (γ : Cochain G K d)
    (he : 0 + d = e) (hf : -1 + e = f) :
    (inl φ).comp ((snd φ).comp γ he) hf = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {d e f : ℤ} (γ : CochainComplex.HomComplex.Cochain G K d) (he : 0 + d = e) (hf : -1 + e = f)
Goal: (CochainComplex.mappingCone.inl φ).comp ((CochainComplex.mappingCone.snd φ).comp γ he) hf = 0
-- CochainComplex.mappingCone.inr_fst_assoc
@[simp]
lemma inr_fst_assoc {K : CochainComplex C ℤ} {d e f : ℤ} (γ : Cochain F K d)
    (he : 1 + d = e) (hf : 0 + e = f) :
    (Cochain.ofHom (inr φ)).comp ((fst φ).1.comp γ he) hf = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {d e f : ℤ} (γ : CochainComplex.HomComplex.Cochain F K d) (he : 1 + d = e) (hf : 0 + e = f)
Goal: (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)).comp
    ((↑(CochainComplex.mappingCone.fst φ)).comp γ he) hf =
  0
-- CochainComplex.mappingCone.inr_snd_assoc
@[simp]
lemma inr_snd_assoc {K : CochainComplex C ℤ} {d e : ℤ} (γ : Cochain G K d) (he : 0 + d = e) :
    (Cochain.ofHom (inr φ)).comp ((snd φ).comp γ he) (by simp only [← he, zero_add]) = γ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {d e : ℤ} (γ : CochainComplex.HomComplex.Cochain G K d) (he : 0 + d = e)
Goal: (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)).comp
    ((CochainComplex.mappingCone.snd φ).comp γ he) ⋯ =
  γ
-- CochainComplex.mappingCone.ext_to
lemma ext_to (i j : ℤ) (hij : i + 1 = j) {A : C} {f g : A ⟶ (mappingCone φ).X i}
    (h₁ : f ≫ (fst φ).1.v i j hij = g ≫ (fst φ).1.v i j hij)
    (h₂ : f ≫ (snd φ).v i i (add_zero i) = g ≫ (snd φ).v i i (add_zero i)) :
    f = g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {A : C} {f g : A ⟶ (CochainComplex.mappingCone φ).X i} (h₁ : f ≫ (↑(CochainComplex.mappingCone.fst φ)).v i j hij = g ≫ (↑(CochainComplex.mappingCone.fst φ)).v i j hij) (h₂ : f ≫ (CochainComplex.mappingCone.snd φ).v i i ⋯ = g ≫ (CochainComplex.mappingCone.snd φ).v i i ⋯)
Goal: f = g
-- CochainComplex.mappingCone.ext_to_iff
lemma ext_to_iff (i j : ℤ) (hij : i + 1 = j) {A : C} (f g : A ⟶ (mappingCone φ).X i) :
    f = g ↔ f ≫ (fst φ).1.v i j hij = g ≫ (fst φ).1.v i j hij ∧
      f ≫ (snd φ).v i i (add_zero i) = g ≫ (snd φ).v i i (add_zero i) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {A : C} (f g : A ⟶ (CochainComplex.mappingCone φ).X i)
Goal: f = g ↔
  f ≫ (↑(CochainComplex.mappingCone.fst φ)).v i j hij = g ≫ (↑(CochainComplex.mappingCone.fst φ)).v i j hij ∧
    f ≫ (CochainComplex.mappingCone.snd φ).v i i ⋯ = g ≫ (CochainComplex.mappingCone.snd φ).v i i ⋯
-- CochainComplex.mappingCone.ext_from
lemma ext_from (i j : ℤ) (hij : j + 1 = i) {A : C} {f g : (mappingCone φ).X j ⟶ A}
    (h₁ : (inl φ).v i j (by omega) ≫ f = (inl φ).v i j (by omega) ≫ g)
    (h₂ : (inr φ).f j ≫ f = (inr φ).f j ≫ g) :
    f = g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : j + 1 = i) {A : C} {f g : (CochainComplex.mappingCone φ).X j ⟶ A} (h₁ : (CochainComplex.mappingCone.inl φ).v i j ⋯ ≫ f = (CochainComplex.mappingCone.inl φ).v i j ⋯ ≫ g) (h₂ : (CochainComplex.mappingCone.inr φ).f j ≫ f = (CochainComplex.mappingCone.inr φ).f j ≫ g)
Goal: f = g
-- CochainComplex.mappingCone.ext_from_iff
lemma ext_from_iff (i j : ℤ) (hij : j + 1 = i) {A : C} (f g : (mappingCone φ).X j ⟶ A) :
    f = g ↔ (inl φ).v i j (by omega) ≫ f = (inl φ).v i j (by omega) ≫ g ∧
      (inr φ).f j ≫ f = (inr φ).f j ≫ g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : j + 1 = i) {A : C} (f g : (CochainComplex.mappingCone φ).X j ⟶ A)
Goal: f = g ↔
  (CochainComplex.mappingCone.inl φ).v i j ⋯ ≫ f = (CochainComplex.mappingCone.inl φ).v i j ⋯ ≫ g ∧
    (CochainComplex.mappingCone.inr φ).f j ≫ f = (CochainComplex.mappingCone.inr φ).f j ≫ g
-- CochainComplex.mappingCone.decomp_to
lemma decomp_to {i : ℤ} {A : C} (f : A ⟶ (mappingCone φ).X i) (j : ℤ) (hij : i + 1 = j) :
    ∃ (a : A ⟶ F.X j) (b : A ⟶ G.X i), f = a ≫ (inl φ).v j i (by omega) + b ≫ (inr φ).f i 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {i : ℤ} {A : C} (f : A ⟶ (CochainComplex.mappingCone φ).X i) (j : ℤ) (hij : i + 1 = j)
Goal: ∃ a b, f = a ≫ (CochainComplex.mappingCone.inl φ).v j i ⋯ + b ≫ (CochainComplex.mappingCone.inr φ).f i
-- CochainComplex.mappingCone.decomp_from
lemma decomp_from {j : ℤ} {A : C} (f : (mappingCone φ).X j ⟶ A) (i : ℤ) (hij : j + 1 = i) :
    ∃ (a : F.X i ⟶ A) (b : G.X j ⟶ A),
      f = (fst φ).1.v j i hij ≫ a + (snd φ).v j j (add_zero j) ≫ b 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {j : ℤ} {A : C} (f : (CochainComplex.mappingCone φ).X j ⟶ A) (i : ℤ) (hij : j + 1 = i)
Goal: ∃ a b, f = (↑(CochainComplex.mappingCone.fst φ)).v j i hij ≫ a + (CochainComplex.mappingCone.snd φ).v j j ⋯ ≫ b
-- CochainComplex.mappingCone.ext_cochain_to_iff
lemma ext_cochain_to_iff (i j : ℤ) (hij : i + 1 = j)
    {K : CochainComplex C ℤ} {γ₁ γ₂ : Cochain K (mappingCone φ) i} :
    γ₁ = γ₂ ↔ γ₁.comp (fst φ).1 hij = γ₂.comp (fst φ).1 hij ∧
      γ₁.comp (snd φ) (add_zero i) = γ₂.comp (snd φ) (add_zero i) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {K : CochainComplex C ℤ} {γ₁ γ₂ : CochainComplex.HomComplex.Cochain K (CochainComplex.mappingCone φ) i}
Goal: γ₁ = γ₂ ↔
  γ₁.comp (↑(CochainComplex.mappingCone.fst φ)) hij = γ₂.comp (↑(CochainComplex.mappingCone.fst φ)) hij ∧
    γ₁.comp (CochainComplex.mappingCone.snd φ) ⋯ = γ₂.comp (CochainComplex.mappingCone.snd φ) ⋯
-- CochainComplex.mappingCone.ext_cochain_from_iff
lemma ext_cochain_from_iff (i j : ℤ) (hij : i + 1 = j)
    {K : CochainComplex C ℤ} {γ₁ γ₂ : Cochain (mappingCone φ) K j} :
    γ₁ = γ₂ ↔
      (inl φ).comp γ₁ (show _ = i by omega) = (inl φ).comp γ₂ (by omega) ∧
        (Cochain.ofHom (inr φ)).comp γ₁ (zero_add j) =
          (Cochain.ofHom (inr φ)).comp γ₂ (zero_add j) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {K : CochainComplex C ℤ} {γ₁ γ₂ : CochainComplex.HomComplex.Cochain (CochainComplex.mappingCone φ) K j}
Goal: γ₁ = γ₂ ↔
  (CochainComplex.mappingCone.inl φ).comp γ₁ ⋯ = (CochainComplex.mappingCone.inl φ).comp γ₂ ⋯ ∧
    (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)).comp γ₁ ⋯ =
      (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)).comp γ₂ ⋯
-- CochainComplex.mappingCone.id
lemma id :
    (fst φ).1.comp (inl φ) (add_neg_self 1) +
      (snd φ).comp (Cochain.ofHom (inr φ)) (add_zero 0) = Cochain.ofHom (𝟙 _) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: (↑(CochainComplex.mappingCone.fst φ)).comp (CochainComplex.mappingCone.inl φ) ⋯ +
    (CochainComplex.mappingCone.snd φ).comp (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ))
      ⋯ =
  CochainComplex.HomComplex.Cochain.ofHom (𝟙 (CochainComplex.mappingCone φ))
-- CochainComplex.mappingCone.id_X
lemma id_X (p q : ℤ) (hpq : p + 1 = q) :
    (fst φ).1.v p q hpq ≫ (inl φ).v q p (by omega) +
      (snd φ).v p p (add_zero p) ≫ (inr φ).f p = 𝟙 ((mappingCone φ).X p) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + 1 = q)
Goal: (↑(CochainComplex.mappingCone.fst φ)).v p q hpq ≫ (CochainComplex.mappingCone.inl φ).v q p ⋯ +
    (CochainComplex.mappingCone.snd φ).v p p ⋯ ≫ (CochainComplex.mappingCone.inr φ).f p =
  𝟙 ((CochainComplex.mappingCone φ).X p)
-- CochainComplex.mappingCone.inl_v_d
@[reassoc]
lemma inl_v_d (i j k : ℤ) (hij : i + (-1) = j) (hik : k + (-1) = i) :
    (inl φ).v i j hij ≫ (mappingCone φ).d j i =
      φ.f i ≫ (inr φ).f i - F.d i k ≫ (inl φ).v _ _ hik 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j k : ℤ) (hij : i + -1 = j) (hik : k + -1 = i)
Goal: (CochainComplex.mappingCone.inl φ).v i j hij ≫ (CochainComplex.mappingCone φ).d j i =
  φ.f i ≫ (CochainComplex.mappingCone.inr φ).f i - F.d i k ≫ (CochainComplex.mappingCone.inl φ).v k i hik
-- CochainComplex.mappingCone.inr_f_d
@[reassoc (attr := simp 1100)]
lemma inr_f_d (n₁ n₂ : ℤ) :
    (inr φ).f n₁ ≫ (mappingCone φ).d n₁ n₂ = G.d n₁ n₂ ≫ (inr φ).f n₂ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (n₁ n₂ : ℤ)
Goal: (CochainComplex.mappingCone.inr φ).f n₁ ≫ (CochainComplex.mappingCone φ).d n₁ n₂ =
  G.d n₁ n₂ ≫ (CochainComplex.mappingCone.inr φ).f n₂
-- CochainComplex.mappingCone.d_fst_v
@[reassoc]
lemma d_fst_v (i j k : ℤ) (hij : i + 1 = j) (hjk : j + 1 = k) :
    (mappingCone φ).d i j ≫ (fst φ).1.v j k hjk =
      -(fst φ).1.v i j hij ≫ F.d j k 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j k : ℤ) (hij : i + 1 = j) (hjk : j + 1 = k)
Goal: (CochainComplex.mappingCone φ).d i j ≫ (↑(CochainComplex.mappingCone.fst φ)).v j k hjk =
  -(↑(CochainComplex.mappingCone.fst φ)).v i j hij ≫ F.d j k
-- CochainComplex.mappingCone.d_fst_v'
@[reassoc (attr := simp)]
lemma d_fst_v' (i j : ℤ) (hij : i + 1 = j) :
    (mappingCone φ).d (i - 1) i ≫ (fst φ).1.v i j hij =
      -(fst φ).1.v (i - 1) i (by omega) ≫ F.d i j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j)
Goal: (CochainComplex.mappingCone φ).d (i - 1) i ≫ (↑(CochainComplex.mappingCone.fst φ)).v i j hij =
  -(↑(CochainComplex.mappingCone.fst φ)).v (i - 1) i ⋯ ≫ F.d i j
-- CochainComplex.mappingCone.d_snd_v
@[reassoc]
lemma d_snd_v (i j : ℤ) (hij : i + 1 = j) :
    (mappingCone φ).d i j ≫ (snd φ).v j j (add_zero _) =
      (fst φ).1.v i j hij ≫ φ.f j + (snd φ).v i i (add_zero i) ≫ G.d i j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j)
Goal: (CochainComplex.mappingCone φ).d i j ≫ (CochainComplex.mappingCone.snd φ).v j j ⋯ =
  (↑(CochainComplex.mappingCone.fst φ)).v i j hij ≫ φ.f j + (CochainComplex.mappingCone.snd φ).v i i ⋯ ≫ G.d i j
-- CochainComplex.mappingCone.d_snd_v'
@[reassoc (attr := simp)]
lemma d_snd_v' (n : ℤ) :
    (mappingCone φ).d (n - 1) n ≫ (snd φ).v n n (add_zero n) =
    (fst φ : Cochain (mappingCone φ) F 1).v (n - 1) n (by omega) ≫ φ.f n +
      (snd φ).v (n - 1) (n - 1) (add_zero _) ≫ G.d (n - 1) n 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (n : ℤ)
Goal: (CochainComplex.mappingCone φ).d (n - 1) n ≫ (CochainComplex.mappingCone.snd φ).v n n ⋯ =
  (↑(CochainComplex.mappingCone.fst φ)).v (n - 1) n ⋯ ≫ φ.f n +
    (CochainComplex.mappingCone.snd φ).v (n - 1) (n - 1) ⋯ ≫ G.d (n - 1) n
-- CochainComplex.mappingCone.δ_inl
@[simp]
lemma δ_inl :
    δ (-1) 0 (inl φ) = Cochain.ofHom (φ ≫ inr φ) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: CochainComplex.HomComplex.δ (-1) 0 (CochainComplex.mappingCone.inl φ) =
  CochainComplex.HomComplex.Cochain.ofHom (φ ≫ CochainComplex.mappingCone.inr φ)
-- CochainComplex.mappingCone.δ_snd
@[simp]
lemma δ_snd :
    δ 0 1 (snd φ) = -(fst φ).1.comp (Cochain.ofHom φ) (add_zero 1) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ]
Goal: CochainComplex.HomComplex.δ 0 1 (CochainComplex.mappingCone.snd φ) =
  -(↑(CochainComplex.mappingCone.fst φ)).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯