## Orthonormal basis, decompse then add back

Suppose $(u_1, u_2)$ is an orthonormal basis for $R^2$, and let $x$ be an arbitrary vector in $R^2$, then we can decompose $x$ by projecting on $u_1, u_2$, i.e.

\begin{align*} (u_1^T x) u_1 \\ (u_2^T x) u_2 \\ \end{align*}

Certainly we have

\begin{align*} x = (u_1^T x) u_1 + (u_2^T x) u_2 \end{align*}

Looks like a simple problem, but how can I prove this?