Using Compactness to find a non-constructible set $\newcommand{\ZFC}{\mathit{ZFC}}$I was trying to explain the first ideas of forcing to a friend and I recalled the construction of a model of non-standard arithmetic by using compactness. It is clear that if you start with a countable transitive model (ctm) $M$ of $\ZFC$, take the theory of $M$, add a constant $c$ to the language and do  the same trick, you end up with another model (not transitive, not well founded) with a new element denoted by $c$.
My question is,

Why doesn't this construction provide a way to
  
  obtain a non-constructible set? Or to violate $CH$?

Put it in another, more honest form:

Why do I need to develop forcing to prove such an independence result?

Some thoughts on this:


*

*I (believe I) understand the argument that if you live in the minimal model, there might not be any ctm of $\ZFC$.

*It is the same for me if we assume an inaccessible in the discussion (hence we would have many ctms). Anyway, the point is to obtain another model, not necessarily a transitive one.

*I know that using compactness and ultraproducts is almost the same, and I know that a measurable cardinal implies $V\neq L$ by its link to ultraproducts, so perhaps under this assumption an “elementary” compactness argument might do the trick, at least for constructibility.


In any case, I would like to know where this obvious “add a new element $c$” compactness argument breaks in the first place.
 A: Let's go through the usual argument compactness is used for.
We add a constant $c$, and we claim something like $c>1$ and $c>1+1$ and $c>1+1+1$ and so on. Then every finitely many axioms will be satisfied in our "usual structure", so it is consistent that $c>n$ for all $n\in\Bbb N$.
But what happens when you try that in a model of $\sf ZFC+\it V=L$? First of all, who tells you that you can find "enough" definable elements like $1+1+1+1$ and the likes of it? Sure, you might be able to make some argument that your model is pointwise definable, so you just add $\lnot\varphi(c)$ for all the definitions.
But at no point you contradict $V=L$. You just assert that $c$ will be interpret as a non-standard element, or rather an externally non-well founded set.
This is even clearer when you think about ultraproducts. If you take an ultraproduct of models satisfying $V=L$, the result will always satisfy $V=L$. This is Los' theorem.
With forcing this is not only easier to do directly, but you gain the ability to preserve niceties of your model. Meaning you don't add ordinals to transitive models. That's great! And compactness has no chance doing that.
