ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CochainComplex.HomComplex.Cocycle.ext_iff
protected lemma ext_iff (z₁ z₂ : Cocycle F G n) : z₁ = z₂ ↔ (z₁ : Cochain F G n) = z₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cocycle F G n)
Goal: z₁ = z₂ ↔ ↑z₁ = ↑z₂
-- CochainComplex.HomComplex.Cocycle.coe_zero
@[simp]
lemma coe_zero : (↑(0 : Cocycle F G n) : Cochain F G n) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (F G : CochainComplex C ℤ) (n : ℤ)
Goal: ↑0 = 0
-- CochainComplex.HomComplex.Cocycle.coe_add
@[simp]
lemma coe_add (z₁ z₂ : Cocycle F G n) :
    (↑(z₁ + z₂) : Cochain F G n) = (z₁ : Cochain F G n) + (z₂ : Cochain F G n) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cocycle F G n)
Goal: ↑(z₁ + z₂) = ↑z₁ + ↑z₂
-- CochainComplex.HomComplex.Cocycle.coe_neg
@[simp]
lemma coe_neg (z : Cocycle F G n) :
    (↑(-z) : Cochain F G n) = -(z : Cochain F G n) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z : CochainComplex.HomComplex.Cocycle F G n)
Goal: ↑(-z) = -↑z
-- CochainComplex.HomComplex.Cocycle.coe_smul
@[simp]
lemma coe_smul (z : Cocycle F G n) (x : R) :
    (↑(x • z) : Cochain F G n) = x • (z : Cochain F G n) 
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 : ℤ} (z : CochainComplex.HomComplex.Cocycle F G n) (x : R)
Goal: ↑(x • z) = x • ↑z
-- CochainComplex.HomComplex.Cocycle.coe_units_smul
@[simp]
lemma coe_units_smul (z : Cocycle F G n) (x : Rˣ) :
    (↑(x • z) : Cochain F G n) = x • (z : Cochain F G n) 
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 : ℤ} (z : CochainComplex.HomComplex.Cocycle F G n) (x : Rˣ)
Goal: ↑(x • z) = x • ↑z
-- CochainComplex.HomComplex.Cocycle.coe_sub
@[simp]
lemma coe_sub (z₁ z₂ : Cocycle F G n) :
    (↑(z₁ - z₂) : Cochain F G n) = (z₁ : Cochain F G n) - (z₂ : Cochain F G n) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cocycle F G n)
Goal: ↑(z₁ - z₂) = ↑z₁ - ↑z₂
-- CochainComplex.HomComplex.Cocycle.mk_coe
@[simps]
def mk (z : Cochain F G n) (m : ℤ) (hnm : n + 1 = m) (h : δ n m z = 0) : Cocycle F G n 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z : CochainComplex.HomComplex.Cochain F G n) (m : ℤ) (hnm : n + 1 = m) (h : CochainComplex.HomComplex.δ n m z = 0)
Goal: ↑(CochainComplex.HomComplex.Cocycle.mk z m hnm h) = z
-- CochainComplex.HomComplex.Cocycle.δ_eq_zero
@[simp]
lemma δ_eq_zero {n : ℤ} (z : Cocycle F G n) (m : ℤ) : δ n m (z : Cochain F G n) = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z : CochainComplex.HomComplex.Cocycle F G n) (m : ℤ)
Goal: CochainComplex.HomComplex.δ n m ↑z = 0
-- CochainComplex.HomComplex.Cocycle.ofHom_coe
@[simps!]
def ofHom (φ : F ⟶ G) : Cocycle F G 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G)
Goal: ↑(CochainComplex.HomComplex.Cocycle.ofHom φ) = CochainComplex.HomComplex.Cochain.ofHom φ
-- CochainComplex.HomComplex.Cocycle.homOf_f
@[simps]
def homOf (z : Cocycle F G 0) : F ⟶ G 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (z : CochainComplex.HomComplex.Cocycle F G 0) (i : ℤ)
Goal: z.homOf.f i = (↑z).v i i ⋯
-- CochainComplex.HomComplex.Cocycle.homOf_ofHom_eq_self
@[simp]
lemma homOf_ofHom_eq_self (φ : F ⟶ G) : homOf (ofHom φ) = φ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G)
Goal: (CochainComplex.HomComplex.Cocycle.ofHom φ).homOf = φ
-- CochainComplex.HomComplex.Cocycle.ofHom_homOf_eq_self
@[simp]
lemma ofHom_homOf_eq_self (z : Cocycle F G 0) : ofHom (homOf z) = z 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (z : CochainComplex.HomComplex.Cocycle F G 0)
Goal: CochainComplex.HomComplex.Cocycle.ofHom z.homOf = z
-- CochainComplex.HomComplex.Cocycle.cochain_ofHom_homOf_eq_coe
@[simp]
lemma cochain_ofHom_homOf_eq_coe (z : Cocycle F G 0) :
    Cochain.ofHom (homOf z) = (z : Cochain F G 0) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (z : CochainComplex.HomComplex.Cocycle F G 0)
