Homology of linear categories #
In this file, it is shown that if C is an R-linear category, then
ShortComplex C is an R-linear category. Various homological notions
are also shown to be linear.
@[instance_reducible]
instance CategoryTheory.ShortComplex.instSMulHom {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} :
@[simp]
theorem CategoryTheory.ShortComplex.smul_τ₁ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (a : R) (φ : S₁ ⟶ S₂) :
@[simp]
theorem CategoryTheory.ShortComplex.smul_τ₂ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (a : R) (φ : S₁ ⟶ S₂) :
@[simp]
theorem CategoryTheory.ShortComplex.smul_τ₃ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (a : R) (φ : S₁ ⟶ S₂) :
@[instance_reducible]
instance CategoryTheory.ShortComplex.instModuleHom {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} :
Equations
- CategoryTheory.ShortComplex.instModuleHom = { toSMul := CategoryTheory.ShortComplex.instSMulHom, mul_smul := ⋯, one_smul := ⋯, smul_zero := ⋯, smul_add := ⋯, add_smul := ⋯, zero_smul := ⋯ }
@[instance_reducible]
instance CategoryTheory.ShortComplex.instLinear {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] :
Linear R (ShortComplex C)
Equations
- CategoryTheory.ShortComplex.instLinear = { homModule := inferInstance, smul_comp := ⋯, comp_smul := ⋯ }
def CategoryTheory.ShortComplex.LeftHomologyMapData.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) (a : R) :
LeftHomologyMapData (a • φ) h₁ h₂
Given a left homology map data for morphism φ, this is the induced left homology
map data for a • φ.
Instances For
@[simp]
theorem CategoryTheory.ShortComplex.LeftHomologyMapData.smul_φH {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.LeftHomologyMapData.smul_φK {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (γ : LeftHomologyMapData φ h₁ h₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.leftHomologyMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.cyclesMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.leftHomologyMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (a : R) [S₁.HasLeftHomology] [S₂.HasLeftHomology] :
@[simp]
theorem CategoryTheory.ShortComplex.cyclesMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (a : R) [S₁.HasLeftHomology] [S₂.HasLeftHomology] :
instance CategoryTheory.ShortComplex.leftHomologyFunctor_linear {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] [Limits.HasKernels C] [Limits.HasCokernels C] :
instance CategoryTheory.ShortComplex.cyclesFunctor_linear {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] [Limits.HasKernels C] [Limits.HasCokernels C] :
Functor.Linear R (cyclesFunctor C)
def CategoryTheory.ShortComplex.RightHomologyMapData.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) (a : R) :
RightHomologyMapData (a • φ) h₁ h₂
Given a right homology map data for morphism φ, this is the induced right homology
map data for a • φ.
Instances For
@[simp]
theorem CategoryTheory.ShortComplex.RightHomologyMapData.smul_φQ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.RightHomologyMapData.smul_φH {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.rightHomologyMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.opcyclesMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.rightHomologyMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (a : R) [S₁.HasRightHomology] [S₂.HasRightHomology] :
@[simp]
theorem CategoryTheory.ShortComplex.opcyclesMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (a : R) [S₁.HasRightHomology] [S₂.HasRightHomology] :
instance CategoryTheory.ShortComplex.rightHomologyFunctor_linear {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] [Limits.HasKernels C] [Limits.HasCokernels C] :
instance CategoryTheory.ShortComplex.opcyclesFunctor_linear {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] [Limits.HasKernels C] [Limits.HasCokernels C] :
def CategoryTheory.ShortComplex.HomologyMapData.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) (a : R) :
HomologyMapData (a • φ) h₁ h₂
Given a homology map data for a morphism φ, this is the induced homology
map data for a • φ.
Instances For
@[simp]
theorem CategoryTheory.ShortComplex.HomologyMapData.smul_right {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.HomologyMapData.smul_left {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.homologyMap'_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ : S₁ ⟶ S₂} (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.homologyMap_smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} (φ : S₁ ⟶ S₂) (a : R) [S₁.HasHomology] [S₂.HasHomology] :
instance CategoryTheory.ShortComplex.homologyFunctor_linear {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] [CategoryWithHomology C] :
def CategoryTheory.ShortComplex.Homotopy.smul {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ ⟶ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
Homotopy between morphisms of short complexes is compatible with the scalar multiplication.
Equations
Instances For
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₀ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ ⟶ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₁ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ ⟶ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₃ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ ⟶ S₂} (h : Homotopy φ₁ φ₂) (a : R) :
@[simp]
theorem CategoryTheory.ShortComplex.Homotopy.smul_h₂ {R : Type u_1} {C : Type u_2} [Semiring R] [Category.{v_1, u_2} C] [Preadditive C] [Linear R C] {S₁ S₂ : ShortComplex C} {φ₁ φ₂ : S₁ ⟶ S₂} (h : Homotopy φ₁ φ₂) (a : R) :