[proofplan]
Recall that $\mathcal{H}_1$ is the fixed-point subspace of $U$ and $\mathcal{H}_0$ is the norm closure of the range of $U-I$. The proof first shows that every fixed vector is orthogonal to every vector of the form $Ug-g$, so $\mathcal{H}_1 \subseteq \mathcal{H}_0^\perp$. Conversely, a vector orthogonal to all such differences satisfies the adjoint equation $U^*f=f$, and the isometry property then forces $Uf=f$. Hence $\mathcal{H}_0^\perp=\mathcal{H}_1$, and taking orthogonal complements gives $\mathcal{H}_0=\mathcal{H}_1^\perp$.
[/proofplan]
[step:Record the fixed subspace and the closed range subspace]
We use the convention that $(\cdot,\cdot)_H$ is linear in the second argument. Define the identity map and the displacement map by
\begin{align*}
I:H&\to H,\\
h&\mapsto h,
\end{align*}
and
\begin{align*}
A:H&\to H,\\
g&\mapsto Ug-g.
\end{align*}
By definition,
\begin{align*}
\mathcal{H}_1&=\{h\in H:Uh=h\},\\
\operatorname{Range}(A)&=\{Ag:g\in H\},\\
\mathcal{H}_0&=\overline{\operatorname{Range}(A)}^{\|\cdot\|_H}.
\end{align*}
Since $U$ and $I$ are linear, $A=U-I$ is linear, so $\mathcal{H}_0$ is a closed linear subspace of $H$.
Because $U$ is a linear isometry, $\|Uh\|_H=\|h\|_H$ for every $h\in H$. By the Polarization Identity, $U$ preserves inner products:
\begin{align*}
(Ux,Uy)_H=(x,y)_H
\end{align*}
for all $x,y\in H$. Also $U$ is bounded, so [Existence Of Adjoint](/theorems/438) gives a bounded linear map
\begin{align*}
U^*:H&\to H
\end{align*}
characterized by
\begin{align*}
(U^*x,y)_H=(x,Uy)_H
\end{align*}
for all $x,y\in H$.
[guided]
We first name the two subspaces in the theorem. The identity operator is the map
\begin{align*}
I:H&\to H,\\
h&\mapsto h,
\end{align*}
and the relevant difference operator is
\begin{align*}
A:H&\to H,\\
g&\mapsto Ug-g.
\end{align*}
Thus $A=U-I$. The fixed-point subspace and the closed range subspace are
\begin{align*}
\mathcal{H}_1&=\{h\in H:Uh=h\},\\
\operatorname{Range}(A)&=\{Ag:g\in H\},\\
\mathcal{H}_0&=\overline{\operatorname{Range}(A)}^{\|\cdot\|_H}.
\end{align*}
The closure is taken in the norm topology of the Hilbert space $H$. Since $U$ and $I$ are linear maps from $H$ to $H$, their difference $A=U-I$ is linear. Therefore $\operatorname{Range}(A)$ is a linear subspace, and its norm closure $\mathcal{H}_0$ is a closed linear subspace of $H$.
We will need inner products, not merely norms, because orthogonality is expressed by $(\cdot,\cdot)_H$. Since $U$ is a linear isometry, it preserves the Hilbert norm:
\begin{align*}
\|Uh\|_H=\|h\|_H
\end{align*}
for every $h\in H$. The Polarization Identity expresses the inner product in a real or complex Hilbert space purely in terms of the norm. Applying that identity to $Ux$ and $Uy$, and using linearity of $U$ together with norm preservation, gives
\begin{align*}
(Ux,Uy)_H=(x,y)_H
\end{align*}
for all $x,y\in H$.
Finally, since $\|Uh\|_H=\|h\|_H$, the operator $U$ is bounded. Hence [Existence Of Adjoint](/theorems/438) applies and gives a bounded linear adjoint map
\begin{align*}
U^*:H&\to H
\end{align*}
satisfying
\begin{align*}
(U^*x,y)_H=(x,Uy)_H
\end{align*}
for all $x,y\in H$.
[/guided]
[/step]
[step:Show every fixed vector is orthogonal to every displacement vector]
Let $f\in\mathcal{H}_1$ and $g\in H$. Since $Uf=f$, inner-product preservation gives
\begin{align*}
(f,Ag)_H
&=(f,Ug-g)_H\\
&=(f,Ug)_H-(f,g)_H\\
&=(Uf,Ug)_H-(f,g)_H\\
&=(f,g)_H-(f,g)_H\\
&=0.
\end{align*}
Thus $\mathcal{H}_1$ is orthogonal to $\operatorname{Range}(A)$.
Let $h\in\mathcal{H}_0$. By the definition of norm closure, there is a sequence $g_\bullet:\mathbb{N}\to H$, $m\mapsto g_m$, such that
\begin{align*}
\|Ag_m-h\|_H\to 0.
\end{align*}
For each $m\in\mathbb{N}$, $(f,Ag_m)_H=0$. By the [Cauchy-Schwarz Inequality](/theorems/432),
\begin{align*}
|(f,h)_H|
&=|(f,h-Ag_m)_H|\\
&\leq \|f\|_H\|h-Ag_m\|_H.
\end{align*}
Letting $m\to\infty$ gives $(f,h)_H=0$. Hence $\mathcal{H}_1\subseteq\mathcal{H}_0^\perp$.
[guided]
Fix $f\in\mathcal{H}_1$ and $g\in H$. The condition $f\in\mathcal{H}_1$ means exactly that $Uf=f$. The vector $Ag=Ug-g$ is a typical element of $\operatorname{Range}(A)$. We compute its inner product with $f$:
\begin{align*}
(f,Ag)_H
&=(f,Ug-g)_H\\
&=(f,Ug)_H-(f,g)_H\\
&=(Uf,Ug)_H-(f,g)_H\\
&=(f,g)_H-(f,g)_H\\
&=0.
\end{align*}
The third equality uses $Uf=f$, and the fourth equality uses the inner-product preservation of the isometry $U$. Therefore every fixed vector is orthogonal to every displacement vector $Ug-g$.
We must pass from $\operatorname{Range}(A)$ to its closure $\mathcal{H}_0$. Let $h\in\mathcal{H}_0$. Since $\mathcal{H}_0$ is the norm closure of $\operatorname{Range}(A)$, there exists a sequence $g_\bullet:\mathbb{N}\to H$, $m\mapsto g_m$, such that
\begin{align*}
\|Ag_m-h\|_H\to 0.
\end{align*}
For every $m\in\mathbb{N}$, the first part of the argument gives $(f,Ag_m)_H=0$. Hence
\begin{align*}
|(f,h)_H|
&=|(f,h)_H-(f,Ag_m)_H|\\
&=|(f,h-Ag_m)_H|\\
&\leq \|f\|_H\|h-Ag_m\|_H
\end{align*}
by the [Cauchy-Schwarz Inequality](/theorems/432). The right-hand side tends to $0$, so $(f,h)_H=0$. Since $f\in\mathcal{H}_1$ and $h\in\mathcal{H}_0$ were arbitrary, $\mathcal{H}_1\subseteq\mathcal{H}_0^\perp$.
[/guided]
[/step]
[step:Convert orthogonality to the range into an adjoint fixed-point equation]
Let $f\in\mathcal{H}_0^\perp$. Since $\operatorname{Range}(A)\subseteq\mathcal{H}_0$, for every $g\in H$ we have
\begin{align*}
0=(f,Ag)_H=(f,Ug-g)_H=(f,Ug)_H-(f,g)_H.
\end{align*}
Using the defining property of $U^*$,
\begin{align*}
(U^*f,g)_H=(f,Ug)_H=(f,g)_H
\end{align*}
for every $g\in H$. Define $d:=U^*f-f\in H$. Then
\begin{align*}
(d,g)_H=0
\end{align*}
for every $g\in H$. Taking $g=d$ gives $\|d\|_H^2=0$, hence $d=0$. Therefore $U^*f=f$.
[guided]
Now take a vector $f\in\mathcal{H}_0^\perp$. This means that $f$ is orthogonal to every vector in $\mathcal{H}_0$. Since $\operatorname{Range}(A)\subseteq\mathcal{H}_0$, it is in particular orthogonal to every vector of the form $Ag=Ug-g$ with $g\in H$. Thus, for every $g\in H$,
\begin{align*}
0=(f,Ag)_H=(f,Ug-g)_H=(f,Ug)_H-(f,g)_H.
\end{align*}
Equivalently,
\begin{align*}
(f,Ug)_H=(f,g)_H
\end{align*}
for every $g\in H$.
The adjoint $U^*:H\to H$ is characterized by
\begin{align*}
(U^*f,g)_H=(f,Ug)_H.
\end{align*}
Substituting the previous identity gives
\begin{align*}
(U^*f,g)_H=(f,g)_H
\end{align*}
for every $g\in H$. Define $d:=U^*f-f\in H$. Then
\begin{align*}
(d,g)_H=0
\end{align*}
for every $g\in H$. Choosing $g=d$ gives
\begin{align*}
\|d\|_H^2=(d,d)_H=0.
\end{align*}
The Hilbert norm is definite, so $d=0$. Therefore $U^*f=f$.
[/guided]
[/step]
[step:Use the isometry equality case to prove the vector is fixed by $U$]
Let $f\in\mathcal{H}_0^\perp$. From the previous step, $U^*f=f$. If $f=0$, then $Uf=f$. Assume $f\neq 0$. Then
\begin{align*}
\|f\|_H^2
&=(f,f)_H\\
&=(U^*f,f)_H\\
&=(f,Uf)_H.
\end{align*}
By the [Cauchy-Schwarz Inequality](/theorems/432) and the isometry property,
\begin{align*}
|(f,Uf)_H|
\leq \|f\|_H\|Uf\|_H
=\|f\|_H^2.
\end{align*}
Since $(f,Uf)_H=\|f\|_H^2$, equality holds in Cauchy-Schwarz. By the equality case in the [Cauchy-Schwarz Inequality](/theorems/432), there exists a scalar $\lambda$ in the scalar field of $H$ such that
\begin{align*}
Uf=\lambda f.
\end{align*}
Substituting into $(f,Uf)_H=\|f\|_H^2$ gives
\begin{align*}
\|f\|_H^2=(f,\lambda f)_H=\lambda\|f\|_H^2.
\end{align*}
Because $f\neq 0$, $\|f\|_H^2>0$, so $\lambda=1$. Hence $Uf=f$, and therefore $f\in\mathcal{H}_1$. Thus $\mathcal{H}_0^\perp\subseteq\mathcal{H}_1$.
[guided]
Let $f\in\mathcal{H}_0^\perp$. The previous step proved the adjoint fixed-point equation
\begin{align*}
U^*f=f.
\end{align*}
We now show that this forces the original fixed-point equation $Uf=f$.
If $f=0$, then $Uf=0=f$ by linearity of $U$. Suppose $f\neq 0$. Using $U^*f=f$ and the defining property of the adjoint, we get
\begin{align*}
\|f\|_H^2
&=(f,f)_H\\
&=(U^*f,f)_H\\
&=(f,Uf)_H.
\end{align*}
The isometry property gives $\|Uf\|_H=\|f\|_H$. Therefore the [Cauchy-Schwarz Inequality](/theorems/432) gives
\begin{align*}
|(f,Uf)_H|
\leq \|f\|_H\|Uf\|_H
=\|f\|_H^2.
\end{align*}
But the previous identity says that $(f,Uf)_H$ is exactly the positive real number $\|f\|_H^2$. Hence equality holds in Cauchy-Schwarz for the pair $f$ and $Uf$.
By the equality case in the [Cauchy-Schwarz Inequality](/theorems/432), equality implies linear dependence. Thus there exists a scalar $\lambda$ in the scalar field of $H$ such that
\begin{align*}
Uf=\lambda f.
\end{align*}
Substitute this relation into $(f,Uf)_H=\|f\|_H^2$. Since the inner product is linear in its second argument,
\begin{align*}
\|f\|_H^2=(f,Uf)_H=(f,\lambda f)_H=\lambda\|f\|_H^2.
\end{align*}
Because $f\neq 0$, we have $\|f\|_H^2>0$, so division by $\|f\|_H^2$ gives $\lambda=1$. Therefore $Uf=f$, so $f\in\mathcal{H}_1$. This proves $\mathcal{H}_0^\perp\subseteq\mathcal{H}_1$.
[/guided]
[/step]
[step:Take orthogonal complements to obtain the decomposition]
The second step proved $\mathcal{H}_1\subseteq\mathcal{H}_0^\perp$, and the fourth step proved $\mathcal{H}_0^\perp\subseteq\mathcal{H}_1$. Hence
\begin{align*}
\mathcal{H}_0^\perp=\mathcal{H}_1.
\end{align*}
Since $\mathcal{H}_0$ is closed, the double orthogonal complement identity for closed subspaces gives
\begin{align*}
\mathcal{H}_1^\perp=(\mathcal{H}_0^\perp)^\perp=\mathcal{H}_0.
\end{align*}
By the [Orthogonal Decomposition Theorem](/theorems/241), the closed subspace $\mathcal{H}_0$ satisfies
\begin{align*}
H=\mathcal{H}_0^\perp\oplus\mathcal{H}_0.
\end{align*}
Using $\mathcal{H}_0^\perp=\mathcal{H}_1$, this becomes
\begin{align*}
H=\mathcal{H}_1\oplus\mathcal{H}_0.
\end{align*}
Equivalently, $\mathcal{H}_0=\mathcal{H}_1^\perp$, as required.
[guided]
We have proved both inclusions. From the orthogonality of fixed vectors to displacement vectors, including the closure argument, we obtained
\begin{align*}
\mathcal{H}_1\subseteq\mathcal{H}_0^\perp.
\end{align*}
From the adjoint argument and the Cauchy-Schwarz equality case, we obtained
\begin{align*}
\mathcal{H}_0^\perp\subseteq\mathcal{H}_1.
\end{align*}
Therefore
\begin{align*}
\mathcal{H}_0^\perp=\mathcal{H}_1.
\end{align*}
Now we convert this into the form stated in the theorem. The subspace $\mathcal{H}_0$ is closed because it was defined as a norm closure. Hence the double orthogonal complement identity for closed subspaces gives
\begin{align*}
(\mathcal{H}_0^\perp)^\perp=\mathcal{H}_0.
\end{align*}
Taking orthogonal complements in $\mathcal{H}_0^\perp=\mathcal{H}_1$ therefore yields
\begin{align*}
\mathcal{H}_1^\perp=(\mathcal{H}_0^\perp)^\perp=\mathcal{H}_0.
\end{align*}
Finally, the [Orthogonal Decomposition Theorem](/theorems/241) says that a Hilbert space decomposes as the orthogonal direct sum of a closed subspace and its orthogonal complement. Applying it to the closed subspace $\mathcal{H}_0$ gives
\begin{align*}
H=\mathcal{H}_0^\perp\oplus\mathcal{H}_0.
\end{align*}
Since $\mathcal{H}_0^\perp=\mathcal{H}_1$, this is exactly
\begin{align*}
H=\mathcal{H}_1\oplus\mathcal{H}_0.
\end{align*}
Thus $\mathcal{H}_0=\mathcal{H}_1^\perp$, completing the proof.
[/guided]
[/step]