# Documentation

Mathlib.CategoryTheory.Functor.LeftDerived

# Left-derived functors #

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

The definition is

projectiveResolutions C ⋙ F.mapHomotopyCategory _ ⋙ HomotopyCategory.homologyFunctor 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] [EnoughProjectives C] [Abelian D] which (assuming the results from CategoryTheory.Abelian.Projective) are enough to provide all the typeclass hypotheses assumed here.

The left derived functors of an additive functor.

Instances For
@[simp]
theorem CategoryTheory.Functor.leftDerivedObjIso_hom {C : Type u} {D : Type u_1} [] (F : ) (n : ) {X : C} :
().hom = ().map (().map ())
@[simp]
theorem CategoryTheory.Functor.leftDerivedObjIso_inv {C : Type u} {D : Type u_1} [] (F : ) (n : ) {X : C} :
().inv = ().map (().map ())
def CategoryTheory.Functor.leftDerivedObjIso {C : Type u} {D : Type u_1} [] (F : ) (n : ) {X : C} :
().obj X ().obj (().obj P.complex)

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

Instances For

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

Instances For

The higher derived functors vanish on projective objects.

Instances For
theorem CategoryTheory.Functor.leftDerived_map_eq {C : Type u} {D : Type u_1} [] (F : ) (n : ) {X : C} {Y : C} (f : X Y) (g : P.complex Q.complex) (w : = CategoryTheory.CategoryStruct.comp P (().map f)) :

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]
theorem CategoryTheory.NatTrans.leftDerived_app {C : Type u} {D : Type u_1} [] {F : } {G : } (α : F G) (n : ) (X : C) :
().app X = ().map (().map (().app (().obj X).as))

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

Instances For
@[simp]
@[simp]
theorem CategoryTheory.NatTrans.leftDerived_eq {C : Type u} {D : Type u_1} [] {F : } {G : } (α : F G) (n : ) {X : C} :
().app X = CategoryTheory.CategoryStruct.comp ().hom (CategoryTheory.CategoryStruct.comp (().map (().app P.complex)) ().inv)

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