ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- HomologicalComplex.homotopyCofiber.ext_from_X'
lemma ext_from_X' (i : ι) (hi : ¬ c.Rel i (c.next i)) {A : C} {f g : X φ i ⟶ A}
    (h : inrX φ i ≫ f = inrX φ i ≫ g) : f = g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i : ι) (hi : ¬c.Rel i (c.next i)) {A : C} {f g : HomologicalComplex.homotopyCofiber.X φ i ⟶ A} (h : HomologicalComplex.homotopyCofiber.inrX φ i ≫ f = HomologicalComplex.homotopyCofiber.inrX φ i ≫ g)
Goal: f = g
-- HomologicalComplex.homotopyCofiber.d_fstX
@[reassoc]
lemma d_fstX (i j k : ι) (hij : c.Rel i j) (hjk : c.Rel j k) :
    d φ i j ≫ fstX φ j k hjk = -fstX φ i j hij ≫ F.d j k 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j k : ι) (hij : c.Rel i j) (hjk : c.Rel j k)
Goal: HomologicalComplex.homotopyCofiber.d φ i j ≫ HomologicalComplex.homotopyCofiber.fstX φ j k hjk =
  -HomologicalComplex.homotopyCofiber.fstX φ i j hij ≫ F.d j k
-- HomologicalComplex.homotopyCofiber.d_sndX
@[reassoc]
lemma d_sndX (i j : ι) (hij : c.Rel i j) :
    d φ i j ≫ sndX φ j = fstX φ i j hij ≫ φ.f j + sndX φ i ≫ G.d i j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j : ι) (hij : c.Rel i j)
Goal: HomologicalComplex.homotopyCofiber.d φ i j ≫ HomologicalComplex.homotopyCofiber.sndX φ j =
  HomologicalComplex.homotopyCofiber.fstX φ i j hij ≫ φ.f j + HomologicalComplex.homotopyCofiber.sndX φ i ≫ G.d i j
-- HomologicalComplex.homotopyCofiber.inlX_d
@[reassoc]
lemma inlX_d (i j k : ι) (hij : c.Rel i j) (hjk : c.Rel j k) :
    inlX φ j i hij ≫ d φ i j = -F.d j k ≫ inlX φ k j hjk + φ.f j ≫ inrX φ j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j k : ι) (hij : c.Rel i j) (hjk : c.Rel j k)
Goal: HomologicalComplex.homotopyCofiber.inlX φ j i hij ≫ HomologicalComplex.homotopyCofiber.d φ i j =
  -F.d j k ≫ HomologicalComplex.homotopyCofiber.inlX φ k j hjk + φ.f j ≫ HomologicalComplex.homotopyCofiber.inrX φ j
-- HomologicalComplex.homotopyCofiber.inlX_d'
@[reassoc]
lemma inlX_d' (i j : ι) (hij : c.Rel i j) (hj : ¬ c.Rel j (c.next j)) :
    inlX φ j i hij ≫ d φ i j = φ.f j ≫ inrX φ j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j : ι) (hij : c.Rel i j) (hj : ¬c.Rel j (c.next j))
Goal: HomologicalComplex.homotopyCofiber.inlX φ j i hij ≫ HomologicalComplex.homotopyCofiber.d φ i j =
  φ.f j ≫ HomologicalComplex.homotopyCofiber.inrX φ j
-- HomologicalComplex.homotopyCofiber.shape
lemma shape (i j : ι) (hij : ¬ c.Rel i j) :
    d φ i j = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j : ι) (hij : ¬c.Rel i j)
Goal: HomologicalComplex.homotopyCofiber.d φ i j = 0
-- HomologicalComplex.homotopyCofiber.inrX_d
@[reassoc (attr := simp)]
lemma inrX_d (i j : ι) :
    inrX φ i ≫ d φ i j = G.d i j ≫ inrX φ j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j : ι)
Goal: HomologicalComplex.homotopyCofiber.inrX φ i ≫ HomologicalComplex.homotopyCofiber.d φ i j =
  G.d i j ≫ HomologicalComplex.homotopyCofiber.inrX φ j
