For $n$ an integer greater than $2$, Can one always get a complete theory over a finite language with exactly $n$ models (up to isomorphism)?


There’s a theorem that says that $2$ is impossible.


My understanding is this should be doable in a finite language, but I don’t know how.


If you switch to a countable language, then you can do it as follows. To get $3$ models, take the theory of unbounded dense linear orderings together with a sequence of increasing constants $\langle c\_i: i < \omega\rangle$. Then the $c\_i$’s can either have no upper bound, an upper bound but no sup, or have a sup. This gives exactly $3$ models. To get a number bigger than $3$, we include a way to color all elements, and require that each color is unbounded and dense. (The $c\_i$’s can be whatever color you like.) Then, we get one model for each color of the sup plus the two sup-less models.



Complete theory with exactly n countable models?
You can refine Ehrenfeucht’s example getting rid of the constants. 


Here is what John Baldwin suggested:


Consider the theory in the language $L=\{\le\}$, saying


* $\le$ is a total preorder (transitive, total [hence reflexive], not necessarily anti-symmetric) without least or last element. (Notice that the binary relation defined by $x\le y \land y\le x$ is an equivalence relation. Call it $E$.)
* For each $n$, $E$ has exactly one class of size $n$. Call it $C\_n$.
* $C\_i\le C\_j$ (for $i\le j$) setwise.
* $E$-classes are densely ordered: for any two points there is a point $\le$-between them and not $E$-equivalent to any of them.


Check that this theory is complete. 


Note that each finite equivalence class in this new theory plays the role of one of the constants in the classical example, so you get three countable models the same way.


