Proof of Kunneth formula over a commutative coefficient ring by spectral sequences In "Differential forms in algebraic topology" by Bott & Tu, I am asked to prove the Kunneth Formula for singular cohomology by spectral sequence:
Exercise 15.12 (Kunneth Formula for Singular Cohomology). If $X$ is a space having a good cover, e.g., a triangularizable space, and $Y$ is any topological space, prove using the spectral sequence of the fiber bundle $\pi:X\times Y\rightarrow X$ that
\begin{eqnarray}
H^{n}(X\times Y)=\oplus_{p+q=n}H^p(X,H^q(Y)).
\end{eqnarray}
The following is where I have arrived. Let us say that the coefficient ring is $\mathbb{Z}$. By the triviality of the bundle, I have reached that the second page is over a constant presheaf and the spectral sequence stops at the second page
\begin{eqnarray}
E^{p,q}_\infty\cong E^{p,q}_2=H^p(X,H^q(Y)),
\end{eqnarray}
with
\begin{eqnarray}
d_2=d_3=\cdots=0.
\end{eqnarray}
However, it only means that the spectral sequence converges to $H^*(X\times Y)$, i.e.,
\begin{eqnarray}
H^n(X\times Y)&=&F_0\supset F_1\supset F_2\supset\cdots,\\
F_i/F_{i+1}&\cong& H^i(X,H^{n-i}(Y)).
\end{eqnarray}
If the coefficient ring were a field, then the proof can be readily done. Since the coefficient ring now is $\mathbb{Z}$, there can be potentially an extension issue. I don't know how to deal with that. Or should I use $d_2=d_3=\cdots=0$ to prove that there is no such issues?
 A: I spent a lot of time thinking about this as an undergrad.  A bunch of people told me different parts of this solution (Krishanu Roy Sankar in particular a couple years ago told me the idea of comparing to the double complex, Mark Behrens, before that told me how to solve extension problems, and Peter May/Dylan Wilson brainstormed with me about how to use the splitting to think about this.).  I'm glad you asked this question and here's the solution :).
You can use that there is a splitting to show that all the differentials vanish but that argument only works when you have field coefficients.  You can't use it to show that the differentials vanish on elements which are products of elements on the axes when you have integral coefficients.  In both the case of field coefficients and integral coefficients you can't deduce that there are no multiplicative extensions, and of course with integral coefficients you have the additive extension problem which you cannot solve using this method.
The easiest way to proceed is by looking at the filtration directly:
The filtration on $C^*(X \times Y)$ corresponding to the Serre spectral sequence is the filtration corresponding to $\pi^{-1}(X_0) \subset \pi^{-1}(X_1) \subset...$ where $X_i$ is the cellular filtration on $X$.
This is isomorphic to the complex $C^*(X) \otimes C^*(Y)$ with the cellular filtration on $C^*(X)$.  $C^*(X)$ with the cellular filtration is isomorphic as a differential graded algebra (DGA) to $C^*(X)$ with the degree filtration.
Hence we have the filtered DGA $C^*(X) \otimes C^*(Y)$ with the filtration induced by the degree filtration on $C^*(X)$.

Differentials are zero:

The $d_0$ differential on the $E_0$ page is given by the differential $d$ on $C^*(X) \otimes C^*(Y)$ where you forget about the terms in the differential that increase the filtration degree by more than 0.  Hence you get $C^*(X) \otimes H^*(Y)$.
The $d_1$ differential is given by forgetting terms in the differential that increase the filtration degree by more than 1.  Hence you get $H^*(X, H^*(Y))$ for the $E_2$ page. (Note that this includes the Tor terms).
The $d_2$ differential is given by forgetting terms in the differential that increase the filtration degree by more than 2.  There are no terms in the differential $d(x \otimes y)=d(x) \otimes y + (-1)^{|x|}x \otimes dy$ that increase the $X$ filtration by 2 regardless of what $x$ and $y$ are.  Hence the $d_2$ differential is 0.  For the same reason the higher differentials are 0.

Extension problem:

The filtered DGA $C^*(X) \otimes C^*(Y)$ is isomorphic as a filtered DGA to its associated graded.  This implies that the additive extension problem and the multiplicative extension problem is trivial:
Suppose the sum of two terms representing permanent cycles are zero in the $E^\infty $ page, but in reality it is a term in higher filtration.  This can't happen because the sum is zero in the associated graded chain complex but via the isomorphism its zero in the original algebra.
The multiplicative extension problem is also trivial for the same reason.
A: The aim is to show that the filtration on $E_2= E_3=\cdots = E_\infty$ splits, i.e.,
$$ H^{n}(X\times Y) \simeq  \oplus_{p+q=n} H^p(X,H^q(Y)).$$
The result follows from [or, 'seems to me to follow from'] the  following explicit argument that the spectral sequence degenerates at $E_2$, i.e., that $d_2\colon E_2 \to E_2$ is actually zero, in that along the way the argument allows one to present the sum of the $E_2$ terms as a quotient of the original double complex.
Setting up notation:

