K-injective cochain complexes #
We define the notion of K-injective cochain complex in an abelian category, and show that bounded below complexes of injective objects are K-injective.
TODO (@joelriou) #
- Provide an API for computing
Ext-groups using an injective resolution
References #
- [N. Spaltenstein, Resolutions of unbounded complexes][spaltenstein1998]
class
CochainComplex.IsKInjective
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
(L : CochainComplex C ā¤)
:
A cochain complex L is K-injective if any morphism K ā¶ L
with K acyclic is homotopic to zero.
- nonempty_homotopy_zero {K : CochainComplex C ā¤} (f : K ā¶ L) : HomologicalComplex.Acyclic K ā Nonempty (Homotopy f 0)
Instances
theorem
CochainComplex.IsKInjective.homotopyZero_def
{C : Type u_2}
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Abelian C]
{K L : CochainComplex C ā¤}
(f : K ā¶ L)
(hK : HomologicalComplex.Acyclic K)
[L.IsKInjective]
:
@[irreducible]
noncomputable def
CochainComplex.IsKInjective.homotopyZero
{C : Type u_2}
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Abelian C]
{K L : CochainComplex C ā¤}
(f : K ā¶ L)
(hK : HomologicalComplex.Acyclic K)
[L.IsKInjective]
:
Homotopy f 0
A choice of homotopy to zero for a morphism from an acyclic cochain complex to a K-injective cochain complex.
Equations
Instances For
theorem
HomotopyEquiv.isKInjective
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
{Lā Lā : CochainComplex C ā¤}
(e : HomotopyEquiv Lā Lā)
[Lā.IsKInjective]
:
Lā.IsKInjective
theorem
CochainComplex.isKInjective_of_iso
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
{Lā Lā : CochainComplex C ā¤}
(e : Lā ā
Lā)
[Lā.IsKInjective]
:
Lā.IsKInjective
theorem
CochainComplex.isKInjective_iff_of_iso
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
{Lā Lā : CochainComplex C ā¤}
(e : Lā ā
Lā)
:
theorem
CochainComplex.isKInjective_iff_rightOrthogonal
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
(L : CochainComplex C ā¤)
:
theorem
CochainComplex.IsKInjective.rightOrthogonal
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
(L : CochainComplex C ā¤)
[L.IsKInjective]
:
instance
CochainComplex.instIsKInjectiveObjIntShiftFunctor
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
(L : CochainComplex C ā¤)
[hL : L.IsKInjective]
(n : ā¤)
:
((CategoryTheory.shiftFunctor (CochainComplex C ā¤) n).obj L).IsKInjective
theorem
CochainComplex.isKInjective_shift_iff
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
(L : CochainComplex C ā¤)
(n : ā¤)
:
theorem
CochainComplex.isKInjective_of_injective_aux
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
{K L : CochainComplex C ā¤}
(f : K ā¶ L)
(α : HomComplex.Cochain K L (-1))
(n m : ā¤)
(hnm : n + 1 = m)
(hK : HomologicalComplex.ExactAt K m)
[CategoryTheory.Injective (L.X m)]
(hα : (HomComplex.Γ (-1) 0 α).EqUpTo (HomComplex.Cochain.ofHom f) n)
:
ā (h : K.X (n + 2) ā¶ L.X (n + 1)),
(HomComplex.Γ (-1) 0 (α + HomComplex.Cochain.single h (-1))).EqUpTo (HomComplex.Cochain.ofHom f) m
theorem
CochainComplex.isKInjective_of_injective
{C : Type u_1}
[CategoryTheory.Category.{v_1, u_1} C]
[CategoryTheory.Abelian C]
(L : CochainComplex C ā¤)
(d : ā¤)
[L.IsStrictlyGE d]
[ā (n : ā¤), CategoryTheory.Injective (L.X n)]
: