Proving that given any two points in a connected manifold, there exists a diffeomorphism taking one to the other

Suppose $M$ be a connected manifold and $x, y \in M$ are two points. Then I'm trying to show that there is a diffeomeorphism $f$ of $M$ that takes $x$ to $y$.

Since the set of points for which there is a diffeomorphism of $M$ taking $x$ to that point is clopen and $M$ is connected, I think it should be enough to consider the case when both $x$ and $y$ lie in the same chart. But how do I proceed from here? I think I should somehow take a vector field and consider flows, but I'm not really sure.

Can someone please provide a solution? Thanks in advance.


Fix $y \in M$ and define $S_y := \{ x \in M \, | \, \exists \phi \in \mathrm{Diff}_c(M), \phi(x) = y \}$. The set $S_y$ is non-empty (because $y \in S_y$). Let us show that $S_y$ is closed and open. Two properties follow immediately from the definitions:

  1. $x \in S_y$ if and only if $y \in S_x$.
  2. If $x' \in S_x$ and $x \in S_y$ then $x' \in S_y$.

Given $x \in M$, one can find an open subset $U \subseteq M$ and a chart $\varphi \colon U \rightarrow B(0,1)$ around $x$ with $\varphi(x) = \textbf{0}$. Here, $B(\textbf{0},1) \subset \mathbb{R}^n$ and $\varphi = (x^1, \ldots, x^n)$. Given $x' \in U$, denote by $\textbf{c} = \varphi(x')$ the coordinates of $x'$ and choose some $||\textbf{c}|| < r < 1$. The "constant" vector field $X = c^i \frac{\partial}{\partial x^i}$ is well-defined on $U$, and by multiplying $X$ with a bump-function, one can extend $X$ to a globally defined, compactly supported, vector field $\tilde{X}$ with $\tilde{X}|_{\varphi^{-1}(B(0,r))} = X$. Since $\tilde{X}$ has compact support, it generates a globally defined flow $\phi_t$. The curve $\gamma(t) = \varphi^{-1}(t\textbf{c})$ (for $t \in [0,1]$) is an integral curve of $\tilde{X}$ satisfying $\gamma(0) = x$ and $\gamma(1) = x'$ which implies that $\phi_1(x) = x'$. Thus, $x \in S_x'$ and $x' \in S_x$.

Now, let $x \in S_y$. Choosing $U$ as above, we see that for all $x' \in U$ we have $x' \in S_x$ which implies that $x' \in S_y$ and so $S_y$ is open.

Finally, if $x_n \in S_y$ and $x_n \rightarrow x$, then choosing $U$ around $x$ as above, we have $x_n \in S_y$ and $x_n \in U$ for some $n$, which implies that $x \in S_{x_n}$ and so $x \in S_y$.