Prove that $x_n=x$ eventually by the following condition. 
Let $(X,d)$ be a metric space and $\{x_n\}$ be sequence in $X$ which converges to some $x \in X$. Let $S$ denote the range set of the sequence $\{x_n\}$. If $S$ is finite then show that $\exists$ $m \in \mathbb N$ such that $x_n=x$ for all $n \ge m$.

My attempt $:$
If possible let the sequence $\{x_n\}$ does not eventually equal to $x$. Then $\exists$ a subsequence $\{x_{k_n}\}$ of $\{x_n\}$ in $S \setminus \{x\}$ such that $x_{k_n} \rightarrow x$ as $n \rightarrow \infty.$ This shows that $x \in S^d$ where $S^d$ denotes the derived set of $S$ in $(X,d).$ But this implies that every nbd of $x$ contains infinitely many elements of $S$ which is a contradiction since $S$ contains only a finite number of elements. This proves our claim.
Is the above reasoning correct at all? Please verify it.
Thank you in advance.
 A: Let $S = \{x_n: n \in \mathbb{N}; x_n \neq x\}$ be the non-$x$ range of the sequence. (It's $x[\mathbb{N}] \setminus \{x\}$, where $x: \mathbb{N} \to X$ is the sequence, seen, as it should, as a function). Then $X \setminus S$ is an open neighbourhood of $x$ (as finite subsets of metric spaces are closed).
So the convergence says that for all there is some $N$ such that $\forall n \ge N: x_n \in X\setminus S$ and $x_n \in X \setminus S$ only happens if $x_n =x$, by definition of $S$.
A: Since $S$ is finite, the set of positive distances between the points of $S$ is also finite. Let $d_{\text{min}}$ be the minimum of the distances between the points of $S$. Since $\{x_n\}$ converges to $x$, there is an $m$ so that for $n\ge m$, $|x_n-x|\le\frac{d_{\text{min}}}3$ Thus, for $n_1,n_2\ge m$,
$$
\begin{align}
\left|x_{n_1}-x_{n_2}\right|
&\le\left|x_{n_1}-x\right|+\left|x_{n_2}-x\right|\\
&\le\frac{2d_{\text{min}}}3
\end{align}
$$
Thus, for $n_1,n_2\ge m$, $x_{n_1}=x_{n_2}$.
A: There's a simple topological proof....
Let $S = $ Range of the sequence $ (x_n)$. In this case $S$ has a finite number of elements, $S = \{s_i\}_{m = 1, M}$   
A metric space is Hausdorff so each $s_i$  is contained in an open set $O_i$ which is disjoint from all other $O_j: j \ne i$.
If $x \ne $ some $s_i$ then there is an open set $O$ containing $x$ which is disjoint from all $O_i$. But with $(x_n)$ converging to $x$ there is some $N$ such that for any open set, including $O$,  $x_n \in O$ for all $n \gt N$. This contradicts $O$ containing $x$ being disjoint from all $O_i$. So, $x = s_m$ for some $m $.
Finally, since the chosen $O$ is disjoint from all $O_i$ with $i \ne m$ then for $n > N$ cannot have $x_n = s_i$, and so $x_n = s_m$.
(The finiteness of $S$ is required to support the claim that each $O_i$ is disjoint from all the others since the Hausdorff condition initially applies to two points and can be extended inductively to any finite set of points) 