Goal: CochainComplex.HomComplex.Cochain.ofHom z.homOf = ↑z
-- CochainComplex.HomComplex.Cocycle.equivHom_apply
@[simps]
def equivHom : (F ⟶ G) ≃+ Cocycle F G 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (F G : CochainComplex C ℤ) (φ : F ⟶ G)
Goal: (CochainComplex.HomComplex.Cocycle.equivHom F G) φ = CochainComplex.HomComplex.Cocycle.ofHom φ
-- CochainComplex.HomComplex.Cocycle.equivHom_symm_apply
@[simps]
def equivHom : (F ⟶ G) ≃+ Cocycle F G 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (F G : CochainComplex C ℤ) (z : CochainComplex.HomComplex.Cocycle F G 0)
Goal: (CochainComplex.HomComplex.Cocycle.equivHom F G).symm z = z.homOf
-- CochainComplex.HomComplex.Cocycle.diff_coe
@[simps!]
def diff : Cocycle K K 1 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K : CochainComplex C ℤ)
Goal: ↑(CochainComplex.HomComplex.Cocycle.diff K) = CochainComplex.HomComplex.Cochain.diff K
-- CochainComplex.HomComplex.δ_comp_zero_cocycle
@[simp]
lemma δ_comp_zero_cocycle {n : ℤ} (z₁ : Cochain F G n) (z₂ : Cocycle G K 0) (m : ℤ) :
    δ n m (z₁.comp z₂.1 (add_zero n)) =
      (δ n m z₁).comp z₂.1 (add_zero m) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n) (z₂ : CochainComplex.HomComplex.Cocycle G K 0) (m : ℤ)
Goal: CochainComplex.HomComplex.δ n m (z₁.comp ↑z₂ ⋯) = (CochainComplex.HomComplex.δ n m z₁).comp ↑z₂ ⋯
-- CochainComplex.HomComplex.δ_comp_ofHom
@[simp]
lemma δ_comp_ofHom {n : ℤ} (z₁ : Cochain F G n) (f : G ⟶ K) (m : ℤ) :
    δ n m (z₁.comp (Cochain.ofHom f) (add_zero n)) =
      (δ n m z₁).comp (Cochain.ofHom f) (add_zero m) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n) (f : G ⟶ K) (m : ℤ)
Goal: CochainComplex.HomComplex.δ n m (z₁.comp (CochainComplex.HomComplex.Cochain.ofHom f) ⋯) =
  (CochainComplex.HomComplex.δ n m z₁).comp (CochainComplex.HomComplex.Cochain.ofHom f) ⋯
-- CochainComplex.HomComplex.δ_zero_cocycle_comp
@[simp]
lemma δ_zero_cocycle_comp {n : ℤ} (z₁ : Cocycle F G 0) (z₂ : Cochain G K n) (m : ℤ) :
    δ n m (z₁.1.comp z₂ (zero_add n)) =
      z₁.1.comp (δ n m z₂) (zero_add m) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cocycle F G 0) (z₂ : CochainComplex.HomComplex.Cochain G K n) (m : ℤ)
