# mathlibdocumentation

category_theory.derived

# Left-derived functors #

We define the left-derived functors F.left_derived n : C ⥤ D for any additive functor F out of a category with projective resolutions.

The definition is

projective_resolutions C ⋙ F.map_homotopy_category _ ⋙ homotopy_category.homology_functor D _ n


that is, we pick a projective resolution (thought of as an object of the homotopy category), we apply F objectwise, and compute n-th homology.

We show that these left-derived functors can be calculated on objects using any choice of projective resolution, and on morphisms by any choice of lift to a chain map between chosen projective resolutions.

Similarly we define natural transformations between left-derived functors coming from natural transformations between the original additive functors, and show how to compute the components.

## Implementation #

We don't assume the categories involved are abelian (just preadditive, and have equalizers, cokernels, and image maps), or that the functors are right exact. None of these assumptions are needed yet.

It is often convenient, of course, to work with [abelian C] [enough_projectives C] [abelian D] which (assuming the results from category_theory.abelian.projective) are enough to provide all the typeclass hypotheses assumed here.

The left derived functors of an additive functor.

Equations

We can compute a left derived functor using a chosen projective resolution.

Equations
@[simp]
theorem category_theory.functor.left_derived_obj_iso_hom {C : Type u} {D : Type u_1} (F : C D) [F.additive] (n : ) {X : C}  :
P).hom = (category_theory.functor.left_derived_obj_iso._proof_1.some.homotopy_equiv P).hom))
@[simp]
theorem category_theory.functor.left_derived_obj_iso_inv {C : Type u} {D : Type u_1} (F : C D) [F.additive] (n : ) {X : C}  :
P).inv = (category_theory.functor.left_derived_obj_iso._proof_1.some.homotopy_equiv P).inv))
@[simp]
theorem category_theory.functor.left_derived_obj_projective_zero_inv {C : Type u} {D : Type u_1} (F : C D) [F.additive] (X : C)  :
= (category_theory.functor.left_derived_obj_iso._proof_1.some.homotopy_equiv .inv))

The 0-th derived functor of F on a projective object X is just F.obj X.

Equations
@[simp]
theorem category_theory.functor.left_derived_obj_projective_zero_hom {C : Type u} {D : Type u_1} (F : C D) [F.additive] (X : C)  :
= (category_theory.functor.left_derived_obj_iso._proof_1.some.homotopy_equiv .hom))
@[simp]
theorem category_theory.functor.left_derived_obj_projective_succ_hom {C : Type u} {D : Type u_1} (F : C D) [F.additive] (n : ) (X : C)  :
.hom = (n + 1)).map (category_theory.functor.left_derived_obj_iso._proof_1.some.homotopy_equiv .hom)) _ _ (F.obj X)

The higher derived functors vanish on projective objects.

Equations
@[simp]
theorem category_theory.functor.left_derived_obj_projective_succ_inv {C : Type u} {D : Type u_1} (F : C D) [F.additive] (n : ) (X : C)  :
.inv = (F.obj X) _ _ (n + 1)).map (category_theory.functor.left_derived_obj_iso._proof_1.some.homotopy_equiv .inv))
theorem category_theory.functor.left_derived_map_eq {C : Type u} {D : Type u_1} (F : C D) [F.additive] (n : ) {X Y : C} (f : X Y) (g : P.complex Q.complex) (w : g Q.π = P.π f) :
(F.left_derived n).map f = P).hom n).map g) Q).inv

We can compute a left derived functor on a morphism using a lift of that morphism to a chain map between chosen projective resolutions.

@[simp]

The natural transformation between left-derived functors induced by a natural transformation.

Equations
@[simp]
@[simp, nolint]
theorem category_theory.nat_trans.left_derived_comp {C : Type u} {D : Type u_1} {F G H : C D} [F.additive] [G.additive] [H.additive] (α : F G) (β : G H) (n : ) :
theorem category_theory.nat_trans.left_derived_eq {C : Type u} {D : Type u_1} {F G : C D} [F.additive] [G.additive] (α : F G) (n : ) {X : C}  :
= P).hom P).inv

A component of the natural transformation between left-derived functors can be computed using a chosen projective resolution.