[proofplan]
We unpack the holonomy group $\mathrm{Hol}_x(M)$ as the image of the loop space $\Omega(x, x)$ under the parallel transport map $P : \Omega(x, x) \to \mathrm{O}(T_x M) \cong \mathrm{O}(n)$. The strategy has three steps. First, we equip $\Omega(x, x)$ with the compact-open topology (or equivalently the topology of uniform convergence with respect to a chosen Riemannian distance on $M$); this is the standard topology on path spaces. Second, we show that simple connectivity of $M$ implies path connectedness of $\Omega(x, x)$: a loop $\gamma: [0,1] \to M$ at $x$ can be continuously deformed to the constant loop $c_x$ via a null-homotopy, and the homotopy is a path in $\Omega(x, x)$. Third, we show that the parallel transport map $P$ is continuous: parallel transport along a smooth loop is the time-$1$ flow of a linear ODE whose coefficients depend smoothly on the loop, so the standard smooth dependence of ODE solutions on parameters yields continuity. The continuous image of a path-connected space is path-connected, giving $\mathrm{Hol}_x(M)$ path-connected as desired.
[/proofplan]
[step:Set up the loop space and the parallel transport map]
Let $(M, g)$ be a connected Riemannian manifold of dimension $n$, $\nabla$ its Levi-Civita connection, and fix $x \in M$. We work with **piecewise-smooth loops** based at $x$, the standard regularity class for the holonomy construction:
\begin{align*}
\Omega(x, x) := \{\gamma: [0, 1] \to M \mid \gamma \text{ piecewise smooth}, \gamma(0) = \gamma(1) = x\}.
\end{align*}
Equip $\Omega(x, x)$ with the topology of uniform convergence with respect to a fixed Riemannian distance $d_g$ induced by $g$: a sequence $\gamma_k \to \gamma$ in $\Omega(x, x)$ means $\sup_{t \in [0, 1]} d_g(\gamma_k(t), \gamma(t)) \to 0$, together with uniform convergence of the velocity vectors $\dot\gamma_k$ to $\dot\gamma$ on the (common) finite set of smooth pieces. This is the natural topology for ODE-based parallel transport, finer than mere $C^0$ convergence and adequate for the dependence-of-parameters argument below.
The parallel transport map is
\begin{align*}
P : \Omega(x, x) &\to \mathrm{End}(T_x M), \\
\gamma &\mapsto P_\gamma,
\end{align*}
where $P_\gamma : T_x M \to T_x M$ is the linear map $v \mapsto V(1)$ obtained by solving the parallel transport ODE
\begin{align*}
\nabla_{\dot\gamma(t)} V(t) = 0, \qquad V(0) = v, \quad t \in [0, 1].
\end{align*}
Since $\nabla$ is the Levi-Civita connection, parallel transport is metric-preserving, so $P_\gamma \in \mathrm{O}(T_x M)$ — the orthogonal group of the inner product space $(T_x M, g_x)$ — for every loop $\gamma$. Choosing a $g_x$-orthonormal basis of $T_x M$ identifies $\mathrm{O}(T_x M) \cong \mathrm{O}(n)$, and $P$ becomes
\begin{align*}
P : \Omega(x, x) \to \mathrm{O}(n).
\end{align*}
By the [Definition of the Holonomy Group](/page/Holonomy%20Group), $\mathrm{Hol}_x(M) := P(\Omega(x, x)) \subseteq \mathrm{O}(n)$.
[/step]
[step:Show that simple connectivity implies path connectedness of the loop space $\Omega(x, x)$]
Assume $M$ is simply connected: $\pi_1(M, x) = 0$. We show $\Omega(x, x)$ is path-connected.
Let $\gamma_0, \gamma_1 \in \Omega(x, x)$ be two piecewise-smooth loops at $x$. Define the constant loop $c_x : [0, 1] \to M$ by $c_x(t) = x$. Since $\pi_1(M, x) = 0$, there exist continuous null-homotopies
\begin{align*}
H_0, H_1 : [0, 1] \times [0, 1] &\to M
\end{align*}
with $H_i(0, \cdot) = c_x$, $H_i(1, \cdot) = \gamma_i$, $H_i(s, 0) = H_i(s, 1) = x$ for all $s$ and $i = 0, 1$. The homotopies $H_0, H_1$ are continuous as maps $[0,1]^2 \to M$.
We must take care with the topology. The parallel transport ODE depends on the velocities $\dot\gamma$, not just the positions $\gamma$, so $C^0$ convergence of loops is insufficient for ODE continuity. We therefore work with the **velocity-uniform topology** on $\Omega(x, x)$: a sequence $\gamma_k \to \gamma$ converges if, on a common piecewise structure $0 = t_0 < t_1 < \cdots < t_N = 1$, the restrictions $\gamma_k|_{[t_{i-1}, t_i]} \to \gamma|_{[t_{i-1}, t_i]}$ converge in $C^1([t_{i-1}, t_i]; M)$ — positions and velocities both converge uniformly on each smooth piece.
A plain Whitney approximation gives only $C^0$-close smooth approximants, which is too weak. We need a refinement: smoothing of homotopies relative to the boundary, preserving velocity-uniform continuity of the resulting family of loops.
Applying this **relative smoothing of homotopies** to $H_0$ and $H_1$ — a refinement of [the Whitney Approximation Theorem](/theorems/1519) that smooths a continuous map $[0,1]^2 \to M$ while preserving its values on the boundary $\{(s, t) : s = 1 \text{ or } t \in \{0, 1\}\}$, where the homotopies already equal a piecewise-smooth loop — we obtain piecewise-smooth homotopies $\widetilde H_0, \widetilde H_1 : [0, 1]^2 \to M$ with
\begin{align*}
\widetilde H_i(0, \cdot) = c_x, \qquad \widetilde H_i(1, \cdot) = \gamma_i, \qquad \widetilde H_i(s, 0) = \widetilde H_i(s, 1) = x.
\end{align*}
For each fixed $s \in [0, 1]$, $\widetilde H_i(s, \cdot)$ is a piecewise-$C^1$ loop based at $x$, and $s \mapsto \widetilde H_i(s, \cdot)$ is continuous as a map $[0, 1] \to \Omega(x, x)$ in the velocity-uniform topology, because $\widetilde H_i \in C^1([0,1]^2; M)$ on each smooth piece implies that both $\widetilde H_i(s, t)$ and $\partial_t \widetilde H_i(s, t)$ are continuous jointly in $(s, t)$, hence vary uniformly in $t$ as $s$ varies.
Define the concatenated path
\begin{align*}
H : [0, 1] \to \Omega(x, x), \qquad H(s) := \begin{cases} \widetilde H_0(1 - 2s, \cdot) & s \in [0, 1/2] \\ \widetilde H_1(2s - 1, \cdot) & s \in [1/2, 1] \end{cases},
\end{align*}
so $H(0) = \widetilde H_0(1, \cdot) = \gamma_0$, $H(1/2) = c_x$, and $H(1) = \widetilde H_1(1, \cdot) = \gamma_1$. The map $H$ is continuous in the velocity-uniform topology of $\Omega(x, x)$ at the join $s = 1/2$ because both branches reduce to the constant loop $c_x$ (whose velocity is identically zero) at $s = 1/2$, matching in $C^1$ on each smooth piece.
So $H : [0, 1] \to \Omega(x, x)$ is a continuous path connecting $\gamma_0$ to $\gamma_1$ via $c_x$, establishing that $\Omega(x, x)$ is path-connected.
[/step]
[step:Show that the parallel transport map $P$ is continuous]
Let $\gamma_k \to \gamma$ be a convergent sequence in $\Omega(x, x)$. We show $P_{\gamma_k} \to P_\gamma$ in $\mathrm{O}(n)$ (operator norm topology, equivalent to entry-wise convergence in any matrix representation).
A smooth orthonormal frame on a single open set covering $\gamma([0, 1])$ may not exist (the frame bundle of $TM$ may have non-trivial topology over $U$, and a partition-of-unity sum of orthonormal frames is in general not orthonormal). We instead build the frame **chart by chart**.
For each $p \in \gamma([0, 1])$, choose a normal coordinate chart $(U_p, \varphi_p)$ centred at $p$. In normal coordinates $g_{ij}(0) = \delta_{ij}$ at the centre, and applying Gram–Schmidt to the coordinate frame $\{\partial_{x_1}, \ldots, \partial_{x_n}\}$ in the metric $g$ on $U_p$ yields a smooth orthonormal frame $\{e_1^{(p)}, \ldots, e_n^{(p)}\}$ on $U_p$. By compactness of $\gamma([0, 1])$, finitely many such charts $(U_1, \varphi_1), \ldots, (U_N, \varphi_N)$ cover the path image, with smooth orthonormal frames $\{e_1^{(i)}, \ldots, e_n^{(i)}\}$ on each $U_i$.
Choose a partition $0 = t_0 < t_1 < \cdots < t_N = 1$ of $[0, 1]$ adapted to the cover, with $\gamma([t_{i-1}, t_i]) \subset U_i$ for each $i = 1, \ldots, N$ (a Lebesgue-number argument applied to the open cover $\{\gamma^{-1}(U_i)\}$ of $[0, 1]$). For sufficiently large $k$, also $\gamma_k([t_{i-1}, t_i]) \subset U_i$ for every $i$, by uniform convergence $\gamma_k \to \gamma$.
We build the parallel transport along $\gamma$ piecewise: on each $[t_{i-1}, t_i]$, solve the parallel transport ODE in the orthonormal frame $\{e_j^{(i)}\}$ of $U_i$. At each interior breakpoint $\gamma(t_i) \in U_i \cap U_{i+1}$, the two frames $\{e_j^{(i)}\}$ and $\{e_j^{(i+1)}\}$ are related at the common point by an orthogonal change-of-basis matrix $O_i \in \mathrm{O}(n)$, with entries the inner products $g(e_j^{(i)}(\gamma(t_i)), e_k^{(i+1)}(\gamma(t_i)))$. The full parallel transport map is the composition
\begin{align*}
P_\gamma = O_N^{-1} \Phi_\gamma^{(N)}(t_N, t_{N-1}) O_{N-1} \cdots O_2^{-1} \Phi_\gamma^{(2)}(t_2, t_1) O_1 \Phi_\gamma^{(1)}(t_1, t_0),
\end{align*}
where $\Phi_\gamma^{(i)}(t_i, t_{i-1}) \in \mathrm{O}(n)$ is the time-$(t_i - t_{i-1})$ propagator of the parallel transport ODE on $[t_{i-1}, t_i]$ in the frame of $U_i$, and the $O_i$ encode the frame transitions.
In the frame, write the parallel transport equation $\nabla_{\dot\gamma} V = 0$ as a linear ODE for $V(t) = \sum_j V_j(t) e_j(\gamma(t))$:
\begin{align*}
\dot V_j(t) + \sum_{k = 1}^n \omega^k_j(\dot\gamma(t)) V_k(t) = 0, \qquad V_j(0) = v_j,
\end{align*}
where $\omega^k_j$ is the connection $1$-form of $\nabla$ in the frame $\{e_i\}$ on $U$, defined by $\nabla_Y e_j = \sum_k \omega^k_j(Y)\, e_k$. The connection $1$-forms $\omega^k_j$ are smooth on $U$, hence continuous; their pullbacks along smooth paths vary continuously with the path:
\begin{align*}
\omega^k_j(\dot\gamma_m(t)) \to \omega^k_j(\dot\gamma(t))
\end{align*}
uniformly on $[0, 1]$ as $\gamma_m \to \gamma$ in the chosen topology.
Fix one piece $[t_{i-1}, t_i]$ on which $\gamma$ is smooth and $\gamma([t_{i-1}, t_i]) \subset U_i$. The parallel transport ODE in the orthonormal frame $\{e_j^{(i)}\}$ has the matrix form
\begin{align*}
\dot V(t) = A_\gamma^{(i)}(t)\, V(t), \qquad t \in [t_{i-1}, t_i],
\end{align*}
with $A_\gamma^{(i)}(t) := -(\omega^k_j(\dot\gamma(t)))_{k, j}$. The matrix $A_\gamma^{(i)}(t)$ lies in $\mathfrak{so}(n)$ pointwise because the frame is orthonormal and $\nabla$ is metric-compatible, so the connection $1$-forms are skew-symmetric in any orthonormal frame.
**Regularity of $A_\gamma$.** Since loops in $\Omega(x, x)$ are piecewise $C^1$, the velocity $\dot\gamma$ is **piecewise continuous** on $[0, 1]$ — continuous on each smooth piece $(t_{i-1}, t_i)$, with finitely many one-sided limits at the breakpoints $t_1, \ldots, t_{N-1}$. Consequently, on each smooth piece $A_\gamma^{(i)} \in C^0([t_{i-1}, t_i]; \mathfrak{so}(n))$. We do **not** claim $A_\gamma \in C^0([0, 1]; \mathfrak{so}(n))$ globally — that would fail at breakpoints whenever $\dot\gamma(t_i^-) \neq \dot\gamma(t_i^+)$ — but the piecewise-continuous statement is exactly what the ODE theory needs.
**Picard–Dyson series on each piece.** The propagator on $[t_{i-1}, t_i]$ is
\begin{align*}
\Phi_\gamma^{(i)}(t_i, t_{i-1}) = I + \int_{t_{i-1}}^{t_i} A_\gamma^{(i)}(s)\, d\mathcal{L}^1(s) + \int_{t_{i-1}}^{t_i}\!\!\int_{t_{i-1}}^{s_1} A_\gamma^{(i)}(s_1) A_\gamma^{(i)}(s_2)\, d\mathcal{L}^1(s_2)\, d\mathcal{L}^1(s_1) + \ldots,
\end{align*}
the Dyson series, which converges absolutely in operator norm on bounded sets in $L^\infty([t_{i-1}, t_i]; \mathfrak{so}(n))$ — the $k$-th term is bounded by $(t_i - t_{i-1})^k \|A_\gamma^{(i)}\|_\infty^k / k!$. Each term is a continuous functional of $A_\gamma^{(i)}$ in the $L^\infty$ norm, so the map
\begin{align*}
A_\gamma^{(i)} \mapsto \Phi_\gamma^{(i)}(t_i, t_{i-1}), \qquad L^\infty([t_{i-1}, t_i]; \mathfrak{so}(n)) \to \mathrm{O}(n)
\end{align*}
is continuous. Skew-symmetry of $A_\gamma^{(i)}$ guarantees $\Phi_\gamma^{(i)}(t_i, t_{i-1}) \in \mathrm{O}(n)$.
**Continuity of the full transport map.** When $\gamma_m \to \gamma$ in the velocity-uniform topology of $\Omega(x, x)$, the breakpoints $t_0 < t_1 < \cdots < t_N$ are fixed by the loop's piecewise structure, and on each smooth piece $\dot\gamma_m \to \dot\gamma$ uniformly, hence $A_{\gamma_m}^{(i)} \to A_\gamma^{(i)}$ in $L^\infty([t_{i-1}, t_i]; \mathfrak{so}(n))$ for each $i$, so $\Phi_{\gamma_m}^{(i)}(t_i, t_{i-1}) \to \Phi_\gamma^{(i)}(t_i, t_{i-1})$ in $\mathrm{O}(n)$. The frame-transition matrices $O_i$ are continuous functions of the position $\gamma(t_i)$, which converges since $\gamma_m(t_i) \to \gamma(t_i)$. Composing across the pieces,
\begin{align*}
P_{\gamma_m} = O_N^{-1} \Phi_{\gamma_m}^{(N)}(t_N, t_{N-1}) O_{N-1} \cdots O_1 \Phi_{\gamma_m}^{(1)}(t_1, t_0),
\end{align*}
we obtain $P_{\gamma_m} \to P_\gamma$ in $\mathrm{O}(n)$, since matrix multiplication is jointly continuous and the finitely many factors converge.
In summary: parallel transport along a piecewise-smooth loop is the time-$1$ value of a linear ODE whose coefficients are continuous functionals of the loop, so $P$ is continuous.
[/step]
[step:Conclude path connectedness of $\mathrm{Hol}_x(M)$]
We have established:
\begin{enumerate}
\item $\Omega(x, x)$ is path-connected (assuming $M$ is simply connected).
\item $P : \Omega(x, x) \to \mathrm{O}(n)$ is continuous.
\item $\mathrm{Hol}_x(M) = P(\Omega(x, x)) \subseteq \mathrm{O}(n)$.
\end{enumerate}
The continuous image of a path-connected topological space is path-connected: given $A_0, A_1 \in \mathrm{Hol}_x(M)$, choose $\gamma_0, \gamma_1 \in \Omega(x, x)$ with $P_{\gamma_0} = A_0$, $P_{\gamma_1} = A_1$. By the path-connectedness of $\Omega(x, x)$ established above, there is a continuous path $H : [0, 1] \to \Omega(x, x)$ with $H(0) = \gamma_0$, $H(1) = \gamma_1$. Then $P \circ H : [0, 1] \to \mathrm{O}(n)$ is continuous (composition of continuous maps), takes values in $\mathrm{Hol}_x(M)$ by definition, and connects $A_0$ to $A_1$.
Hence $\mathrm{Hol}_x(M)$ is path-connected.
[guided]
The proof is a routine "continuous image of path-connected is path-connected" application, but each piece requires some work to set up correctly.
**Why we need a topology on the loop space.** The holonomy group is *defined* as a set — the image of $\Omega(x, x)$ under parallel transport — without any a priori topology beyond the subspace topology inherited from $\mathrm{O}(n)$. To talk about *path-connectedness*, we need to use topological methods on $\Omega(x, x)$ itself. The natural topology is uniform convergence (paths converge if and only if they converge pointwise uniformly together with their velocity fields on each smooth piece). This is the standard topology making both the path operations (concatenation, reversal) continuous and the parallel transport ODE continuous in its parameters.
**Why piecewise smoothness, not full smoothness.** Holonomy is most cleanly defined for piecewise-smooth loops because such loops are closed under concatenation: the concatenation $\gamma_1 \cdot \gamma_2$ of two smooth loops is in general only piecewise smooth (with a corner at the junction). The piecewise-smooth condition gives a group structure on $\Omega(x, x)$ via concatenation, and the parallel transport ODE is well-posed on each smooth piece by classical theory.
**Why simple connectivity gives path-connectedness of $\Omega(x, x)$.** Path-connectedness of $\Omega(x, x)$ is precisely the statement that any two loops can be deformed to one another through a continuous family of loops. Since loops factor through the based loop space, the obstruction to such a deformation is captured by $\pi_0(\Omega(x, x)) = \pi_1(M, x)$ (this is a basic fact about loop spaces). When $\pi_1(M, x) = 0$, $\pi_0(\Omega(x, x)) = 0$, so the space is path-connected. We proved this directly by null-homotoping each loop to the constant loop $c_x$ and concatenating two such homotopies.
**Why we can replace continuous null-homotopies with piecewise-smooth ones.** A homotopy $H : [0, 1]^2 \to M$ provided by $\pi_1(M, x) = 0$ is only continuous, not piecewise smooth. But the inclusion of piecewise-smooth maps into continuous maps is a homotopy equivalence on the level of mapping spaces (this is one of the standard consequences of [Whitney's approximation theorem](/theorems/1519): smooth maps approximate continuous maps in $C^0$, and the approximation is itself a homotopy). So we may smooth the homotopy without loss.
**Why parallel transport is continuous.** This is the heart of the proof. The parallel transport equation in any local frame is a linear ODE
\begin{align*}
\dot V(t) = A_\gamma(t) V(t),
\end{align*}
with $A_\gamma \in C^0([0, 1]; \mathfrak{so}(n))$ depending continuously on the loop $\gamma$. The Picard–Dyson series for the time-$1$ propagator $\Phi_\gamma(1)$ is a power series in $A_\gamma$ that converges absolutely on bounded sets and is continuous in $A_\gamma$ in the sup-norm. Since the matrices $A_\gamma$ are skew-symmetric (because the Levi-Civita connection is metric-compatible), $\Phi_\gamma(1) \in \mathrm{O}(n)$ for every $\gamma$. So $\gamma \mapsto P_\gamma$ is the composition of two continuous maps, hence continuous.
**Where simple connectivity is essential.** Without it, $\pi_1(M, x) \neq 0$, so $\pi_0(\Omega(x, x)) \neq 0$: the loop space has multiple connected components, indexed by $\pi_1(M, x)$. The parallel transport map sends different components to different "sheets" of the holonomy group, and the holonomy group $\mathrm{Hol}_x(M)$ may be disconnected. The Klein bottle is the canonical counterexample: it is flat (so all curvature-driven holonomy vanishes), but a non-contractible loop produces a holonomy element of determinant $-1$, separating $\mathrm{Hol}_x(K) \cong \mathbb{Z}_2$ into two path components.
**Connection to the next theorem.** The restricted holonomy group $\mathrm{Hol}^0_x(M)$ is defined as the image under $P$ of *null-homotopic* loops at $x$. The same proof (with $\Omega(x, x)$ replaced by the based loop space at $x$ restricted to null-homotopic loops, which is always path-connected) shows that $\mathrm{Hol}^0_x(M)$ is path-connected for every $M$, simply connected or not. This is what we use in [Restricted Holonomy Lies in SO(n)](/theorems/2763).
[/guided]
[/step]