Suppose that $\{f_n\}$ is a sequence of continuous real valued functions defined on $\mathbb R$. Suppose that the sequence converges uniformly to a function $f$ and the following holds for all $x\in \mathbb R$ and for all $n\in \mathbb N$
$f_n(x+\frac 1n)= f_n(x)$.
Then, it is to be shown that $f$ is a constant function.
This question has been asked here on this site but I want to know if my following proof is correct and if not, then what it lacks.
Proof: Choose $x<y$ arbitrarily. Since $f_n'$s are uniformly continuous on $[x,y]$, given $\epsilon>0$ there is a $\delta>0$ such that $|f_n(u)-f_n(v)|<\epsilon$ whenever $|u-v|<\delta$. Choose $N$ such that $\frac 1N <\min(\delta,y-x)$. Let $P_N:=\{m\in \mathbb N: x+\frac m{N} \le y\}$. $P$ is non empty (due to the way $N$ was chosen) and bounded from above; and therefore has a maximum element $M$.
It is clear that $M\gt N(y-x)-1$, i.e., $\frac {M+1}N\gt y-x$.
$\begin{align}|f_n(y)-f_n(x)|&\le\left|f_n(y)-f_n\!\left(x+\tfrac MN\right)\right|+\sum_{k=1}^M\left|f_n\!\left(x+\tfrac{k}N\right)-f_n\!\left(x+\tfrac{k-1}N\right)\right|\\ &\le\epsilon \end{align}$
Noting that $f(y)-f(x)=\lim_n(f_n(y)-f_n(x))$, it follows that $|f(y)-f(x)|<\epsilon$. Since this is true for every $\epsilon>0$, it follows that $f(x)=f(y)$. Since $x,y$ are arbitrary, this proves the result.
One point:
The $\delta$ for each $n$ may be different. We are not given that the sequence of functions is equicontinuous. It does turn out that a uniformly convergent sequence of continuous functions on a compact set is equicontinuous, but that is usually proven after the limiting function is shown to be continuous; thus, the use of this fact may be circular here.
Another point:
Unless I am missing something, this is not bounded by a fixed multiple of $\epsilon$ since $M$ is dependent on $\delta$.