Exact short complexes #
When S : ShortComplex C
, this file defines a structure
S.Exact
which expresses the exactness of S
, i.e. there
exists a homology data h : S.HomologyData
such that
h.left.H
is zero. When [S.HasHomology]
, it is equivalent
to the assertion IsZero S.homology
.
Almost by construction, this notion of exactness is self dual,
see Exact.op
and Exact.unop
.
The assertion that the short complex S : ShortComplex C
is exact.
- condition : ∃ (h : S.HomologyData), CategoryTheory.Limits.IsZero h.left.H
the condition that there exists an homology data whose
left.H
field is zero
Instances For
the condition that there exists an homology data whose left.H
field is zero
Given an exact short complex S
and a limit kernel fork kf
for S.g
, this is the
left homology data for S
with K := kf.pt
and H := 0
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an exact short complex S
and a colimit cokernel cofork cc
for S.f
, this is the
right homology data for S
with Q := cc.pt
and H := 0
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A splitting for a short complex S
consists of the data of a retraction r : X₂ ⟶ X₁
of S.f
and section s : X₃ ⟶ X₂
of S.g
which satisfy r ≫ S.f + S.g ≫ s = 𝟙 _
- r : S.X₂ ⟶ S.X₁
a retraction of
S.f
- s : S.X₃ ⟶ S.X₂
a section of
S.g
- f_r : CategoryTheory.CategoryStruct.comp S.f self.r = CategoryTheory.CategoryStruct.id S.X₁
the condition that
r
is a retraction ofS.f
- s_g : CategoryTheory.CategoryStruct.comp self.s S.g = CategoryTheory.CategoryStruct.id S.X₃
the condition that
s
is a section ofS.g
- id : CategoryTheory.CategoryStruct.comp self.r S.f + CategoryTheory.CategoryStruct.comp S.g self.s = CategoryTheory.CategoryStruct.id S.X₂
the compatibility between the given section and retraction
Instances For
the condition that r
is a retraction of S.f
the condition that s
is a section of S.g
the compatibility between the given section and retraction
Given a splitting of a short complex S
, this shows that S.f
is a split monomorphism.
Equations
- s.splitMono_f = { retraction := s.r, id := ⋯ }
Instances For
Given a splitting of a short complex S
, this shows that S.g
is a split epimorphism.
Equations
- s.splitEpi_g = { section_ := s.s, id := ⋯ }
Instances For
The left homology data on a short complex equipped with a splitting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The right homology data on a short complex equipped with a splitting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The homology data on a short complex equipped with a splitting.
Equations
- s.homologyData = { left := s.leftHomologyData, right := s.rightHomologyData, iso := CategoryTheory.Iso.refl 0, comm := ⋯ }
Instances For
A short complex equipped with a splitting is exact.
If a short complex S
is equipped with a splitting, then S.X₁
is the kernel of S.g
.
Equations
- s.fIsKernel = s.homologyData.left.hi
Instances For
If a short complex S
is equipped with a splitting, then S.X₃
is the cokernel of S.f
.
Equations
- s.gIsCokernel = s.homologyData.right.hp
Instances For
If a short complex S
has a splitting and F
is an additive functor, then
S.map F
also has a splitting.
Equations
- s.map F = { r := F.map s.r, s := F.map s.s, f_r := ⋯, s_g := ⋯, id := ⋯ }
Instances For
A splitting on a short complex induces splittings on isomorphic short complexes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The obvious splitting of the short complex X₁ ⟶ X₁ ⊞ X₂ ⟶ X₂
.
Equations
- CategoryTheory.ShortComplex.Splitting.ofHasBinaryBiproduct X₁ X₂ = { r := CategoryTheory.Limits.biprod.fst, s := CategoryTheory.Limits.biprod.inr, f_r := ⋯, s_g := ⋯, id := ⋯ }
Instances For
The obvious splitting of a short complex when S.X₁
is zero and S.g
is an isomorphism.
Equations
- CategoryTheory.ShortComplex.Splitting.ofIsZeroOfIsIso S hf hg = { r := 0, s := CategoryTheory.inv S.g, f_r := ⋯, s_g := ⋯, id := ⋯ }
Instances For
The obvious splitting of a short complex when S.f
is an isomorphism and S.X₃
is zero.
Equations
- CategoryTheory.ShortComplex.Splitting.ofIsIsoOfIsZero S hf hg = { r := CategoryTheory.inv S.f, s := 0, f_r := ⋯, s_g := ⋯, id := ⋯ }
Instances For
The splitting of the short complex S.op
deduced from a splitting of S
.
Equations
- h.op = { r := h.s.op, s := h.r.op, f_r := ⋯, s_g := ⋯, id := ⋯ }
Instances For
The splitting of the short complex S.unop
deduced from a splitting of S
.
Equations
- h.unop = { r := h.s.unop, s := h.r.unop, f_r := ⋯, s_g := ⋯, id := ⋯ }
Instances For
The isomorphism S.X₂ ≅ S.X₁ ⊞ S.X₃
induced by a splitting of the short complex S
.
Equations
- h.isoBinaryBiproduct = { hom := CategoryTheory.Limits.biprod.lift h.r S.g, inv := CategoryTheory.Limits.biprod.desc S.f h.s, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
In a balanced category, if a short complex S
is exact and S.f
is a mono, then
S.X₁
is the kernel of S.g
.
Equations
- hS.fIsKernel = let_fun this := ⋯; let_fun this_1 := ⋯; S.cyclesIsKernel.ofIsoLimit (CategoryTheory.Limits.Fork.ext (CategoryTheory.asIso S.toCycles).symm ⋯)
Instances For
In a balanced category, if a short complex S
is exact and S.g
is an epi, then
S.X₃
is the cokernel of S.g
.
Equations
- hS.gIsCokernel = let_fun this := ⋯; let_fun this_1 := ⋯; S.opcyclesIsCokernel.ofIsoColimit (CategoryTheory.Limits.Cofork.ext (CategoryTheory.asIso S.fromOpcycles) ⋯)
Instances For
If a short complex S
in a balanced category is exact and such that S.f
is a mono,
then a morphism k : A ⟶ S.X₂
such that k ≫ S.g = 0
lifts to a morphism A ⟶ S.X₁
.
Equations
- hS.lift k hk = hS.fIsKernel.lift (CategoryTheory.Limits.KernelFork.ofι k hk)
Instances For
If a short complex S
in a balanced category is exact and such that S.g
is an epi,
then a morphism k : S.X₂ ⟶ A
such that S.f ≫ k = 0
descends to a morphism S.X₃ ⟶ A
.
Equations
- hS.desc k hk = hS.gIsCokernel.desc (CategoryTheory.Limits.CokernelCofork.ofπ k hk)
Instances For
Given a morphism of short complexes φ : S₁ ⟶ S₂
in an abelian category, if S₁.f
and S₁.g
are zero (e.g. when S₁
is of the form 0 ⟶ S₁.X₂ ⟶ 0
) and S₂.f = 0
(e.g when S₂
is of the form 0 ⟶ S₂.X₂ ⟶ S₂.X₃
), then φ
is a quasi-isomorphism iff
the obvious short complex S₁.X₂ ⟶ S₂.X₂ ⟶ S₂.X₃
is exact and φ.τ₂
is a mono).
Given a morphism of short complexes φ : S₁ ⟶ S₂
in an abelian category, if S₁.g = 0
(e.g when S₁
is of the form S₁.X₁ ⟶ S₁.X₂ ⟶ 0
) and both S₂.f
and S₂.g
are zero
(e.g when S₂
is of the form 0 ⟶ S₂.X₂ ⟶ 0
), then φ
is a quasi-isomorphism iff
the obvious short complex S₁.X₂ ⟶ S₁.X₂ ⟶ S₂.X₂
is exact and φ.τ₂
is an epi).
If S
is an exact short complex and f : S.X₂ ⟶ J
is a morphism to an injective object J
such that S.f ≫ f = 0
, this is a morphism φ : S.X₃ ⟶ J
such that S.g ≫ φ = f
.
Equations
- hS.descToInjective f hf = let_fun this := ⋯; CategoryTheory.Injective.factorThru (S.descOpcycles f hf) S.fromOpcycles
Instances For
If S
is an exact short complex and f : P ⟶ S.X₂
is a morphism from a projective object P
such that f ≫ S.g = 0
, this is a morphism φ : P ⟶ S.X₁
such that φ ≫ S.f = f
.
Equations
- hS.liftFromProjective f hf = let_fun this := ⋯; CategoryTheory.Projective.factorThru (S.liftCycles f hf) S.toCycles
Instances For
Alias of CategoryTheory.ShortComplex.Exact.liftFromProjective
.
If S
is an exact short complex and f : P ⟶ S.X₂
is a morphism from a projective object P
such that f ≫ S.g = 0
, this is a morphism φ : P ⟶ S.X₁
such that φ ≫ S.f = f
.
Instances For
Alias of CategoryTheory.ShortComplex.Exact.liftFromProjective_comp
.
Alias of CategoryTheory.ShortComplex.Exact.descToInjective
.
If S
is an exact short complex and f : S.X₂ ⟶ J
is a morphism to an injective object J
such that S.f ≫ f = 0
, this is a morphism φ : S.X₃ ⟶ J
such that S.g ≫ φ = f
.
Instances For
Alias of CategoryTheory.ShortComplex.Exact.comp_descToInjective
.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
This is the splitting of a short complex S
in a balanced category induced by
a section of the morphism S.g : S.X₂ ⟶ S.X₃
Equations
- One or more equations did not get rendered due to their size.
Instances For
This is the splitting of a short complex S
in a balanced category induced by
a retraction of the morphism S.f : S.X₁ ⟶ S.X₂
Equations
- One or more equations did not get rendered due to their size.