injective resolution
An injective resolution is the mirror image of a projective resolution: instead of approximating a module from below by projectives, it approximates it from above by injectives. Injective modules are those into which maps extend — they are roomy enough that any partial map into them can always be completed. Embedding a module into a long exact chain of such modules gives a tool perfectly suited to functors that, unlike Hom-into, behave well on the right.
Formally, an injective resolution of an R-module M is an exact sequence 0 -> M -> I^0 -> I^1 -> I^2 -> ... in which every I^j is injective. These always exist because every module embeds into an injective module (the category of modules has enough injectives). Dropping M, the cochain complex 0 -> I^0 -> I^1 -> ... has cohomology M in degree 0 and zero elsewhere, serving as a co-replacement of M.
As with projective resolutions, any two injective resolutions of M are chain homotopy equivalent, so applying a functor and taking cohomology yields a well-defined result. This computes right derived functors: Ext in the second variable, sheaf cohomology, and group cohomology all arise as cohomology of an injective resolution after applying a left exact functor. The injective dimension of M is the least length of such a resolution.
Over Z the injective modules are the divisible groups; for instance Q and Q/Z are injective. An injective resolution of Z is 0 -> Z -> Q -> Q/Z -> 0, of length 1.