Funciona si asumimos $f(x)$ es continua.
Reclamo:
Supongamos $f(x)$ es continua y $f(f(x)) = x + f(x)$ todos los $x \in \mathbb{R}$. A continuación,$f(\mathbb{R})=\mathbb{R}$.
Prueba:
Ya sabemos que $f(0)=0$ $f(x)$ es inyectiva. De ello se desprende que $f(1)\neq 0$.
-Caso 1: Supongamos $f(1)>0$. Entonces (por el teorema del valor intermedio) debemos tener:
\begin{align}
&f(x) > 0 \: \: \mbox{ if %#%#%} \\
&f(x) < 0 \: \: \mbox{ if %#%#%}
\end{align}
Para todos los enteros positivos $x >0$ tenemos:
\begin{align*}
&f(f(n)) = n + f(n) \geq n\\
&f(f(-n)) = -n + f(-n) \leq -n
\end{align*}
y por lo $x<0$ toma valores arbitrariamente grandes y arbitrariamente los valores pequeños. Por el teorema del valor intermedio, se debe tomar todos los valores en $n$.
-Caso 2: Supongamos $f$. A continuación, debemos tener:
\begin{align}
&f(x) < 0 \quad \mbox{ whenever %#%#%} \\
&f(x) > 0 \quad \mbox{ whenever %#%#%}
\end{align}
Supongamos que hay un número finito de constantes $\mathbb{R}$ tal que $f(1)<0$ todos los $x >0$ (llegamos a una contradicción). A continuación, la secuencia infinita $x<0$ está en el intervalo compacto $-M$, por lo que el Bolzano-Wierstrass teorema asegura que hay una larga $f(x) \in [-M,0]$ tal que $x\geq 0$ $\{f(n)\}_{n=1}^{\infty}$ algunos $[-M,0]$. Pero para todos los $n_k$ tenemos:
$n_k\rightarrow\infty$$
y teniendo un límite de $f(n_k) \rightarrow x^*$ da $x^* \in [-M,0]$, una contradicción. Por lo tanto, $k$ toma arbitrariamente pequeños valores de $$ f(f(n_k)) = n_k + f(n_k) $.
Un argumento similar muestra $k\rightarrow \infty$ toma valores arbitrariamente grandes de más de $f(x^*) = \infty + x^*$. Por lo tanto, por la continuidad, $f(x)$.