Proving that $\sf Add$$(\aleph_\omega , 1)$ collapses cardinals $\leq \aleph_\omega$ First, let me fix some notation.
$\sf Fn$$(I, J, \kappa) = $ the poset of all partial functions $p$ such that $|p| < \kappa$, dom$(p) \subseteq I$ and rng$(p) \subseteq J$.
$\sf Add$$(\kappa, \lambda) = \sf Fn$$(\lambda \times \kappa, 2, \kappa)$
The question reads: "Show that forcing with  $\sf Add$$(\aleph_\omega , 1)$ collapses all cardinals $\aleph_\alpha$ for $\alpha \leq \omega$ to $\omega$.
Hint: For each $n \in \omega$ find a way of coding a surjection of $\omega$ onto $\omega_n$ into the generic subset of $\aleph_\omega$.  Use a density argument."
I have been trying this for a while and cannot get it.  I know there is a problem very similar to this in Kunen, but his hint does not help me either.  I know that instead of the poset $\sf Fn$$(\aleph_\omega \times 1, 2, \aleph_\omega)$ we could consider the poset $\sf Fn$$(\aleph_\omega \times \omega_\omega, 2, \aleph_\omega)$ since they will give rise to the same generic extension, but I'm still not sure how the code the surjections.
Thanks!
 A: Let $\Gamma\subset \omega_\omega$ denote the generic subset. Working in $V[G]$, we define $g:\omega\to\omega_\omega$ as follows: $$g(n)=\begin{cases} 0, &\text{if } \operatorname{ot}(\Gamma\cap(\omega_{n+1}\setminus \omega_n))<\omega_n \\ 
\alpha, &\text{if }\operatorname{ot}(\Gamma\cap(\omega_{n+1}\setminus \omega_n))=\omega_n+\alpha. \end{cases}$$
It is not hard to see that $g$ is onto. ($\operatorname{ot}(X)$ means order-type). 
Edit: I'm adding a proof that $g$ is onto.
For each $\alpha<\omega_\omega$, define 
$$D_\alpha=\{p\in \operatorname{Add}(\aleph_\omega,1): \exists n\in\omega\ (\omega_{n+1}\setminus \omega_n)\subseteq \operatorname{dom}(p)\wedge \operatorname{ot}[p^{-1}(1)\cap (\omega_{n+1}\setminus \omega_n)]=\omega_n+\alpha\}$$
Observe that if $D_\alpha$ is dense then $\alpha$ is in the range of $g$. So it suffices to show that $D_\alpha$ is dense for every $\alpha\in\omega_\omega$.
 Fix $\alpha\in\omega_\omega$ and $p\in \operatorname{Add}(\aleph_\omega,1)$. Now, pick $n\in \omega$ so  that $\alpha<\omega_n$ and $|p|<\omega_n$.
 Let $\xi=\sup(\operatorname{dom}(p)\cap (\omega_{n+1}\setminus \omega_n))+1$. Note that $\xi\in\omega_{n+1}$ as 
$|\operatorname{dom}(p)∩(\omega_{n+1}\setminus\omega_n)|<\omega_n$
 and $\omega_{n+1}$ is regular.
Now define an extension $q$ of $p$ belonging to $D_\alpha$ as follows:
$$\operatorname{dom}(q):=\operatorname{dom}(p)\cup (\omega_{n+1}\setminus\omega_n)$$
We just need to define $q$ in $(\omega_{n+1}\setminus(\omega_n\cup \operatorname{dom}(p))$
$$q(\beta)=\begin{cases} 0 & \text{if }\> \beta<\xi \wedge \beta\notin \operatorname{dom}(p)\\ 1 & \text{if }\> \beta\in [\xi,\xi+\omega_n+\alpha)\\ 0 & \text{if }\>\beta\in[\xi+\omega_n+\alpha,\omega_{n+1})\end{cases}$$