*

*Write $S=S^0\to S^1\to \cdots $ for the complex of (integer-valued) singular cochains on $Y$, the 'arbitrary' topological space, with differential $d$, the usual differential multiplied by a hidden $(\pm1)$, to make things a bit neater for use in double complexes. ['Arbitrary' has to be decent enough for singular cohomology, whatever that amounts to.]


*Write $J_0$, $J_1$, etc. for the sets of ordered, countable indices (i.e. subsets of $\mathbb N$) enumerating the elements and non-empty intersections of the good, open cover $\frak A$ of $X$. For instance, if  $U_j\in {\frak A}$, then $j\in J_0$, and if $U_{jk}=U_j\cap U_k\not=\emptyset$, with $j < k$, then the ordered pair $jk\in J_1$, etc. For simplicity, often below, write $n$ for $j_n$. For instance, $0<1<2$ corresponds to arbitrary $j_0<j_1<j_2$, and $012\in J_2$. In fact, I will need a particular $\frak A$ later on.


*If $A$ is an abelian group (e.g., $A= S^k$ above, and then $A=H^k(S^*)= H^k(Y)$), write $\delta$ for an element of the usual sequence of differentials that arises from the $\frak A$-Cech cohomology with coefficients in $A$:
$$ A^{J_0} \xrightarrow{\delta}A^{J_1}\to\cdots \to A^{J_k}\xrightarrow{\delta} A^{J_{k+1}} \to \cdots. $$
So, for instance, $\delta \colon A^{J_0}\to A^{J_1}$ is given by
$$ \delta (a)_{jk}= a_k-a_j.$$


*Set $ C^{pq} = (S^q)^{J_p}$, and denote $d\colon C^{pq}\to C^{p, q+1}$ for the 'component-wise' mapped $d\colon S^q\to S^{q+1}$. For instance, if $a \in C^{2q}$, one has
$$ (da)_{012} = da_{012}.$$
The double complex $ C^{pq} = (S^q)^{J_p}$, with $D=\delta +d$, calculates the singular cohomology of $X\times Y$,  because $\frak A$ is/gives rise to a good cover.
'Filtering on $p$,' the first few pages of the spectral sequence are...

*

*$E_0^{pq}= C^{pq}$, with $d_0=d$.

*$E_1^{pq} = H^q(Y)^{J_p}$, with $d_1= \delta$.

*$ E_2^{pq}= H^p( H^q(Y)^{J_*})= H^p(X,H^q(Y))$, with $d_2=???$
We wish to show $d_2$ is identically zero!
An element of $E_2^{pq}$ is represented by an element $a\in C^{pq}$ such that
$$da =0 \text{ and }\delta a = db\tag{*},$$
for some (potentially non $d$-closed) element $b\in C^{p,q+1}$.
For instance, this
means
$$ (da)_{*\cdots *}= 0,\text{ and } (\delta a)_{01\cdots p+1} = a_{12\cdots p+1}  - a_{02\cdots p+1}+\cdots = db_{01\cdots p+1},$$
where $*\cdots *$ runs through the indices appearing in the preceding alternating sum.
In any event, $d_2[a] = [\delta b].$ So if only we can arrange for $b = 0$, then $d_2 =0$...
The only/main idea here is:

*

*Suppose $da_0=da_1=da_2=0,$ and
$$(\delta a )_{01}= a_1 - a_0 =  db_{01} \text{ and } (\delta a )_{02}= a_2 - a_0 =  db_{02}.$$
Replace $a_1$ with $a_1 -db_{01}$, and $a_2$ with $a_2 -db_{02}$. (This substitution  does not affect that $a_i$ are $d$-closed.)
Then, by construction, $(\delta a )_{01} = (\delta a )_{02} =0$, but, also, as a bonus,
$$ (\delta a )_{12} = a_2- a_1 = a_0 - a_0 = 0.$$


*More generally, in the notation of above, if one replaces $ a_{12\cdots p+1}$ with $ a_{12\cdots p+1} - db_{012\cdots p+1}$,
ones maintains $da_{*\cdots *} =0$, but one also gains $(\delta a)_{01\cdots p+1} = 0.$ Note that the modification is to the entry indexed by an element of $J_p$ not containing $0$.
We now verify that we have a chance of making an 'inductive' algorithm of the preceding observation - namely, consistency, and that we will not need to modify a previous $a_{01\cdots p}$ when dealing with indices which not contain $0$.

*