Goal: CochainComplex.HomComplex.δ n m ((↑z₁).comp z₂ ⋯) = (↑z₁).comp (CochainComplex.HomComplex.δ n m z₂) ⋯
-- CochainComplex.HomComplex.δ_ofHom_comp
@[simp]
lemma δ_ofHom_comp {n : ℤ} (f : F ⟶ G) (z : Cochain G K n) (m : ℤ) :
    δ n m ((Cochain.ofHom f).comp z (zero_add n)) =
      (Cochain.ofHom f).comp (δ n m z) (zero_add m) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (f : F ⟶ G) (z : CochainComplex.HomComplex.Cochain G K n) (m : ℤ)
Goal: CochainComplex.HomComplex.δ n m ((CochainComplex.HomComplex.Cochain.ofHom f).comp z ⋯) =
  (CochainComplex.HomComplex.Cochain.ofHom f).comp (CochainComplex.HomComplex.δ n m z) ⋯
-- CochainComplex.HomComplex.Cochain.equivHomotopy_symm_apply_hom
@[simps]
def equivHomotopy (φ₁ φ₂ : F ⟶ G) :
    Homotopy φ₁ φ₂ ≃
      { z : Cochain F G (-1) // Cochain.ofHom φ₁ = δ (-1) 0 z + Cochain.ofHom φ₂ } 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ₁ φ₂ : F ⟶ G) (z :
  { z //
    CochainComplex.HomComplex.Cochain.ofHom φ₁ =
      CochainComplex.HomComplex.δ (-1) 0 z + CochainComplex.HomComplex.Cochain.ofHom φ₂ }) (i j : ℤ)
Goal: ((CochainComplex.HomComplex.Cochain.equivHomotopy φ₁ φ₂).symm z).hom i j =
  if hij : i + -1 = j then (↑z).v i j hij else 0
