Complete Theorem Let $\mathcal{L}$ be a language with the constants ${a_1},{a_2}$ and the single parameter operation $F$. Looking at the set $\Gamma=\{ \psi,\chi,\eta \}\cup\{\phi_n|n\ge1\}$ where
$\psi=\forall{x}(x\ne{F(x)})$,$\chi=\forall{x}(x={F(F(x))})$,
$\eta=F(a_1)=a_2$ and for every natural number n $\phi_n$ means that there are at least n different items that are not equal to $a_1$ or $a_2$. Prove that $Th(\Gamma)$ is complete.
I want to show that the theory is $\aleph_0$ categorical and for that I want to show that the set $\Gamma$ is categorical. I had no problem showing that the set is consistent but I have a problem showing that every two models of it are isomorphic because I'm having trouble finding a way to separate the elements of the world of the set into 2 sets to show that a bijective function from one model to another is an isomorphism
 A: The following is essentially what spaceisdarkgreen wrote in the comments, except at greater length.
Let $\mathfrak{C}$ and $\mathfrak{D}$ be two countable structures satisfying $\Gamma$. Note on notation: $F^\mathfrak{C}$ is the interpretation of $F$ in $\mathfrak{C}$, and $C$ is the universe of $\mathfrak{C}$. Similarly for $a_1^\mathfrak{D}$ and so on.
Note first that $F^\mathfrak{C}$ is injective. For suppose $F^\mathfrak{C}(x) = y$ and $F^\mathfrak{C}(z) = y$. Then because $\mathfrak{C} \models \chi$ we have $$x = F^\mathfrak{C}(F^\mathfrak{C}(x)) = F^\mathfrak{C}(y) = F^\mathfrak{C}(F^\mathfrak{C}(z)) = z.$$
If $c \in C$, define $[c] := \{c, F^\mathfrak{C}(c)\}$. Because $\mathfrak{C} \models \psi$, we know that $[c]$ has exactly two elements for all $c \in C$. Now if $x \in [c]$ and $x \in [c']$, then one of the following is true:
\begin{align}
c = \;&x = c' \\
c = \;&x = F^\mathfrak{C}(c') \\
c' = \;&x = F^\mathfrak{C}(c) \\
F^\mathfrak{C}(c) = \;&x = F^\mathfrak{C}(c')
\end{align}
It is easy to convince oneself that $[c] = [c']$ in all four cases. (The fourth is why we showed $F^\mathfrak{C}$ is injective.) Therefore: if $c,c' \in C$ and $[c] \cap [c'] \neq \emptyset$, then $[c]=[c']$. And obviously $c \in [c]$ for all $c \in C$. We conclude that $S_C = \{[c]:c \in C\}$ is a partition of $C$. 
That's the part you seemed to be having problems with. The rest, briefly: define a partition of $D$ the exact same way, calling it $S_D$. Pick any bijection between $S_D$ and $S_C$ which sends $[a_1^\mathfrak{C}]$ to $[a_1^\mathfrak{D}]$ (at least one exists, since the partitions are both countably infinite) and call it $g$. Well-order $C$ and $D$ so that the relevant interpretation of $a_1$ is the least element in both orderings. When $c \in C$ and $d \in D$ and $g([c]) = [d]$, let $f_c$ be the order-preserving bijection between $[c]$ and $[d]$. (We want $f_c$ to be independent of the choice of representative for $[c]$, hence the orderings. There's probably a better way, but this is the first one that occurred to me.) Now it is fairly easily verified that $$f := \bigcup_{c \in C}f_c$$ is an isomorphism between $\mathfrak{C}$ and $\mathfrak{D}$.
