[proofplan]
We construct the topological conjugacy between the nonlinear flow $\varphi(t, \cdot)$ and the linear flow $e^{At}$ near the hyperbolic fixed point $x_0$. After translating so that $x_0 = 0$, we write $f(x) = Ax + g(x)$ where $A = Jf_0$ and $g(x) = O(|x|^2)$. The proof proceeds by: (1) reducing to a time-one map via the observation that conjugacy of time-one maps implies conjugacy of flows, (2) extending $g$ to a globally Lipschitz perturbation with small Lipschitz constant via a cutoff function, (3) constructing the conjugacy $h$ as $h = \operatorname{Id} + u$ where $u$ solves a fixed-point equation derived from the conjugacy relation, and (4) verifying that $h$ is a homeomorphism near the origin. The hyperbolicity condition ensures the relevant integral operators converge.
[/proofplan]
[step:Translate coordinates and decompose into linear and nonlinear parts]
Without loss of generality, translate coordinates so that $x_0 = 0$. Since $f$ is $C^1$ with $f(0) = 0$, Taylor's theorem gives
\begin{align*}
f(x) = Ax + g(x),
\end{align*}
where $A := Jf_0 \in \mathbb{R}^{n \times n}$ is the Jacobian matrix of $f$ at $0$, and the remainder $g: U \to \mathbb{R}^n$ satisfies $g(0) = 0$ and $Jg_0 = 0$. The hypothesis that the nonlinear corrections are $O(|x|^2)$ means precisely that $|g(x)| / |x| \to 0$ as $x \to 0$, i.e., $g$ is $o(|x|)$.
Since $0$ is a hyperbolic fixed point, the eigenvalues of $A$ have nonzero real part. Denote the eigenvalues by $\lambda_1, \ldots, \lambda_n$, and let $\sigma^- := \max\{\operatorname{Re}(\lambda_i) : \operatorname{Re}(\lambda_i) < 0\} < 0$ and $\sigma^+ := \min\{\operatorname{Re}(\lambda_i) : \operatorname{Re}(\lambda_i) > 0\} > 0$.
[/step]
[step:Reduce to the time-one map and introduce a globally Lipschitz extension]
Let $\Phi := \varphi(1, \cdot)$ denote the time-one map of the nonlinear flow and $L := e^A$ the time-one map of the linearisation. It suffices to find a homeomorphism $h$ defined near $0$ with $h(0) = 0$ such that $h \circ \Phi = L \circ h$ in a neighbourhood of $0$. Indeed, given such $h$, the conjugacy for all times follows: for integer times by induction, and for arbitrary $t$ by interpolation using the group structure $\varphi(t, \cdot) = \varphi(t - \lfloor t \rfloor, \cdot) \circ \Phi^{\lfloor t \rfloor}$.
Since $g$ is defined only on $U$, we extend it to a global function. Choose a smooth cutoff $\chi: \mathbb{R}^n \to [0,1]$ with $\chi(x) = 1$ for $|x| \leq \delta/2$ and $\chi(x) = 0$ for $|x| \geq \delta$, where $\delta > 0$ is small enough that $B(0, \delta) \subset U$. Define $\tilde{g}(x) := \chi(x) g(x)$ for $x \in U$ and $\tilde{g}(x) := 0$ for $x \notin U$. Since $g(0) = 0$ and $Jg_0 = 0$, by choosing $\delta$ sufficiently small, $\tilde{g}: \mathbb{R}^n \to \mathbb{R}^n$ can be made globally Lipschitz with Lipschitz constant $\varepsilon > 0$ as small as desired. Write $\tilde{\Phi}$ for the time-one map of $\dot{x} = Ax + \tilde{g}(x)$; since $\tilde{g} = g$ on $B(0, \delta/2)$, we have $\tilde{\Phi} = \Phi$ there.
[guided]
The proof of the Hartman-Grobman theorem proceeds via two reductions, both carried out in this step.
**Reduction 1: Time-one map.** Rather than conjugating the full flows $\varphi(t, \cdot)$ and $e^{At}$ for all $t \in \mathbb{R}$ simultaneously, it suffices to conjugate their time-one maps. Let $\Phi := \varphi(1, \cdot)$ and $L := e^A$. If we find a homeomorphism $h$ near $0$ with $h \circ \Phi = L \circ h$, then for integer times $h \circ \Phi^n = L^n \circ h = e^{nA} \circ h$ by induction. For non-integer $t$, write $t = \lfloor t \rfloor + s$ with $0 \leq s < 1$ and use $\varphi(t, \cdot) = \varphi(s, \cdot) \circ \Phi^{\lfloor t \rfloor}$. The conjugacy then extends to all real $t$ by the flow group structure.
**Reduction 2: Global Lipschitz extension.** The Banach fixed-point argument that constructs $h$ requires estimates on $g$ that hold globally on $\mathbb{R}^n$, not just near the origin. The nonlinearity $g$ is originally defined only on $U$ and may have large Lipschitz constant far from $0$. We fix this by introducing a smooth cutoff $\chi: \mathbb{R}^n \to [0,1]$ with $\chi(x) = 1$ for $|x| \leq \delta/2$ and $\chi(x) = 0$ for $|x| \geq \delta$, and setting $\tilde{g}(x) := \chi(x) g(x)$.
Why can the Lipschitz constant of $\tilde{g}$ be made arbitrarily small? Because $Jg_0 = 0$ implies $|Jg_{x}| \to 0$ as $x \to 0$, so in a ball of radius $\delta$, the mean value inequality gives $|g(x) - g(y)| \leq \sup_{|z| \leq \delta} |Jg_{z}| \cdot |x - y|$. The product $\chi \cdot g$ introduces an additional term from differentiating $\chi$, but $|g(x)| = O(|x|^2)$ and $|D\chi| = O(1/\delta)$, so this term is also $O(\delta)$. Choosing $\delta$ small makes $\operatorname{Lip}(\tilde{g}) < \varepsilon$ for any prescribed $\varepsilon > 0$.
The modified system $\dot{x} = Ax + \tilde{g}(x)$ agrees with the original inside $B(0, \delta/2)$, so any conjugacy constructed for the modified system restricts to a local conjugacy of the original system near $0$.
[/guided]
[/step]
[step:Decompose $\mathbb{R}^n$ into stable and unstable subspaces and set up the conjugacy equation]
Hyperbolicity of $A$ gives the direct-sum decomposition $\mathbb{R}^n = E^s \oplus E^u$, where $E^s$ is the direct sum of generalised eigenspaces for eigenvalues with $\operatorname{Re}(\lambda_i) < 0$, and $E^u$ for eigenvalues with $\operatorname{Re}(\lambda_i) > 0$. Write $L = e^A$ and denote the restrictions $L_s := L|_{E^s}$, $L_u := L|_{E^u}$. There exist constants $C > 0$ and $0 < \mu < 1$ such that
\begin{align*}
\|L_s^k\| \leq C \mu^k, \quad \|L_u^{-k}\| \leq C \mu^k \quad \text{for all } k \geq 0.
\end{align*}
These estimates hold because $\|L_s\| < 1$ modulo a change of norm (using a norm adapted to the Jordan structure of $A$), and similarly $\|L_u^{-1}\| < 1$.
We seek $h = \operatorname{Id} + u$, where $u: \mathbb{R}^n \to \mathbb{R}^n$ is a bounded continuous function satisfying the conjugacy equation $(\operatorname{Id} + u) \circ \tilde{\Phi} = L \circ (\operatorname{Id} + u)$. Expanding and rearranging:
\begin{align*}
u(\tilde{\Phi}(x)) - L \, u(x) = Lx - \tilde{\Phi}(x) = -\tilde{g}_1(x),
\end{align*}
where $\tilde{g}_1(x) := \tilde{\Phi}(x) - Lx$ encodes the nonlinear part of the time-one map (which is globally Lipschitz with small Lipschitz constant inherited from $\tilde{g}$).
[/step]
[step:Solve the conjugacy equation via a contraction argument on bounded continuous functions]
Decompose $u = (u_s, u_u)$ according to $\mathbb{R}^n = E^s \oplus E^u$. The equation $u \circ \tilde{\Phi} - L \, u = -\tilde{g}_1$ splits into
\begin{align*}
u_s(\tilde{\Phi}(x)) - L_s \, u_s(x) &= -(\tilde{g}_1)_s(x), \\
u_u(\tilde{\Phi}(x)) - L_u \, u_u(x) &= -(\tilde{g}_1)_u(x).
\end{align*}
The stable component equation is solved by iterating forward: formally,
\begin{align*}
u_s(x) = \sum_{k=0}^{\infty} L_s^k \, (\tilde{g}_1)_s(\tilde{\Phi}^{-k}(x)),
\end{align*}
which converges because $\|L_s^k\| \leq C\mu^k$ and $(\tilde{g}_1)_s$ is bounded. The unstable component is solved by iterating backward:
\begin{align*}
u_u(x) = -\sum_{k=1}^{\infty} L_u^{-k} \, (\tilde{g}_1)_u(\tilde{\Phi}^{k}(x)),
\end{align*}
which converges because $\|L_u^{-k}\| \leq C\mu^k$.
Alternatively, one defines the operator $\mathcal{T}$ on the Banach space $C_b(\mathbb{R}^n, \mathbb{R}^n)$ (bounded continuous functions with the supremum norm) by
\begin{align*}
(\mathcal{T}u)(x) := L^{-1}\bigl(u(\tilde{\Phi}(x)) + \tilde{g}_1(x)\bigr),
\end{align*}
and shows that for $\varepsilon$ (the Lipschitz constant of $\tilde{g}$) sufficiently small, $\mathcal{T}$ is a contraction. The [Banach Fixed-Point Theorem](/theorems/???) then yields a unique bounded continuous solution $u$.
[guided]
The key insight is that hyperbolicity provides an **exponential dichotomy**: the linear map $L_s = e^{A_s}$ contracts (its spectral radius is less than $1$), and $L_u^{-1} = e^{-A_u}$ contracts (since $A_u$ has eigenvalues with positive real part, $e^{-A_u}$ has spectral radius less than $1$). This dichotomy allows us to solve the functional equation $u \circ \tilde{\Phi} - L u = -\tilde{g}_1$ by summing geometric-type series -- forward iterations for the stable component, backward for the unstable.
Decompose $u = (u_s, u_u)$ according to $\mathbb{R}^n = E^s \oplus E^u$. The conjugacy equation $u(\tilde{\Phi}(x)) - L\,u(x) = -\tilde{g}_1(x)$ splits into two equations, one for each component:
\begin{align*}
u_s(\tilde{\Phi}(x)) - L_s\,u_s(x) &= -(\tilde{g}_1)_s(x), \\
u_u(\tilde{\Phi}(x)) - L_u\,u_u(x) &= -(\tilde{g}_1)_u(x).
\end{align*}
**Solving the stable component.** Rearrange the first equation as $u_s(x) = L_s u_s(\tilde{\Phi}^{-1}(x)) + (\tilde{g}_1)_s(\tilde{\Phi}^{-1}(x))$ (substituting $\tilde{\Phi}^{-1}(x)$ for $x$). Now iterate: replace $u_s(\tilde{\Phi}^{-1}(x))$ by the same formula applied at $\tilde{\Phi}^{-1}(x)$, and so on:
\begin{align*}
u_s(x) &= L_s\bigl[L_s u_s(\tilde{\Phi}^{-2}(x)) + (\tilde{g}_1)_s(\tilde{\Phi}^{-2}(x))\bigr] + (\tilde{g}_1)_s(\tilde{\Phi}^{-1}(x)) \\
&= \sum_{k=0}^{N-1} L_s^k\,(\tilde{g}_1)_s(\tilde{\Phi}^{-(k+1)}(x)) + L_s^N\,u_s(\tilde{\Phi}^{-N}(x)).
\end{align*}
Since $\|L_s^N\| \leq C\mu^N \to 0$ as $N \to \infty$ (with $0 < \mu < 1$) and $u_s$ is bounded, the remainder $L_s^N u_s(\tilde{\Phi}^{-N}(x)) \to 0$. The series therefore converges absolutely, yielding
\begin{align*}
u_s(x) = \sum_{k=0}^{\infty} L_s^k\,(\tilde{g}_1)_s(\tilde{\Phi}^{-(k+1)}(x)).
\end{align*}
**Solving the unstable component.** The unstable equation is handled symmetrically. Rearrange as $u_u(x) = L_u^{-1}[u_u(\tilde{\Phi}(x)) + (\tilde{g}_1)_u(x)]$ and iterate forward. Since $\|L_u^{-k}\| \leq C\mu^k \to 0$, the resulting series
\begin{align*}
u_u(x) = -\sum_{k=1}^{\infty} L_u^{-k}\,(\tilde{g}_1)_u(\tilde{\Phi}^{k}(x))
\end{align*}
converges absolutely.
**Why does smallness of $\varepsilon$ matter?** The series solution requires that $\tilde{\Phi}$ be invertible (for the stable part) and that the iterates $\tilde{\Phi}^k$ do not grow so fast that they overwhelm the exponential decay of $L_s^k$ or $L_u^{-k}$. Since $\tilde{\Phi} = L + \tilde{g}_1$ with $\operatorname{Lip}(\tilde{g}_1) \leq \varepsilon$, the map $\tilde{\Phi}$ is a small perturbation of $L$ in the Lipschitz topology. For $\varepsilon$ small enough, $\tilde{\Phi}$ is invertible (as a perturbation of the linear isomorphism $L$) and its iterates grow at a rate controlled by $\|L\| + \varepsilon$, which is dominated by the geometric decay rate $\mu < 1$ of $L_s^k$ and $L_u^{-k}$.
Alternatively, one can package this as a single operator $\mathcal{T}$ on the Banach space $C_b(\mathbb{R}^n, \mathbb{R}^n)$ given by $(\mathcal{T}u)(x) := L^{-1}(u(\tilde{\Phi}(x)) + \tilde{g}_1(x))$, and verify that $\|\mathcal{T}u_1 - \mathcal{T}u_2\|_\infty \leq \|L^{-1}\| \cdot \|u_1 - u_2\|_\infty$. Since $L^{-1}$ on each subspace has norm bounded by $C\mu < 1$ (after the dichotomy splitting), $\mathcal{T}$ is a contraction, and the [Banach Fixed-Point Theorem](/theorems/???) produces the unique solution $u$.
[/guided]
[/step]
[step:Verify that $h = \operatorname{Id} + u$ is a homeomorphism near $0$]
The function $h = \operatorname{Id} + u$ is continuous. Since $u$ is bounded and continuous with $\|u\|_\infty$ controlled by $\varepsilon$ (the Lipschitz constant of $\tilde{g}$, which can be made arbitrarily small), $h$ is close to the identity in the supremum norm.
To show $h$ is injective: suppose $h(x) = h(y)$, i.e., $x - y = u(y) - u(x)$. Since $u$ is Lipschitz with a small constant (inherited from the contraction estimate), $|u(x) - u(y)| \leq \varepsilon' |x - y|$ for some $\varepsilon' < 1$, giving $|x - y| \leq \varepsilon' |x - y|$, hence $x = y$.
Surjectivity follows from a similar argument: for each $z$, the equation $x + u(x) = z$ can be rewritten as $x = z - u(x)$, which defines a contraction in $x$ (since $u$ has small Lipschitz constant), and therefore has a unique solution by the Banach fixed-point theorem.
By invariance of domain (or by the explicit construction), $h$ is a homeomorphism. Since $\tilde{g} = g$ on $B(0, \delta/2)$, the conjugacy $h \circ \varphi(t, \cdot) = e^{At} \circ h$ holds on a neighbourhood of $0$, completing the proof.
[guided]
The final step verifies that $h = \operatorname{Id} + u$ is a homeomorphism of $\mathbb{R}^n$ (not just a continuous map). The key fact is that $u$ has small Lipschitz constant: since $u$ is obtained from the contraction mapping principle with contraction constant depending on $\varepsilon$, the solution satisfies $\operatorname{Lip}(u) \leq \varepsilon'$ for some $\varepsilon' < 1$ (which can be made as small as desired by reducing $\varepsilon$).
**Injectivity.** Suppose $h(x) = h(y)$, i.e., $x + u(x) = y + u(y)$. Then $x - y = u(y) - u(x)$, so
\begin{align*}
|x - y| = |u(y) - u(x)| \leq \varepsilon' |x - y|.
\end{align*}
Since $\varepsilon' < 1$, this forces $|x - y| = 0$, hence $x = y$. More generally, $h$ satisfies the lower bound $|h(x) - h(y)| \geq |x - y| - |u(x) - u(y)| \geq (1 - \varepsilon')|x - y| > 0$ for $x \neq y$.
**Surjectivity.** For any $z \in \mathbb{R}^n$, we need to solve $x + u(x) = z$, i.e., $x = z - u(x)$. Define $\Psi(x) := z - u(x)$. Then $|\Psi(x) - \Psi(y)| = |u(x) - u(y)| \leq \varepsilon' |x - y|$ with $\varepsilon' < 1$, so $\Psi$ is a contraction on $\mathbb{R}^n$ (which is complete). By the [Banach Fixed-Point Theorem](/theorems/???), $\Psi$ has a unique fixed point $x^*$ with $x^* = z - u(x^*)$, i.e., $h(x^*) = z$.
**Continuity of $h^{-1}$.** From the lower bound $|h(x) - h(y)| \geq (1 - \varepsilon')|x - y|$, the inverse satisfies $|h^{-1}(z_1) - h^{-1}(z_2)| \leq (1 - \varepsilon')^{-1}|z_1 - z_2|$, so $h^{-1}$ is Lipschitz continuous. Hence $h$ is a homeomorphism.
Since the cutoff ensures $\tilde{g} = g$ on $B(0, \delta/2)$, the modified system agrees with the original there, and the conjugacy $h \circ \varphi(t, \cdot) = e^{At} \circ h$ holds on $B(0, \delta/2)$. This is the desired neighbourhood of the hyperbolic fixed point, completing the proof of the Hartman-Grobman theorem.
[/guided]
[/step]