Ext #
We define Ext R C n : Cᵒᵖ ⥤ C ⥤ Module R
for any R
-linear abelian category C
by deriving in the first argument of the bifunctor (X, Y) ↦ Module.of R (unop X ⟶ Y)
.
Implementation #
It's not actually necessary here to assume C
is abelian,
but the hypotheses, involving both C
and Cᵒᵖ
, are quite lengthy,
and in practice the abelian case is hopefully enough.
PROJECT we don't yet have injective resolutions and right derived functors (although this is only a copy-and-paste dualisation) so we can't even state the alternative definition in terms of right-deriving in the first argument, let alone start the harder project of showing they agree.
Ext R C n
is defined by deriving in the first argument of (X, Y) ↦ Module.of R (unop X ⟶ Y)
(which is the second argument of linear_yoneda
).
Equations
- Ext R C n = {obj := λ (Y : C), (((category_theory.linear_yoneda R C).obj Y).right_op.left_derived n).left_op, map := λ (Y Y' : C) (f : Y ⟶ Y'), category_theory.nat_trans.left_op (category_theory.nat_trans.left_derived (category_theory.nat_trans.right_op ((category_theory.linear_yoneda R C).map f)) n), map_id' := _, map_comp' := _}.flip
If X : C
is projective and n : ℕ
, then Ext^(n + 1) X Y ≅ 0
for any Y
.
Equations
- Ext_succ_of_projective R C X Y n = let E : opposite.unop ((((category_theory.linear_yoneda R C).obj Y).right_op.left_derived (n + 1)).obj X) ≅ opposite.unop 0 := (((category_theory.linear_yoneda R C).obj Y).right_op.left_derived_obj_projective_succ n X).unop.symm in E ≪≫ {hom := 0, inv := 0, hom_inv_id' := _, inv_hom_id' := _}