Right Homology of short complexes #
In this file, we define the dual notions to those defined in
Algebra.Homology.ShortComplex.LeftHomology. In particular, if S : ShortComplex C is
a short complex consisting of two composable maps f : X₁ ⟶ X₂ and g : X₂ ⟶ X₃ such
that f ≫ g = 0, we define h : S.RightHomologyData to be the datum of morphisms
p : X₂ ⟶ Q and ι : H ⟶ Q such that Q identifies to the cokernel of f and H
to the kernel of the induced map g' : Q ⟶ X₃.
When such a S.RightHomologyData exists, we shall say that [S.HasRightHomology]
and we define S.rightHomology to be the H field of a chosen right homology data.
Similarly, we define S.opcycles to be the Q field.
In Homology.lean, when S has two compatible left and right homology data
(i.e. they give the same H up to a canonical isomorphism), we shall define
[S.HasHomology] and S.homology.
A right homology data for a short complex S consists of morphisms p : S.X₂ ⟶ Q and
ι : H ⟶ Q such that p identifies Q to the kernel of f : S.X₁ ⟶ S.X₂,
and that ι identifies H to the kernel of the induced map g' : Q ⟶ S.X₃
- Q : C
a choice of cokernel of
S.f : S.X₁ ⟶ S.X₂ - H : C
- p : S.X₂ ⟶ self.Q
the projection from
S.X₂ - ι : self.H ⟶ self.Q
the inclusion of the (right) homology in the chosen cokernel of
S.f - wp : CategoryTheory.CategoryStruct.comp S.f self.p = 0
the cokernel condition for
p - wι : CategoryTheory.CategoryStruct.comp self.ι (self.hp.desc (CategoryTheory.Limits.CokernelCofork.ofπ S.g ⋯)) = 0
the kernel condition for
ι - hι : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι self.ι ⋯)
Instances For
The chosen cokernels and kernels of the limits API give a RightHomologyData
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Any morphism k : S.X₂ ⟶ A such that S.f ≫ k = 0 descends
to a morphism Q ⟶ A
Equations
- CategoryTheory.ShortComplex.RightHomologyData.descQ h k hk = h.hp.desc (CategoryTheory.Limits.CokernelCofork.ofπ k hk)
Instances For
The morphism from the (right) homology attached to a morphism
k : S.X₂ ⟶ A such that S.f ≫ k = 0.
Equations
Instances For
The morphism h.Q ⟶ S.X₃ induced by S.g : S.X₂ ⟶ S.X₃ and the fact that
h.Q is a cokernel of S.f : S.X₁ ⟶ S.X₂.
Equations
Instances For
For h : S.RightHomologyData, this is a restatement of h.hι, saying that
ι : h.H ⟶ h.Q is a kernel of h.g' : h.Q ⟶ S.X₃.
Equations
Instances For
The morphism A ⟶ H induced by a morphism k : A ⟶ Q such that k ≫ g' = 0
Equations
- CategoryTheory.ShortComplex.RightHomologyData.liftH h k hk = h.hι.lift (CategoryTheory.Limits.KernelFork.ofι k hk)
Instances For
When the first map S.f is zero, this is the right homology data on S given
by any limit kernel fork of S.g
Equations
- One or more equations did not get rendered due to their size.
Instances For
When the first map S.f is zero, this is the right homology data on S given by
the chosen kernel S.g
Equations
- One or more equations did not get rendered due to their size.
Instances For
When the second map S.g is zero, this is the right homology data on S given
by any colimit cokernel cofork of S.g
Equations
- One or more equations did not get rendered due to their size.
Instances For
When the second map S.g is zero, this is the right homology data on S given
by the chosen cokernel S.f
Equations
- One or more equations did not get rendered due to their size.
Instances For
When both S.f and S.g are zero, the middle object S.X₂
gives a right homology data on S
Equations
- One or more equations did not get rendered due to their size.
Instances For
A short complex S has right homology when there exists a S.RightHomologyData
- condition : Nonempty (CategoryTheory.ShortComplex.RightHomologyData S)
Instances
A chosen S.RightHomologyData for a short complex S that has right homology
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A right homology data for a short complex S induces a left homology data for S.op.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A right homology data for a short complex S in the opposite category
induces a left homology data for S.unop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A left homology data for a short complex S induces a right homology data for S.op.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A left homology data for a short complex S in the opposite category
induces a right homology data for S.unop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given right homology data h₁ and h₂ for two short complexes S₁ and S₂,
a RightHomologyMapData for a morphism φ : S₁ ⟶ S₂
consists of a description of the induced morphisms on the Q (opcycles)
and H (right homology) fields of h₁ and h₂.
- φQ : h₁.Q ⟶ h₂.Q
the induced map on opcycles
- φH : h₁.H ⟶ h₂.H
the induced map on right homology
- commp : CategoryTheory.CategoryStruct.comp h₁.p self.φQ = CategoryTheory.CategoryStruct.comp φ.τ₂ h₂.p
commutation with
p - commg' : CategoryTheory.CategoryStruct.comp self.φQ (CategoryTheory.ShortComplex.RightHomologyData.g' h₂) = CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.RightHomologyData.g' h₁) φ.τ₃
commutation with
g' - commι : CategoryTheory.CategoryStruct.comp self.φH h₂.ι = CategoryTheory.CategoryStruct.comp h₁.ι self.φQ
commutation with
ι
Instances For
The right homology map data associated to the zero morphism between two short complexes.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.zero h₁ h₂ = { φQ := 0, φH := 0, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
The right homology map data associated to the identity morphism of a short complex.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.id h = { φQ := CategoryTheory.CategoryStruct.id h.Q, φH := CategoryTheory.CategoryStruct.id h.H, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
The composition of right homology map data.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Equations
- One or more equations did not get rendered due to their size.
When S₁.f, S₁.g, S₂.f and S₂.g are all zero, the action on right homology of a
morphism φ : S₁ ⟶ S₂ is given by the action φ.τ₂ on the middle objects.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.ofZeros φ hf₁ hg₁ hf₂ hg₂ = { φQ := φ.τ₂, φH := φ.τ₂, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
When S₁.f and S₂.f are zero and we have chosen limit kernel forks c₁ and c₂
for S₁.g and S₂.g respectively, the action on right homology of a morphism φ : S₁ ⟶ S₂ of
short complexes is given by the unique morphism f : c₁.pt ⟶ c₂.pt such that
c₁.ι ≫ φ.τ₂ = f ≫ c₂.ι.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.ofIsLimitKernelFork φ hf₁ c₁ hc₁ hf₂ c₂ hc₂ f comm = { φQ := φ.τ₂, φH := f, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
When S₁.g and S₂.g are zero and we have chosen colimit cokernel coforks c₁ and c₂
for S₁.f and S₂.f respectively, the action on right homology of a morphism φ : S₁ ⟶ S₂ of
short complexes is given by the unique morphism f : c₁.pt ⟶ c₂.pt such that
φ.τ₂ ≫ c₂.π = c₁.π ≫ f.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.ofIsColimitCokernelCofork φ hg₁ c₁ hc₁ hg₂ c₂ hc₂ f comm = { φQ := f, φH := f, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
When both maps S.f and S.g of a short complex S are zero, this is the right homology map
data (for the identity of S) which relates the right homology data
RightHomologyData.ofIsLimitKernelFork and ofZeros .
Equations
- One or more equations did not get rendered due to their size.
Instances For
When both maps S.f and S.g of a short complex S are zero, this is the right homology map
data (for the identity of S) which relates the right homology data ofZeros and
ofIsColimitCokernelCofork.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The right homology of a short complex,
given by the H field of a chosen right homology data.
Equations
Instances For
The "opcycles" of a short complex, given by the Q field of a chosen right homology data.
This is the dual notion to cycles.
Equations
Instances For
The canonical map S.rightHomology ⟶ S.opcycles.
Equations
Instances For
The projection S.X₂ ⟶ S.opcycles.
Equations
Instances For
The canonical map S.opcycles ⟶ X₃.
Equations
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
When S.f = 0, this is the canonical isomorphism S.opcycles ≅ S.X₂
induced by S.pOpcycles.
Equations
- CategoryTheory.ShortComplex.opcyclesIsoX₂ S hf = let_fun this := ⋯; (CategoryTheory.asIso (CategoryTheory.ShortComplex.pOpcycles S)).symm
Instances For
When S.g = 0, this is the canonical isomorphism S.opcycles ≅ S.rightHomology induced
by S.rightHomologyι.
Equations
- CategoryTheory.ShortComplex.opcyclesIsoRightHomology S hg = let_fun this := ⋯; (CategoryTheory.asIso (CategoryTheory.ShortComplex.rightHomologyι S)).symm
Instances For
The (unique) right homology map data associated to a morphism of short complexes that are both equipped with right homology data.
Equations
- CategoryTheory.ShortComplex.rightHomologyMapData φ h₁ h₂ = default
Instances For
Given a morphism φ : S₁ ⟶ S₂ of short complexes and right homology data h₁ and h₂
for S₁ and S₂ respectively, this is the induced right homology map h₁.H ⟶ h₁.H.
Equations
Instances For
Given a morphism φ : S₁ ⟶ S₂ of short complexes and right homology data h₁ and h₂
for S₁ and S₂ respectively, this is the induced morphism h₁.K ⟶ h₁.K on opcycles.
Equations
- CategoryTheory.ShortComplex.opcyclesMap' φ h₁ h₂ = (CategoryTheory.ShortComplex.rightHomologyMapData φ h₁ h₂).φQ
Instances For
The (right) homology map S₁.rightHomology ⟶ S₂.rightHomology induced by a morphism
S₁ ⟶ S₂ of short complexes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The morphism S₁.opcycles ⟶ S₂.opcycles induced by a morphism S₁ ⟶ S₂ of short complexes.
Equations
Instances For
An isomorphism of short complexes S₁ ≅ S₂ induces an isomorphism on the H fields
of right homology data of S₁ and S₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
An isomorphism of short complexes S₁ ≅ S₂ induces an isomorphism on the Q fields
of right homology data of S₁ and S₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
The isomorphism S₁.rightHomology ≅ S₂.rightHomology induced by an isomorphism of
short complexes S₁ ≅ S₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
The isomorphism S₁.opcycles ≅ S₂.opcycles induced by an isomorphism
of short complexes S₁ ≅ S₂.
Equations
- CategoryTheory.ShortComplex.opcyclesMapIso e = { hom := CategoryTheory.ShortComplex.opcyclesMap e.hom, inv := CategoryTheory.ShortComplex.opcyclesMap e.inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
The isomorphism S.rightHomology ≅ h.H induced by a right homology data h for a
short complex S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The isomorphism S.opcycles ≅ h.Q induced by a right homology data h for a
short complex S.
Equations
Instances For
The right homology functor ShortComplex C ⥤ C, where the right homology of a
short complex S is understood as a kernel of the obvious map S.fromOpcycles : S.opcycles ⟶ S.X₃
where S.opcycles is a cokernel of S.f : S.X₁ ⟶ S.X₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The opcycles functor ShortComplex C ⥤ C which sends a short complex S to S.opcycles
which is a cokernel of S.f : S.X₁ ⟶ S.X₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The natural transformation S.rightHomology ⟶ S.opcycles for all short complexes S.
Equations
- CategoryTheory.ShortComplex.rightHomologyιNatTrans C = { app := fun (S : CategoryTheory.ShortComplex C) => CategoryTheory.ShortComplex.rightHomologyι S, naturality := ⋯ }
Instances For
The natural transformation S.X₂ ⟶ S.opcycles for all short complexes S.
Equations
- CategoryTheory.ShortComplex.pOpcyclesNatTrans C = { app := fun (S : CategoryTheory.ShortComplex C) => CategoryTheory.ShortComplex.pOpcycles S, naturality := ⋯ }
Instances For
The natural transformation S.opcycles ⟶ S.X₃ for all short complexes S.
Equations
- CategoryTheory.ShortComplex.fromOpcyclesNatTrans C = { app := fun (S : CategoryTheory.ShortComplex C) => CategoryTheory.ShortComplex.fromOpcycles S, naturality := ⋯ }
Instances For
A left homology map data for a morphism of short complexes induces a right homology map data in the opposite category.
Equations
- CategoryTheory.ShortComplex.LeftHomologyMapData.op ψ = { φQ := ψ.φK.op, φH := ψ.φH.op, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
A left homology map data for a morphism of short complexes in the opposite category induces a right homology map data in the original category.
Equations
- CategoryTheory.ShortComplex.LeftHomologyMapData.unop ψ = { φQ := ψ.φK.unop, φH := ψ.φH.unop, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
A right homology map data for a morphism of short complexes induces a left homology map data in the opposite category.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.op ψ = { φK := ψ.φQ.op, φH := ψ.φH.op, commi := ⋯, commf' := ⋯, commπ := ⋯ }
Instances For
A right homology map data for a morphism of short complexes in the opposite category induces a left homology map data in the original category.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.unop ψ = { φK := ψ.φQ.unop, φH := ψ.φH.unop, commi := ⋯, commf' := ⋯, commπ := ⋯ }
Instances For
The right homology in the opposite category of the opposite of a short complex identifies to the left homology of this short complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The left homology in the opposite category of the opposite of a short complex identifies to the right homology of this short complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The opcycles in the opposite category of the opposite of a short complex identifies to the cycles of this short complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cycles in the opposite category of the opposite of a short complex identifies to the opcycles of this short complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If φ : S₁ ⟶ S₂ is a morphism of short complexes such that φ.τ₁ is epi, φ.τ₂ is an iso
and φ.τ₃ is mono, then a right homology data for S₁ induces a right homology data for S₂ with
the same Q and H fields. This is obtained by dualising LeftHomologyData.ofEpiOfIsIsoOfMono'.
The inverse construction is ofEpiOfIsIsoOfMono'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If φ : S₁ ⟶ S₂ is a morphism of short complexes such that φ.τ₁ is epi, φ.τ₂ is an iso
and φ.τ₃ is mono, then a right homology data for S₂ induces a right homology data for S₁ with
the same Q and H fields. This is obtained by dualising LeftHomologyData.ofEpiOfIsIsoOfMono.
The inverse construction is ofEpiOfIsIsoOfMono.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If e : S₁ ≅ S₂ is an isomorphism of short complexes and h₁ : RightomologyData S₁,
this is the right homology data for S₂ deduced from the isomorphism.
Equations
Instances For
This right homology map data expresses compatibilities of the right homology data
constructed by RightHomologyData.ofEpiOfIsIsoOfMono
Equations
- One or more equations did not get rendered due to their size.
Instances For
This right homology map data expresses compatibilities of the right homology data
constructed by RightHomologyData.ofEpiOfIsIsoOfMono'
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
If a morphism of short complexes φ : S₁ ⟶ S₂ is such that φ.τ₁ is epi, φ.τ₂ is an iso,
and φ.τ₃ is mono, then the induced morphism on right homology is an isomorphism.
Equations
- ⋯ = ⋯
The opposite of the right homology functor is the left homology functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The opposite of the left homology functor is the right homology functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A morphism k : S.X₂ ⟶ A such that S.f ≫ k = 0 descends to a morphism S.opcycles ⟶ A.
Equations
Instances For
Via S.pOpcycles : S.X₂ ⟶ S.opcycles, the object S.opcycles identifies to the
cokernel of S.f : S.X₁ ⟶ S.X₂.
Equations
Instances For
The canonical isomorphism S.opcycles ≅ cokernel S.f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The morphism S.rightHomology ⟶ A obtained from a morphism k : S.X₂ ⟶ A
such that S.f ≫ k = 0.
Equations
Instances For
Via S.rightHomologyι : S.rightHomology ⟶ S.opcycles, the object S.rightHomology identifies
to the kernel of S.fromOpcycles : S.opcycles ⟶ S.X₃.
Equations
Instances For
The right homology of a short complex S identifies to the kernel of the canonical
morphism cokernel S.f ⟶ S.X₃.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The following lemmas and instance gives a sufficient condition for a morphism of short complexes to induce an isomorphism on opcycles.
Equations
- ⋯ = ⋯