-- HomologicalComplex.homotopyCofiber_d
@[simps]
noncomputable def homotopyCofiber : HomologicalComplex C c 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i j : ι)
Goal: (HomologicalComplex.homotopyCofiber φ).d i j = HomologicalComplex.homotopyCofiber.d φ i j
-- HomologicalComplex.homotopyCofiber_X
@[simps]
noncomputable def homotopyCofiber : HomologicalComplex C c 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i : ι)
Goal: (HomologicalComplex.homotopyCofiber φ).X i = HomologicalComplex.homotopyCofiber.X φ i
-- HomologicalComplex.homotopyCofiber.inr_f
@[simps!]
noncomputable def inr : G ⟶ homotopyCofiber φ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (i : ι)
Goal: (HomologicalComplex.homotopyCofiber.inr φ).f i = HomologicalComplex.homotopyCofiber.inrX φ i
-- HomologicalComplex.homotopyCofiber.inrCompHomotopy_hom
lemma inrCompHomotopy_hom (i j : ι) (hij : c.Rel j i) :
    (inrCompHomotopy φ hc).hom i j = inlX φ i j hij 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (hc : ∀ (j : ι), ∃ i, c.Rel i j) (i j : ι) (hij : c.Rel j i)
Goal: (HomologicalComplex.homotopyCofiber.inrCompHomotopy φ hc).hom i j = HomologicalComplex.homotopyCofiber.inlX φ i j hij
-- HomologicalComplex.homotopyCofiber.inrCompHomotopy_hom_eq_zero
lemma inrCompHomotopy_hom_eq_zero (i j : ι) (hij : ¬ c.Rel j i) :
    (inrCompHomotopy φ hc).hom i j = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (hc : ∀ (j : ι), ∃ i, c.Rel i j) (i j : ι) (hij : ¬c.Rel j i)
Goal: (HomologicalComplex.homotopyCofiber.inrCompHomotopy φ hc).hom i j = 0
-- HomologicalComplex.homotopyCofiber.desc_f
lemma desc_f (j k : ι) (hjk : c.Rel j k) :
    (desc φ α hα).f j = fstX φ j _ hjk ≫ hα.hom _ j + sndX φ j ≫ α.f j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (α : G ⟶ K) (hα : Homotopy (φ ≫ α) 0) (j k : ι) (hjk : c.Rel j k)
Goal: (HomologicalComplex.homotopyCofiber.desc φ α hα).f j =
  HomologicalComplex.homotopyCofiber.fstX φ j k hjk ≫ hα.hom k j + HomologicalComplex.homotopyCofiber.sndX φ j ≫ α.f j
-- HomologicalComplex.homotopyCofiber.desc_f'
lemma desc_f' (j : ι) (hj : ¬ c.Rel j (c.next j)) :
    (desc φ α hα).f j = sndX φ j ≫ α.f j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (α : G ⟶ K) (hα : Homotopy (φ ≫ α) 0) (j : ι) (hj : ¬c.Rel j (c.next j))
Goal: (HomologicalComplex.homotopyCofiber.desc φ α hα).f j = HomologicalComplex.homotopyCofiber.sndX φ j ≫ α.f j
-- HomologicalComplex.homotopyCofiber.inlX_desc_f
@[reassoc (attr := simp)]
lemma inlX_desc_f (i j : ι) (hjk : c.Rel j i) :
    inlX φ i j hjk ≫ (desc φ α hα).f j = hα.hom i j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (α : G ⟶ K) (hα : Homotopy (φ ≫ α) 0) (i j : ι) (hjk : c.Rel j i)
Goal: HomologicalComplex.homotopyCofiber.inlX φ i j hjk ≫ (HomologicalComplex.homotopyCofiber.desc φ α hα).f j = hα.hom i j
-- HomologicalComplex.homotopyCofiber.inrX_desc_f
@[reassoc (attr := simp)]
lemma inrX_desc_f (i : ι) :
    inrX φ i ≫ (desc φ α hα).f i = α.f i 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (α : G ⟶ K) (hα : Homotopy (φ ≫ α) 0) (i : ι)
Goal: HomologicalComplex.homotopyCofiber.inrX φ i ≫ (HomologicalComplex.homotopyCofiber.desc φ α hα).f i = α.f i
-- HomologicalComplex.homotopyCofiber.inr_desc
@[reassoc (attr := simp)]
lemma inr_desc :
    inr φ ≫ desc φ α hα = α 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (α : G ⟶ K) (hα : Homotopy (φ ≫ α) 0)
