How can I show $f(x) = x^3 - 3x + 1$ is bijective from $\mathbb{R}$ to $\mathbb{R}$? I have an attempt to show it's injective, but I don't really know how to show it's surjective:
Lemma 1: Every strictly increasing function $g : \mathbb{R} \rightarrow \mathbb{R}$ is injective.
Proof of Lemma 1: Suppose not. Then there exist $x, y$ with $x \neq y$ such that $g(x) = g(y)$. But if $x > y$ then we require $g(x) > g(y)$ since $g$ is strictly increasing. Likewise, if $x < y$, we require $g(x) < g(y)$. Hence, we must have $x = y$, which contradicts our assumption.
Lemma 2: $f(x)$ is strictly increasing on $\mathbb{R}$.
Proof of Lemma 2: It will suffice to show $f'(x) > 0$ for all $x \in \mathbb{R}$.
We have $$f'(x) = 3x^2 + 1 - \sin(x).$$
Note that $3x^2 \geq 0$ with equality only if $x = 0$. Also, $1 - \sin(x) \geq 0$ with equality only if $x = (2n + \frac{1}{2})\pi$ for some integer $n$. However, these two conditions never occur at the same time, meaning that $f'(x) \neq 0$. Hence, we must have $f'(x) > 0$ for all $x$.
So with the two lemmas, I can conclude $f$ is injective. Now how can I show it's surjective? Usually I try to compute the inverse, but it doesn't seem so easy here. Note: I do not want to use any integrals!
Thanks