# Two homogenous structures realizing the same types are isomorphic

Let $M$ and $N$ be two countable, homogeneous structures, and assume that they both realize the same types with a finite number of variables. Does it follow that $M$ and $N$ are isomorphic? What if they are both uncountable, but of the same cardinality?

I can't really grasp the idea of homogeneous structures too well, yet. Some guidance and intuition on what that is would be welcome too.

I have a feeling this has something to do with $\omega$-saturation, and maybe the Ryll-Nardzewski Theorem, but I can't quite put the pieces together.

Edit: A comment, now deleted, suggested a back-and-forth method. Since that is usually the go-to method for proving isomorphisms of countable structures, I'm surprised I didn't think of it. I will try that now, but it seems like it might get complicated with so many functions going around (the ones used in the back-and-forth method itself, and the ones coming from homogeneity of both $M$ and $N$).

An elementary solution using back-and-forth method may be formulated as follows.

Take arbitrary two homogeneous, countable models $M,N$ realizing the same $n$-types without parameters, for all $n$. Enumerate $M,N$ as $a_n,b_n$, respectively.

We construct recursively an increasing sequence of partial isomorphisms $f_n\colon\{a_1,\ldots,a_n,b_1',\ldots,b_n'\}\to \{b_1,\ldots,b_n,a_1',\ldots,a_n'\}$ such that $f_n(a_j)=a_j'$ and $f_n(b_j')=b_j$, yielding an isomorphism $\bigcup_n f_n\colon M\to N$.

1. Firstly, we put $f_0=\emptyset$.
2. Suppose we have $f_n$. Choose an $2n+1$-tuple $(c_1,\ldots,c_{2n+1})$ in $N$ realizing the same type as $(a_1,\ldots,a_n,b_1',\ldots,b_n',a_{n+1})$ in $M$.
3. By homegeneity of $N$, there is an automorphism $\varphi$ of $N$ which takes $(c_1,\ldots,c_{2n})$ to $(b_1,\ldots,b_n,a_1',\ldots,a_n')$. Put $a_{n+1}'=\varphi(c_{2n+1})$, so we can extend $f_n$ to $f_n'\colon\{a_1,\ldots,a_n,a_{n+1},b_1',\ldots,b_n'\}\to\{b_1,\ldots,b_n,a_1',\ldots,a_n',a_{n+1}'\}$.
4. By the same method as in the previous step, we can find $b_{n+1}'\in M$ which will allow us to extend $f_n'$ to $f_{n+1}$ and we're done.

Edit:

I only now noticed the second question you've asked. Essentially the same argument can be used for homogeneous structures of the same cardinality, only we use instead transfinite recursion to construct $f$, and more care must be taken in step 2, that is, you need to show that for each cardinal $\kappa<\lvert M\rvert=\lvert N\rvert$, $M$ and $N$ realize the same $\emptyset$-types of $\kappa$ variables (not just for finite $\kappa$).

But to do this, notice that the a slight modification of the same argument shows that if two models are $\kappa$-homogeneous, and realize the same types of $<\kappa$ variables, then they realize the same types of $\kappa$ variables, so the above can be shown by simple induction. The technical details should be easy, if not, ask in a comment.