-- CochainComplex.HomComplex.Cochain.equivHomotopy_apply_coe
@[simps]
def equivHomotopy (φ₁ φ₂ : F ⟶ G) :
    Homotopy φ₁ φ₂ ≃
      { z : Cochain F G (-1) // Cochain.ofHom φ₁ = δ (-1) 0 z + Cochain.ofHom φ₂ } 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ₁ φ₂ : F ⟶ G) (ho : Homotopy φ₁ φ₂)
Goal: ↑((CochainComplex.HomComplex.Cochain.equivHomotopy φ₁ φ₂) ho) = CochainComplex.HomComplex.Cochain.ofHomotopy ho
-- CochainComplex.HomComplex.Cochain.equivHomotopy_apply_of_eq
@[simp]
lemma equivHomotopy_apply_of_eq {φ₁ φ₂ : F ⟶ G} (h : φ₁ = φ₂) :
    (equivHomotopy _ _ (Homotopy.ofEq h)).1 = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {φ₁ φ₂ : F ⟶ G} (h : φ₁ = φ₂)
Goal: ↑((CochainComplex.HomComplex.Cochain.equivHomotopy φ₁ φ₂) (Homotopy.ofEq h)) = 0
-- CochainComplex.HomComplex.Cochain.ofHom_injective
lemma ofHom_injective {f₁ f₂ : F ⟶ G} (h : ofHom f₁ = ofHom f₂) : f₁ = f₂ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {f₁ f₂ : F ⟶ G} (h : CochainComplex.HomComplex.Cochain.ofHom f₁ = CochainComplex.HomComplex.Cochain.ofHom f₂)
Goal: f₁ = f₂
-- CochainComplex.HomComplex.Cochain.map_v
@[simp]
lemma map_v (p q : ℤ) (hpq : p + n = q) : (z.map Φ).v p q hpq = Φ.map (z.v p q hpq) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} {n : ℤ} {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (z : CochainComplex.HomComplex.Cochain K L n) (Φ : C ⥤ D) [Φ.Additive] (p q : ℤ) (hpq : p + n = q)
Goal: (z.map Φ).v p q hpq = Φ.map (z.v p q hpq)
-- CochainComplex.HomComplex.Cochain.map_add
@[simp]
lemma map_add : (z + z').map Φ = z.map Φ + z'.map Φ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} {n : ℤ} {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (z z' : CochainComplex.HomComplex.Cochain K L n) (Φ : C ⥤ D) [Φ.Additive]
Goal: (z + z').map Φ = z.map Φ + z'.map Φ
-- CochainComplex.HomComplex.Cochain.map_neg
@[simp]
lemma map_neg : (-z).map Φ = -z.map Φ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} {n : ℤ} {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (z : CochainComplex.HomComplex.Cochain K L n) (Φ : C ⥤ D) [Φ.Additive]
Goal: (-z).map Φ = -z.map Φ
-- CochainComplex.HomComplex.Cochain.map_sub
@[simp]
lemma map_sub : (z - z').map Φ = z.map Φ - z'.map Φ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} {n : ℤ} {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (z z' : CochainComplex.HomComplex.Cochain K L n) (Φ : C ⥤ D) [Φ.Additive]
Goal: (z - z').map Φ = z.map Φ - z'.map Φ
-- CochainComplex.HomComplex.Cochain.map_zero
@[simp]
lemma map_zero : (0 : Cochain K L n).map Φ = 0 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (Φ : C ⥤ D) [Φ.Additive]
Goal: CochainComplex.HomComplex.Cochain.map 0 Φ = 0
-- CochainComplex.HomComplex.Cochain.map_comp
@[simp]
lemma map_comp {n₁ n₂ n₁₂ : ℤ} (z₁ : Cochain F G n₁) (z₂ : Cochain G K n₂) (h : n₁ + n₂ = n₁₂)
    (Φ : C ⥤ D) [Φ.Additive] :
    (Cochain.comp z₁ z₂ h).map Φ = Cochain.comp (z₁.map Φ) (z₂.map Φ) h 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (K : CochainComplex C ℤ) {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] {n₁ n₂ n₁₂ : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n₁) (z₂ : CochainComplex.HomComplex.Cochain G K n₂) (h : n₁ + n₂ = n₁₂) (Φ : C ⥤ D) [Φ.Additive]
Goal: (z₁.comp z₂ h).map Φ = (z₁.map Φ).comp (z₂.map Φ) h
-- CochainComplex.HomComplex.Cochain.map_ofHom
@[simp]
lemma map_ofHom :
    (Cochain.ofHom f).map Φ = Cochain.ofHom ((Φ.mapHomologicalComplex _).map f) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (f : K ⟶ L) (Φ : C ⥤ D) [Φ.Additive]
Goal: (CochainComplex.HomComplex.Cochain.ofHom f).map Φ =
  CochainComplex.HomComplex.Cochain.ofHom ((Φ.mapHomologicalComplex (ComplexShape.up ℤ)).map f)
-- CochainComplex.HomComplex.δ_map
@[simp]
lemma δ_map : δ n m (z.map Φ) = (δ n m z).map Φ 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (n m : ℤ) {D : Type u_2} [CategoryTheory.Category.{u_3, u_2} D] [CategoryTheory.Preadditive D] (z : CochainComplex.HomComplex.Cochain K L n) (Φ : C ⥤ D) [Φ.Additive]
Goal: CochainComplex.HomComplex.δ n m (z.map Φ) = (CochainComplex.HomComplex.δ n m z).map Φ
-- HomologicalComplex.exact_of_degreewise_exact
lemma exact_of_degreewise_exact (hS : ∀ (i : ι), (S.map (eval C c i)).Exact) :
    S.Exact 
Arguments: {C : Type u_1} {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (HomologicalComplex C c)) (hS : ∀ (i : ι), (S.map (HomologicalComplex.eval C c i)).Exact)
Goal: S.Exact
-- HomologicalComplex.shortExact_of_degreewise_shortExact
lemma shortExact_of_degreewise_shortExact
    (hS : ∀ (i : ι), (S.map (eval C c i)).ShortExact) :
    S.ShortExact 
Arguments: {C : Type u_1} {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (HomologicalComplex C c)) (hS : ∀ (i : ι), (S.map (HomologicalComplex.eval C c i)).ShortExact)
Goal: S.ShortExact
-- HomologicalComplex.exact_iff_degreewise_exact
lemma exact_iff_degreewise_exact :
    S.Exact ↔ ∀ (i : ι), (S.map (eval C c i)).Exact 
Arguments: {C : Type u_1} {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (HomologicalComplex C c))
Goal: S.Exact ↔ ∀ (i : ι), (S.map (HomologicalComplex.eval C c i)).Exact
-- HomologicalComplex.shortExact_iff_degreewise_shortExact
lemma shortExact_iff_degreewise_shortExact :
    S.ShortExact ↔ ∀ (i : ι), (S.map (eval C c i)).ShortExact 
Arguments: {C : Type u_1} {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (HomologicalComplex C c))
Goal: S.ShortExact ↔ ∀ (i : ι), (S.map (HomologicalComplex.eval C c i)).ShortExact
-- CategoryTheory.ShortComplex.Exact.condition
structure Exact : Prop where
    condition : ∃ (h : S.HomologyData), IsZero h.left.H
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (self : S.Exact)
Goal: ∃ h, CategoryTheory.Limits.IsZero h.left.H
-- CategoryTheory.ShortComplex.Exact.hasHomology
lemma Exact.hasHomology (h : S.Exact) : S.HasHomology 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.Exact)
Goal: S.HasHomology
-- CategoryTheory.ShortComplex.Exact.hasZeroObject
lemma Exact.hasZeroObject (h : S.Exact) : HasZeroObject C 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.Exact)
Goal: CategoryTheory.Limits.HasZeroObject C
-- CategoryTheory.ShortComplex.exact_iff_isZero_homology
lemma exact_iff_isZero_homology [S.HasHomology] :
    S.Exact ↔ IsZero S.homology 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology]
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero S.homology
-- CategoryTheory.ShortComplex.LeftHomologyData.exact_iff
lemma LeftHomologyData.exact_iff [S.HasHomology]
    (h : S.LeftHomologyData) :
    S.Exact ↔ IsZero h.H 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} [S.HasHomology] (h : S.LeftHomologyData)
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero h.H
-- CategoryTheory.ShortComplex.RightHomologyData.exact_iff
lemma RightHomologyData.exact_iff [S.HasHomology]
    (h : S.RightHomologyData) :
    S.Exact ↔ IsZero h.H 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} [S.HasHomology] (h : S.RightHomologyData)
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero h.H
-- CategoryTheory.ShortComplex.exact_iff_isZero_leftHomology
lemma exact_iff_isZero_leftHomology [S.HasHomology] :
    S.Exact ↔ IsZero S.leftHomology 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology]
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero S.leftHomology
-- CategoryTheory.ShortComplex.exact_iff_isZero_rightHomology
lemma exact_iff_isZero_rightHomology [S.HasHomology] :
    S.Exact ↔ IsZero S.rightHomology 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology]
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero S.rightHomology
-- CategoryTheory.ShortComplex.HomologyData.exact_iff
lemma HomologyData.exact_iff (h : S.HomologyData) :
    S.Exact ↔ IsZero h.left.H 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.HomologyData)
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero h.left.H
-- CategoryTheory.ShortComplex.HomologyData.exact_iff'
lemma HomologyData.exact_iff' (h : S.HomologyData) :
    S.Exact ↔ IsZero h.right.H 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.HomologyData)
