[proofplan]
The proof is a direct application of the [Co-differential is Formal Adjoint of $d$](/theorems/2742) identity, used twice. We expand $\Delta = d\delta + \delta d$ on the left input and move each operator across the pairing one by one: $\langle\langle d\delta\alpha, \beta \rangle\rangle_g = \langle\langle \delta\alpha, \delta\beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g$ via two adjoint flips, and similarly $\langle\langle \delta d\alpha, \beta \rangle\rangle_g = \langle\langle d\alpha, d\beta \rangle\rangle_g = \langle\langle \alpha, \delta d\beta \rangle\rangle_g$. Adding produces $\langle\langle \alpha, (d\delta + \delta d)\beta \rangle\rangle_g = \langle\langle \alpha, \Delta\beta \rangle\rangle_g$. The argument is two integration-by-parts moves with all boundary terms eliminated by compact support.
[/proofplan]
[step:Set up the global $L^2$ pairing and the adjoint identity for $d$]
Let $(M, g)$ be an oriented Riemannian $n$-manifold (without boundary, or with the convention that $\alpha, \beta$ are compactly supported in the interior). The $L^2$ pairing on compactly supported $p$-forms is
\begin{align*}
\langle\langle \cdot, \cdot \rangle\rangle_g : \Omega^p_c(M) \times \Omega^p_c(M) &\to \mathbb{R}, \\
(\eta, \xi) &\mapsto \int_M (\eta, \xi)_g \, \omega_g,
\end{align*}
where $(\cdot, \cdot)_g$ is the fibrewise inner product on $\Lambda^p T^*M$ induced by $g$ and $\omega_g$ is the Riemannian volume form.
The codifferential $\delta : \Omega^p(M) \to \Omega^{p-1}(M)$ is defined so that, by the [Co-differential is Formal Adjoint of $d$](/theorems/2742) identity,
\begin{align*}
\langle\langle d\eta, \xi \rangle\rangle_g = \langle\langle \eta, \delta\xi \rangle\rangle_g \qquad \text{for all } \eta \in \Omega^{p-1}_c(M), \ \xi \in \Omega^p_c(M).
\tag{A}
\end{align*}
The hypothesis of compact support is essential — it guarantees that the boundary term in the integration-by-parts behind (A) vanishes. The Hodge Laplacian on $p$-forms is
\begin{align*}
\Delta : \Omega^p(M) &\to \Omega^p(M), \\
\beta &\mapsto d\delta\beta + \delta d\beta.
\end{align*}
Throughout the rest of the proof, $\alpha, \beta \in \Omega^p_c(M)$ are compactly supported. We must verify
\begin{align*}
\langle\langle \Delta\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, \Delta\beta \rangle\rangle_g.
\end{align*}
[/step]
[step:Verify that the intermediate forms remain compactly supported]
Before applying (A), we check that each application is to compactly supported inputs. Both $d$ and $\delta$ are first-order differential operators on $\Omega^*(M)$, hence local: if a smooth form $\eta$ has compact support $K \subseteq M$, then $d\eta$ and $\delta\eta$ are smooth and supported in $K$ as well, so $d\eta, \delta\eta \in \Omega^*_c(M)$. Iterating, the second-order forms $d\delta\alpha$, $\delta d\alpha$, $d\delta\beta$, $\delta d\beta$ are all compactly supported in $M$, as are $\delta\alpha, d\alpha, \delta\beta, d\beta$ at the intermediate stage. All pairings below are therefore between elements of $\Omega^*_c(M)$, so identity (A) applies in each occurrence.
[/step]
[step:Move the first summand $d\delta\alpha$ across the pairing using (A) twice]
We start from $\langle\langle d\delta\alpha, \beta \rangle\rangle_g$, which is the pairing of $d\delta\alpha \in \Omega^p_c(M)$ with $\beta \in \Omega^p_c(M)$.
**First flip.** Write $d\delta\alpha = d (\delta\alpha)$ where $\delta\alpha \in \Omega^{p-1}_c(M)$. Apply (A) at degree $p-1 \to p$ with $\eta := \delta\alpha$ and $\xi := \beta$:
\begin{align*}
\langle\langle d\delta\alpha, \beta \rangle\rangle_g = \langle\langle d(\delta\alpha), \beta \rangle\rangle_g = \langle\langle \delta\alpha, \delta\beta \rangle\rangle_g.
\end{align*}
**Second flip.** Now $\delta\alpha \in \Omega^{p-1}_c(M)$ and $\delta\beta \in \Omega^{p-1}_c(M)$. Apply (A) again, this time to move $\delta$ from the left factor to the right factor as $d$. Concretely, (A) at degree $p-1 \to p$ reads $\langle\langle d\eta, \xi \rangle\rangle_g = \langle\langle \eta, \delta\xi \rangle\rangle_g$; reversing the roles, with $\eta := \alpha \in \Omega^p_c(M)$ and $\xi := \delta\beta \in \Omega^{p-1}_c(M)$ (i.e., applying (A) at degree $p \to p+1$ swapped — the symmetry of the inner product gives $\langle\langle \delta\xi, \eta \rangle\rangle_g = \langle\langle \xi, d\eta \rangle\rangle_g$, equivalent to (A) under the symmetry of the $L^2$ pairing).
For clarity, write the second flip explicitly. The pairing on $\Omega^{p-1}_c(M)$ is symmetric, so
\begin{align*}
\langle\langle \delta\alpha, \delta\beta \rangle\rangle_g = \langle\langle \delta\beta, \delta\alpha \rangle\rangle_g.
\end{align*}
Apply (A) with $\eta := \delta\beta \in \Omega^{p-1}_c(M)$ and $\xi := \alpha \in \Omega^p_c(M)$:
\begin{align*}
\langle\langle d(\delta\beta), \alpha \rangle\rangle_g = \langle\langle \delta\beta, \delta\alpha \rangle\rangle_g.
\end{align*}
Combining with symmetry,
\begin{align*}
\langle\langle \delta\alpha, \delta\beta \rangle\rangle_g = \langle\langle \delta\beta, \delta\alpha \rangle\rangle_g = \langle\langle d\delta\beta, \alpha \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g,
\end{align*}
where the last equality uses symmetry of the pairing on $\Omega^p_c(M)$.
Concatenating both flips,
\begin{align*}
\langle\langle d\delta\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g.
\tag{B}
\end{align*}
[guided]
We start from $\langle\langle d\delta\alpha, \beta \rangle\rangle_g$ and need to push the operator $d\delta$ from the left input across to the right input. The only tool available is identity (A), which moves a single $d$ from the left to its adjoint $\delta$ on the right. So our plan is to do this twice: first peel off the outer $d$, then peel off the remaining $\delta$. The bookkeeping is delicate because (A) is naturally read with $d$ on the left, $\langle\langle d\eta, \xi \rangle\rangle = \langle\langle \eta, \delta\xi \rangle\rangle$, so the second flip — which has $\delta$ on the left — requires using symmetry of the real $L^2$ pairing to read (A) backwards.
**First flip — peel off the outer $d$.** Write $d\delta\alpha = d(\delta\alpha)$. Why is this legitimate as an input to (A)? We need $\delta\alpha \in \Omega^{p-1}_c(M)$, which holds by Step 2 (locality of $\delta$). Apply (A) at the degree $p-1 \to p$ instance with $\eta := \delta\alpha$ and $\xi := \beta$:
\begin{align*}
\langle\langle d\delta\alpha, \beta \rangle\rangle_g = \langle\langle d(\delta\alpha), \beta \rangle\rangle_g = \langle\langle \delta\alpha, \delta\beta \rangle\rangle_g.
\end{align*}
Both inputs are now in $\Omega^{p-1}_c(M)$ and the outer $d$ has become an inner $\delta$ on $\beta$. Halfway there.
**Second flip — peel off the $\delta$ on the left.** We need the "complementary" form: an identity that lets us move $\delta$ from the left to a $d$ on the right. We do not have to assume such an identity — we can derive it from (A) using only symmetry of the $L^2$ pairing on $\Omega^{p-1}_c(M)$ (the pairing is symmetric because $(\cdot,\cdot)_g$ is a fibrewise inner product, so $(\eta,\xi)_g = (\xi,\eta)_g$ pointwise, hence after integrating over $M$). For $\sigma \in \Omega^{p-1}_c(M)$ and $\eta \in \Omega^p_c(M)$:
\begin{align*}
\langle\langle \delta\eta, \sigma \rangle\rangle_g = \langle\langle \sigma, \delta\eta \rangle\rangle_g \overset{(A)}{=} \langle\langle d\sigma, \eta \rangle\rangle_g = \langle\langle \eta, d\sigma \rangle\rangle_g,
\end{align*}
where the middle step is (A) applied with $\eta \mapsto \sigma$ and $\xi \mapsto \eta$ (note that $\sigma \in \Omega^{p-1}_c$ and $\eta \in \Omega^p_c$ match the degrees in (A)). This gives the complementary identity
\begin{align*}
\langle\langle \delta\eta, \sigma \rangle\rangle_g = \langle\langle \eta, d\sigma \rangle\rangle_g \qquad \eta \in \Omega^p_c(M), \ \sigma \in \Omega^{p-1}_c(M),
\tag{A'}
\end{align*}
which we will use in this step and the next.
Now apply (A') to $\langle\langle \delta\alpha, \delta\beta \rangle\rangle_g$ with $\eta := \alpha \in \Omega^p_c(M)$ and $\sigma := \delta\beta \in \Omega^{p-1}_c(M)$:
\begin{align*}
\langle\langle \delta\alpha, \delta\beta \rangle\rangle_g = \langle\langle \alpha, d(\delta\beta) \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g.
\end{align*}
The inner $\delta$ on the left has become an outer $d$ on the right, exactly what we wanted.
**Combining the two flips.** Concatenating,
\begin{align*}
\langle\langle d\delta\alpha, \beta \rangle\rangle_g = \langle\langle \delta\alpha, \delta\beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g,
\tag{B}
\end{align*}
which is the desired identity for the first summand. Notice the symmetric "intermediate" pairing $\langle\langle \delta\alpha, \delta\beta \rangle\rangle_g$ — the two-flip strategy passes through this manifestly symmetric quantity, which is why the result has the right shape to add up to symmetry of $\Delta$ in the final step.
[/guided]
[/step]
[step:Move the second summand $\delta d\alpha$ across the pairing using (A) and (A')]
We now compute $\langle\langle \delta d\alpha, \beta \rangle\rangle_g$, where $\delta d\alpha \in \Omega^p_c(M)$ and $\beta \in \Omega^p_c(M)$.
**First flip.** Apply (A') from the previous guided block at degree $p \to p+1$ with $\eta := d\alpha \in \Omega^{p+1}_c(M)$ and $\sigma := \beta \in \Omega^p_c(M)$:
\begin{align*}
\langle\langle \delta d\alpha, \beta \rangle\rangle_g = \langle\langle \delta(d\alpha), \beta \rangle\rangle_g = \langle\langle d\alpha, d\beta \rangle\rangle_g.
\end{align*}
**Second flip.** Now apply (A) at degree $p \to p+1$ with $\eta := \alpha \in \Omega^p_c(M)$ and $\xi := d\beta \in \Omega^{p+1}_c(M)$:
\begin{align*}
\langle\langle d\alpha, d\beta \rangle\rangle_g = \langle\langle \alpha, \delta(d\beta) \rangle\rangle_g = \langle\langle \alpha, \delta d\beta \rangle\rangle_g.
\end{align*}
Concatenating,
\begin{align*}
\langle\langle \delta d\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, \delta d\beta \rangle\rangle_g.
\tag{C}
\end{align*}
[/step]
[step:Add (B) and (C) to recover $\langle\langle \alpha, \Delta\beta \rangle\rangle_g$]
Adding (B) and (C):
\begin{align*}
\langle\langle d\delta\alpha, \beta \rangle\rangle_g + \langle\langle \delta d\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g + \langle\langle \alpha, \delta d\beta \rangle\rangle_g.
\end{align*}
By bilinearity of the $L^2$ pairing,
\begin{align*}
\langle\langle d\delta\alpha + \delta d\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta + \delta d\beta \rangle\rangle_g.
\end{align*}
Substituting $\Delta = d\delta + \delta d$ on both sides,
\begin{align*}
\langle\langle \Delta\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, \Delta\beta \rangle\rangle_g.
\end{align*}
This is the formal self-adjointness of $\Delta$ on compactly supported $p$-forms, as claimed. The proof is complete.
[guided]
We have done all the hard work: identities (B) and (C) handle each of the two summands $d\delta$ and $\delta d$ of $\Delta$ separately. All that remains is to combine them. The structure of the argument is exactly that of the abstract fact "if $T = d^*d + dd^*$ for any operator $d$ with formal adjoint $d^*$, then $T$ is symmetric" — the two summands are individually symmetric, hence so is their sum.
**Add (B) and (C).** Both identities have $\beta$ on the right of the left-hand pairing, so we can add them as scalar identities:
\begin{align*}
\langle\langle d\delta\alpha, \beta \rangle\rangle_g + \langle\langle \delta d\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta \rangle\rangle_g + \langle\langle \alpha, \delta d\beta \rangle\rangle_g.
\end{align*}
This is just real-number addition of (B) and (C); no further hypotheses are needed.
**Use bilinearity to combine the two summands on each side.** The $L^2$ pairing $\langle\langle \cdot, \cdot \rangle\rangle_g$ is bilinear because the fibrewise inner product $(\cdot, \cdot)_g$ on $\Lambda^p T^*M$ is bilinear and integration is linear. Therefore
\begin{align*}
\langle\langle d\delta\alpha + \delta d\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, d\delta\beta + \delta d\beta \rangle\rangle_g.
\end{align*}
Both sides are now single pairings, with the two summands of $\Delta$ collected together.
**Recognize $\Delta$ on both sides.** By the definition $\Delta = d\delta + \delta d$ from Step 1, the left input on the left side equals $\Delta\alpha$ and the right input on the right side equals $\Delta\beta$. Substituting,
\begin{align*}
\langle\langle \Delta\alpha, \beta \rangle\rangle_g = \langle\langle \alpha, \Delta\beta \rangle\rangle_g.
\end{align*}
This is exactly the formal self-adjointness identity we set out to prove.
**Why the proof works.** The key inputs are: (i) identity (A) from the [Co-differential is Formal Adjoint of $d$](/theorems/2742), which provides one adjoint flip for $d$; (ii) symmetry of the real $L^2$ pairing, which lets us derive the complementary identity (A') for $\delta$; (iii) compact support of $\alpha, \beta$, which is what makes (A) applicable (it eliminates boundary terms in the integration-by-parts behind (A)). Two flips applied to each of the summands $d\delta$ and $\delta d$ — four flips total — move the entire $\Delta$ across the pairing. On a closed manifold the same identity holds without compact support assumptions and the operator $\Delta$ extends from $C_c^\infty(M; \Lambda^p T^*M)$ to a self-adjoint operator on $L^2\Lambda^p$ by the Friedrichs extension; we have proven the formal-adjoint identity that underlies that extension. The proof is complete.
[/guided]
[/step]