Solution (source code)

= Solution
{c}

Assume $M$ satisfies the <countable chain condition for forcing>. We prove <cardinal preservation by chain-condition forcing> using the <possible-values lemma for chain-condition forcing>, and give the argument explicitly for ccc.

Let $\kappa$ be an uncountable cardinal of $M$. If it ceased to be a cardinal, some ordinal $\mu<\kappa$ would admit a surjection onto $\kappa$ in an extension. By the <forcing theorem>, there would be a condition $p$ and a <forcing name> $\dot f$ such that
$$
p\Vdash\dot f:\check\mu\twoheadrightarrow\check\kappa.
$$
Inside $M$, for each $\xi<\mu$ choose a maximal <antichain in a forcing order> below $p$ deciding the ordinal value of $\dot f(\xi)$. Conditions deciding that value are dense below $p$. The chain condition makes the chosen antichain countable in $M$, so the corresponding set $B_\xi\subseteq\kappa$ of possible decided values is countable in $M$.

A <generic filter> containing $p$ meets the downward closure of every such maximal antichain, so its value $f(\xi)$ belongs to $B_\xi$. Therefore its whole range lies in the ground-model set
$$
B=\bigcup_{\xi<\mu}B_\xi,\qquad |B|^M\leq|\mu|^M\cdot\aleph_0<\kappa.
$$
The last inequality is <infinite cardinal arithmetic> and uses only that $\kappa$ is uncountable and $\mu<\kappa$; no regularity of $\kappa$ is needed. Some ordinal in $\kappa\setminus B$ exists already in $M$ and cannot occur in the range, contradicting the forced surjectivity.

Finite cardinals cannot collapse, and $\omega$ cannot become finite: a finite domain has finite image, and transitive models agree on the <natural numbers>. Old non-cardinals cannot become cardinals because their old bijections persist. Thus
$$
\boxed{\mathbb P\text{ is ccc in }M\quad\Longrightarrow\quad\operatorname{Card}^{M[G]}=\operatorname{Card}^{M}.}
$$