Goal: S.Exact ↔ CategoryTheory.Limits.IsZero h.right.H
-- CategoryTheory.ShortComplex.exact_iff_homology_iso_zero
lemma exact_iff_homology_iso_zero [S.HasHomology] [HasZeroObject C] :
    S.Exact ↔ Nonempty (S.homology ≅ 0) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] [CategoryTheory.Limits.HasZeroObject C]
Goal: S.Exact ↔ Nonempty (S.homology ≅ 0)
-- CategoryTheory.ShortComplex.exact_of_iso
lemma exact_of_iso (e : S₁ ≅ S₂) (h : S₁.Exact) : S₂.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂) (h : S₁.Exact)
Goal: S₂.Exact
-- CategoryTheory.ShortComplex.exact_iff_of_iso
lemma exact_iff_of_iso (e : S₁ ≅ S₂) : S₁.Exact ↔ S₂.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂)
Goal: S₁.Exact ↔ S₂.Exact
-- CategoryTheory.ShortComplex.exact_and_mono_f_iff_of_iso
lemma exact_and_mono_f_iff_of_iso (e : S₁ ≅ S₂) :
    S₁.Exact ∧ Mono S₁.f ↔ S₂.Exact ∧ Mono S₂.f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂)
Goal: S₁.Exact ∧ CategoryTheory.Mono S₁.f ↔ S₂.Exact ∧ CategoryTheory.Mono S₂.f
-- CategoryTheory.ShortComplex.exact_and_epi_g_iff_of_iso
lemma exact_and_epi_g_iff_of_iso (e : S₁ ≅ S₂) :
    S₁.Exact ∧ Epi S₁.g ↔ S₂.Exact ∧ Epi S₂.g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂)
