# Does a finite first-order theory which has a model always have a finite model?

I'm curious whether this is true or not:

Let T be a finite, first-order theory. If T has a model, then T has a finite model.

I would assume the answer is 'yes', but I wanted to make sure I haven't missed something obvious. The reason I believe this to be the case is that according to my understanding of the Lowenheim-Skolem theorem, the only way a countable first-order theory can 'force' a size onto its potential models is by including a countable number of constants which the model must have representations for. Therefore, if the theory is finite, then the number of constants it can 'force' to exist must also be finite, thereby ensuring the existence of a finite model (assuming any model can exist at all). Is anything wrong with my reasoning (apart from its relative informality)?

Noah and Brian have given one of the canonical examples of a finitely axiomatizable theory with no finite model (their examples are essentially the same). I'll give the other - it shows that this behavior is possible even in a relational language without definable functions, so thinking about constant symbols and terms is a red herring (unless you think about Skolemization, as Noah says).

Let $L$ be the language consisting of a single binary relation symbol $\leq$, and let $T$ be the theory asserting that $\leq$ is a non-empty linear order with no greatest element. That is, $T$ contains the three linear order axioms, together with the sentences $\forall x\, \exists y\, (x\leq y\land \lnot (x = y))$ and $\exists x\, x = x$ (to rule out the empty structure, if your semantics for first-order logic allows it).

So it's not true that every finitely axiomatizable theory has a finite model. In fact, the problem of determining whether a given theory has a finite model is undecidable in general. This is known as Trakhtenbrot's theorem.

Time for a tangent: If your guess were correct, and every finitely axiomatizable first-order theory had a finite model, then in fact the decision problem for first-order logic would be decidable. That is, one could write a computer program that takes as input a first-order sentence $\varphi$ and outputs "yes" or "no" according to whether $\varphi$ has a model. This program would start enumerating the finite $L$-structures and checking whether they are models of $\varphi$, while simultaneously searching for proofs of $\lnot \varphi$. If $\varphi$ has no model, a proof of $\lnot\varphi$ will eventually be found (by the completeness theorem), while if $\varphi$ has a model, a finite model will eventually be found.

Of course, the decision problem for first-order logic is well-known to be undecidable. But there are classes of first-order sentences (e.g. in a relational language the universal sentences $\forall \overline{x}\, \varphi(\overline{x})$ with $\varphi$ quantifier-free) which do have the finite model property (if they have a model, then they have a finite model) and hence these classes are decidable by the argument above.

• Note that this is a really different example than the one Brian and I give - in this example, there are no terms or even (nontrivial) definable functions! Here is one case where you really need to look at the Skolemized language for the infinitely many constants to appear. (Also +1 for Trakhtenbrot.) Jan 26, 2016 at 1:56
• Pedantic quibble: Also insert the axiom $\exists x$, so that the empty order is not a model of your theory. Jan 26, 2016 at 19:12
• @NoahSchweber I see you are right; there is a discussion here math.stackexchange.com/questions/45198/… . My sympathies are entirely with Qiaochu -- not allowing the empty model is singularly dumb, and seems to be related to logicians habit of allowing a formula with unbound variables to be called "true" or "false". But I see now that I am being nonstandard here, and I hadn't realized that before, so thanks! Jan 27, 2016 at 1:49
• @DavidSpeyer: Just because it isn't your preference doesn't mean that disallowing empty models is dumb. It may look like it works fine in model theory, but it greatly complicates logic and proof theory. As an aside: I have never encountered a logician who use the terms true or false of formulas with free variables (and have been grateful to logicians who have carefully helped me to correct my misuse of those terms). Jan 31, 2016 at 0:06
• @RobArthan If you have a strong argument for banning empty models, I'd encourage you to put it over on math.stackexchange.com/questions/45198 ; the answers there, including one by JDH, suggest that this is very much a technicality where you could go either way. Jan 31, 2016 at 1:06

No, this is incorrect. In the language consisting of a single unary function symbol $f$, consider the following statements about $f$:

• $f$ is injective.

• $f$ is not surjective.

It is a good exercise to show that these can be written as first-order sentences; but any model of the conjunction of these sentences must be infinite.

