File: Mathlib/Algebra/Homology/ShortComplex/Ab.lean

full_name: CategoryTheory.ShortComplex.ab_zero_apply
code: @[simp]
lemma ab_zero_apply (x : S.X₁) : S.g (S.f x) = 0 
goal: S.g (S.f x) = 0

full_name: CategoryTheory.ShortComplex.abToCycles_apply_coe
code: /-- The canonical additive morphism `S.X₁ →+ AddMonoidHom.ker S.g` induced by `S.f`. -/
@[simps!]
def abToCycles : S.X₁ →+ AddMonoidHom.ker S.g 
goal: ↑(S.abToCycles x) = S.f x

full_name: CategoryTheory.ShortComplex.abToCycles
code: /-- The canonical additive morphism `S.X₁ →+ AddMonoidHom.ker S.g` induced by `S.f`. -/
@[simps!]
def abToCycles : S.X₁ →+ AddMonoidHom.ker S.g 
goal: ↑S.X₁ →+ ↥(AddMonoidHom.ker S.g)

full_name: CategoryTheory.ShortComplex.abLeftHomologyData
code: /-- The explicit left homology data of a short complex of abelian group that is
given by a kernel and a quotient given by the `AddMonoidHom` API. -/
@[simps]
def abLeftHomologyData : S.LeftHomologyData 
goal: S.LeftHomologyData

full_name: CategoryTheory.ShortComplex.abLeftHomologyData_i
code: /-- The explicit left homology data of a short complex of abelian group that is
given by a kernel and a quotient given by the `AddMonoidHom` API. -/
@[simps]
def abLeftHomologyData : S.LeftHomologyData 
goal: S.abLeftHomologyData.i = (AddMonoidHom.ker S.g).subtype

full_name: CategoryTheory.ShortComplex.abLeftHomologyData_H
code: /-- The explicit left homology data of a short complex of abelian group that is
given by a kernel and a quotient given by the `AddMonoidHom` API. -/
@[simps]
def abLeftHomologyData : S.LeftHomologyData 
goal: S.abLeftHomologyData.H = AddCommGrp.of (↥(AddMonoidHom.ker S.g) ⧸ S.abToCycles.range)

full_name: CategoryTheory.ShortComplex.abLeftHomologyData_K
code: /-- The explicit left homology data of a short complex of abelian group that is
given by a kernel and a quotient given by the `AddMonoidHom` API. -/
@[simps]
def abLeftHomologyData : S.LeftHomologyData 
goal: S.abLeftHomologyData.K = AddCommGrp.of ↥(AddMonoidHom.ker S.g)

full_name: CategoryTheory.ShortComplex.abLeftHomologyData_π
code: /-- The explicit left homology data of a short complex of abelian group that is
given by a kernel and a quotient given by the `AddMonoidHom` API. -/
@[simps]
def abLeftHomologyData : S.LeftHomologyData 
goal: S.abLeftHomologyData.π = QuotientAddGroup.mk' S.abToCycles.range

full_name: CategoryTheory.ShortComplex.abLeftHomologyData_f'
code: @[simp]
lemma abLeftHomologyData_f' : S.abLeftHomologyData.f' = S.abToCycles 
goal: S.abLeftHomologyData.f' = S.abToCycles

full_name: CategoryTheory.ShortComplex.abCyclesIso
code: /-- Given a short complex `S` of abelian groups, this is the isomorphism between
the abstract `S.cycles` of the homology API and the more concrete description as
`AddMonoidHom.ker S.g`. -/
noncomputable def abCyclesIso : S.cycles ≅ AddCommGrp.of (AddMonoidHom.ker S.g) 
goal: S.cycles ≅ AddCommGrp.of ↥(AddMonoidHom.ker S.g)

full_name: CategoryTheory.ShortComplex.abCyclesIso_inv_apply_iCycles
code: lemma abCyclesIso_inv_apply_iCycles (x : AddMonoidHom.ker S.g) :
    S.iCycles (S.abCyclesIso.inv x) = x 
goal: S.iCycles (S.abCyclesIso.inv x) = ↑x

full_name: CategoryTheory.ShortComplex.abHomologyIso
code: /-- Given a short complex `S` of abelian groups, this is the isomorphism between
the abstract `S.homology` of the homology API and the more explicit
quotient of `AddMonoidHom.ker S.g` by the image of
`S.abToCycles : S.X₁ →+ AddMonoidHom.ker S.g`. -/
noncomputable def abHomologyIso : S.homology ≅
    AddCommGrp.of ((AddMonoidHom.ker S.g) ⧸ AddMonoidHom.range S.abToCycles) 
goal: S.homology ≅ AddCommGrp.of (↥(AddMonoidHom.ker S.g) ⧸ S.abToCycles.range)

full_name: CategoryTheory.ShortComplex.exact_iff_surjective_abToCycles
code: lemma exact_iff_surjective_abToCycles :
    S.Exact ↔ Function.Surjective S.abToCycles 
goal: S.Exact ↔ Function.Surjective ⇑S.abToCycles

full_name: CategoryTheory.ShortComplex.ab_exact_iff
code: lemma ab_exact_iff :
    S.Exact ↔ ∀ (x₂ : S.X₂) (_ : S.g x₂ = 0), ∃ (x₁ : S.X₁), S.f x₁ = x₂ 
goal: S.Exact ↔ ∀ (x₂ : ↑S.X₂), S.g x₂ = 0 → ∃ x₁, S.f x₁ = x₂

full_name: CategoryTheory.ShortComplex.ab_exact_iff_ker_le_range
code: lemma ab_exact_iff_ker_le_range : S.Exact ↔ S.g.ker ≤ S.f.range 
goal: S.Exact ↔ AddMonoidHom.ker S.g ≤ AddMonoidHom.range S.f

full_name: CategoryTheory.ShortComplex.ab_exact_iff_range_eq_ker
code: lemma ab_exact_iff_range_eq_ker : S.Exact ↔ S.f.range = S.g.ker 
goal: S.Exact ↔ AddMonoidHom.range S.f = AddMonoidHom.ker S.g

full_name: CategoryTheory.ShortComplex.ShortExact.ab_injective_f
code: lemma ShortExact.ab_injective_f (hS : S.ShortExact) :
    Function.Injective S.f 
goal: Function.Injective ⇑S.f

full_name: CategoryTheory.ShortComplex.ShortExact.ab_surjective_g
code: lemma ShortExact.ab_surjective_g (hS : S.ShortExact) :
    Function.Surjective S.g 
goal: Function.Surjective ⇑S.g

full_name: CategoryTheory.ShortComplex.ShortExact.ab_exact_iff_function_exact
code: lemma ShortExact.ab_exact_iff_function_exact :
    S.Exact ↔ Function.Exact S.f S.g 
goal: S.Exact ↔ Function.Exact ⇑S.f ⇑S.g