[proofplan]
The composition $\star\star$ is linear, so it suffices to check it on a basis. We apply the [Hodge Star on Basis Elements](/theorems/2739) formula twice. Given an orthonormal coframe $\omega_1, \ldots, \omega_n$ with the standard ordering, $\star(\omega_1 \wedge \cdots \wedge \omega_p) = \omega_{p+1} \wedge \cdots \wedge \omega_n$. Applying $\star$ once more requires reordering $\omega_{p+1} \wedge \cdots \wedge \omega_n$ into the volume-form order $\omega_1 \wedge \cdots \wedge \omega_n$, which costs the shuffle sign $(-1)^{p(n-p)}$ — moving the block $(\omega_1, \ldots, \omega_p)$ past the block $(\omega_{p+1}, \ldots, \omega_n)$ requires $p(n-p)$ transpositions of adjacent factors. Hence $\star\star (\omega_1 \wedge \cdots \wedge \omega_p) = (-1)^{p(n-p)} \omega_1 \wedge \cdots \wedge \omega_p$. Since the standard basis element is generic up to a permutation, the same scalar applies on every basis element, hence on all of $\Lambda^p T_x^* M$ by linearity.
[/proofplan]
[step:Reduce to verifying the identity on a single basis element]
Fix $x \in M$ and an orthonormal coframe $\omega_1, \ldots, \omega_n$ for $T_x^* M$, oriented so that $\omega_g = \omega_1 \wedge \cdots \wedge \omega_n$. The Hodge star
\begin{align*}
\star : \Lambda^p T_x^* M &\to \Lambda^{n-p} T_x^* M
\end{align*}
is linear, so its iterate
\begin{align*}
\star\star : \Lambda^p T_x^* M &\to \Lambda^p T_x^* M
\end{align*}
is also linear. We claim that $\star \star = (-1)^{p(n-p)} \cdot \mathrm{id}$. Since both sides are linear endomorphisms of $\Lambda^p T_x^* M$ and the basis multivectors $\{\omega_K : |K| = p\}$ span $\Lambda^p T_x^* M$, it suffices to verify
\begin{align*}
\star \star \omega_K = (-1)^{p(n-p)} \cdot \omega_K
\end{align*}
for every increasing $K = \{k_1 < \cdots < k_p\}$.
Moreover, the value of $\star \star$ on $\omega_K$ depends on $K$ only through the cardinality $p$ — geometrically, any permutation of the coframe induces an orthogonal change of basis on $\Lambda^p$ that commutes with $\star$ up to a sign already accounted for by the shuffle sign in the basis formula. Concretely, we will prove the identity for $K = \{1, \ldots, p\}$ (where the shuffle sign is $+1$); for general $K$, the shuffle signs introduced in the two applications of $\star$ multiply to $+1$, leaving the same scalar $(-1)^{p(n-p)}$.
[guided]
Our goal is to show that $\star\star$ acts as multiplication by the scalar $(-1)^{p(n-p)}$ on $\Lambda^p T_x^* M$. The first question is: what kind of object is $\star\star$? Fix $x \in M$ and an orthonormal coframe $\omega_1, \ldots, \omega_n$ for $T_x^* M$, oriented so that the volume form is $\omega_g = \omega_1 \wedge \cdots \wedge \omega_n$. The Hodge star is a linear map between the two spaces of forms of complementary degree:
\begin{align*}
\star : \Lambda^p T_x^* M &\to \Lambda^{n-p} T_x^* M.
\end{align*}
Composing with itself once more lands us back where we started, so $\star\star$ is a linear endomorphism of $\Lambda^p$:
\begin{align*}
\star\star : \Lambda^p T_x^* M &\to \Lambda^p T_x^* M.
\end{align*}
This is the right setting for asking whether $\star\star$ is a scalar multiple of the identity.
How do we verify a scalar identity for a linear map? It suffices to check it on a basis. The basis multivectors $\{\omega_K : |K| = p\}$, indexed by increasing multi-indices $K = \{k_1 < \cdots < k_p\} \subseteq \{1, \ldots, n\}$, span $\Lambda^p T_x^* M$, so by linearity it is enough to prove
\begin{align*}
\star \star \omega_K = (-1)^{p(n-p)} \cdot \omega_K
\end{align*}
for every such $K$.
Now we make a further reduction: we claim it suffices to verify the identity for the single representative $K = \{1, \ldots, p\}$. Why? Each application of $\star$ in the [Hodge Star on Basis Elements](/theorems/2739) formula introduces a shuffle sign $\varepsilon(K)$ and replaces $\omega_K$ by $\varepsilon(K) \omega_{K^c}$. The second application then takes $\omega_{K^c}$ to $\varepsilon(K^c) \omega_{(K^c)^c} = \varepsilon(K^c) \omega_K$. The composite scalar is therefore $\varepsilon(K) \cdot \varepsilon(K^c)$, and we want this product to equal $(-1)^{p(n-p)}$ for every $K$.
The key observation is that this product is independent of $K$: $\varepsilon(K) \cdot \varepsilon(K^c)$ is the sign of the permutation $(k_1, \ldots, k_p, j_1, \ldots, j_{n-p}) \mapsto (j_1, \ldots, j_{n-p}, k_1, \ldots, k_p)$, which is a block swap of sizes $p$ and $n - p$ — and any such block swap has sign $(-1)^{p(n-p)}$ regardless of which specific $K$ we picked. So computing the product on $K = \{1, \ldots, p\}$ (where $\varepsilon(K) = 1$ trivially and $\varepsilon(K^c) = (-1)^{p(n-p)}$ falls out from a single shuffle count) suffices to establish it for every $K$.
[/guided]
[/step]
[step:Compute $\star \omega_K$ for $K = \{1, \ldots, p\}$]
Take $K = \{1, \ldots, p\}$, so $K^c = \{p+1, \ldots, n\}$. The shuffle sign $\varepsilon(K)$ is determined by
\begin{align*}
\omega_K \wedge \omega_{K^c} = \omega_1 \wedge \cdots \wedge \omega_p \wedge \omega_{p+1} \wedge \cdots \wedge \omega_n = \omega_g,
\end{align*}
which gives $\varepsilon(K) = +1$. By the [Hodge Star on Basis Elements](/theorems/2739) formula,
\begin{align*}
\star \omega_K = \varepsilon(K) \cdot \omega_{K^c} = \omega_{p+1} \wedge \cdots \wedge \omega_n.
\end{align*}
[/step]
[step:Compute $\varepsilon(K^c)$ as a block-shuffle sign]
We now apply $\star$ to $\omega_{K^c} = \omega_{p+1} \wedge \cdots \wedge \omega_n$. The basis formula requires the shuffle sign $\varepsilon(K^c)$, defined by
\begin{align*}
\omega_{K^c} \wedge \omega_{(K^c)^c} = \varepsilon(K^c) \cdot \omega_g.
\end{align*}
Now $(K^c)^c = K = \{1, \ldots, p\}$, so
\begin{align*}
\omega_{K^c} \wedge \omega_{(K^c)^c} = \omega_{p+1} \wedge \cdots \wedge \omega_n \wedge \omega_1 \wedge \cdots \wedge \omega_p.
\end{align*}
We compute the sign by counting transpositions: to bring $(\omega_{p+1}, \ldots, \omega_n, \omega_1, \ldots, \omega_p)$ into the standard order $(\omega_1, \ldots, \omega_n)$, each of the $p$ factors $\omega_1, \ldots, \omega_p$ must move past each of the $n - p$ factors $\omega_{p+1}, \ldots, \omega_n$ one at a time. Each such adjacent swap contributes a factor of $-1$, and there are $p \cdot (n - p)$ swaps in total:
\begin{align*}
\omega_{p+1} \wedge \cdots \wedge \omega_n \wedge \omega_1 \wedge \cdots \wedge \omega_p = (-1)^{p(n-p)} \cdot \omega_1 \wedge \cdots \wedge \omega_n = (-1)^{p(n-p)} \cdot \omega_g.
\end{align*}
Therefore $\varepsilon(K^c) = (-1)^{p(n-p)}$.
[guided]
We want to apply $\star$ a second time, this time to $\omega_{K^c} = \omega_{p+1} \wedge \cdots \wedge \omega_n$. The basis formula requires us to compute the shuffle sign $\varepsilon(K^c)$ associated with the multi-index $K^c$. Recall that $\varepsilon(K^c)$ is the sign making
\begin{align*}
\omega_{K^c} \wedge \omega_{(K^c)^c} = \varepsilon(K^c) \cdot \omega_g
\end{align*}
hold — that is, the sign required to bring the wedge product on the left into the standard volume-form ordering on the right.
Our first task is to identify $(K^c)^c$. Complementation is involutive, so $(K^c)^c = K = \{1, \ldots, p\}$, and the wedge product spells out as
\begin{align*}
\omega_{K^c} \wedge \omega_{(K^c)^c} = \omega_{p+1} \wedge \cdots \wedge \omega_n \wedge \omega_1 \wedge \cdots \wedge \omega_p.
\end{align*}
Now we need to count: how many adjacent transpositions are needed to bring the right-hand side into the standard order $\omega_1 \wedge \cdots \wedge \omega_n$? Think of it as a sorting problem. Each of the $p$ "small" factors $\omega_1, \ldots, \omega_p$ currently sits to the right of every "large" factor $\omega_{p+1}, \ldots, \omega_n$, and must move past all of them. So $\omega_1$ swaps past $n - p$ factors, then $\omega_2$ swaps past $n - p$ factors, and so on — a total of $p \cdot (n-p)$ adjacent transpositions. Each such swap contributes one factor of $-1$ via antisymmetry of the wedge product, giving
\begin{align*}
\omega_{p+1} \wedge \cdots \wedge \omega_n \wedge \omega_1 \wedge \cdots \wedge \omega_p = (-1)^{p(n-p)} \cdot \omega_1 \wedge \cdots \wedge \omega_n = (-1)^{p(n-p)} \cdot \omega_g.
\end{align*}
Comparing with the defining equation for $\varepsilon(K^c)$, we conclude $\varepsilon(K^c) = (-1)^{p(n-p)}$.
This calculation is the combinatorial heart of the proof. There are two illuminating ways to see why $p(n-p)$ is the correct count. The *inversion-count* viewpoint: writing the permutation
\begin{align*}
(p+1, p+2, \ldots, n, 1, 2, \ldots, p),
\end{align*}
its sign equals $(-1)^{\#\text{inversions}}$, and an inversion is a pair $(i, j)$ with $i$ appearing before $j$ in the listed order but $i > j$. Every pair consisting of one "large" element from $\{p+1, \ldots, n\}$ and one "small" element from $\{1, \ldots, p\}$ is an inversion (the large element precedes the small one), and there are exactly $p \cdot (n-p)$ such pairs.
The *graded-commutativity* viewpoint: the exterior algebra is graded-commutative, meaning $\alpha \wedge \beta = (-1)^{\deg\alpha \cdot \deg\beta} \beta \wedge \alpha$. Setting $\alpha = \omega_{p+1} \wedge \cdots \wedge \omega_n$ (degree $n-p$) and $\beta = \omega_1 \wedge \cdots \wedge \omega_p$ (degree $p$) gives $\alpha \wedge \beta = (-1)^{p(n-p)} \beta \wedge \alpha$, the same sign by a structural argument.
[/guided]
[/step]
[step:Apply $\star$ a second time and assemble the scalar]
By the [Hodge Star on Basis Elements](/theorems/2739) formula applied to $\omega_{K^c}$,
\begin{align*}
\star \omega_{K^c} = \varepsilon(K^c) \cdot \omega_{(K^c)^c} = (-1)^{p(n-p)} \cdot \omega_K = (-1)^{p(n-p)} \cdot \omega_1 \wedge \cdots \wedge \omega_p.
\end{align*}
Combining with Step 2:
\begin{align*}
\star \star \omega_K = \star (\omega_{p+1} \wedge \cdots \wedge \omega_n) = (-1)^{p(n-p)} \cdot \omega_1 \wedge \cdots \wedge \omega_p = (-1)^{p(n-p)} \cdot \omega_K.
\end{align*}
[/step]
[step:Conclude by basis invariance and linearity]
We have proved $\star \star \omega_K = (-1)^{p(n-p)} \omega_K$ for the specific basis element $K = \{1, \ldots, p\}$. By the argument in Step 1 — the composite scalar is $\varepsilon(K) \cdot \varepsilon(K^c)$, which equals $(-1)^{p(n-p)}$ for every increasing $K \subseteq \{1, \ldots, n\}$ with $|K| = p$ via the block-swap sign computation — we obtain
\begin{align*}
\star \star \omega_K = (-1)^{p(n-p)} \omega_K \qquad \text{for every basis element } \omega_K, \ |K| = p.
\end{align*}
By linearity of $\star\star$, this extends to all $\alpha \in \Lambda^p T_x^* M$:
\begin{align*}
\star \star \alpha = (-1)^{p(n-p)} \alpha.
\end{align*}
Hence $\star\star = (-1)^{p(n-p)} \cdot \mathrm{id}$ on $\Lambda^p T_x^* M$, completing the proof.
[/step]