Prove that a recurrent sequence $u_n$ is convergent if $\lim \limits_{n \to \infty}(u_{n+1}-u_n)=0$

Let $$f:[a;b] \to [a;b]$$ be a continuous function ($$a$$ and $$b$$ real numbers) and $$(u_n)$$ a sequence defined by $$u_0 \in [a;b]$$ and $$u_{n+1}=f(u_n)$$

Prove that if $$\lim \limits_{n \to \infty}\left(u_{n+1}-u_n\right)=0$$ then $$(u_n)$$ converges

I tried using subsequences and the bolzano weierstrass theorem but couldn't even get close.

Any help would be welcome.

Lemma : If $$(u_n)$$ is a sequence such that $$u_{n+1} - u_n \rightarrow 0$$, then the set of all the adherence value (the word in french is "valeur d'adhérence") is an interval.

Proof : Let $$x$$ and $$y$$ two different adherence value (if they exist). Let $$c\in ]x,y[$$. To show it's an adherence value of $$u$$, we just need to show that $$\forall \varepsilon >0, \forall N\in \mathbb{N}, \exists n\geqslant N, |u_n -c| \leqslant \varepsilon$$

We take $$\varepsilon >0$$. Since $$u_{n+1} - u_n \rightarrow 0$$, there exists $$N$$ such that for all $$n\geqslant N$$, $$|u_{n+1} - u_n|\leqslant \varepsilon$$. Since $$x$$ is an adherence value of $$u$$, with $$x, there exists a rank $$p\geqslant N$$ such that $$u_p . Since $$y$$ is also one with $$y>c$$, there exists $$q>p$$ such that $$u_q >c$$. Let's consider the smallest $$n>p$$ such that $$u_n >c$$. Then we have $$u_n >c, u_{n-1}\leqslant c \text{ and } |u_n-u_{n-1}|\leqslant \varepsilon$$

So $$u_n$$ is in $$]c, c+\varepsilon]$$, which gives the result

Proof of the theorem :

We first note that all adherence values are fixed points of $$f$$.

From the Lemma, we get that if we have $$2$$ adherence values, for instance $$x$$ and $$y$$, then $$[x,y]$$ is only consituted of adherence values, and so of fixed points. That means since we have to go from $$x$$ to $$y$$ with jumps that tend to $$0$$, when the length of the jumps becomes inferior strictly to $$|y-x|/2$$, then the sequence take a value in $$[x,y]$$, so takes a fixed point as value, so that the sequence gets constant after this rank.

That contradicts the fact that $$x$$ and $$y$$ are adherence values.

So $$(u_n)$$ converges.

$$\{u_n\}$$ is a sequence taking values in the compact segment $$[a,b]$$. Hence it has a convergent subsequence $$\{u_{\varphi(n)}\}$$ where $$\varphi : \mathbb N \to \mathbb N$$ is strictly increasing. Let say that $$\lim\limits_{n \to \infty} u_{\varphi(n)} = l \in [a, b]$$.

Suppose that $$\{u_n\}$$ has a second limit point $$L \neq l$$. We can find a subsequence $$\{u_{\psi(n)}\}$$ converging to $$L$$. Without loss of generality, we can suppose $$l \lt L$$. As $$\lim \limits_{n \to \infty}\left(u_{n+1}-u_n\right)=0$$, any $$x \in [l , L]$$ is a limit point of $$\{u_n\}$$.

Now as $$f$$ is supposed to be continuous, we get that $$f(x) = x$$ for all $$x \in [l,L]$$. But if $$u_N \in (l,L)$$ for $$N \in \mathbb N$$, we get the contradiction $$u_p = u_N$$ for all $$p \ge N$$ and therefore that $$u_N$$ is the only limit point of $$\{u_n\}$$.

Conclusion: $$\{u_n\}$$ has a single limit point and therefore converges.