Why we use $\mathrm{Fn}(\kappa\times\lambda,2,\lambda)$ to force $2^\lambda\ge\kappa$ instead of $\mathrm{Fn}(\kappa\times \lambda,2)$ I am reading Kunen's Set Theory and I learn that, $\operatorname{Fn}(\kappa\times\omega,2)$ forces $2^{\aleph_0}\ge|\kappa|$, where
$$\operatorname{Fn}(I,J,\lambda)=\{p:p\text{ function},\,\operatorname{dom}p\subset I,\,\operatorname{ran}p\subset J,\,|p|<\lambda\}$$
and $\operatorname{Fn}(I,J)=\operatorname{Fn}(I,J,\omega)$. However, when forcing $2^\lambda\ge\kappa$ for cardinal $\kappa$ and regular cardinal $\lambda$, Kunen uses $\operatorname{Fn}(\kappa\times\lambda,2,\lambda)$ rather than $\operatorname{Fn}(\kappa\times\lambda,2)$. As I think, $\operatorname{Fn}(\kappa\times\lambda,2)$ preserves cardinals and seems to add $|\kappa|^{V[G]}$ many subsets of $\lambda$ so I think we can use $\operatorname{Fn}(\kappa\times\lambda,2)$ to force $2^\kappa\ge\lambda$. However, every reference I see uses $\operatorname{Fn}(\kappa\times\lambda,2,\lambda)$, not $\operatorname{Fn}(\kappa\times\lambda,2)$.
Is there a reason to use $\operatorname{Fn}(\kappa\times\lambda,2,\lambda)$ instead of $\operatorname{Fn}(\kappa\times\lambda,2)$? Did I misunderstand something? Thanks for any help.
 A: You're correct that $\operatorname{Fn} ( \kappa \times \lambda , 2 )$ will preserve cardinals (the usual Δ-System argument shows that it is c.c.c.). And in the generic extension we will have $2^\lambda \geq | \kappa |$. However the forcing will be more "destructive" to cardinal exponentiation as for each $\aleph_0 \leq \mu \leq \lambda$ in the ground model we will get $2^\mu \geq | \kappa |$ in the generic extension. It is basically in order to gain more control over cardinal exponentiation below $\lambda$ that we use $\operatorname{Fn} ( \kappa \times \lambda , 2 , \lambda )$, which is ${<}\lambda$-closed, and so adds no new subsets of any $\mu < \lambda$.
For example, if you want to show that $2^{\aleph_0} = \aleph_5 \wedge 2^{\aleph_1} = \aleph_8$ is consistent, it would be tempting to start in a model of $\mathsf{GCH}$ and try the iteration $\operatorname{Fn} ( \omega_5 \times \omega , 2 ) * \operatorname{Fn} ( \omega_8 \times \omega_1 , 2 )$. However after doing this we will have $2^{\aleph_0} = \aleph_8$, which is not what we desired. Starting in a model of $\mathsf{GCH}$ and instead using "longer" conditions $\operatorname{Fn} ( \omega_5 \times \omega , 2 ) * \operatorname{Fn} ( \omega_8 \times \omega_1 , 2 , \omega_1 )$, then after the first step we push $2^{\aleph_0}$ up to $\aleph_5$, and the second forcing won't mess this up.