Goal: HomologicalComplex.homotopyCofiber.inr φ ≫ HomologicalComplex.homotopyCofiber.desc φ α hα = α
-- HomologicalComplex.homotopyCofiber.inrCompHomotopy_hom_desc_hom
@[reassoc (attr := simp)]
lemma inrCompHomotopy_hom_desc_hom (hc : ∀ j, ∃ i, c.Rel i j) (i j : ι) :
    (inrCompHomotopy φ hc).hom i j ≫ (desc φ α hα).f j = hα.hom i j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (α : G ⟶ K) (hα : Homotopy (φ ≫ α) 0) (hc : ∀ (j : ι), ∃ i, c.Rel i j) (i j : ι)
Goal: (HomologicalComplex.homotopyCofiber.inrCompHomotopy φ hc).hom i j ≫
    (HomologicalComplex.homotopyCofiber.desc φ α hα).f j =
  hα.hom i j
-- HomologicalComplex.homotopyCofiber.eq_desc
lemma eq_desc (f : homotopyCofiber φ ⟶ K) (hc : ∀ j, ∃ i, c.Rel i j) :
    f = desc φ (inr φ ≫ f) (Homotopy.trans (Homotopy.ofEq (by simp))
      (((inrCompHomotopy φ hc).compRight f).trans (Homotopy.ofEq (by simp)))) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G K : HomologicalComplex C c} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] [DecidableRel c.Rel] (f : HomologicalComplex.homotopyCofiber φ ⟶ K) (hc : ∀ (j : ι), ∃ i, c.Rel i j)
Goal: f =
  HomologicalComplex.homotopyCofiber.desc φ (HomologicalComplex.homotopyCofiber.inr φ ≫ f)
    ((Homotopy.ofEq ⋯).trans
      (((HomologicalComplex.homotopyCofiber.inrCompHomotopy φ hc).compRight f).trans (Homotopy.ofEq ⋯)))
-- HomologicalComplex.homotopyCofiber.descSigma_ext_iff
lemma descSigma_ext_iff {K : HomologicalComplex C c}
    (x y : Σ (α : G ⟶ K), Homotopy (φ ≫ α) 0) :
    x = y ↔ x.1 = y.1 ∧ (∀ (i j : ι) (_ : c.Rel j i), x.2.hom i j = y.2.hom i j) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} (φ : F ⟶ G) [DecidableRel c.Rel] {K : HomologicalComplex C c} (x y : (α : G ⟶ K) × Homotopy (φ ≫ α) 0)
Goal: x = y ↔ x.fst = y.fst ∧ ∀ (i j : ι), c.Rel j i → x.snd.hom i j = y.snd.hom i j
-- HomologicalComplex.cylinder.ι₀_desc
@[reassoc (attr := simp)]
lemma ι₀_desc : ι₀ K ≫ desc φ₀ φ₁ h = φ₀ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F K : HomologicalComplex C c} [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (φ₀ φ₁ : K ⟶ F) (h : Homotopy φ₀ φ₁)
Goal: HomologicalComplex.cylinder.ι₀ K ≫ HomologicalComplex.cylinder.desc φ₀ φ₁ h = φ₀
-- HomologicalComplex.cylinder.ι₁_desc
@[reassoc (attr := simp)]
lemma ι₁_desc : ι₁ K ≫ desc φ₀ φ₁ h = φ₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F K : HomologicalComplex C c} [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (φ₀ φ₁ : K ⟶ F) (h : Homotopy φ₀ φ₁)
Goal: HomologicalComplex.cylinder.ι₁ K ≫ HomologicalComplex.cylinder.desc φ₀ φ₁ h = φ₁
-- HomologicalComplex.cylinder.ι₀_π
@[reassoc (attr := simp)]
lemma ι₀_π : ι₀ K ≫ π K = 𝟙 K 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))]
Goal: HomologicalComplex.cylinder.ι₀ K ≫ HomologicalComplex.cylinder.π K = 𝟙 K
-- HomologicalComplex.cylinder.ι₁_π
@[reassoc (attr := simp)]
lemma ι₁_π : ι₁ K ≫ π K = 𝟙 K 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))]
Goal: HomologicalComplex.cylinder.ι₁ K ≫ HomologicalComplex.cylinder.π K = 𝟙 K
-- HomologicalComplex.cylinder.inlX_π
@[reassoc (attr := simp)]
lemma inlX_π (i j : ι) (hij : c.Rel j i) :
    inlX K i j hij ≫ (π K).f j = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (i j : ι) (hij : c.Rel j i)
