# Exact functors #

In this file, it is shown that additive functors which preserves homology also preserves finite limits and finite colimits.

## Main results #

Let `F : C ⥤ D`

be an additive functor:

`Functor.preservesFiniteLimitsOfPreservesHomology`

: if`F`

preserves homology, then`F`

preserves finite limits.`Functor.preservesFiniteColimitsOfPreservesHomology`

: if`F`

preserves homology, then`F`

preserves finite colimits.

If we further assume that `C`

and `D`

are abelian categories, then we have:

`Functor.preservesFiniteLimits_tfae`

: the following are equivalent:- for every short exact sequence
`0 ⟶ A ⟶ B ⟶ C ⟶ 0`

,`0 ⟶ F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact. - for every exact sequence
`A ⟶ B ⟶ C`

where`A ⟶ B`

is mono,`F(A) ⟶ F(B) ⟶ F(C)`

is exact and`F(A) ⟶ F(B)`

is mono. `F`

preserves kernels.`F`

preserves finite limits.

- for every short exact sequence
`Functor.preservesFiniteColimits_tfae`

: the following are equivalent:- for every short exact sequence
`0 ⟶ A ⟶ B ⟶ C ⟶ 0`

,`F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact. - for every exact sequence
`A ⟶ B ⟶ C`

where`B ⟶ C`

is epi,`F(A) ⟶ F(B) ⟶ F(C)`

is exact and`F(B) ⟶ F(C)`

is epi. `F`

preserves cokernels.`F`

preserves finite colimits.

- for every short exact sequence
`Functor.exact_tfae`

: the following are equivalent:- for every short exact sequence
`0 ⟶ A ⟶ B ⟶ C ⟶ 0`

,`0 ⟶ F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact. - for every exact sequence
`A ⟶ B ⟶ C`

,`F(A) ⟶ F(B) ⟶ F(C)`

is exact. `F`

preserves homology.`F`

preserves both finite limits and finite colimits.

- for every short exact sequence

An additive functor which preserves homology preserves finite limits.

## Equations

- F.preservesFiniteLimitsOfPreservesHomology = F.preservesFiniteLimitsOfPreservesKernels

## Instances For

An additive which preserves homology preserves finite colimits.

## Equations

- F.preservesFiniteColimitsOfPreservesHomology = F.preservesFiniteColimitsOfPreservesCokernels

## Instances For

If a functor `F : C ⥤ D`

preserves short exact sequences on the left hand side, (i.e.
if `0 ⟶ A ⟶ B ⟶ C ⟶ 0`

is exact then `0 ⟶ F(A) ⟶ F(B) ⟶ F(C)`

is exact)
then it preserves monomorphism.

For an addivite functor `F : C ⥤ D`

between abelian categories, the following are equivalent:

`F`

preserves short exact sequences on the left hand side, i.e. if`0 ⟶ A ⟶ B ⟶ C ⟶ 0`

is exact then`0 ⟶ F(A) ⟶ F(B) ⟶ F(C)`

is exact.`F`

preserves exact sequences on the left hand side, i.e. if`A ⟶ B ⟶ C`

is exact where`A ⟶ B`

is mono, then`F(A) ⟶ F(B) ⟶ F(C)`

is exact and`F(A) ⟶ F(B)`

is mono as well.`F`

preserves kernels.`F`

preserves finite limits.

If a functor `F : C ⥤ D`

preserves exact sequences on the right hand side (i.e.
if `0 ⟶ A ⟶ B ⟶ C ⟶ 0`

is exact then `F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact),
then it preserves epimorphisms.

For an addivite functor `F : C ⥤ D`

between abelian categories, the following are equivalent:

`F`

preserves short exact sequences on the right hand side, i.e. if`0 ⟶ A ⟶ B ⟶ C ⟶ 0`

is exact then`F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact.`F`

preserves exact sequences on the right hand side, i.e. if`A ⟶ B ⟶ C`

is exact where`B ⟶ C`

is epi, then`F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact and`F(B) ⟶ F(C)`

is epi as well.`F`

preserves cokernels.`F`

preserves finite colimits.

For an additive functor `F : C ⥤ D`

between abelian categories, the following are equivalent:

`F`

preserves short exact sequences, i.e. if`0 ⟶ A ⟶ B ⟶ C ⟶ 0`

is exact then`0 ⟶ F(A) ⟶ F(B) ⟶ F(C) ⟶ 0`

is exact.`F`

preserves exact sequences, i.e. if`A ⟶ B ⟶ C`

is exact then`F(A) ⟶ F(B) ⟶ F(C)`

is exact.`F`

preserves homology.`F`

preserves both finite limits and finite colimits.