Rising Sun Lemma proof from Spivak. Here's the proof outline by Spivak:

I don't understand why do we need part a) (I can prove it though). Why do the following proof won't work?
Suppose $f(a)>f(b)$.
Since $f$ is continuous on $R$, it is continuous at $a$, and so $$\exists\delta>0,\ \forall x,\ |x-a|<\delta\implies f(x)>f(b).$$
So, we have $x\in(a,b)$, and $f(x)>f(b)$, which contradicts the statement that all points in $(a,b)$ are "shadow points".
Which leaves us with only possibility that $f(a)=f(b)$.

Your proof is correct. It boils down to the fact that if $f(a) > f(b)$, continuity at $a$ would mean $f$ is still be $> f(b)$ in a neighborhood of $a$.
