I know the definition of $Ext^n_R(A,B)$ as the $n$th right derived functor of $Hom_R(A,-)$ applied to $B$, which should be calculated by taking an injective resolution $I_\bullet$ of $B$ and taking the cohomology of $Hom_R(A,I_\bullet)$.
But I've read several texts that define it by taking a projective resolution $P_\bullet$ of $A$ and defining $Ext^n_R(A,B)$ to instead be the cohomology of $Hom_R(P_\bullet,B)$. This has particularly come up with respect to group cohomology, where we use a projective resolution of $\mathbb{Z}$ as a trivial $\mathbb{Z}[G]$ module to calculate $Ext^n_{\mathbb{Z}[G]}(\mathbb{Z},M)$.
My question is, why is this valid? Presumably there is some way to show that the resulting cochain complexes are homotopy equivalent or isomorphic, but I cannot figure out how. Thanks for any help
This follows from th fact that if $\varepsilon: P\to A$ is a projective resolution and if $\eta : B\to I$ is an injective one, then the induced arrows $\hom(A,I) \stackrel{\hom(\varepsilon,1)}\longleftarrow\hom(P,I)\stackrel{\hom(1,\eta)}\longrightarrow \hom(P,B)$ are quasi-isomorphisms. Here $\hom(P,I)$ is a total product complex. This is proved in Weibel's book, for example, and uses the "acyclic assembly lemma", a very elementary instance of a spectral sequence argument. Thus one can compute $\rm Ext$ with either injective or projective resolutions.