How do models determine truth values if the external theory is incomplete? I'm currently learning model theory from Chang and Kiesler's Model Theory: 3rd edition. Something about the basic relationship between syntax and semantics is troubling me.
The book describes languages and their syntax as a kind of system for formulating sentences about "the world" and deducing which sentences are necessarily true, while leaving many more sentences "undecided". However, when a model is presented, as a kind of "possible world" which could be described by the language, all of the truth values of the given sentences are determined. When we just had the language, we can only determine truth values of some sentences, but when we have the model, we have truth values for all sentences. (It's as if we have become omniscient by looking at the model "from the outside".)
But I have an issue with the idea that specifying a model "collapses" all sentences into being either true or false. If our model is constructed inside of an incomplete theory like ZFC (which is the norm), then it is not the case that all statements in the outer model are decidably true or false. So why should specifying a model of some language (in ZFC) "magically" determine the truth values of all sentences, when not all truth values of statements in ZFC are decidable? For instance, what if the sentence "the sentence $\varphi$ over the language $\mathscr{L}$ is true in the model $\mathfrak{A}$" is an undecidable sentence of ZFC? We might even have sentences whose decidability is undecidable - yeesh!
Am I missing something, or are we pulling some truth values out of thin air? Is this a known/studied issue? If so, where can I find more information about it?
 A: The word "truth" is a bit loaded. One might be inclined to think of it as some sort of platonic ideal of a truth that is really out there in the universe.
But mathematically speaking, truth is relative to a structure. And something is, or it isn't. At least assuming classical logic is involved (which I will do, and stop mentioning it further down the line).
Truth need not be computable, it need not agree with its meta-theory, and it is simply a straightforward theorem of $\sf ZF$, and in fact a lot less, that something is true or false, given a structure. If that's not the case, let $\varphi$ be a statement of minimal rank (in the sense of its construction from atomic formulas) with a suitable assignment to the variables, and then verify to see that it has to be that $\varphi$ is either true or false.
Even more is true here, this time in a more platonic sense. Given a universe of $\sf ZFC$, just because we cannot prove whether or not $\sf CH$ holds, or $\sf MA$ holds, or there is or isn't a measurable cardinal, these things are still statements that are either true or false in that given universe. It is simply the case that you might not be able to determine that from just assuming that $\sf ZFC$ holds.
This, of course, will have implications. If I were to tell you, for example, that $M$ is an elementary submodel of the universe, then they will, in particular, have the same theory. This is of course consistent, and the universe, as a whole, will "know" what is the theory of $M$, with it being a set inside of it. But it will not know that $M$ is an elementary submodel of itself, for that we need to step to an even larger universe instead.
There is no problem here. The universe knows all that there is to know about the sets it contains. It is us who might be missing key information, but what we are not missing is that the universe knows the truth of its structures.
A: What you're asking about is certainly a thing, but it's not an issue.
Fix a language $\mathcal{L}$, and a first-order theory $T$ in the language $\mathcal{L}$.

*

*It is a theorem of ZFC that for any model $\mathfrak{M}$ of $T$, and any $\mathcal{L}$-sentence $\varphi$, $(\mathfrak{M} \models \varphi) \vee (\mathfrak{M} \models \neg\varphi)$ holds.


*Unless $T$ is a complete theory (see 1.2.13 in the book), it is not a theorem of ZFC that for any $\mathcal{L}$-sentence $\varphi$, $(T \vdash \varphi) \vee (T \vdash \neg\varphi)$ holds.
These two observations are all we mean when we say that a model determines a truth value for all its sentences, whereas a theory does not.
For example, take $\mathcal{L}$ to be the usual language of groups, and $T$ to be the axioms of Group Theory. Then for the sentence $\varphi \equiv \forall x. \forall y. xy=yx$, both $T \vdash \varphi$ and $T \vdash \neg\varphi$ are false - and ZFC can of course prove this!
However, a model of $T$ is simply a group $G$: and every group is either Abelian (in which case $G \models \varphi$) or non-Abelian (in which case $G \models \neg \varphi$) - and again, ZFC does prove, straightforwardly, that every group is either Abelian or non-Abelian!
Now, this does not mean that for any fixed group $G$ ZFC can decide whether that group $G$ in particular is Abelian or not. On the contrary, we can construct a group $G$ such that ZFC cannot even decide if $G$ is trivial or not, much less decide whether $G \models \forall x. \forall y. xy=yx$. But while that might be an interesting meta-mathematical observation, it's not important at all for the purposes of model theory. Cf. We can define a number $n$ such that ZFC cannot decide whether $n = 0$ or not - but this is not an issue that prevents us from doing number theory.