Goal: HomologicalComplex.cylinder.inlX K i j hij ≫ (HomologicalComplex.cylinder.π K).f j = 0
-- HomologicalComplex.cylinder.inrX_π
@[reassoc (attr := simp)]
lemma inrX_π (i : ι) :
    inrX K i ≫ (π K).f i = (biprod.desc (𝟙 _) (𝟙 K)).f i 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (i : ι)
Goal: HomologicalComplex.cylinder.inrX K i ≫ (HomologicalComplex.cylinder.π K).f i =
  (CategoryTheory.Limits.biprod.desc (𝟙 K) (𝟙 K)).f i
-- HomologicalComplex.cylinder.πCompι₀Homotopy.inlX_nullHomotopy_f
lemma inlX_nullHomotopy_f (i j : ι) (hij : c.Rel j i) :
    inlX K i j hij ≫ (nullHomotopicMap K).f j =
      inlX K i j hij ≫ (π K ≫ ι₀ K - 𝟙 _).f j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (i j : ι) (hij : c.Rel j i)
Goal: HomologicalComplex.cylinder.inlX K i j hij ≫ (HomologicalComplex.cylinder.πCompι₀Homotopy.nullHomotopicMap K).f j =
  HomologicalComplex.cylinder.inlX K i j hij ≫
    (HomologicalComplex.cylinder.π K ≫ HomologicalComplex.cylinder.ι₀ K - 𝟙 K.cylinder).f j
-- HomologicalComplex.cylinder.πCompι₀Homotopy.biprod_lift_id_sub_id
lemma biprod_lift_id_sub_id : biprod.lift (𝟙 K) (-𝟙 K) = biprod.inl - biprod.inr 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)]
Goal: CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K) = CategoryTheory.Limits.biprod.inl - CategoryTheory.Limits.biprod.inr
-- HomologicalComplex.cylinder.πCompι₀Homotopy.inrX_nullHomotopy_f
lemma inrX_nullHomotopy_f (j : ι) :
    inrX K j ≫ (nullHomotopicMap K).f j = inrX K j ≫ (π K ≫ ι₀ K - 𝟙 _).f j 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (hc : ∀ (j : ι), ∃ i, c.Rel i j) (j : ι)
Goal: HomologicalComplex.cylinder.inrX K j ≫ (HomologicalComplex.cylinder.πCompι₀Homotopy.nullHomotopicMap K).f j =
  HomologicalComplex.cylinder.inrX K j ≫
    (HomologicalComplex.cylinder.π K ≫ HomologicalComplex.cylinder.ι₀ K - 𝟙 K.cylinder).f j
-- HomologicalComplex.cylinder.πCompι₀Homotopy.nullHomotopicMap_eq
lemma nullHomotopicMap_eq : nullHomotopicMap K = π K ≫ ι₀ K - 𝟙 _ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (hc : ∀ (j : ι), ∃ i, c.Rel i j)
Goal: HomologicalComplex.cylinder.πCompι₀Homotopy.nullHomotopicMap K =
  HomologicalComplex.cylinder.π K ≫ HomologicalComplex.cylinder.ι₀ K - 𝟙 K.cylinder
-- HomologicalComplex.cylinder.map_ι₀_eq_map_ι₁
lemma map_ι₀_eq_map_ι₁ {D : Type*} [Category D] (H : HomologicalComplex C c ⥤ D)
    (hH : (homotopyEquivalences C c).IsInvertedBy H) :
    H.map (ι₀ K) = H.map (ι₁ K) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) [DecidableRel c.Rel] [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (K.X i) (K.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 K) (-𝟙 K))] (hc : ∀ (j : ι), ∃ i, c.Rel i j) {D : Type u_3} [CategoryTheory.Category.{u_4, u_3} D] (H : HomologicalComplex C c ⥤ D) (hH : (HomologicalComplex.homotopyEquivalences C c).IsInvertedBy H)
