Short complexes #
This file defines the category ShortComplex C
of diagrams
X₁ ⟶ X₂ ⟶ X₃
such that the composition is zero.
TODO: A homology API for these objects shall be developed
in the folder Algebra.Homology.ShortComplex
and eventually
the homology of objects in HomologicalComplex C c
shall be
redefined using this.
Note: This structure ShortComplex C
was first introduced in
the Liquid Tensor Experiment.
A short complex in a category C
with zero morphisms is the datum
of two composable morphisms f : X₁ ⟶ X₂
and g : X₂ ⟶ X₃
such that
f ≫ g = 0
.
- X₁ : C
the first (left) object of a
ShortComplex
- X₂ : C
the second (middle) object of a
ShortComplex
- X₃ : C
the third (right) object of a
ShortComplex
- f : self.X₁ ⟶ self.X₂
the first morphism of a
ShortComplex
- g : self.X₂ ⟶ self.X₃
the second morphism of a
ShortComplex
- zero : CategoryTheory.CategoryStruct.comp self.f self.g = 0
the composition of the two given morphisms is zero
Instances For
Morphisms of short complexes are the commutative diagrams of the obvious shape.
- τ₁ : S₁.X₁ ⟶ S₂.X₁
the morphism on the left objects
- τ₂ : S₁.X₂ ⟶ S₂.X₂
the morphism on the middle objects
- τ₃ : S₁.X₃ ⟶ S₂.X₃
the morphism on the right objects
- comm₁₂ : CategoryTheory.CategoryStruct.comp self.τ₁ S₂.f = CategoryTheory.CategoryStruct.comp S₁.f self.τ₂
the left commutative square of a morphism in
ShortComplex
- comm₂₃ : CategoryTheory.CategoryStruct.comp self.τ₂ S₂.g = CategoryTheory.CategoryStruct.comp S₁.g self.τ₃
the right commutative square of a morphism in
ShortComplex
Instances For
The identity morphism of a short complex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The composition of morphisms of short complexes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.ShortComplex.instCategoryShortComplex = CategoryTheory.Category.mk ⋯ ⋯ ⋯
A constructor for morphisms in ShortComplex C
when the commutativity conditions
are not obvious.
Equations
- CategoryTheory.ShortComplex.homMk τ₁ τ₂ τ₃ comm₁₂ comm₂₃ = { τ₁ := τ₁, τ₂ := τ₂, τ₃ := τ₃, comm₁₂ := comm₁₂, comm₂₃ := comm₂₃ }
Instances For
Equations
- CategoryTheory.ShortComplex.instZeroHomShortComplexToQuiverToCategoryStructInstCategoryShortComplex = { zero := { τ₁ := 0, τ₂ := 0, τ₃ := 0, comm₁₂ := ⋯, comm₂₃ := ⋯ } }
Equations
- CategoryTheory.ShortComplex.instHasZeroMorphismsShortComplexInstCategoryShortComplex = CategoryTheory.Limits.HasZeroMorphisms.mk ⋯ ⋯
The first projection functor ShortComplex C ⥤ C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The second projection functor ShortComplex C ⥤ C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The third projection functor ShortComplex C ⥤ C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The natural transformation π₁ ⟶ π₂
induced by S.f
for all S : ShortComplex C
.
Equations
- CategoryTheory.ShortComplex.π₁Toπ₂ = { app := fun (S : CategoryTheory.ShortComplex C) => S.f, naturality := ⋯ }
Instances For
The natural transformation π₂ ⟶ π₃
induced by S.g
for all S : ShortComplex C
.
Equations
- CategoryTheory.ShortComplex.π₂Toπ₃ = { app := fun (S : CategoryTheory.ShortComplex C) => S.g, naturality := ⋯ }
Instances For
The short complex in D
obtained by applying a functor F : C ⥤ D
to a
short complex in C
, assuming that F
preserves zero morphisms.
Equations
- CategoryTheory.ShortComplex.map S F = CategoryTheory.ShortComplex.mk (F.map S.f) (F.map S.g) ⋯
Instances For
The morphism of short complexes S.map F ⟶ S.map G
induced by
a natural transformation F ⟶ G
.
Equations
- CategoryTheory.ShortComplex.mapNatTrans S τ = { τ₁ := τ.app S.X₁, τ₂ := τ.app S.X₂, τ₃ := τ.app S.X₃, comm₁₂ := ⋯, comm₂₃ := ⋯ }
Instances For
The isomorphism of short complexes S.map F ≅ S.map G
induced by
a natural isomorphism F ≅ G
.
Equations
- CategoryTheory.ShortComplex.mapNatIso S τ = { hom := CategoryTheory.ShortComplex.mapNatTrans S τ.hom, inv := CategoryTheory.ShortComplex.mapNatTrans S τ.inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
The functor ShortComplex C ⥤ ShortComplex D
induced by a functor C ⥤ D
which
preserves zero morphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A constructor for isomorphisms in the category ShortComplex C
Equations
- One or more equations did not get rendered due to their size.
Instances For
The opposite ShortComplex
in Cᵒᵖ
associated to a short complex in C
.
Equations
- CategoryTheory.ShortComplex.op S = CategoryTheory.ShortComplex.mk S.g.op S.f.op ⋯
Instances For
The opposite morphism in ShortComplex Cᵒᵖ
associated to a morphism in ShortComplex C
Equations
- CategoryTheory.ShortComplex.opMap φ = { τ₁ := φ.τ₃.op, τ₂ := φ.τ₂.op, τ₃ := φ.τ₁.op, comm₁₂ := ⋯, comm₂₃ := ⋯ }
Instances For
The ShortComplex
in C
associated to a short complex in Cᵒᵖ
.
Equations
- CategoryTheory.ShortComplex.unop S = CategoryTheory.ShortComplex.mk S.g.unop S.f.unop ⋯
Instances For
The morphism in ShortComplex C
associated to a morphism in ShortComplex Cᵒᵖ
Equations
- CategoryTheory.ShortComplex.unopMap φ = { τ₁ := φ.τ₃.unop, τ₂ := φ.τ₂.unop, τ₃ := φ.τ₁.unop, comm₁₂ := ⋯, comm₂₃ := ⋯ }
Instances For
The obvious functor (ShortComplex C)ᵒᵖ ⥤ ShortComplex Cᵒᵖ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The obvious functor ShortComplex Cᵒᵖ ⥤ (ShortComplex C)ᵒᵖ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The obvious equivalence of categories (ShortComplex C)ᵒᵖ ≌ ShortComplex Cᵒᵖ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical isomorphism S.unop.op ≅ S
for a short complex S
in Cᵒᵖ
Equations
- CategoryTheory.ShortComplex.unopOp S = (CategoryTheory.ShortComplex.opEquiv C).counitIso.app S
Instances For
The canonical isomorphism S.op.unop ≅ S
for a short complex S
Equations
- CategoryTheory.ShortComplex.opUnop S = CategoryTheory.Iso.unop ((CategoryTheory.ShortComplex.opEquiv C).unitIso.app (Opposite.op S))