[proofplan]
The proof is a repeated chain-rule computation along the closed-loop trajectory. First we check that the iterated Lie derivatives appearing in the formula are well-defined under the stated $C^r$ regularity. Then we prove by induction that the first $r-1$ output derivatives are exactly $L_f^k h(x(t))$, because the relative-degree hypotheses eliminate all input terms before order $r$. Differentiating once more produces the affine expression $L_f^r h(x(t))+L_gL_f^{r-1}h(x(t))u(t)$, and substitution of the feedback gives $y^{(r)}(t)=v(t)$.
[/proofplan]
[step:Verify that all Lie derivatives in the feedback law are well-defined]
For each $k \in \{0,\dots,r\}$ define $\phi_k: U \to \mathbb{R}$ by $\phi_k := L_f^k h$. We prove by induction on $k$ that $\phi_k$ is of class $C^{r-k}$ for $0 \le k \le r$. The case $k=0$ is the hypothesis $h \in C^r(U)$. If $0 \le k \le r-1$ and $\phi_k \in C^{r-k}(U)$, then $\phi_k$ is $C^1$ and
\begin{align*}
\phi_{k+1}(x)=L_f\phi_k(x)=\nabla \phi_k(x)\cdot f(x).
\end{align*}
Since $\nabla \phi_k$ is $C^{r-k-1}$ and $f$ is $C^r$, the product is $C^{r-k-1}$. Hence $\phi_{k+1}\in C^{r-k-1}(U)$.
In particular, $\phi_r=L_f^rh$ is continuous, and $\phi_{r-1}=L_f^{r-1}h$ is $C^1$. Therefore
\begin{align*}
L_gL_f^{r-1}h(x)=\nabla \phi_{r-1}(x)\cdot g(x)
\end{align*}
is continuous on $U$. Since it is nonzero at every point of $U$, the feedback formula is defined for every $t \in I$ because $x(t)\in U$.
[/step]
[step:Show that the input does not appear in the first $r-1$ output derivatives]
We prove that, for every $k \in \{0,\dots,r-1\}$ and every $t \in I^\circ$ for which the derivative is of the relevant order,
\begin{align*}
y^{(k)}(t)=\phi_k(x(t)).
\end{align*}
For $k=0$, this is the definition $y(t)=h(x(t))=\phi_0(x(t))$.
Assume $0 \le k \le r-2$ and $y^{(k)}(t)=\phi_k(x(t))$ on $I^\circ$. Since $\phi_k \in C^1(U)$ and $x$ is $C^1$ on $I^\circ$, the chain rule gives
\begin{align*}
y^{(k+1)}(t)=\nabla \phi_k(x(t))\cdot \dot{x}(t).
\end{align*}
Using the closed-loop equation at $t$,
\begin{align*}
y^{(k+1)}(t)=\nabla \phi_k(x(t))\cdot f(x(t))+\nabla \phi_k(x(t))\cdot g(x(t))u(t).
\end{align*}
By the definitions of Lie derivatives,
\begin{align*}
y^{(k+1)}(t)=L_f\phi_k(x(t))+L_g\phi_k(x(t))u(t).
\end{align*}
Since $\phi_k=L_f^k h$ and $k\le r-2$, the relative-degree hypothesis gives $L_g\phi_k(x(t))=0$. Hence
\begin{align*}
y^{(k+1)}(t)=L_f^{k+1}h(x(t))=\phi_{k+1}(x(t)).
\end{align*}
This proves the induction. When $r=1$, the set $\{0,\dots,r-2\}$ is empty, so this step reduces only to the identity $y=\phi_0\circ x$ and uses no vanishing condition.
[guided]
The goal of this step is to understand why the control input $u$ cannot affect the output derivatives before order $r$. Define $\phi_k: U \to \mathbb{R}$ by $\phi_k=L_f^kh$. The claim is that, for each $k$ with $0\le k\le r-1$, the $k$-th derivative of the output is
\begin{align*}
y^{(k)}(t)=\phi_k(x(t)).
\end{align*}
For $k=0$, no differentiation is involved:
\begin{align*}
y(t)=h(x(t))=\phi_0(x(t)).
\end{align*}
Now suppose $0\le k\le r-2$ and suppose that $y^{(k)}(t)=\phi_k(x(t))$ on $I^\circ$. The function $\phi_k$ is $C^1$ because the previous regularity step showed $\phi_k\in C^{r-k}(U)$ and $r-k\ge 2$ in this range. The trajectory $x:I\to U$ is $C^1$ on $I^\circ$ by hypothesis. Therefore the ordinary chain rule applies to the composition $\phi_k\circ x$, giving
\begin{align*}
y^{(k+1)}(t)=\nabla \phi_k(x(t))\cdot \dot{x}(t).
\end{align*}
We now insert the closed-loop dynamics. Since $x$ satisfies
\begin{align*}
\dot{x}(t)=f(x(t))+g(x(t))u(t)
\end{align*}
for $t\in I^\circ$, we obtain
\begin{align*}
y^{(k+1)}(t)=\nabla \phi_k(x(t))\cdot f(x(t))+\nabla \phi_k(x(t))\cdot g(x(t))u(t).
\end{align*}
The first term is $L_f\phi_k(x(t))$, and the second coefficient is $L_g\phi_k(x(t))$. Thus
\begin{align*}
y^{(k+1)}(t)=L_f\phi_k(x(t))+L_g\phi_k(x(t))u(t).
\end{align*}
Here the relative-degree hypothesis is used exactly. Since $\phi_k=L_f^kh$ and $k\le r-2$, the assumption says
\begin{align*}
L_gL_f^kh(x(t))=0.
\end{align*}
Therefore the entire input term vanishes:
\begin{align*}
L_g\phi_k(x(t))u(t)=0.
\end{align*}
The remaining term is
\begin{align*}
y^{(k+1)}(t)=L_fL_f^kh(x(t))=L_f^{k+1}h(x(t))=\phi_{k+1}(x(t)).
\end{align*}
This completes the induction up to order $r-1$. If $r=1$, there are no indices $k$ satisfying $0\le k\le r-2$, so no vanishing condition is needed; the only statement before the final differentiation is $y=\phi_0\circ x$.
[/guided]
[/step]
[step:Differentiate once more to expose the decoupling coefficient]
From the previous step,
\begin{align*}
y^{(r-1)}(t)=\phi_{r-1}(x(t))
\end{align*}
for $t\in I^\circ$. Since $\phi_{r-1}\in C^1(U)$ and $x$ is $C^1$ on $I^\circ$, the chain rule and the closed-loop equation give
\begin{align*}
y^{(r)}(t)=\nabla \phi_{r-1}(x(t))\cdot f(x(t))+\nabla \phi_{r-1}(x(t))\cdot g(x(t))u(t).
\end{align*}
By the definitions of $L_f$ and $L_g$,
\begin{align*}
y^{(r)}(t)=L_f^rh(x(t))+L_gL_f^{r-1}h(x(t))u(t).
\end{align*}
This computation is valid for every $t\in I^\circ$ and makes no assertion at the endpoints of $I$.
[/step]
[step:Substitute the feedback law to obtain the prescribed input-output relation]
For each $t\in I^\circ$, the coefficient $L_gL_f^{r-1}h(x(t))$ is nonzero by hypothesis. Substituting
\begin{align*}
u(t)=\frac{v(t)-L_f^r h(x(t))}{L_gL_f^{r-1}h(x(t))}
\end{align*}
into the expression for $y^{(r)}(t)$ gives
\begin{align*}
y^{(r)}(t)=L_f^rh(x(t))+L_gL_f^{r-1}h(x(t))\frac{v(t)-L_f^r h(x(t))}{L_gL_f^{r-1}h(x(t))}.
\end{align*}
Cancelling the nonzero factor $L_gL_f^{r-1}h(x(t))$ yields
\begin{align*}
y^{(r)}(t)=L_f^rh(x(t))+v(t)-L_f^rh(x(t)).
\end{align*}
Therefore
\begin{align*}
y^{(r)}(t)=v(t)
\end{align*}
for every $t\in I^\circ$. This proves the claimed input-output linearisation on the interval interior.
[/step]