The following is a theorem by Vaught.
Theorem. Let $T$ be a complete theory in a countable language. Then, $T$ cannot have exactly two countably infinite models (up to isomorphism).
A proof can be found at [Tent-Ziegler, A Course in Model Theory, Theorem 4.3.10].
Does the theorem still hold in an uncountable language? That is:
Question. Let $T$ be a complete theory in an uncountable language. Can $T$ have exactly two countably infinite models?
Any help would be appreciated. Thank you.
Yes, this is possible. I'll describe an uncountable language $\mathcal L$ and two non-isomorphic elementarily equivalent countable $\mathcal L$-structures $M_0,M_1$ such that any other elementarily equivalent countable structure is isomorphic to one of these. The idea is that $M_0$ encodes the set of all subsets of $\mathbb N$ of even order, and $M_1$ encodes the set of all subsets of $\mathbb N$ of odd order, but the language doesn't distinguish which is which.
Fix a family of subsets $\mathcal I\subseteq\mathcal P(\mathbb N)$ such that every finite union of sets in $\mathcal I$ has infinite complement in $\mathbb N,$ but every infinite subset of $\mathbb N$ has infinite intersection with some element of $\mathcal I.$ For example, take the sets of zero upper density.
I'll describe $\mathcal L$ along with its interpretations in the structures $M_i.$ The language has unary relations that divide the universe into three sorts of things: people (or "choice functions"), socks, and natural numbers. In $M_i$ the people are symbols $p_X$ for finite subsets $X\subset\mathbb N$ of cardinality equal to $i$ modulo $2,$ the socks are symbols $s_{0,n}$ and $s_{1,n}$ for each $n,$ and the natural numbers are themselves. The language also has:
For any countable $\mathcal L$-structure $M$ elementarily equivalent to $M_0,$ we can identify the natural numbers of $M$ with $\mathbb N,$ we can recover all the $s_{j,n},$ and each person $p\in |M|$ can be identified with $p_X$ where $X=X(p,M)=\{n:C^M(p,s_{1,n})\}.$ Define $\mathcal X(M)=\{X(p,M):\text{person }p\in |M|\}.$
Each $X\in\mathcal X(M)$ is finite. Suppose not; there exists $I\in\mathcal I$ whose intersection with $X$ is infinite, and $p_X$ doesn't eventually agree with $G_I,$ but since $M\equiv M_0,$ we know that for all people $p$ there exists a natural number $n_0$ such that for all socks $s$ and all $n>n_0$ we have $(S(s,n)\wedge G_I(s))\implies C(p,s).$
Again using $M\equiv M_0,$ the set $\mathcal X(M)$ is non-empty, closed under the operation $X\mapsto X\Delta Y$ where $Y$ is any set of cardinality two, and doesn't contain two sets that differ by exactly one element. Therefore $\mathcal X(M)$ is either the set of all sets of even orders, or the set of all sets of odd order. This means $M$ is isomorphic to $M_0$ or $M_1$ - the whole model is uniquely specified.
The last step is to check that $M_0$ and $M_1$ are elementarily equivalent. Take a formula $\phi$ with $M_0\models \phi.$ It is in a finite language $\mathcal L'\subseteq \mathcal L.$ There exists $n$ such that $s_{0,n},s_{1,n}\not\in \mathcal L'$ and $n\not\in I$ for any $G_I\in\mathcal L'.$ The $\mathcal L'$-reducts of $M_0$ and $M_1$ are isomorphic under the bijection that swaps $s_{0,n}\leftrightarrow s_{1,n}$ and swaps $p_X\leftrightarrow p_{X\Delta \{n\}}$ for each $X.$ Hence $M_1\models \phi.$
So $\operatorname{Th}(M_0)$ does the job.