[proofplan]
The forcing $\operatorname{Add}(\omega,\omega_2)$ adds one Cohen real at each coordinate $\alpha < \omega_2^V$. We first show that different coordinates produce different reals, giving at least $\omega_2^V$ many reals in the extension. Before counting names, we prove that the forcing is ccc; this makes every antichain appearing in a nice name countable, so nice names for subsets of $\omega$ are coded by countable sequences of countable subsets of $\mathbb{P}$. The hypothesis $V \models (\omega_2)^\omega = \omega_2$ then gives at most $\omega_2^V$ many reals in the extension, while ccc preservation keeps $\omega_1^V$ and $\omega_2^V$ as the first two uncountable cardinals.
[/proofplan]
[step:Define the coordinate Cohen reals added by the generic filter]
Let
\begin{align*}
\mathbb{P} = \operatorname{Add}(\omega,\omega_2)^V
\end{align*}
denote the Cohen forcing poset whose conditions are finite partial functions $p: \omega_2^V \times \omega \to 2$, ordered by reverse inclusion: $q \le p$ exactly when $q \supseteq p$. The filter $G \subseteq \mathbb{P}$ is $V$-generic, meaning that $G$ is a filter and $G$ meets every [dense subset](/page/Dense%20Subset) of $\mathbb{P}$ that belongs to $V$.
For each $\alpha < \omega_2^V$, define a function
\begin{align*}
c_\alpha: \omega \to 2
\end{align*}
in $V[G]$ by declaring $c_\alpha(n) = i$ exactly when some condition $p \in G$ satisfies $p(\alpha,n)=i$.
This is well-defined because $G$ is a filter and any two conditions in $G$ are compatible. If $p,q \in G$ and both decide the value at $(\alpha,n)$, then compatibility forbids $p(\alpha,n) \ne q(\alpha,n)$, since no common extension can assign two different values to the same coordinate.
The function $c_\alpha$ is total. For each $n \in \omega$, the set
\begin{align*}
D_{\alpha,n} = \{p \in \mathbb{P} : (\alpha,n) \in \operatorname{dom}(p)\}
\end{align*}
is dense in $\mathbb{P}$: given $p \in \mathbb{P}$, if $(\alpha,n) \in \operatorname{dom}(p)$ then $p \in D_{\alpha,n}$, while otherwise the finite partial function $p \cup \{((\alpha,n),0)\}$ is a condition extending $p$. Since $G$ meets every dense subset of $\mathbb{P}$ belonging to $V$, it follows that $G \cap D_{\alpha,n} \ne \varnothing$. Hence $c_\alpha(n)$ is defined for every $n \in \omega$, so $c_\alpha \in 2^\omega$ in $V[G]$.
[/step]
[step:Separate distinct coordinates by dense sets]
Let $\alpha,\beta < \omega_2^V$ with $\alpha \ne \beta$. Define
\begin{align*}
D_{\alpha,\beta} = \{p \in \mathbb{P} : \text{there exists } n \in \omega \text{ such that } p(\alpha,n)=0 \text{ and } p(\beta,n)=1\}.
\end{align*}
This set is dense in $\mathbb{P}$. Indeed, given $p \in \mathbb{P}$, the set $\operatorname{dom}(p)$ is finite, so there exists $n \in \omega$ such that neither $(\alpha,n)$ nor $(\beta,n)$ belongs to $\operatorname{dom}(p)$. Then
\begin{align*}
q = p \cup \{((\alpha,n),0),((\beta,n),1)\}
\end{align*}
is a finite partial function from $\omega_2^V \times \omega$ to $2$, hence $q \in \mathbb{P}$, and $q \le p$ in the reverse-inclusion order. Also $q \in D_{\alpha,\beta}$.
Since $G$ meets $D_{\alpha,\beta}$, choose $p \in G \cap D_{\alpha,\beta}$ and choose $n \in \omega$ such that $p(\alpha,n)=0$ and $p(\beta,n)=1$. By the definition of the coordinate reals, $c_\alpha(n)=0$ and $c_\beta(n)=1$. Therefore $c_\alpha \ne c_\beta$.
[guided]
The point of this step is to prove injectivity of the map from forcing coordinates to reals. Define
\begin{align*}
C: \omega_2^V \to 2^\omega
\end{align*}
in $V[G]$ by $C(\alpha)=c_\alpha$. To prove that $C$ is injective, fix two distinct coordinates $\alpha,\beta < \omega_2^V$.
We force the two corresponding reals to differ at a fresh natural-number coordinate. Define
\begin{align*}
D_{\alpha,\beta} = \{p \in \mathbb{P} : \text{there exists } n \in \omega \text{ such that } p(\alpha,n)=0 \text{ and } p(\beta,n)=1\}.
\end{align*}
We verify density. Let $p \in \mathbb{P}$. Since $p$ is a finite partial function, $\operatorname{dom}(p)$ is a finite subset of $\omega_2^V \times \omega$. Hence only finitely many $n \in \omega$ appear in pairs of the form $(\alpha,n)$ or $(\beta,n)$ inside $\operatorname{dom}(p)$. Choose $n \in \omega$ such that
\begin{align*}
(\alpha,n) \notin \operatorname{dom}(p)
\end{align*}
and
\begin{align*}
(\beta,n) \notin \operatorname{dom}(p).
\end{align*}
Now define
\begin{align*}
q = p \cup \{((\alpha,n),0),((\beta,n),1)\}.
\end{align*}
Because the two new domain points were not already in $\operatorname{dom}(p)$, this union is still a function. Because only two points were added to the finite domain of $p$, the domain of $q$ is finite. Thus $q \in \mathbb{P}$, and since the order is reverse inclusion, $q \le p$.
Moreover $q \in D_{\alpha,\beta}$ by construction. This proves that $D_{\alpha,\beta}$ is dense. Since $G$ is $V$-generic and $D_{\alpha,\beta} \in V$, the filter $G$ meets $D_{\alpha,\beta}$. Choose $p \in G \cap D_{\alpha,\beta}$ and choose $n \in \omega$ witnessing membership in $D_{\alpha,\beta}$. Then $p(\alpha,n)=0$ and $p(\beta,n)=1$, so the definition of $c_\alpha$ and $c_\beta$ gives
\begin{align*}
c_\alpha(n)=0
\end{align*}
and
\begin{align*}
c_\beta(n)=1.
\end{align*}
Therefore $c_\alpha \ne c_\beta$. Since $\alpha$ and $\beta$ were arbitrary distinct coordinates, $C$ is injective.
[/guided]
[/step]
[step:Obtain the lower bound for the continuum]
The previous step shows that the map
\begin{align*}
C: \omega_2^V \to 2^\omega
\end{align*}
given by $C(\alpha)=c_\alpha$ is injective in $V[G]$. Hence
\begin{align*}
V[G] \models |2^\omega| \ge |\omega_2^V|.
\end{align*}
[/step]
[step:Prove the ccc needed for the name count]
The forcing $\mathbb{P}$ satisfies the countable chain condition. To see this, let $A \subseteq \mathbb{P}$ be an uncountable set in $V$. Each condition $p \in A$ has finite domain $\operatorname{dom}(p) \subseteq \omega_2^V \times \omega$. By the Delta System Lemma for finite sets applied in $V$ to the uncountable family $\{\operatorname{dom}(p):p \in A\}$ of finite sets, there is an uncountable subset $A_0 \subseteq A$ and a finite set $r \subseteq \omega_2^V \times \omega$ such that the domains of conditions in $A_0$ form a Delta-system with root $r$.
Since there are only finitely many functions $r \to 2$, the pigeonhole principle gives an uncountable subset $A_1 \subseteq A_0$ such that all conditions in $A_1$ agree on $r$. If $p,q \in A_1$ are distinct, then their domains intersect exactly in $r$, and $p|_r=q|_r$. Hence $p \cup q$ is a finite partial function from $\omega_2^V \times \omega$ to $2$, so $p \cup q \in \mathbb{P}$ and $p \cup q \le p,q$ in the reverse-inclusion order. Thus $p$ and $q$ are compatible. Therefore no uncountable subset of $\mathbb{P}$ is an antichain, and every antichain in $\mathbb{P}$ is countable.
[/step]
[step:Count nice names for reals using countable antichains]
We first compute the size of the forcing in $V$. Since $\omega_2^V \times \omega$ has cardinality $\omega_2^V$ and $\mathbb{P}$ consists of finite partial functions from $\omega_2^V \times \omega$ to $2$, we have
\begin{align*}
|\mathbb{P}|^V = \omega_2^V.
\end{align*}
A nice name for a subset of $\omega$ is a set
\begin{align*}
\dot{x} = \{(\check{n},p) : n \in \omega \text{ and } p \in A_n\}
\end{align*}
where, for each $n \in \omega$, $A_n$ is an antichain in $\mathbb{P}$. This definition applies in the present setting because the objects being named are subsets of $\omega$ and each deciding family $A_n$ consists of conditions in the forcing poset $\mathbb{P}$. By the ccc proved in the previous step, each $A_n$ is countable in $V$. Therefore each nice name is coded by a sequence
\begin{align*}
(A_n)_{n \in \omega}: \omega \to [\mathbb{P}]^{\le \omega},
\end{align*}
where $[\mathbb{P}]^{\le \omega}$ denotes the set of countable subsets of $\mathbb{P}$ in $V$.
The number of countable subsets of $\mathbb{P}$ is at most
\begin{align*}
|[\mathbb{P}]^{\le \omega}|^V \le (|\mathbb{P}|^\omega)^V = ((\omega_2)^\omega)^V = \omega_2^V.
\end{align*}
Hence the number of countable sequences of countable subsets of $\mathbb{P}$ is at most
\begin{align*}
\left(|[\mathbb{P}]^{\le \omega}|^\omega\right)^V \le ((\omega_2)^\omega)^V = \omega_2^V.
\end{align*}
Thus there are at most $\omega_2^V$ nice names for subsets of $\omega$ in $V$. By the Nice Name Lemma for reals, applied to the forcing poset $\mathbb{P}$ and to names for subsets of $\omega$, every $\mathbb{P}$-name for a subset of $\omega$ is forced equal to a nice name whose antichains belong to $V$. Therefore every real in $V[G]$ is the interpretation of some nice name for a subset of $\omega$ from $V$, and
\begin{align*}
V[G] \models |2^\omega| \le |\omega_2^V|.
\end{align*}
[/step]
[step:Use ccc preservation to identify the first two uncountable cardinals]
We prove the preservation directly by the standard antichain-bounding argument for ccc forcing. First, ccc forcing preserves $\omega_1$: if a condition forced a countable cofinal sequence in $\omega_1^V$, then choosing countable maximal antichains deciding each value would produce, in $V$, a countable subset of $\omega_1^V$ containing the forced range. Its supremum is still below $\omega_1^V$, contradicting forced cofinality.
The same antichain-bounding argument preserves $\omega_2^V$. Suppose toward contradiction that some condition $p_0 \in \mathbb{P}$ forces that
\begin{align*}
\dot{f}: \kappa \to \omega_2^V
\end{align*}
is cofinal, where $\kappa$ is an ordinal in $V$ with $\kappa < \omega_2^V$. For each $\xi < \kappa$, choose in $V$ a maximal antichain $A_\xi \subseteq \mathbb{P}$ below $p_0$ deciding the value of $\dot{f}(\xi)$. Since $\mathbb{P}$ is ccc, each $A_\xi$ is countable. Define
\begin{align*}
B_\xi = \{\gamma < \omega_2^V : \text{there exists } p \in A_\xi \text{ such that } p \Vdash \dot{f}(\check{\xi})=\check{\gamma}\}.
\end{align*}
Each $B_\xi$ is countable in $V$. Therefore
\begin{align*}
B = \bigcup_{\xi < \kappa} B_\xi
\end{align*}
has cardinality at most $|\kappa|^V \cdot \omega < \omega_2^V$ in $V$. Since $\omega_2^V$ is regular in $V$, $\sup B < \omega_2^V$. The condition $p_0$ forces that the range of $\dot{f}$ is contained in $B$, so $p_0$ cannot force $\dot{f}$ to be cofinal in $\omega_2^V$, a contradiction. Thus $\omega_2^V$ remains regular in $V[G]$. A regular ordinal is an initial ordinal, since any bijection from a smaller ordinal onto it would give a cofinal map from that smaller ordinal. Therefore $\omega_2^V$ remains a cardinal in $V[G]$.
Because $\omega_1^V$ and $\omega_2^V$ are preserved and there is no ground-model cardinal strictly between them, $\omega_2^V$ is the cardinal denoted $\omega_2$ in $V[G]$.
[/step]
[step:Combine the two bounds in the extension]
By the preservation result just proved, $\omega_2^V$ is the cardinal denoted $\omega_2$ in the extension. The lower and upper bounds proved above give
\begin{align*}
V[G] \models \omega_2 \le 2^\omega
\end{align*}
and
\begin{align*}
V[G] \models 2^\omega \le \omega_2.
\end{align*}
By antisymmetry of cardinal comparison,
\begin{align*}
V[G] \models 2^\omega = \omega_2.
\end{align*}
This is the desired conclusion.
[/step]