[proofplan]
Each of the three assertions is proved by writing down an explicit [path homotopy](/pages/Path%20Homotopy) $H: I \times I \to X$. The technique is uniform: each of the paths to be compared is a concatenation of segments that parametrise $I$ at different speeds, and the homotopy interpolates linearly between the two parametrisations. For associativity, we slide the two breakpoints; for the identity law, we stretch one half of $I$ over the whole; for the inverse law, we shrink the fold so that the path travels less and less distance down $\gamma_0$ before retracing. In each case continuity follows from the pasting lemma applied to a finite closed cover of $I \times I$, and the rel-$\{0,1\}$ property is verified by inspection.
[/proofplan]
<!-- illustration-needed: three schematic squares in $I \times I$ showing the reparametrisation homotopies for the three group laws — (a) associativity: two slanted breakpoint lines sliding from $(1/4, 1/2)$ at $t=0$ to $(1/2, 3/4)$ at $t=1$; (b) identity: a single slanted line from $(1/2, 1)$ at $t=0$ to $(1, 1)$ at $t=1$; (c) inverse: a tent-shape where the fold height $1-t$ decreases linearly from $1$ to $0$ -->
[step:Set up notation and the reparametrisation strategy]
Write $I = [0, 1]$ for the unit interval. The paths under consideration are continuous maps $\gamma_i: I \to X$ satisfying
\begin{align*}
\gamma_0(0) = x_0, \quad \gamma_0(1) = \gamma_1(0) = x_1, \quad \gamma_1(1) = \gamma_2(0) = x_2, \quad \gamma_2(1) = x_3.
\end{align*}
For $x \in X$, write $c_x: I \to X$, $s \mapsto x$ for the constant path at $x$. Recall the [concatenation](/pages/Path%20Concatenation) of two paths $\alpha: x \rightsquigarrow y$ and $\beta: y \rightsquigarrow z$:
\begin{align*}
(\alpha \cdot \beta): I &\to X \\
s &\mapsto \begin{cases} \alpha(2s) & \text{if } 0 \le s \le 1/2, \\ \beta(2s - 1) & \text{if } 1/2 \le s \le 1, \end{cases}
\end{align*}
and the reversal $\gamma_0^{-1}(s) := \gamma_0(1 - s)$. For each assertion we construct a path homotopy $H: I \times I \to X$ with $H(s, 0)$ equal to the left-hand concatenation and $H(s, 1)$ equal to the right-hand concatenation, with $H(0, t)$ and $H(1, t)$ fixed at the common endpoints for all $t \in I$. Continuity in each case is verified via the [pasting lemma](/pages/Pasting%20Lemma) applied to a finite cover of $I \times I$ by closed sets on which $H$ is defined by the composition of continuous functions.
[guided]
Before diving into the three constructions, let us make the common strategy explicit. Each of the three claims compares two paths that, on the surface, spend different *amounts of time* in different segments. Associativity compares $(\gamma_0 \cdot \gamma_1) \cdot \gamma_2$, which gives $\gamma_0$ a quarter of the time, against $\gamma_0 \cdot (\gamma_1 \cdot \gamma_2)$, which gives $\gamma_0$ a half. The identity law compares $\gamma_0 \cdot c_{x_1}$, which gives $\gamma_0$ only the first half of $I$, against $\gamma_0$ itself, which uses the whole of $I$. The inverse law compares the "out and back" $\gamma_0 \cdot \gamma_0^{-1}$, which travels down $\gamma_0$ to $x_1$, against the constant path $c_{x_0}$, which never moves.
The universal recipe: parametrise $I \times I$ so that at $t = 0$ we obtain the first path and at $t = 1$ we obtain the second, with the dividing lines between segments **sliding linearly in $t$**. The result is always a continuous map (pasting lemma on the triangulated square), fixes endpoints (the sides $\{0\} \times I$ and $\{1\} \times I$ map to constants), and is a path homotopy by construction.
The entire proof is a sequence of three triangulated squares with explicit formulas.
[/guided]
[/step]
[step:Construct the associativity homotopy $(\gamma_0 \cdot \gamma_1) \cdot \gamma_2 \simeq \gamma_0 \cdot (\gamma_1 \cdot \gamma_2)$]
Expanding the concatenation formula gives, for $s \in I$,
\begin{align*}
((\gamma_0 \cdot \gamma_1) \cdot \gamma_2)(s) &= \begin{cases} \gamma_0(4s) & 0 \le s \le 1/4, \\ \gamma_1(4s - 1) & 1/4 \le s \le 1/2, \\ \gamma_2(2s - 1) & 1/2 \le s \le 1, \end{cases} \\
(\gamma_0 \cdot (\gamma_1 \cdot \gamma_2))(s) &= \begin{cases} \gamma_0(2s) & 0 \le s \le 1/2, \\ \gamma_1(4s - 2) & 1/2 \le s \le 3/4, \\ \gamma_2(4s - 3) & 3/4 \le s \le 1. \end{cases}
\end{align*}
Define the two breakpoint functions for $t \in I$:
\begin{align*}
a(t) &= \tfrac{1}{4}(1 - t) + \tfrac{1}{2}\, t = \tfrac{1 + t}{4}, \\
b(t) &= \tfrac{1}{2}(1 - t) + \tfrac{3}{4}\, t = \tfrac{2 + t}{4}.
\end{align*}
Both $a$ and $b$ are affine (hence continuous) and satisfy $0 < a(t) < b(t) < 1$ for all $t \in I$. Define
\begin{align*}
H: I \times I &\to X \\
(s, t) &\mapsto \begin{cases}
\gamma_0\!\left(\dfrac{s}{a(t)}\right) & 0 \le s \le a(t), \\[4pt]
\gamma_1\!\left(\dfrac{s - a(t)}{b(t) - a(t)}\right) & a(t) \le s \le b(t), \\[4pt]
\gamma_2\!\left(\dfrac{s - b(t)}{1 - b(t)}\right) & b(t) \le s \le 1.
\end{cases}
\end{align*}
The three closed subsets
\begin{align*}
A_1 &= \{(s,t) : s \le a(t)\}, & A_2 &= \{(s,t) : a(t) \le s \le b(t)\}, & A_3 &= \{(s,t) : s \ge b(t)\}
\end{align*}
cover $I \times I$ and each is closed (preimage of a closed half-line under a continuous function). On $A_1 \cap A_2$ we have $s = a(t)$, so the first and second formulas give $\gamma_0(1) = x_1 = \gamma_1(0)$ and thus agree. On $A_2 \cap A_3$ we have $s = b(t)$, so the second and third formulas give $\gamma_1(1) = x_2 = \gamma_2(0)$ and agree. Each piece is a composition of continuous functions (affine rescalings and the continuous paths $\gamma_i$), so by the pasting lemma $H$ is continuous.
At $t = 0$ we have $(a(0), b(0)) = (1/4, 1/2)$, so for $s \in [0, 1/4]$ the first branch gives $\gamma_0(4s)$; for $s \in [1/4, 1/2]$ the second gives $\gamma_1((s - 1/4)/(1/4)) = \gamma_1(4s - 1)$; for $s \in [1/2, 1]$ the third gives $\gamma_2((s - 1/2)/(1/2)) = \gamma_2(2s - 1)$. These match $((\gamma_0 \cdot \gamma_1) \cdot \gamma_2)(s)$ exactly. At $t = 1$ we have $(a(1), b(1)) = (1/2, 3/4)$, and the same check gives $H(s, 1) = (\gamma_0 \cdot (\gamma_1 \cdot \gamma_2))(s)$. Finally, for every $t \in I$, $H(0, t) = \gamma_0(0) = x_0$ and $H(1, t) = \gamma_2(1) = x_3$, so $H$ is rel $\{0, 1\}$. Hence $(\gamma_0 \cdot \gamma_1) \cdot \gamma_2 \simeq \gamma_0 \cdot (\gamma_1 \cdot \gamma_2)$.
[guided]
The left and right concatenations assign different fractions of $I$ to $\gamma_0, \gamma_1, \gamma_2$. The left concatenation splits $I$ at the breakpoints $(1/4, 1/2)$; the right concatenation splits it at $(1/2, 3/4)$. The strategy is to construct a homotopy whose breakpoints **slide linearly** between these two pairs.
Let $a(t) = (1+t)/4$ interpolate between $1/4$ and $1/2$, and $b(t) = (2+t)/4$ interpolate between $1/2$ and $3/4$. Both are affine in $t$, so continuous. At each time $t$, we want the first segment $[0, a(t)]$ to traverse $\gamma_0$, the middle segment $[a(t), b(t)]$ to traverse $\gamma_1$, and the last segment $[b(t), 1]$ to traverse $\gamma_2$. To make each piece a path, we rescale each subinterval affinely onto $[0, 1]$ and compose with the relevant $\gamma_i$:
\begin{align*}
H: I \times I &\to X \\
(s, t) &\mapsto \begin{cases}
\gamma_0\!\left(\dfrac{s}{a(t)}\right) & 0 \le s \le a(t), \\[4pt]
\gamma_1\!\left(\dfrac{s - a(t)}{b(t) - a(t)}\right) & a(t) \le s \le b(t), \\[4pt]
\gamma_2\!\left(\dfrac{s - b(t)}{1 - b(t)}\right) & b(t) \le s \le 1.
\end{cases}
\end{align*}
**Checking continuity.** The three sets $A_1, A_2, A_3$ defined above are closed (they are preimages of $[0, \infty)$ under continuous functions like $a(t) - s$), and they cover $I \times I$. On each $A_i$, the formula is the composition of continuous operations: an affine function of $(s, t)$ fed into a continuous path. So each piece is continuous. The pasting lemma demands the pieces agree on overlaps, and that is exactly the matching condition $\gamma_0(1) = \gamma_1(0) = x_1$ and $\gamma_1(1) = \gamma_2(0) = x_2$ — these hold by hypothesis on the endpoints of the $\gamma_i$. So the pasting lemma gives global continuity.
**Checking endpoints.** At $t = 0$, substitute $(a(0), b(0)) = (1/4, 1/2)$ into $H(s, 0)$:
\begin{align*}
H(s, 0) = \begin{cases} \gamma_0(s / (1/4)) = \gamma_0(4s), & 0 \le s \le 1/4, \\ \gamma_1((s - 1/4)/(1/4)) = \gamma_1(4s - 1), & 1/4 \le s \le 1/2, \\ \gamma_2((s - 1/2)/(1/2)) = \gamma_2(2s - 1), & 1/2 \le s \le 1. \end{cases}
\end{align*}
This is the left concatenation $(\gamma_0 \cdot \gamma_1) \cdot \gamma_2$ on the nose. The $t = 1$ case is symmetric. And $H(0, t) = \gamma_0(0) = x_0$ and $H(1, t) = \gamma_2(1) = x_3$ for every $t$, so the homotopy is rel $\{0, 1\}$.
**Why this is the right picture.** Imagine $I \times I$ as a square with the time parameter $t$ going up. The lines $s = a(t)$ and $s = b(t)$ are two slanted line segments inside the square. They cut the square into three strips. Each strip is "time domain for one of the three paths", and the continuous rescaling on each strip converts the strip into a copy of $I$. Sliding the lines is what creates the homotopy.
[/guided]
[/step]
[step:Construct the identity homotopy $\gamma_0 \cdot c_{x_1} \simeq \gamma_0 \simeq c_{x_0} \cdot \gamma_0$]
We prove $\gamma_0 \cdot c_{x_1} \simeq \gamma_0$; the other equivalence is symmetric. Expanding concatenation,
\begin{align*}
(\gamma_0 \cdot c_{x_1})(s) = \begin{cases} \gamma_0(2s) & 0 \le s \le 1/2, \\ x_1 & 1/2 \le s \le 1. \end{cases}
\end{align*}
For $t \in I$ define $a(t) = \tfrac{1}{2}(1 - t) + 1 \cdot t = \tfrac{1 + t}{2}$. Then $a(0) = 1/2$, $a(1) = 1$, and $a(t) \in [1/2, 1]$ with $a(t) > 0$. Define
\begin{align*}
H: I \times I &\to X \\
(s, t) &\mapsto \begin{cases}
\gamma_0\!\left(\dfrac{s}{a(t)}\right) & 0 \le s \le a(t), \\[4pt]
x_1 & a(t) \le s \le 1.
\end{cases}
\end{align*}
The sets $\{(s, t): s \le a(t)\}$ and $\{(s, t): s \ge a(t)\}$ are closed and cover $I \times I$. On the overlap $s = a(t)$, both formulas give $\gamma_0(1) = x_1$, so they agree. Each piece is continuous, so by the pasting lemma $H$ is continuous.
At $t = 0$, $a(0) = 1/2$, so $H(s, 0) = \gamma_0(2s)$ on $[0, 1/2]$ and $H(s, 0) = x_1$ on $[1/2, 1]$, i.e., $H(s, 0) = (\gamma_0 \cdot c_{x_1})(s)$. At $t = 1$, $a(1) = 1$, so the second branch disappears and $H(s, 1) = \gamma_0(s)$ on all of $I$. For every $t$, $H(0, t) = \gamma_0(0) = x_0$ and $H(1, t) = x_1$, so $H$ is rel $\{0, 1\}$. Thus $\gamma_0 \cdot c_{x_1} \simeq \gamma_0$.
To prove $c_{x_0} \cdot \gamma_0 \simeq \gamma_0$, apply the same construction with breakpoint $b(t) = \tfrac{1}{2}(1 - t) + 0 \cdot t = \tfrac{1 - t}{2}$, concentrating $\gamma_0$ on the right-hand interval $[b(t), 1]$ and the constant $x_0$ on $[0, b(t)]$. Continuity, boundary values, and the rel-$\{0, 1\}$ property follow by the analogous verification.
[guided]
The concatenation $\gamma_0 \cdot c_{x_1}$ spends the first half of $I$ traversing $\gamma_0$ at double speed and the second half sitting at $x_1$. We want to homotope this to just $\gamma_0$, which traverses the whole $I$ at normal speed. The natural idea: linearly expand the $\gamma_0$ portion from $[0, 1/2]$ to $[0, 1]$, squeezing the constant portion from $[1/2, 1]$ down to the single point $\{1\}$.
Let $a(t) = (1 + t)/2$, so $a(0) = 1/2$ and $a(1) = 1$. At time $t$, the breakpoint is at $a(t)$: $\gamma_0$ fills $[0, a(t)]$ (rescaled to $[0, 1]$) and the remaining interval $[a(t), 1]$ holds the constant $x_1$. Explicitly,
\begin{align*}
H(s, t) = \begin{cases} \gamma_0(s / a(t)) & 0 \le s \le a(t), \\ x_1 & a(t) \le s \le 1. \end{cases}
\end{align*}
At $t = 1$ the second region degenerates to the point $s = 1$, and the formula gives $H(s, 1) = \gamma_0(s)$. Between the two regions, at $s = a(t)$, both formulas evaluate to $\gamma_0(a(t)/a(t)) = \gamma_0(1) = x_1$, so the pieces match on the overlap. The closed-cover pasting lemma gives continuity globally.
The boundary conditions: $H(0, t) = \gamma_0(0/a(t)) = \gamma_0(0) = x_0$ for all $t$ (the first branch applies since $0 \le a(t)$); and $H(1, t)$ always falls in the second branch (since $a(t) \le 1$), giving $x_1$. So $H$ is rel $\{0, 1\}$.
For the symmetric claim $c_{x_0} \cdot \gamma_0 \simeq \gamma_0$, we use the same picture reflected: shrink the constant portion from $[0, 1/2]$ to $\{0\}$, expanding the $\gamma_0$ portion to fill $I$. The breakpoint is $b(t) = (1 - t)/2$ (decreasing from $1/2$ to $0$), and the rest of the verification is identical.
[/guided]
[/step]
[step:Construct the inverse homotopy $\gamma_0 \cdot \gamma_0^{-1} \simeq c_{x_0}$]
The concatenation is
\begin{align*}
(\gamma_0 \cdot \gamma_0^{-1})(s) = \begin{cases} \gamma_0(2s) & 0 \le s \le 1/2, \\ \gamma_0^{-1}(2s - 1) = \gamma_0(2 - 2s) & 1/2 \le s \le 1. \end{cases}
\end{align*}
Define
\begin{align*}
H: I \times I &\to X \\
(s, t) &\mapsto \begin{cases}
\gamma_0(2s(1-t)) & 0 \le s \le 1/2, \\
\gamma_0(2(1-s)(1-t)) & 1/2 \le s \le 1.
\end{cases}
\end{align*}
Both branches are compositions of continuous functions. On the overlap $s = 1/2$, each branch gives $\gamma_0(1 - t)$, so they agree, and $H$ is continuous by the pasting lemma.
At $t = 0$: the first branch yields $\gamma_0(2s)$ on $[0, 1/2]$, the second yields $\gamma_0(2(1-s)) = \gamma_0(2 - 2s)$ on $[1/2, 1]$, which matches $(\gamma_0 \cdot \gamma_0^{-1})(s)$ exactly. At $t = 1$: both branches give $\gamma_0(0) = x_0$ for all $s$, so $H(s, 1) = x_0 = c_{x_0}(s)$. For every $t \in I$: $H(0, t) = \gamma_0(0) = x_0$ (first branch) and $H(1, t) = \gamma_0(0) = x_0$ (second branch), so $H$ is rel $\{0, 1\}$. Hence $\gamma_0 \cdot \gamma_0^{-1} \simeq c_{x_0}$.
For $\gamma_0^{-1} \cdot \gamma_0 \simeq c_{x_1}$, apply the same argument to the reversed path $\gamma_0^{-1}: x_1 \rightsquigarrow x_0$, noting that $(\gamma_0^{-1})^{-1} = \gamma_0$ pointwise.
[guided]
The concatenation $\gamma_0 \cdot \gamma_0^{-1}$ travels out along $\gamma_0$ from $x_0$ to $x_1$, then immediately retraces to $x_0$. We want to homotope this to the constant path $c_{x_0}$ which never leaves $x_0$. The geometric idea: at intermediate time $t$, travel only a fraction $(1 - t)$ of the way along $\gamma_0$ before turning back. As $t \to 1$, the distance travelled shrinks to zero, and the path becomes constant.
Formally, at time $t$ the outward half of the concatenation should traverse $\gamma_0$ from parameter $0$ up to parameter $(1 - t)$, then retrace back to $0$. We want to describe this as a homotopy of paths $I \to X$ parametrised by $s \in I$.
The natural formula splits at $s = 1/2$:
- For $s \in [0, 1/2]$, the outward journey: the path variable goes from $0$ to $1 - t$, so we take $\gamma_0(2s(1 - t))$.
- For $s \in [1/2, 1]$, the return journey: the path variable goes from $1 - t$ back to $0$, so we take $\gamma_0(2(1 - s)(1 - t))$.
**Check continuity.** Both branches are continuous (composition of affine functions with $\gamma_0$). On the shared boundary $s = 1/2$, both formulas give $\gamma_0(2 \cdot \tfrac{1}{2} \cdot (1 - t)) = \gamma_0(1 - t)$, so they match. The closed-set pasting lemma gives continuity on $I \times I$.
**Check endpoints of the homotopy.** At $t = 0$, the first branch is $\gamma_0(2s)$ and the second is $\gamma_0(2 - 2s)$, giving back $\gamma_0 \cdot \gamma_0^{-1}$. At $t = 1$, both branches evaluate to $\gamma_0(0) = x_0$ everywhere, which is $c_{x_0}$.
**Rel $\{0, 1\}$ check.** At $s = 0$: $H(0, t) = \gamma_0(0) = x_0$, constant in $t$. At $s = 1$: $H(1, t) = \gamma_0(0) = x_0$, also constant in $t$. So the endpoints are fixed throughout the homotopy.
**Why the factor $(1 - t)$?** The key insight is that $\gamma_0 \cdot \gamma_0^{-1}$ is a *fold* — the path traces $\gamma_0$ out and back. A fold can be retracted to a point by **shrinking the fold's depth**: pull the tip $(1/2$, depth $1)$ back towards the base $(1/2$, depth $0)$. The factor $(1 - t)$ is precisely the depth of the fold at time $t$.
For $\gamma_0^{-1} \cdot \gamma_0 \simeq c_{x_1}$: apply this construction with the path $\gamma_0^{-1}$ in place of $\gamma_0$. Note that $(\gamma_0^{-1})^{-1}(s) = \gamma_0^{-1}(1 - s) = \gamma_0(1 - (1 - s)) = \gamma_0(s)$, so $(\gamma_0^{-1})^{-1} = \gamma_0$. The construction then homotopes $\gamma_0^{-1} \cdot \gamma_0$ to $c_{x_1}$ via a shrinking fold anchored at $x_1$.
[/guided]
[/step]
[step:Conclude]
Steps 2, 3, and 4 provide explicit path homotopies witnessing respectively the associativity, identity, and inverse laws up to homotopy. Each homotopy is continuous (by the pasting lemma) and fixes the common endpoints, so it is a path homotopy. This establishes the three claimed relations.
[/step]