[proofplan]
The union of the generic filter is first shown to be a well-defined partial function because any two conditions in a filter have a common stronger extension, hence agree on their common domain. Genericity then meets, for each $n \in \omega$, the dense set of conditions whose domain contains $n$, so the union is total on $\omega$. Finally, writing $2^\omega$ for the set of all functions from $\omega$ to $2$, for each ground-model real $x \in 2^\omega \cap M$, genericity meets a dense set of conditions already forcing disagreement with $x$; therefore $c_G$ differs from every real in $M$.
[/proofplan]
[step:Use directedness of the filter to make the union a function]
Let $\mathbb{P} := \operatorname{Add}(\omega,1)^M$. Thus every condition $p \in \mathbb{P}$ is a finite partial function $p: \omega \rightharpoonup 2$ belonging to $M$, and $q \leq p$ means $q \supseteq p$.
We prove that $c_G := \bigcup G$ is a function. Suppose $p,q \in G$ and $n \in \operatorname{dom}(p) \cap \operatorname{dom}(q)$. Since $G$ is a filter on $\mathbb{P}$, it is directed, so there exists $r \in G$ such that $r \leq p$ and $r \leq q$. By the ordering on $\mathbb{P}$, this means $r \supseteq p$ and $r \supseteq q$. Since $r$ is a function, we have
\begin{align*}
p(n) = r(n) = q(n).
\end{align*}
Therefore any two conditions in $G$ agree on their common domain, and the union $\bigcup G$ is a well-defined partial function from $\omega$ to $2$.
[guided]
We need to check that taking the union of all finite conditions in $G$ does not create two different values at the same natural number. The possible failure would be the existence of $p,q \in G$ and $n \in \omega$ such that $n \in \operatorname{dom}(p) \cap \operatorname{dom}(q)$ but $p(n) \neq q(n)$.
The filter property rules this out. Since $G$ is directed, there is a condition $r \in G$ with $r \leq p$ and $r \leq q$. In Cohen forcing, the order is extension, so $r \leq p$ means $r \supseteq p$, and $r \leq q$ means $r \supseteq q$. Thus $r$ extends both finite functions. If $n$ lies in both domains, then $r(n)$ must equal both values:
\begin{align*}
p(n) = r(n) = q(n).
\end{align*}
Because $r$ is itself a function, it cannot assign two different values to $n$. Hence all conditions in $G$ are mutually consistent, and $\bigcup G$ is a partial function $c_G: \omega \rightharpoonup 2$.
[/guided]
[/step]
[step:Meet the dense sets that decide each coordinate]
Fix $n \in \omega$. Define
\begin{align*}
D_n := \{p \in \mathbb{P} : n \in \operatorname{dom}(p)\}.
\end{align*}
The set $D_n$ belongs to $M$, because $n \in \omega \subset M$, $\mathbb{P} \in M$, and $D_n$ is definable in $M$ from $n$ and $\mathbb{P}$.
We show that $D_n$ is dense in $\mathbb{P}$. Let $p \in \mathbb{P}$. If $n \in \operatorname{dom}(p)$, then $p \in D_n$. If $n \notin \operatorname{dom}(p)$, define the finite partial function $q: \omega \rightharpoonup 2$ by
\begin{align*}
q = p \cup \{(n,0)\}.
\end{align*}
Then $q \in \mathbb{P}$, $q \leq p$, and $q \in D_n$. Thus $D_n$ is dense.
Since $G$ is $M$-generic and $D_n \in M$ is dense, there exists $p_n \in G \cap D_n$. Hence $n \in \operatorname{dom}(p_n) \subseteq \operatorname{dom}(c_G)$. Since $n \in \omega$ was arbitrary, $\operatorname{dom}(c_G)=\omega$. From the previous step, $c_G$ is a function, and every value of every condition lies in $2$, so $c_G: \omega \to 2$.
[/step]
[step:Observe that the generic real belongs to the generic extension]
The object $G$ belongs to the generic extension $M[G]$ by definition of the generic extension. The class operation sending a set $H$ of functions to its union is first-order definable in the language of set theory: $y \in \bigcup H$ iff there exists $h \in H$ such that $y \in h$. Since $M[G]$ is a model of ZFC containing the parameter $G$, Separation and Union inside $M[G]$ produce the set $\bigcup G$. Therefore $c_G = \bigcup G$ belongs to $M[G]$.
[/step]
[step:Construct a dense set forcing disagreement with a fixed ground-model real]
Let $2^\omega$ denote the set of all functions $x: \omega \to 2$. Fix $x \in 2^\omega \cap M$. Define
\begin{align*}
E_x := \{p \in \mathbb{P} : \text{there exists } n \in \operatorname{dom}(p) \text{ such that } p(n) \neq x(n)\}.
\end{align*}
Since $x \in M$ and $\mathbb{P} \in M$, the set $E_x$ is definable in $M$ from $x$ and $\mathbb{P}$, hence $E_x \in M$.
We prove that $E_x$ is dense in $\mathbb{P}$. Let $p \in \mathbb{P}$. If $p \in E_x$, there is nothing to prove. Otherwise, because $p$ is finite and $\omega$ is infinite, choose $n \in \omega \setminus \operatorname{dom}(p)$. Since $M$ is transitive and satisfies ZFC, $\omega^M = \omega$, so this chosen $n$ is an element of $M$. Define $i \in 2$ by
\begin{align*}
i = 1 - x(n).
\end{align*}
Since $x(n) \in 2 = \{0,1\}$, we have $i \in 2$ and $i \neq x(n)$. Define
\begin{align*}
q = p \cup \{(n,i)\}.
\end{align*}
The parameters $p$, $n$, and $i$ belong to $M$, and $M$ is closed under finite set operations, so $q \in M$. Also $q$ is a finite partial function from $\omega$ to $2$, hence $q \in \mathbb{P} = \operatorname{Add}(\omega,1)^M$. Moreover $q \leq p$ and $q \in E_x$. Thus $E_x$ is dense in $\mathbb{P}$.
By $M$-genericity of $G$, there exists $p_x \in G \cap E_x$. Choose $n_x \in \operatorname{dom}(p_x)$ such that $p_x(n_x) \neq x(n_x)$. Since $p_x \subseteq c_G$, we have
\begin{align*}
c_G(n_x) = p_x(n_x) \neq x(n_x).
\end{align*}
Therefore $c_G \neq x$.
[guided]
Let $2^\omega$ denote the set of all functions from $\omega$ to $2$. To prove that $c_G$ is not a real from the ground model, it is enough to show that it differs from each fixed $x \in 2^\omega \cap M$. For such an $x$, we build a dense set of conditions that already commit to disagreeing with $x$ at some coordinate.
Define
\begin{align*}
E_x := \{p \in \mathbb{P} : \text{there exists } n \in \operatorname{dom}(p) \text{ such that } p(n) \neq x(n)\}.
\end{align*}
This set lies in $M$ because $x$ and $\mathbb{P}$ lie in $M$, and the defining condition only quantifies over natural numbers and finite functions.
Now we verify density. Let $p \in \mathbb{P}$ be arbitrary. If $p$ already disagrees with $x$ somewhere in its domain, then $p \in E_x$. If not, we extend $p$ by adding a new coordinate. Since $p$ is finite and $\omega$ is infinite, there exists $n \in \omega \setminus \operatorname{dom}(p)$. Because $M$ is transitive and satisfies ZFC, its natural numbers are the true natural numbers, so $\omega^M = \omega$ and this chosen $n$ belongs to $M$. Define $i := 1 - x(n)$. Because $x(n)$ is either $0$ or $1$, the value $i$ is again an element of $2$ and satisfies $i \neq x(n)$. Let
\begin{align*}
q = p \cup \{(n,i)\}.
\end{align*}
The parameters $p$, $n$, and $i$ are in $M$, and $M$ is closed under finite set operations, so $q \in M$. The set $q$ is also a finite partial function from $\omega$ to $2$, hence $q \in \mathbb{P} = \operatorname{Add}(\omega,1)^M$. It extends $p$, hence $q \leq p$, and it disagrees with $x$ at $n$, so $q \in E_x$. This proves that $E_x$ is dense.
Since $G$ is $M$-generic, it meets every [dense subset](/page/Dense%20Subset) of $\mathbb{P}$ that belongs to $M$. Therefore choose $p_x \in G \cap E_x$. By the definition of $E_x$, there is some $n_x \in \operatorname{dom}(p_x)$ with $p_x(n_x) \neq x(n_x)$. Because $p_x$ is one of the functions whose union is $c_G$, we have $p_x \subseteq c_G$, and hence
\begin{align*}
c_G(n_x) = p_x(n_x) \neq x(n_x).
\end{align*}
Thus $c_G$ and $x$ differ at the coordinate $n_x$, so $c_G \neq x$.
[/guided]
[/step]
[step:Conclude that the Cohen real is new]
The previous step shows that for every $x \in 2^\omega \cap M$, one has $c_G \neq x$. Since the earlier steps showed $c_G: \omega \to 2$, if $c_G \in M$, then $c_G \in 2^\omega \cap M$, contradicting the previous sentence with $x=c_G$. Therefore $c_G \notin M$. Combining this with $c_G \in M[G]$ proves the theorem.
[/step]