FOL - If two models agree on every sentence are they isomorphic? 
Let $M,N$ be two models. If for every sentence $\varphi$, $M\models \varphi \iff N\models \varphi$ then they are isomorphic.

My intuition is that that the claim above is incorrect. 
While the other way around (if $M,N$ are isomorphic then $\varphi$ $M\models \varphi \iff N\models \varphi$) is correct and can be proven with an easy induction, I am not sure how to disprove the statement above.
If we limit ourselves to first order logic without the equality sign, I believe the example of two finite models over $\sigma = \{ R(\cdot) \}$ can be equivalent but not isomorphic, for example: $M = \{ \{0\},\emptyset\}, N=\{\{0,1\},\emptyset\}$ will satisfy such condition but are necessarily not isomorphic since they don't have the same cardinality. I believe that this can be shown by induction. Am I correct?
But, what about if we do work with logic with the equality sign?
We can't take two finite models with different cardinalities since they won't agree on the sentence "there exists exactly $n$ values in the domain" (with the appropriate $n$ value). That's why I thought about taking a signature $\sigma = \{R(\cdot)\}$ and giving one model $M$ a countable-infinite domain and the other $N$ a non-countable infinite domain, and making sure that the new added values to $N$'s domain are represented the same as already existing values in $M$'s domain. For example, the same as the above: $M = \{ D^M,\emptyset\}, N=\{D^N,\emptyset\}$. However, I wasn't able to prove it, since my induction either fails on the quantifiers ($\forall, \exists$) or the equality sign.
* just to make sure we are using the same meaning - an isomorphism between two models is a function one-to-one and onto between their domains, which preservers interpretation of functions and predicates.
Thanks!
 A: Your intuition is exactly right - elementary equivalence (= satisfy the same first-order sentences) is not the same as isomorphism. Moreover, you're right that the place to look is cardinality differences, since these provide the simplest evidence of non-isomorphism (although you don't quite go as far as you could - why not just look at the empty language $\{\}$, structures for which are just pure sets and thus are completely determined up to isomorphism by their cardinality?).
Now, how to prove that?
Below I'll first give four approaches which utilize "big theorems." Without more details I don't quite know why your induction argument breaks down, it really shouldn't, but if you say more about that I'll try to help out there too.

First, we can just use a counting argument. Note that given any language $\Sigma$, there are proper class many nonisomorphic $\Sigma$-structures. Namely, for each cardinality $\kappa$ there are $\Sigma$-structures of cardinality $\kappa$. On the other hand, since our language must always be a set, there are only set-many complete $\Sigma$-theories. Pigeonhole principle, class-vs.-set version: some nonisomorphic structures have the same theory.
Maybe more concretely, there are at most (for example) continuum-many complete theories in the empty language $\{\}$, but there are more-than-continuum-many non-isomorphic $\{\}$-structures (that is, non-equinumerous sets).
Here, the big theorem we're using is Cantor's theorem - more specifically, the corollary that there is no largest set (together with the fact that any set can be turned into a structure for any language, by interpreting the symbols in a silly way, but that's not really interesting).

Now that's a bit weird. Can we do something more natural?
The simplest reasonable proof is to use a theorem you may already know, namely the compactness theorem. For example, let $M$ be an infinite structure, and consider the following theory $T$:


*

*The language of $T$ is the language of $M$, together with new constant symbols $d_i$ for $i\in I$ where $I$ is an index set with $\vert I\vert>\vert M\vert$.

*$T$ itself consists of $(i)$ the first-order theory of $M$ and $(ii)$ the sentence $d_i\not=d_j$ whenever $i\not=j$.
Since $M$ is infinite, $T$ is finitely satisfiable (why?) and hence has a model by compactness; this model (or rather its reduct to the original language of $M$) is elementarily equivalent to $M$ (by $(i)$) but not isomorphic to $M$ since it's too large (by $(ii)$).

Another powerful theorem you may already know is the downward Lowenheim-Skolem theorem. This also gives counterexamples: let $A$ be any uncountable structure (in a countable language) and apply downward Lowenheim-Skolem to argue that there is a countable (hence $\not\cong A$) structure $B$ which is elementarily equivalent to $A$.

Yet another useful theorem in this context is the game characterization of elementary equivalence due to Ehrenfeucht and Fraisse (if memory serves). It's relatively easy to cook up a winning strategy in the relevant games for, say, two pure sets of different infinite cardinalities. I also like these arguments since they give us a bit more insight into what makes the structures tick.
A: As a supplement to Noah's answer, the theory of dense linear orders without endpoints, has the models $\mathbf{Q} = (\Bbb{Q}, \le)$ and $\mathbf{R} = (\Bbb{R}, \le)$ that are not isomorphic but are elementarily equivalent, as we can see by considering the standard quantifier-elimination process for the theory. The quantifier-elimination argument is (in my opinion) much simpler to understand than the "big theorems" that Noah mentions.
Also, if you don't treat equality as a logical symbol, then there is indeed an inductive argment of the sort are you looking for in your example of non-isomorphic but elementarily equivalent theories $M = (\{0\}, \emptyset)$ and $N = (\{0, 1\}, \emptyset)$ over the signature with a single monadic relational symbol $R(\cdot)$. This argument is a very simple quantifier-elimination argument: you can simply strike out all the quantifiers, since the value of $R(x)$ is independent of $x$.
