Homology of linear categories #
In this file, it is shown that if C
is a R
-linear category, then
ShortComplex C
is a R
-linear category. Various homological notions
are also shown to be linear.
instance
CategoryTheory.ShortComplex.instSMulHomShortComplexPreadditiveHasZeroMorphismsToQuiverToCategoryStructInstCategoryShortComplex
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
:
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CategoryTheory.ShortComplex.smul_τ₁
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(a : R)
(φ : S₁ ⟶ S₂)
:
@[simp]
theorem
CategoryTheory.ShortComplex.smul_τ₂
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(a : R)
(φ : S₁ ⟶ S₂)
:
@[simp]
theorem
CategoryTheory.ShortComplex.smul_τ₃
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(a : R)
(φ : S₁ ⟶ S₂)
:
instance
CategoryTheory.ShortComplex.instModuleHomShortComplexPreadditiveHasZeroMorphismsToQuiverToCategoryStructInstCategoryShortComplexToAddCommMonoidInstAddCommGroupHomShortComplexPreadditiveHasZeroMorphismsToQuiverToCategoryStructInstCategoryShortComplex
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
:
Equations
- One or more equations did not get rendered due to their size.
instance
CategoryTheory.ShortComplex.instLinearShortComplexPreadditiveHasZeroMorphismsInstCategoryShortComplexInstPreadditiveShortComplexPreadditiveHasZeroMorphismsInstCategoryShortComplex
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
:
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CategoryTheory.ShortComplex.LeftHomologyMapData.smul_φK
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂}
(γ : CategoryTheory.ShortComplex.LeftHomologyMapData φ h₁ h₂)
(a : R)
:
(CategoryTheory.ShortComplex.LeftHomologyMapData.smul γ a).φK = a • γ.φK
@[simp]
theorem
CategoryTheory.ShortComplex.LeftHomologyMapData.smul_φH
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂}
(γ : CategoryTheory.ShortComplex.LeftHomologyMapData φ h₁ h₂)
(a : R)
:
(CategoryTheory.ShortComplex.LeftHomologyMapData.smul γ a).φH = a • γ.φH
def
CategoryTheory.ShortComplex.LeftHomologyMapData.smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂}
(γ : CategoryTheory.ShortComplex.LeftHomologyMapData φ h₁ h₂)
(a : R)
:
CategoryTheory.ShortComplex.LeftHomologyMapData (a • φ) h₁ h₂
Given a left homology map data for morphism φ
, this is the induced left homology
map data for a • φ
.
Equations
- CategoryTheory.ShortComplex.LeftHomologyMapData.smul γ a = { φK := a • γ.φK, φH := a • γ.φH, commi := ⋯, commf' := ⋯, commπ := ⋯ }
Instances For
@[simp]
theorem
CategoryTheory.ShortComplex.leftHomologyMap'_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(h₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁)
(h₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂)
(a : R)
:
CategoryTheory.ShortComplex.leftHomologyMap' (a • φ) h₁ h₂ = a • CategoryTheory.ShortComplex.leftHomologyMap' φ h₁ h₂
@[simp]
theorem
CategoryTheory.ShortComplex.cyclesMap'_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(h₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁)
(h₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂)
(a : R)
:
CategoryTheory.ShortComplex.cyclesMap' (a • φ) h₁ h₂ = a • CategoryTheory.ShortComplex.cyclesMap' φ h₁ h₂
@[simp]
theorem
CategoryTheory.ShortComplex.leftHomologyMap_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(a : R)
[CategoryTheory.ShortComplex.HasLeftHomology S₁]
[CategoryTheory.ShortComplex.HasLeftHomology S₂]
:
@[simp]
theorem
CategoryTheory.ShortComplex.cyclesMap_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(a : R)
[CategoryTheory.ShortComplex.HasLeftHomology S₁]
[CategoryTheory.ShortComplex.HasLeftHomology S₂]
:
instance
CategoryTheory.ShortComplex.leftHomologyFunctor_linear
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
[CategoryTheory.Limits.HasKernels C]
[CategoryTheory.Limits.HasCokernels C]
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.ShortComplex.cyclesFunctor_linear
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
[CategoryTheory.Limits.HasKernels C]
[CategoryTheory.Limits.HasCokernels C]
:
Equations
- ⋯ = ⋯
@[simp]
theorem
CategoryTheory.ShortComplex.RightHomologyMapData.smul_φQ
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.RightHomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.RightHomologyData S₂}
(γ : CategoryTheory.ShortComplex.RightHomologyMapData φ h₁ h₂)
(a : R)
:
(CategoryTheory.ShortComplex.RightHomologyMapData.smul γ a).φQ = a • γ.φQ
@[simp]
theorem
CategoryTheory.ShortComplex.RightHomologyMapData.smul_φH
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.RightHomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.RightHomologyData S₂}
(γ : CategoryTheory.ShortComplex.RightHomologyMapData φ h₁ h₂)
(a : R)
:
(CategoryTheory.ShortComplex.RightHomologyMapData.smul γ a).φH = a • γ.φH
def
CategoryTheory.ShortComplex.RightHomologyMapData.smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.RightHomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.RightHomologyData S₂}
(γ : CategoryTheory.ShortComplex.RightHomologyMapData φ h₁ h₂)
(a : R)
:
CategoryTheory.ShortComplex.RightHomologyMapData (a • φ) h₁ h₂
Given a right homology map data for morphism φ
, this is the induced right homology
map data for a • φ
.
Equations
- CategoryTheory.ShortComplex.RightHomologyMapData.smul γ a = { φQ := a • γ.φQ, φH := a • γ.φH, commp := ⋯, commg' := ⋯, commι := ⋯ }
Instances For
@[simp]
theorem
CategoryTheory.ShortComplex.rightHomologyMap'_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(h₁ : CategoryTheory.ShortComplex.RightHomologyData S₁)
(h₂ : CategoryTheory.ShortComplex.RightHomologyData S₂)
(a : R)
:
CategoryTheory.ShortComplex.rightHomologyMap' (a • φ) h₁ h₂ = a • CategoryTheory.ShortComplex.rightHomologyMap' φ h₁ h₂
@[simp]
theorem
CategoryTheory.ShortComplex.opcyclesMap'_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(h₁ : CategoryTheory.ShortComplex.RightHomologyData S₁)
(h₂ : CategoryTheory.ShortComplex.RightHomologyData S₂)
(a : R)
:
CategoryTheory.ShortComplex.opcyclesMap' (a • φ) h₁ h₂ = a • CategoryTheory.ShortComplex.opcyclesMap' φ h₁ h₂
@[simp]
theorem
CategoryTheory.ShortComplex.rightHomologyMap_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(a : R)
[CategoryTheory.ShortComplex.HasRightHomology S₁]
[CategoryTheory.ShortComplex.HasRightHomology S₂]
:
@[simp]
theorem
CategoryTheory.ShortComplex.opcyclesMap_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(a : R)
[CategoryTheory.ShortComplex.HasRightHomology S₁]
[CategoryTheory.ShortComplex.HasRightHomology S₂]
:
instance
CategoryTheory.ShortComplex.rightHomologyFunctor_linear
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
[CategoryTheory.Limits.HasKernels C]
[CategoryTheory.Limits.HasCokernels C]
:
Equations
- ⋯ = ⋯
instance
CategoryTheory.ShortComplex.opcyclesFunctor_linear
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
[CategoryTheory.Limits.HasKernels C]
[CategoryTheory.Limits.HasCokernels C]
:
Equations
- ⋯ = ⋯
@[simp]
theorem
CategoryTheory.ShortComplex.HomologyMapData.smul_right
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.HomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.HomologyData S₂}
(γ : CategoryTheory.ShortComplex.HomologyMapData φ h₁ h₂)
(a : R)
:
@[simp]
theorem
CategoryTheory.ShortComplex.HomologyMapData.smul_left
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.HomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.HomologyData S₂}
(γ : CategoryTheory.ShortComplex.HomologyMapData φ h₁ h₂)
(a : R)
:
def
CategoryTheory.ShortComplex.HomologyMapData.smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
{h₁ : CategoryTheory.ShortComplex.HomologyData S₁}
{h₂ : CategoryTheory.ShortComplex.HomologyData S₂}
(γ : CategoryTheory.ShortComplex.HomologyMapData φ h₁ h₂)
(a : R)
:
CategoryTheory.ShortComplex.HomologyMapData (a • φ) h₁ h₂
Given a homology map data for a morphism φ
, this is the induced homology
map data for a • φ
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.ShortComplex.homologyMap'_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ : S₁ ⟶ S₂}
(h₁ : CategoryTheory.ShortComplex.HomologyData S₁)
(h₂ : CategoryTheory.ShortComplex.HomologyData S₂)
(a : R)
:
CategoryTheory.ShortComplex.homologyMap' (a • φ) h₁ h₂ = a • CategoryTheory.ShortComplex.homologyMap' φ h₁ h₂
@[simp]
theorem
CategoryTheory.ShortComplex.homologyMap_smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
(φ : S₁ ⟶ S₂)
(a : R)
[CategoryTheory.ShortComplex.HasHomology S₁]
[CategoryTheory.ShortComplex.HasHomology S₂]
:
instance
CategoryTheory.ShortComplex.homologyFunctor_linear
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
[CategoryTheory.CategoryWithHomology C]
:
Equations
- ⋯ = ⋯
@[simp]
theorem
CategoryTheory.ShortComplex.Homotopy.smul_h₀
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ₁ : S₁ ⟶ S₂}
{φ₂ : S₁ ⟶ S₂}
(h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂)
(a : R)
:
(CategoryTheory.ShortComplex.Homotopy.smul h a).h₀ = a • h.h₀
@[simp]
theorem
CategoryTheory.ShortComplex.Homotopy.smul_h₃
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ₁ : S₁ ⟶ S₂}
{φ₂ : S₁ ⟶ S₂}
(h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂)
(a : R)
:
(CategoryTheory.ShortComplex.Homotopy.smul h a).h₃ = a • h.h₃
@[simp]
theorem
CategoryTheory.ShortComplex.Homotopy.smul_h₁
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ₁ : S₁ ⟶ S₂}
{φ₂ : S₁ ⟶ S₂}
(h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂)
(a : R)
:
(CategoryTheory.ShortComplex.Homotopy.smul h a).h₁ = a • h.h₁
@[simp]
theorem
CategoryTheory.ShortComplex.Homotopy.smul_h₂
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ₁ : S₁ ⟶ S₂}
{φ₂ : S₁ ⟶ S₂}
(h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂)
(a : R)
:
(CategoryTheory.ShortComplex.Homotopy.smul h a).h₂ = a • h.h₂
def
CategoryTheory.ShortComplex.Homotopy.smul
{R : Type u_1}
{C : Type u_2}
[Semiring R]
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
{S₁ : CategoryTheory.ShortComplex C}
{S₂ : CategoryTheory.ShortComplex C}
{φ₁ : S₁ ⟶ S₂}
{φ₂ : S₁ ⟶ S₂}
(h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂)
(a : R)
:
CategoryTheory.ShortComplex.Homotopy (a • φ₁) (a • φ₂)
Homotopy between morphisms of short complexes is compatible with the scalar multiplication.