Theory $\mathcal{T}$ with predicate $P$ that is satisfied by countably many elements in every model of $\mathcal{T}$

compactnessfirst-order-logiclogicmodel-theory

By Löwenheim-Skolem, any first-order theory with some infinite model has models of any cardinality (as far as the language cardinality allows). So, it is a common pedagogical statement that "you cannot make sure your model is countable, if you are using first-order logic".

But, is it possible to make sure some specific subset of the model is countable?

Formally, can you name a first-order language $\mathcal{L}$ with equality and a unary predicate symbol $P$ (possibly among other symbols) and a theory $\mathcal{T}$, such that for every model $\mathfrak{M}\models\mathcal{T}$, the (meta-language) set $\{x\in|\mathfrak{M}| : P^\mathfrak{M}(x)\}$ is countable?

(Here, $|\mathfrak{M}|$ denotes the domain of $\mathfrak{M}$, and $P^\mathfrak{M}$ is $\mathfrak{M}$'s interpretation of $P$.)

Note 1. One common pitfall could be resorting to the incompleteness of "theories of natural numbers". But please note that the mentioned set does not need to have the usual structure of the natural numbers. Just let it be countable (although I would personally appreciate interesting properties on the subset).

Note 2. The answer is trivially no, if the theory is consistent with the sentence $\forall x. P(x)$, since adding it would result in a countable model, which is contradictory. So, the interesting case is when our theory cannot contain this sentence (or any other sentence in a similar spirit).

Best Answer

Assuming you meant countable as “countably infinite”, then no, with the same proof as the proof that the entire model cannot be restricted to being countable: Add to the language uncountably many constant symbols $\{c_i\}_{i \in I}$. Add to $\mathcal{T}$ axioms as follows: $\{c_i \neq c_j: i \neq j\} \cup \{P(c_i): i \in I\}$. Then any finite segment $\mathcal{S}$ of the extended theory $\mathcal{T}’$ will be satisfied any model of $\mathcal{T}$ in which $\{x: P(x)\}$ is infinite - just interpret $c_i$ s.t. $P(c_i)$ is true for all $i$ and $c_i \neq c_j$ whenever the axiom $c_i \neq c_j$ is in $\mathcal{S}$. Since $\mathcal{S}$ is finite and $\{x: P(x)\}$ is infinite, this can always be arranged. By compactness theorem, $\mathcal{T}’$ has a model $\mathfrak{M}$. Clearly, $\{x \in |\mathfrak{M}|: P^\mathfrak{M}(x)\}$ has cardinality at least that of $I$, which is uncountable.

The same argument shows, more generally, that if $\mathcal{T}$ either admits a model in which $\{x: P(x)\}$ is infinite, or admits models in which $\{x: P(x)\}$ has arbitrarily large finite cardinalities, then $\mathcal{T}$ admits a model in which $\{x: P(x)\}$ is uncountable - in fact, of as large a cardinality as you want. If you allow restraining $\{x: P(x)\}$ to always have at most $n$ elements for some natural number $n$ (independent of the model), though, this can certainly be arranged - you can simply add in an axiom stating at most $n$ elements satisfy $P$.

Related Question