Complete theory with no atomic model

I'm stuck on the following problem. This is an old qualifying exam and a new homework question. So I need just a hint to think on it.

Let $$T$$ be complete theory in a countable language $$\mathcal{L}$$ with no atomic models. Let $$\mathfrak{A}\vDash T$$ be countable model. Prove that there is a countable model $$\mathfrak{B}\vDash T$$ such that neither $$\mathfrak{A}$$ nor $$\mathfrak{B}$$ can be elementarily embedded into the other.

One can deduce $$T$$ has no prime model, and the isolated types in $$S_n(T)$$ is not dense for some $$n$$. Also since $$\mathfrak{A}$$ is not atomic, it realizes a non-principal type $$p$$. So we can construct a model $$\mathfrak{B}$$ omitting $$p$$. However, this gives only that $$\mathfrak{A}$$ cannot be elementarily embedded into $$\mathfrak{B}$$. How can improve this idea? Or is there another way to prove this?

Let $$p$$ be a non-isolated type which is omitted in $$\mathfrak{A}$$, and let $$q$$ be a non-isolated type which is realized in $$\mathfrak{A}$$. If we could find $$\mathfrak{B}$$ realizing $$p$$ and omitting $$q$$, we'd be done. Unfortunately, this strategy may not work directly: for some pairs of non-isolated types $$p$$ and $$q$$, every model which realizes $$p$$ also realizes $$q$$.

So here's a different strategy. (I've edited this answer to provide a better hint that leads to a more direct solution than my previous answer.)

Let $$\mathfrak{A}\models T$$ be a countable model. Since $$\mathfrak{A}$$ is countable, there are only countably many non-isolated types realized in $$\mathfrak{A}$$, so we can apply the omitting types theorem to obtain a model $$\mathfrak{B}$$ omitting all of them. Since $$T$$ has no atomic models, $$\mathfrak{B}$$ is not atomic. Now show that $$\mathfrak{B}$$ omits some type realized in $$\mathfrak{A}$$ and $$\mathfrak{B}$$ realizes some type omitted in $$\mathfrak{A}$$.

EDIT: This misses an important subtlety, see Alex Kruckman's answer below. I'll delete this once it's unaccepted.

Besides the non-principal type $$p$$ realized in $$\mathfrak{A}$$, there also must be a type $$q$$ (neccessarily non-principal) which is not realized in $$\mathfrak{A}$$ since $$\mathfrak{A}$$ is countable. Now we'll be done if we can whip up a model $$\mathfrak{B}$$ which realizes $$q$$ but omits $$p$$ (if it's not countable, take a countable elementary substructure containing a witness to $$q$$). This isn't something that the usual statement of the omitting types theorem will do for us, but the proof of the omitting types theorem extends to solve this problem too (we combine omitting $$p$$ with realizing $$q$$).

• You mean "take a countable elementary substructure containing a witness to $q$, not $p$, right? Dec 7 '20 at 6:26
• @Elif Yes, good catch. (They look too similar!) Dec 7 '20 at 6:27
• Thanks, actually my classmate recommended the same but modifying the proof is not obvious for me. I will study more on it. Dec 7 '20 at 6:28
• Careful though: not just any pair $p$ and $q$ will work, since it could be that every model realizing $q$ also realizes $p$. This happens when $p$ is contained in a complete $L(c)$-type which is isolated relative to the complete $L(c)$-theory $T\cup q(c)$. Dec 7 '20 at 14:55
• @AlexKruckman Good point, I was too quick. Dec 7 '20 at 21:23