[proofplan]
Since $\{u_1, \ldots, u_n\}$ is a basis, every $v \in V$ has a unique expansion $v = \sum_{i=1}^n c_i u_i$. We extract each coefficient $c_j$ by taking the inner product of both sides with $u_j$ and using orthonormality to collapse the sum. Parseval's identity then follows by computing $\|v\|^2 = \langle v, v \rangle$ and applying the [Pythagorean Theorem](/theorems/3266) to the pairwise orthogonal summands $c_i u_i$.
[/proofplan]
[step:Extract the $j$-th coefficient by taking the inner product with $u_j$]
Since $\{u_1, \ldots, u_n\}$ is a basis for $V$, there exist unique scalars $c_1, \ldots, c_n \in \mathbb{R}$ such that
\begin{align*}
v &= \sum_{i=1}^n c_i\, u_i.
\end{align*}
Fix $j \in \{1, \ldots, n\}$. Taking the inner product of both sides with $u_j$ and using linearity in the first argument:
\begin{align*}
\langle v, u_j \rangle &= \left\langle \sum_{i=1}^n c_i\, u_i,\, u_j \right\rangle = \sum_{i=1}^n c_i\, \langle u_i, u_j \rangle.
\end{align*}
By orthonormality, $\langle u_i, u_j \rangle = \delta_{ij}$ (the Kronecker delta: $1$ if $i = j$, $0$ otherwise). Every term with $i \neq j$ vanishes, leaving
\begin{align*}
\langle v, u_j \rangle &= c_j.
\end{align*}
Since $j$ was arbitrary, $c_i = \langle v, u_i \rangle$ for all $i \in \{1, \ldots, n\}$, and therefore
\begin{align*}
v &= \sum_{i=1}^n \langle v, u_i \rangle\, u_i.
\end{align*}
[guided]
We know $\{u_1, \ldots, u_n\}$ is a basis, so every $v \in V$ can be written as a linear combination $v = \sum_{i=1}^n c_i u_i$ for unique scalars $c_i \in \mathbb{R}$. The question is: what is a concrete formula for each $c_j$?
The key idea is to exploit orthonormality as a "selector." Fix $j \in \{1, \ldots, n\}$ and take the inner product of the expansion with the basis vector $u_j$:
\begin{align*}
\langle v, u_j \rangle &= \left\langle \sum_{i=1}^n c_i\, u_i,\, u_j \right\rangle.
\end{align*}
By linearity of the inner product in the first argument (we are in a real inner product space, so the inner product is bilinear), we can pull the sum out:
\begin{align*}
\langle v, u_j \rangle &= \sum_{i=1}^n c_i\, \langle u_i, u_j \rangle.
\end{align*}
Now orthonormality acts as a filter: $\langle u_i, u_j \rangle = \delta_{ij}$, where $\delta_{ij}$ is the Kronecker delta ($1$ if $i = j$, $0$ otherwise). Every term in the sum with $i \neq j$ is killed, and the $i = j$ term contributes $c_j \cdot 1 = c_j$:
\begin{align*}
\langle v, u_j \rangle &= c_j.
\end{align*}
Since this holds for every $j \in \{1, \ldots, n\}$, we conclude $c_i = \langle v, u_i \rangle$ for all $i$, giving the coordinate formula
\begin{align*}
v &= \sum_{i=1}^n \langle v, u_i \rangle\, u_i.
\end{align*}
Why does this argument fail for a non-orthonormal basis? If the basis vectors were not orthonormal, $\langle u_i, u_j \rangle$ would not collapse to $\delta_{ij}$, and taking the inner product with $u_j$ would produce a system of equations in all the coefficients rather than isolating $c_j$ directly.
[/guided]
[/step]
[step:Derive Parseval's identity from the Pythagorean Theorem]
We compute $\|v\|^2$ using the expansion $v = \sum_{i=1}^n \langle v, u_i \rangle\, u_i$. The summands $\langle v, u_i \rangle\, u_i$ for $i = 1, \ldots, n$ are pairwise orthogonal: for $i \neq j$,
\begin{align*}
\langle \langle v, u_i \rangle\, u_i,\, \langle v, u_j \rangle\, u_j \rangle &= \langle v, u_i \rangle \langle v, u_j \rangle \langle u_i, u_j \rangle = 0,
\end{align*}
since $\langle u_i, u_j \rangle = 0$ by orthonormality. By the [Pythagorean Theorem](/theorems/3266) applied to the $k = n$ pairwise orthogonal vectors $\langle v, u_i \rangle\, u_i$:
\begin{align*}
\|v\|^2 &= \left\|\sum_{i=1}^n \langle v, u_i \rangle\, u_i\right\|^2 = \sum_{i=1}^n \|\langle v, u_i \rangle\, u_i\|^2.
\end{align*}
For each term, using $\|\alpha u\| = |\alpha| \|u\|$ and $\|u_i\| = 1$ (since the basis is orthonormal):
\begin{align*}
\|\langle v, u_i \rangle\, u_i\|^2 &= \langle v, u_i \rangle^2 \|u_i\|^2 = \langle v, u_i \rangle^2.
\end{align*}
Therefore
\begin{align*}
\|v\|^2 &= \sum_{i=1}^n \langle v, u_i \rangle^2.
\end{align*}
[guided]
Having established the coordinate formula $v = \sum_{i=1}^n \langle v, u_i \rangle\, u_i$, we now derive the norm identity. We need to compute $\|v\|^2 = \langle v, v \rangle$.
One approach is to expand $\langle v, v \rangle$ directly using bilinearity, which produces a double sum. A cleaner approach is to observe that the summands $w_i := \langle v, u_i \rangle\, u_i$ are pairwise orthogonal, and then invoke the [Pythagorean Theorem](/theorems/3266).
To verify pairwise orthogonality: for $i \neq j$,
\begin{align*}
\langle w_i, w_j \rangle &= \langle \langle v, u_i \rangle\, u_i,\, \langle v, u_j \rangle\, u_j \rangle = \langle v, u_i \rangle \langle v, u_j \rangle \langle u_i, u_j \rangle = 0,
\end{align*}
where we used bilinearity to extract the scalar factors and orthonormality to conclude $\langle u_i, u_j \rangle = 0$ for $i \neq j$.
The [Pythagorean Theorem](/theorems/3266) for $k = n$ pairwise orthogonal vectors states $\|\sum_{i=1}^n w_i\|^2 = \sum_{i=1}^n \|w_i\|^2$. We verify the hypothesis: the vectors $w_1, \ldots, w_n$ are pairwise orthogonal as just shown. Applying the theorem:
\begin{align*}
\|v\|^2 &= \left\|\sum_{i=1}^n w_i\right\|^2 = \sum_{i=1}^n \|w_i\|^2 = \sum_{i=1}^n \|\langle v, u_i \rangle\, u_i\|^2.
\end{align*}
Each term simplifies using the homogeneity of the norm ($\|\alpha u\| = |\alpha| \cdot \|u\|$ for $\alpha \in \mathbb{R}$) and the fact that $\|u_i\| = 1$:
\begin{align*}
\|\langle v, u_i \rangle\, u_i\|^2 &= |\langle v, u_i \rangle|^2 \cdot \|u_i\|^2 = \langle v, u_i \rangle^2 \cdot 1 = \langle v, u_i \rangle^2.
\end{align*}
(We wrote $|\langle v, u_i \rangle|^2 = \langle v, u_i \rangle^2$ since $\langle v, u_i \rangle \in \mathbb{R}$.) Therefore
\begin{align*}
\|v\|^2 &= \sum_{i=1}^n \langle v, u_i \rangle^2,
\end{align*}
which is Parseval's identity. This says the squared norm of a vector equals the sum of squares of its coordinates in any orthonormal basis -- a fact that generalises the familiar Euclidean formula $\|x\|^2 = x_1^2 + \cdots + x_n^2$.
[/guided]
[/step]