Solution (source code)

= Solution

The real <vector space> of <symmetric matrices> has <dimension> $N=n(n+1)/2$. By the <conic Carathéodory theorem>, every member of $C_0$ is a <conic combination> of at most $N$ generators. Absorb each nonnegative <coefficient> into its <vector> through $\lambda xx^T=(\sqrt\lambda x)(\sqrt\lambda x)^T$.

If $B_\ell\in C_0$ converges to $B$, write, padding with zero <vectors> if necessary,
$$
B_\ell=\sum_{j=1}^N x_{\ell j}x_{\ell j}^T,\qquad x_{\ell j}\geq0.
$$
The <matrix trace> satisfies
$$
\operatorname{tr}B_\ell=\sum_{j=1}^N\|x_{\ell j}\|_2^2.
$$
The left side is bounded because $B_\ell$ converges. Thus the finite tuple $(x_{\ell1},\ldots,x_{\ell N})$ is bounded. The <Bolzano-Weierstrass theorem> gives a subsequence on which every <vector> converges, say $x_{\ell j}\to x_j\geq0$. <Continuity> of the <outer product> now gives $B=\sum_{j=1}^N x_jx_j^T\in C_0$. Hence
$$
\boxed{C_0\text{ is closed},\qquad K^*=C=C_0}.
$$
This proves <closedness of the completely positive cone>. The uniform bound on the number of factors and the <matrix trace> bound are both essential: an arbitrary <conic hull> of a closed generating set need not be closed.