*Assume that $U_1\cap\cdots \cap U_{p+2}\not= \emptyset$ (otherwise there is nothing to show). Having proceeded as above to assure $(\delta a)_{0j_1\cdots j_{p+1}} =0$, where $j_1\cdots j_{p+1}$ is a strictly increasing sequence from $1\cdots p+2$ of length $p+1$, let us verify that that $$(\delta a)_{1\cdots p+2} = 0:$$
Let $\iota=\iota_0$ be 'contraction by $0$':
$$(\iota a)_{j_1\cdots j_{p}}= a_{0j_1\cdots j_{p}}.$$
Then, by construction,
$$ 0=(\delta a)_{0j_1\cdots j_{p+1} } = a_{j_1\cdots j_{p+1}} - (\delta \iota a)_{j_1\cdots j_{p+1}}.  $$
Therefore,
$$(\delta a)_{1\cdots p+2} = (\delta\delta \iota a)_ {1\cdots p+2}= 0,$$
as promised.
Now construct $\frak A$ that will allow us to make an algorithm out of this - we want a cover an ordered good cover, so that there are only finitely many intersections. Write $X = \cup G_i$, with $G_i$ open, $\overline G_i \subset G_{i+1}$, with $\bar G_i$ compact (this is possible in the usual definition of a connected manifold).

*

*Start with $\frak A =\emptyset$.

*Cover the compact $\bar G_1$ with a finite, ordered cover of good open sets $U_i \subset G_2$, and add $U_i$ to $\frak A$.

*Cover the compact $\bar G_2 - \cup_{U\in \frak A}U$ with a finite ordered collection of open sets $U_i\subset G_3\setminus \bar G_1$, and add these to $\frak A$, collating the indexing to the end of the enumeration of $\frak A$, where the $U_i$ are chosen so that the new $\frak A$ is still 'good'.

*Cover the compact $\bar G_3 - \cup_{U\in \frak A}U$ with a finite ordered collection of open sets $U_i\subset G_4\setminus \bar G_2$, and add these to $\frak A$, collating the indexing to the end of the enumeration of $\frak A$ so that the new $\frak A$ is still good - etc...

We thus obtain a sequence $\frak A$ of good open sets covering $X$, with only finitely many intersecting any given element in $\frak A$, and furthermore a criterion to check intersection: namely if $\bar G_k \subset U\subset G_{k+2}$, then $U$ can intersect a 'subsequent' element $U'$ such that $\bar G_{k}\subset U'\subset G_{k+3}$. We thus have an algorithm to choose a representative $a\in C^{pq}$ for an element  $E_2^{pq}$ such that $da=0$ and $\delta a =0$.
[I am frankly taking as 'a given' that one can construct a good cover in this manner.]
Be that as it may, on the one hand, this implies that the sequence degenerates at $E_2$:
if $[a]\in E_2^{pq}$, we have $$d_2[a] = [\delta b]= [\delta 0] = 0 \in E^{p+2,q-1}_2,$$
and $$d_2=d_3=\cdots = 0,$$
so that $$E_\infty^{pq} = E_2^{pq}.$$
On the other hand, this explicit argument presents $E_2^{pq}$ as  a quotient of $Z^{pq}$, where $Z^{pq}\subset C^{pq}$ is the kernel of the restriction of $D$ to $C^{pq}$:
$$D\colon C^{pq} \to C^{p+1, q} \oplus C^{p,q+1}.$$
Now, the image $D C^{pq}$  is a subgroup of a free abelian group, and so is free. Therefore, the exact sequence
$$ 0\to Z^{pq}\to C^{pq}\to D C^{pq} \to 0$$
splits. This gives us the desired map to the graded sum on $E_2=E_\infty$, namely:
$$C^{pq}\to Z^{pq}\to E_2^{pq},$$
so that
$$ C^n=\oplus_{p+q=n} C^{pq} \to \oplus_{p+q=n} E_2^{pq},$$
and thus
$$ E_\infty^n \to \oplus_{p+q=n} E_2^{pq},$$
which induces an isomorphism on the filtrations.
But, by induction, this splits the filtration on $E_\infty$:
Namely, (initial step) $E_2^{n0}$ is a subgroup of $E^n_\infty$.
We then repeatedly use that the middle downward arrow is an iso if the external arrows (equal signs) are:
$$\array{0 &\to &F_{k+1}     &\to &F_{k}    & \to &F_{k}/F_{k+1} &\to &0\\
           &   & \Vert   &    &\downarrow &     &  \Vert     &   & \\
         0 &\to &\oplus_{p \ge k +1} E_2^{p,n-p} &\to &\oplus_{p \ge k  } E_2^{p,n-p}&\to & E_2^{k,n-k}&\to &0.\\
} $$
