Solution (source code)

= Solution

Use the <Downward Lowenheim-Skolem theorem> to choose a small elementary submodel $M\preceq N$. By hypothesis, $M$ meets every $E$-class. If there were infinitely many classes, the type
$$
q(x)=\{\neg E(x,m):m\in M\}
$$
would be finitely satisfiable: finitely many parameters meet only finitely many classes, so choose $x$ from another class. Its parameter set is small, so <saturation> would realize $q$ in $N$. That realization would lie in an $E$-class disjoint from $M$, contradicting the hypothesis. This proves the <small elementary submodel meeting every definable equivalence class> criterion: $E$ has only finitely many classes.