How to prove that if $f:\mathbb{R} \rightarrow \mathbb{R}$ is continuous and $|f(x) - f(y)| > |x-y|$ for all $x,y$,then range of $f$ is $\mathbb{R}$

Assume that $|f(x) - f(y)| > |x - y|$ for any $x \neq y$. Note that this condition immediately imply the injectivity of $f$. Then we make the following series of observations:

$\textbf{1.} \ $ For any $x_1 < x_2 < x_3$, either $f(x_1) < f(x_2) < f(x_3)$ or $f(x_1) > f(x_2) > f(x_3)$ must hold. Indeed, assume otherwise. Then there exist $x_1 < x_2 < x_3$ such that either $$ [f(x_1) < f(x_2) \text{ and } f(x_3) < f(x_2)] \qquad\text{or}\qquad [f(x_1) > f(x_2) \text{ and } f(x_3) > f(x_2)]. $$ Now either option contradicts the injectivity of $f$ via the intermediate value theorem, similarly as in OP's first step.

$\textbf{2.} \ $ By replacing $f(\cdot)$ by $f(-\cdot)$ if necessary, we may assume $f(1) > f(0)$. Then for each $x > 1$, we have $f(x) > f(1) > f(0) > f(-x)$, and so, we get $$ f(-x) < f(0) - x \qquad \text{and} \qquad f(0) + x < f(x). $$

$\textbf{3.} \ $ Still assuming $f(1) > f(0)$ without losing the generality, we now prove $f(\mathbb{R}) = \mathbb{R}$. To show the equality of two sets, it suffices to verify that one is a subset of the other.

  • Let $y \in \mathbb{R}$ be arbitrary. The previous step allows to find $x > 1$ such that $f(-x) < y < f(x)$. Then by the intermediate value theorem, $y = f(c)$ for some $c \in (-x, x)$ and hence $y \in f(\mathbb{R})$. Since this holds for any $y \in \mathbb{R}$, we have $\mathbb{R}\subseteq f(\mathbb{R})$.

  • The other direction $f(\mathbb{R}) \subseteq \mathbb{R}$ is trivial, and so, the desired conclusion follows.


Note that, for any $x>0$, $$ x <|f(x)-f(0)| $$ Letting $x\to \infty$, we get that $|f(x)|$ becomes arbitrarily large, which means that either $f(x)$ becomes arbitrarily large or $f(-x)$ becomes arbitrarily large.

Assume WLOG $f(x)$ takes arbitrarily large values when $x\to \infty$. Since $f$ is continuous, by the intermediate value theorem, $f([0,\infty))\supset [f(0),\infty)$.

On the other hand, we also have that, for $x<0$, $$ -x<|f(x)-f(0)| $$ and we can reason in the same way to conclude that $|f(x)|$ takes arbitrarily large values when $x\to -\infty$. Now observe that these values have to be negative, i.e. for all $R<0$ there is an $x<0$ such that $f(x)<R$. Indeed, if this were not the case, then $f(x)$ would take arbitrarily large positive values when $x\to -\infty$. Thus, $f((-\infty,0])\supset [f(0),\infty)$. By what we did before, we get that there are $x<0<y$ such that $f(x)=f(y)$, which is a contradiction. So, we conclude that $f((-\infty,0])\supset (-\infty, f(0)]$.