Proof of the Leray-Hirsch theorem in Voisin's book. I have a problem understanding the proof of the Leray-Hirsch-Theorem from Voisin's Hodge Theory and Complex Algebraic Geometry (Thm 7.33, proof in 8.1.3).
Let $\phi: Y \to X$ be a fibration of topological spaces (i.e. in a neighbourhood $U_x$ of $x \in X$, $\phi$ looks like $Y_x \times U_x \to U_x$) where $X$ is contractible. Suppose the cohomology $H^*(Y, \mathbb Z)$ is torsion-free, and we have homogeneous cohomology classes
$$\alpha_1, \dotsc, \alpha_N \in H^*(Y, \mathbb Z)$$
such that the graded free subgroup $A^* \subset H^*(Y, \mathbb Z)$ generated by the $\alpha_i$ is isomorphic via pull-back to the cohomology $H^*(Y_x, \mathbb Z)$ of every fiber $Y_x = \phi^{-1}(x), x \in X$.
Now choose a flasque resolution $0 \to \mathbb Z_Y \to F^*$ of the constant sheaf $\mathbb Z_Y$ on $Y$. Since
$$H^k(Y, \mathbb Z) = H^k(\Gamma(Y, F^*))$$
one can choose closed elements $\beta_i \in \Gamma(Y, F^*)$ representing the $\alpha_i$. As the cohomology of $Y$ is torsion-free, the $\beta_i$ generate a free subgroup of $\Gamma(Y, F^*)$, isomorphic to $A^*$.
Now Voisin claims that the graded subsheaf of $\phi_* F^*$, generated by the $\beta_i$, is the constant sheaf $A^*_X$. I'm not sure why this is the case. If we can show that the $\beta_i$ generate a local system, then this would be true because $X$ is contractible, so any local system is trivial. On the other hand, here is an example, where global sections of a flasque sheaf do not give a local system:

If $F$ is the skyscraper sheaf of $\mathbb Z$ on a point $y \in Y$ (which is flasque!), then I think $\phi_* F$ is the skyscraper sheaf of $\mathbb Z$ on $x = \phi(y)$.

Intuitively this example can never happen in our situation, since the $\alpha_i$ generate the cohomology of each fiber, so the $\beta_i$ should not vanish (in a neighbourhood of a fiber?). But I don't know how to make this idea rigorous. How can we relate the sections $\beta_i$ with the pull-back morphisms $H^k(Y, \mathbb Z) \to H^k(Y_x, \mathbb Z), x \in X$?
 A: This might be a way to do it: Instead of choosing an arbitrary flasque resolution of $\mathbb Z_Y$, we work with the complex of singular cochains $\mathcal C^q$. This is defined as the sheafification of the presheaf
$$U \mapsto C^q(U, \mathbb Z),$$
where $C^q(U, \mathbb Z)$ is the group of singular cochains on $U \subset Y$. Then one can show (see [1, 4.3.2]) that $\mathcal C^q$ is a flasque resolution of $\mathbb Z_Y$, and
$$\Gamma(U, \mathcal C^q|_U) = C^q(U, \mathbb Z) / C^q_0(U, \mathbb Z)$$
where $C^q_0(U, \mathbb Z)$ is the subgroup of $q$-cochains $\sigma$, for which there exists an open cover $\{U_i\}$ of $U$ with $\sigma|_{U_i} \equiv 0$.
Using this we may think of the $\beta_i$ as being represented by cochains $\gamma_i \in C^q(Y, \mathbb Z)$, so that the $\gamma_i$ also represent the $\alpha_i$. Now if $U \subset X$ is any open, the restrictions $\gamma_i|_{\phi^{-1}(U)}$ still generate a group isomorphic to $A$, since the restrictions form a commutative diagram
\begin{align*}
C^q(Y, \mathbb Z) && \longrightarrow && C^q(Y_x, \mathbb Z) \\
\downarrow && \nearrow \\
C^q(\phi^{-1}(U), \mathbb Z)
\end{align*}
[1] Claire Voisin, Hodge Theory and Complex Algebraic Geometry, I