Goal: H.map (HomologicalComplex.cylinder.ι₀ K) = H.map (HomologicalComplex.cylinder.ι₁ K)
-- Homotopy.map_eq_of_inverts_homotopyEquivalences
lemma _root_.Homotopy.map_eq_of_inverts_homotopyEquivalences
    {φ₀ φ₁ : F ⟶ G} (h : Homotopy φ₀ φ₁) (hc : ∀ j, ∃ i, c.Rel i j)
    [∀ i, HasBinaryBiproduct (F.X i) (F.X i)]
    [HasHomotopyCofiber (biprod.lift (𝟙 F) (-𝟙 F))]
    {D : Type*} [Category D] (H : HomologicalComplex C c ⥤ D)
    (hH : (homotopyEquivalences C c).IsInvertedBy H) :
    H.map φ₀ = H.map φ₁ 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Preadditive C] {ι : Type u_2} {c : ComplexShape ι} {F G : HomologicalComplex C c} [DecidableRel c.Rel] {φ₀ φ₁ : F ⟶ G} (h : Homotopy φ₀ φ₁) (hc : ∀ (j : ι), ∃ i, c.Rel i j) [∀ (i : ι), CategoryTheory.Limits.HasBinaryBiproduct (F.X i) (F.X i)] [HomologicalComplex.HasHomotopyCofiber (CategoryTheory.Limits.biprod.lift (𝟙 F) (-𝟙 F))] {D : Type u_3} [CategoryTheory.Category.{u_5, u_3} D] (H : HomologicalComplex C c ⥤ D) (hH : (HomologicalComplex.homotopyEquivalences C c).IsInvertedBy H)
Goal: H.map φ₀ = H.map φ₁
-- MulOpposite.op_nnratCast
@[to_additive (attr := simp, norm_cast)]
lemma op_nnratCast [NNRatCast α] (q : ℚ≥0) : op (q : α) = q 
Arguments: {α : Type u_1} [NNRatCast α] (q : ℚ≥0)
Goal: MulOpposite.op ↑q = ↑q
-- AddOpposite.op_nnratCast
@[to_additive (attr := simp, norm_cast)]
lemma op_nnratCast [NNRatCast α] (q : ℚ≥0) : op (q : α) = q 
Arguments: {α : Type u_1} [NNRatCast α] (q : ℚ≥0)
Goal: AddOpposite.op ↑q = ↑q
-- MulOpposite.unop_nnratCast
@[to_additive (attr := simp, norm_cast)]
lemma unop_nnratCast [NNRatCast α] (q : ℚ≥0) : unop (q : αᵐᵒᵖ) = q 
Arguments: {α : Type u_1} [NNRatCast α] (q : ℚ≥0)
Goal: MulOpposite.unop ↑q = ↑q
-- AddOpposite.unop_nnratCast
@[to_additive (attr := simp, norm_cast)]
lemma unop_nnratCast [NNRatCast α] (q : ℚ≥0) : unop (q : αᵐᵒᵖ) = q 
Arguments: {α : Type u_1} [NNRatCast α] (q : ℚ≥0)
Goal: AddOpposite.unop ↑q = ↑q
-- MulOpposite.op_ratCast
@[to_additive (attr := simp, norm_cast)]
lemma op_ratCast [RatCast α] (q : ℚ) : op (q : α) = q 
Arguments: {α : Type u_1} [RatCast α] (q : ℚ)
Goal: MulOpposite.op ↑q = ↑q
-- AddOpposite.op_ratCast
@[to_additive (attr := simp, norm_cast)]
lemma op_ratCast [RatCast α] (q : ℚ) : op (q : α) = q 
Arguments: {α : Type u_1} [RatCast α] (q : ℚ)
Goal: AddOpposite.op ↑q = ↑q
-- MulOpposite.unop_ratCast
@[to_additive (attr := simp, norm_cast)]
lemma unop_ratCast [RatCast α] (q : ℚ) : unop (q : αᵐᵒᵖ) = q 
Arguments: {α : Type u_1} [RatCast α] (q : ℚ)
Goal: MulOpposite.unop ↑q = ↑q
-- AddOpposite.unop_ratCast
@[to_additive (attr := simp, norm_cast)]
lemma unop_ratCast [RatCast α] (q : ℚ) : unop (q : αᵐᵒᵖ) = q 
Arguments: {α : Type u_1} [RatCast α] (q : ℚ)
Goal: AddOpposite.unop ↑q = ↑q
-- DivisionSemiring.nnqsmul_def
class DivisionSemiring (α : Type*) extends Semiring α, GroupWithZero α, NNRatCast α where
  protected nnratCast := NNRat.castRec
    protected nnratCast_def (q : ℚ≥0) : (NNRat.cast q : α) = q.num / q.den := by intros; rfl
    protected nnqsmul : ℚ≥0 → α → α
    protected nnqsmul_def (q : ℚ≥0) (a : α) : nnqsmul q a = NNRat.cast q * a := by intros; rfl