Goal: S₁.Exact ∧ CategoryTheory.Epi S₁.g ↔ S₂.Exact ∧ CategoryTheory.Epi S₂.g
-- CategoryTheory.ShortComplex.exact_of_isZero_X₂
lemma exact_of_isZero_X₂ (h : IsZero S.X₂) : S.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (h : CategoryTheory.Limits.IsZero S.X₂)
Goal: S.Exact
-- CategoryTheory.ShortComplex.exact_iff_of_epi_of_isIso_of_mono
lemma exact_iff_of_epi_of_isIso_of_mono (φ : S₁ ⟶ S₂) [Epi φ.τ₁] [IsIso φ.τ₂] [Mono φ.τ₃] :
    S₁.Exact ↔ S₂.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [CategoryTheory.Epi φ.τ₁] [CategoryTheory.IsIso φ.τ₂] [CategoryTheory.Mono φ.τ₃]
Goal: S₁.Exact ↔ S₂.Exact
-- CategoryTheory.ShortComplex.HomologyData.exact_iff_i_p_zero
lemma HomologyData.exact_iff_i_p_zero (h : S.HomologyData) :
    S.Exact ↔ h.left.i ≫ h.right.p = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.HomologyData)
Goal: S.Exact ↔ CategoryTheory.CategoryStruct.comp h.left.i h.right.p = 0
-- CategoryTheory.ShortComplex.exact_iff_i_p_zero
lemma exact_iff_i_p_zero [S.HasHomology] (h₁ : S.LeftHomologyData)
    (h₂ : S.RightHomologyData) :
    S.Exact ↔ h₁.i ≫ h₂.p = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (h₁ : S.LeftHomologyData) (h₂ : S.RightHomologyData)
Goal: S.Exact ↔ CategoryTheory.CategoryStruct.comp h₁.i h₂.p = 0
-- CategoryTheory.ShortComplex.exact_iff_iCycles_pOpcycles_zero
lemma exact_iff_iCycles_pOpcycles_zero [S.HasHomology] :
    S.Exact ↔ S.iCycles ≫ S.pOpcycles = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology]
Goal: S.Exact ↔ CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles = 0
-- CategoryTheory.ShortComplex.exact_iff_kernel_ι_comp_cokernel_π_zero
lemma exact_iff_kernel_ι_comp_cokernel_π_zero [S.HasHomology]
    [HasKernel S.g] [HasCokernel S.f] :
    S.Exact ↔ kernel.ι S.g ≫ cokernel.π S.f = 0 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] [CategoryTheory.Limits.HasKernel S.g] [CategoryTheory.Limits.HasCokernel S.f]
Goal: S.Exact ↔
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f) = 0
-- CategoryTheory.ShortComplex.Exact.op
lemma Exact.op (h : S.Exact) : S.op.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.Exact)
Goal: S.op.Exact
-- CategoryTheory.ShortComplex.Exact.unop
lemma Exact.unop {S : ShortComplex Cᵒᵖ} (h : S.Exact) : S.unop.Exact 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex Cᵒᵖ} (h : S.Exact)
Goal: S.unop.Exact