The point is that the "constants" you mention are not just things named by constant symbols, but also terms (actually, even broader than this - constant symbols in the larger, "Skolemized" language - but for now it's enough to consider terms). Even a finite language can have infinitely many terms.

• I think you mean any non-empty model; otherwise the empty set and empty function for f make the axioms vacuously true, and the model is finite. The answer below, of Brian Scott, side-steps this by requesting a constant up-front and explicitly formalizing the injective but non-surjective function symbol. Dec 9, 2017 at 3:28
• @MusaAl-hassy The usual semantics for first-order logic rules out empty structures. While this is ultimately a matter of convention, this is the convention I follow since (in my experience) it is held most widely in model theory. Dec 9, 2017 at 3:30
• I assumed as much, but thought it might be helpful to point out such a technicality -- On an unrelated matter, I have a fear of working in theories that might have only empty models. Dec 9, 2017 at 3:32
• @MusaAl-hassy When in doubt you can add the axiom "$\exists x(x=x)$" to whatever theory you're looking at - then it either has a nonempty model or it's inconsistent even for the empty-model-allowing semantics. Dec 9, 2017 at 3:44

Take a theory with one unary function symbol $f$, one constant symbol $a$, and axioms

\begin{align*} &\forall x\Big(\big(\exists y\big(f(y)=x\big)\leftrightarrow x\ne a\Big)\;,\text{ and}\\ &\forall x\,\forall y\big(f(x)=f(y)\to x=y\big)\;. \end{align*}

For intuition, think of $\Bbb N$, $0$, and the successor function.

Let the language contain a single binary predicate symbol, to be interpreted as "less than."

Consider the theory $T$ with the following axioms:

1) There are at least two objects.

2) The relation $L$ is a strict total order.

3) For any $x$ and $y$ such that $L(x,y)$, there exists a $t$ such that $L(x,t)$ and $L(t,y)$.

Then all models of $T$ are infinite. This is the theory of dense linear order. It has nice model-theoretic properties. Cantor proved that any countable densely ordered set with no first or last element is order-isomorphic to the rationals under the usual order. Similarly, a countable densely ordered set with first element and no last is order isomorphic to the rationals in $[0,1)$, with similar results for the other two possibilities.

• Or more simply, the theory of a linear order with no greatest element.
– bof
Jan 26, 2016 at 2:09
• I like dense linear order because the Cantor proof is the genesis of back-and-forth arguments, and because completeness, decidability have simple proofs. Jan 26, 2016 at 2:12
• Is there something missing from the axioms for Cantor's result to hold? Because $<$ on $\Bbb Q \cap [0,1]$ satisfies all the axioms, but is not order-isomorphic to $\Bbb Q$. Jan 26, 2016 at 14:22
• @PaulSinclair: Thank you, somehow I left out the no first or last condition. Have edited. Jan 26, 2016 at 16:39

All the examples so far make use of the equality symbol $=$. In some areas of logic (broadly construed) one often considers first-order languages without the equality symbol that's always interpreted as the true equality. But one can construct a finite theory $T_0$ that doesn't mention equality such that $T_0$ does not have a finite model.

Take $T$ as in one of the other answers. Then let $T_0$ be the theory obtained by:

1. replacing each $=$ by $\equiv$, a new symbol
2. adding the sentences that says $\equiv$ is an equivalent relation and
3. for each other symbol occurring in $T$ (there are finitely many of them), adding the sentence that says the symbol is compatible with (the equivalence relation) $\equiv$.

Suppose $T_0$ had a finite model $M$. Then the quotient $M/\equiv^M$ of $M$ by the interpretation of $\equiv$ is a model of the original theory $T$. But $M/\equiv^M$ is also finite, a contradiction.

Here's a very simple example, which requires only one binary relation and equality.

A binary relation can be seen as the edge relation of a graph, so take the theory of the sentence "there is exactly one vertex of degree exactly one, and every other vertex has degree exactly two".

There is a model: you put one vertex of degree one, that you need to connect to a vertex of degree 2, which must be connected to a vertex of degree two, etc. Then you can easily check that there is no finite model to this theory.

• This is basically identical to Brian's answer. (Specifically, it's a reduct: Given the theory $T$ that Brian describes, we can define a relation $E$ as "$E(x, y)$ iff $f(x)=y$ or $f(y)=x$." The resulting structure is a model of the theory you describe. Note that you can't go the other way around: any model of Brian's example reduces in a natural way to a model of your example, whereas given a model of your example there can be many ways to interpret it as a model of Brian's example.) Jan 29, 2016 at 22:18
• @NoahSchweber Yes, I posted this answer just to emphasize that you don't need functions symbols and still have a very short description for the theory. Jan 29, 2016 at 22:25

I'll try to give one more interesting example. Consider only the axioms of the empty set and pairing from ZFC. Is there an infinite model? Assume there is a finite model. Then we can build a matrix M(n,n) for our relation, s.t. (a) there is a zero-column in M and (b) for each element x of our model there is a column with exactly one 1 corresponding to x. Thus, M contains at least n+1 column which gives a contradiction.

• Sometimes questions make more sence than affirmations Aug 10, 2019 at 20:57