Arguments: {α : Type u_4} [self : DivisionSemiring α] (q : ℚ≥0) (a : α)
Goal: DivisionSemiring.nnqsmul q a = ↑q * a
-- DivisionSemiring.nnratCast_def
class DivisionSemiring (α : Type*) extends Semiring α, GroupWithZero α, NNRatCast α where
  protected nnratCast := NNRat.castRec
    protected nnratCast_def (q : ℚ≥0) : (NNRat.cast q : α) = q.num / q.den := by intros; rfl
    protected nnqsmul : ℚ≥0 → α → α
    protected nnqsmul_def (q : ℚ≥0) (a : α) : nnqsmul q a = NNRat.cast q * a := by intros; rfl
Arguments: {α : Type u_4} [self : DivisionSemiring α] (q : ℚ≥0)
Goal: ↑q = ↑q.num / ↑q.den
-- DivisionRing.inv_zero
class DivisionRing (α : Type*)
  extends Ring α, DivInvMonoid α, Nontrivial α, NNRatCast α, RatCast α where
    protected mul_inv_cancel : ∀ (a : α), a ≠ 0 → a * a⁻¹ = 1
    protected inv_zero : (0 : α)⁻¹ = 0
  protected nnratCast := NNRat.castRec
    protected nnratCast_def (q : ℚ≥0) : (NNRat.cast q : α) = q.num / q.den := by intros; rfl
    protected nnqsmul : ℚ≥0 → α → α
    protected nnqsmul_def (q : ℚ≥0) (a : α) : nnqsmul q a = NNRat.cast q * a := by intros; rfl
  protected ratCast := Rat.castRec
    protected ratCast_def (q : ℚ) : (Rat.cast q : α) = q.num / q.den := by intros; rfl
    protected qsmul : ℚ → α → α
    protected qsmul_def (a : ℚ) (x : α) : qsmul a x = Rat.cast a * x := by intros; rfl
Arguments: {α : Type u_4} [self : DivisionRing α]
Goal: 0⁻¹ = 0
-- DivisionRing.qsmul_def
class DivisionRing (α : Type*)
  extends Ring α, DivInvMonoid α, Nontrivial α, NNRatCast α, RatCast α where
    protected mul_inv_cancel : ∀ (a : α), a ≠ 0 → a * a⁻¹ = 1
    protected inv_zero : (0 : α)⁻¹ = 0
  protected nnratCast := NNRat.castRec
    protected nnratCast_def (q : ℚ≥0) : (NNRat.cast q : α) = q.num / q.den := by intros; rfl
    protected nnqsmul : ℚ≥0 → α → α
    protected nnqsmul_def (q : ℚ≥0) (a : α) : nnqsmul q a = NNRat.cast q * a := by intros; rfl
  protected ratCast := Rat.castRec
    protected ratCast_def (q : ℚ) : (Rat.cast q : α) = q.num / q.den := by intros; rfl
    protected qsmul : ℚ → α → α
    protected qsmul_def (a : ℚ) (x : α) : qsmul a x = Rat.cast a * x := by intros; rfl
Arguments: {α : Type u_4} [self : DivisionRing α] (a : ℚ) (x : α)
Goal: DivisionRing.qsmul a x = ↑a * x