How to prove that proj(proj(b onto a) onto a) = proj(b onto a)? How to prove that proj(proj(b onto a) onto a) = proj(b onto a)?
It makes perfect sense conceptually, but I keep going in circles when I try to prove it mathematically. Any help would be appreciated.

If they are vectors in ${\mathbb R}^n$, you can do it analytically too. You have
$$proj_{\bf a}({\bf b}) = ({\bf b} \cdot {{\bf a} \over ||{\bf a}||}) {{\bf a} \over ||{\bf a}||}$$
So if ${\bf c}$ denotes $proj_{\bf a}({\bf b})$ then
$$proj_{\bf a}({\bf c}) = ({\bf c} \cdot {{\bf a} \over ||{\bf a}||}) {{\bf a} \over ||{\bf a}||}$$
$$= \bigg(({\bf b} \cdot {{\bf a} \over ||{\bf a}||}) {{\bf a} \over ||{\bf a}||}\cdot {{\bf a} \over ||{\bf a}||}\bigg) {{\bf a} \over ||{\bf a}||}$$
Factoring out constants this is
$$\bigg(({\bf b} \cdot {{\bf a} \over ||{\bf a}||^3}) ({\bf a} \cdot {\bf a})\bigg) {{\bf a} \over ||{\bf a}||}$$
$$= ({\bf b} \cdot {{\bf a} \over ||{\bf a}||^3}) ||{\bf a}||^2 {{\bf a} \over ||{\bf a}||}$$
$$ = ({\bf b} \cdot {{\bf a} \over ||{\bf a}||}) {{\bf a} \over ||{\bf a}||}$$
$$= proj_{\bf a}({\bf b}) $$
