[Math] Complete first order theory with finite model is categorical

elementary-set-theorymodel-theory

I am trying to prove that if $T$ is a complete first order theory that has a finite model then it has exactly one model up to isomorphism. To this end, I assumed that $T$ is complete with a finite model $M_n$. Then I assumed that $M_m$ was another model of size $m \geq n$. We know that if a theory has two finite models with different cardinalities then the theory is incomplete hence $m = n$. Now two things remain to be shown: one is that any two models of finite size $n$ are isomorphic and the other is that every infinite model is also isomorphic to this finite model (is this even possible? but we clearly need to do something about the infinite case)

Thanks for helping me finish this proof. For the record: this is an exercise in Just/Weese, page 84.

Edit

I'm looking for a sentence $\varphi$ such that if $M_n \models \varphi$ then $M_n \cong M_m$. There are no assumptions on the language. But I think it's not possible to have a finite model for an infinite language so the language must be finite.

Edit 2

After some more thinking, if there is a finite model $M$ of size $n$, let $$ \varphi = \exists v_1, \dots , v_n ((v_1 \neq v_2) \land \dots \land (v_{n-1} \neq v_n)) \land \lnot \exists v_{n+1} ((v_{n+1} \neq v_1) \land \dots \land (v_{n+1} \neq v_n))$$
that is, $\varphi$ says that the model has exactly $n$ elements. Since $T$ is complete, either $\varphi$ or $\lnot \varphi$ is provable from $T$. Since we have a model in which $\varphi$ is true we therefore know that $T \vdash \varphi$. Hence any model of $T$ must have exactly $n$ elements.

Now the question is, how do I show that any two $n$-element models of $T$ must be isomorphic?

Best Answer

Here is an alternative way of looking at tomasz's answer. I realized after thinking it up that my method based on compactness is basically his method, so I just typed this up as a community wiki answer.

Suppose that $N$ and $M$ are two models of $T$. We know they both have size $n$, and we want to make an isomorphism between them.

For any finite sublanguage $L$, if we let $N^L$ and $M^L$ be the reducts of those structures to the language $L$, then $N^L \cong M^L$. This is because, for a finite language, we can encode the entire atomic diagram of $M^L$ as a single purely existential sentence. For example, if $L$ has a single binary relation symbol $R$, and $|M|$ has two elements, the sentence might be $$ (\exists x_1)(\exists x_2)[ (x_1 \not = x_2) \land Rx_1x_2 \land \lnot Rx_1x_1 \land Rx_2x_2 \land \lnot Rx_2x_1] $$ depending on how $R$ is interpreted in $M$. Since $T$ is complete and $M$ satisfies this sentence, both $M^L$ and $N^L$ satisfy this sentence, so we can form the isomorphism between them by just finding the sequence $(x_1, x_2)$ in each model that works, and then sending $x_1^M$ to $x_1^N$ and $x_2^M$ to $x_2^M$. The same thing can be done for any finite language. There will be $n$ quantifiers when $|M| = n$, and there will be many, many clauses, depending on how many symbols are in the finite language and on their arities.

Now assume for a contradiction that $N \not \cong M$ in the original language of $T$. Then for every bijection $f\colon |M| \to |N|$, there is some finite sublanguage $L_f$ such that $f$ is not an isomorphism between $M^{L_f}$ and $N^{L_f}$. Let $L'$ be the union of the languages $L_f$ over all bijections $f$ from $|M|$ to $|N|$. Then $L'$ is a finite language, because there are only finitely many of those bijections. Thus there is some isomorphism from $M^{L'}$ to $N^{L'}$ from above. But we chose $L'$ so that no bijection from $|M|$ to $|N|$ is such an isomorphism, which is a contradiction. Hence $N \cong M$ as desired.

Related Question