In a metric space, any convergent sequence taking only finitely many distinct values is ultimately constant 
Let $(M,d)$ be a metric space and let $(x_n)_{n\in\Bbb N}\subset M$ be a convergent (to some $x\in M$) sequence with only finitely many distinct values. Prove that the sequence is ultimately constant.

My attempt: By definition, we need to find an $n_0$ such that $x_n=a$ for all $n_0\leq n$. Since $x_n\to x$, we have $d(x_n,x)\to 0$, but $\{x_n:n\in\Bbb N\}$ is finite, so there is $n_0$ such that $d(x_{n_0},x)=0$. Taking this $n_0$, we have $x_n=x$ for all $n_0\leq n$.
Is this proof valid?
 A: The problem with the proof is when you say "there is $n_0$ such that $d(x_{n_0},x)=0$.  Taking this $n_0$ and for all $n\geq n_0$ we have $x_n=x$".  You don't explain your reasoning for the existence of such an $n_0$, and based on how things are worded, it doesn't explain why $x_n=x$ for all $n\geq n_0$.  
What you want to show is the following:

There exists $N\in\mathbb N$ such that for all $n,m\geq N$, $x_n=x_m$.  

Here's a hint for how to do it.  Cook up some clever $\varepsilon>0$ using the fact that $\{x_n:n\in\mathbb N\}$ is finite, and use this $\varepsilon$ to find an $N$ such that $d(x,x_n)<\varepsilon$ for all $n\geq N$.  Then assume that there exist $n,m\geq N$ such that $x_n\neq x_m$, and derive a contradiction.
A: Let $F$ be the finite set in which $x_n$ takes values. Let $d=\min_{x,y \in F, x \neq y} d(x,y)$, and note that $d>0$.
Now choose $N$ such that if $n \ge N$ then $d(x,x_n) < {1\over 2} d$.
Suppose $n,n' \ge N$, then $d(x_n,x_{n'}) \le d(x_n,x)+d(x,x_{n'}) < d$ and so $x_n = x_{n'}$. Hence $x=x_N$.
Note: 
To conclude that $x = x_N$, note that for $n \ge N$ we have $x-x_n = x-x_N$ and
for any $\epsilon>0$ we can find some $N'$ such that $|x-x_n| < \epsilon$ for all
$n \le N'$. In particular, we have
$|x-x_N| < \epsilon$ for all $ \epsilon>0$. It follows that $x=x_N$.
A: You seem to be interpreting "is a sequence with finite elements" as meaning the sequence is $\{x_1, ......, x_k\}$; a finite sequence with $k$ elements.
This might be what the text means but I doubt it.  There's no point in talking about the limits of a finite sequence because finite sequences ... just end.
I think the mean that $\{x_i\}$ is a sequence of finitely many distinct terms, some of which will occur an infinite number of times.  
Actually "a sequence with finite elements" would mean the elements are finite.  Which is true of all sequences in a normed metric space (so the statement is false.  Consider $x_k = \frac {k+1}k$ and $x_n \to 1$.  Every term is finite but the sequence certainly never becomes constant.)
If we interpret this you way that $\{x_i\} = \{x_1,....., x_k\}$ you proof is not valid.   Yous say that because a sequence is finite there is an $x_{n_0}$ so that $d(x_{n_0}, x) = 0$.  Why? You give no reason.   
Then you say for all $n; n\ge n_0$ that $x_n = x$.  You give give no reason for this either nor any reason why the previous claims would support it.
....
So my interpretation.
The sequence has finitely many distinct elements.  
If this is the case there are only a finitely many different pairs of $(x_i, x_k); x_i\ne x_k$.  This means if we compare all possible $d(x_i,x_j)$ where $x_i\ne x_k$ there will be a smallest $\min d(x_i,x_j) > 0$.
$x_n \to x$ means for any $\epsilon > 0$ there is an $N$ so that for all $n > N$ we have $d(x_n, x) < 0$.  
If we let $\epsilon = \min d(x_i,x_j)$ then there is an $N$ so that for all $n > N$ we have $d(x_n,x) < \min d(x_i,x_j)$.
Okay... sidenote:  Either $x$ is equal to one of the $x_i$ or it isn't.
If $x$ is equal to one of the $x_i$ we have $d(x_n,x) <  \min d(x_i,x_j)$ so that would mean $x = x_n$ for all $n > N$.  So the sequence is eventually finite.
However if $x$ is not equal to any of the $x_i$ the the values of $d(x_i, x) >0$ for all $x_i$.  And as there are only a finite number of possible values there is a $\min d(x_i, x) > 0$.  
If we let $\epsilon = \min d(x_i,x)$ then there are no $n$ where $d(x_n,x) < \min d(x_i,x)$ so there can't be any $N$ where for all $n > N$ we would have $d(x_n, x) < \min d(x_i, x)$.  
So if $x\ne x_i$ for any $x_i$ and there are only finitely many $x_i$ then $x_n \to x$ is impossible.
POST SCRIPT:
If $\{x_1, x_2,...... x_k\}$ were a "finite sequence" then $x_n\to x$ would mean that for any $\epsilon > 0$ there is an $N$ so that $n > 0$ would mean $d(x_n, x) < \epsilon$.  But if $n > \max (N,k)$ then there is no such $x_n$ and $d(x_n,x) < \epsilon$ is not true because there is no $x_n$.
Or one can quibble that because there are no $x_n$ that $d(x_n, x) < \epsilon$ is vacuously true for all zero of the $x_n; n > k$, and therefore $x_n \to x$ will be true for all possible $x$.
For various reasons I don't think the second applies but ... this is a digression.  In any event.  $x_n \to x$ would be meaningless for a finite sequence.
A: Your proof is ok, but I think you can be more convincing.
$x_n$ constant means that there is $N<\infty$ such that $x_n=x_m$ for all $n,m\geq N$.
Suppose $x_n $ is not eventually constant, meaning for all $N$ $x_n \not= x_m$ for some $n,m \geq N$. 
In a metric space, convergent sequences are Cauchy necessarily, so
$ \lim_{n,m\rightarrow \infty} d(x_n,x_m) =0 $. However, assuming $x_n$ is not constant and since the sequence is finite, we can find a pair of elements  achieving a minimum distance: such that $d(x_r,x_q) =  min_{x_j\not=x_k} d(x_j,x_k)= \delta >0$ . However, this then violates the Cauchy sequence, since for all $N$, finiteness of $x_n$ and the not constant assumption means we can find $x_\ell,x_p$ such that $d(x_\ell,x_p) \geq \delta$, $\ell,p\geq N$. 
I could probably word it a little more cleanly, but the gist is that if the sequence is not constant no matter how far out we go in the sequence we can find elements that achieve a positive minimum distance because the total number of different quantities $x_n$ is finite, and this directly violates the Cauchy condition.
