If $f$ is differentiable on $[a,b]$ then $f'$ cannot have any simple discontinuities on $[a,b]$. This problem has been already posted here but I want to expose my attempt of solution and I would like to get any suggestions of improvement.

I have a question about the corollary to theorem 5.12 in Rudin's Principles of Mathematical Analysis (page 108):
Suppose $f$ is a real differentiable function on $[a,b]$ and suppose $f'(a)< \lambda < f'(b)$ then there is a point $x \in (a,b)$ such that $f'(x) = \lambda$
Corollary: If $f$ is differentiable on $[a,b]$ then $f'$ cannot have any simple discontinuities on $[a,b]$.

Let $x\in(a,b)$. Suppose that there exist  $f'(x^{-})=q$. Then $\left \{f'(x)_n \right\} \rightarrow q$ as $n\rightarrow \infty$, for all sequences $\left \{x_n \right\}$ in $(a,x)$ such that $\left \{x_n \right\} \rightarrow x$ as $n  \rightarrow \infty$.
without loss of generality suppose that $q \leq f'(x)$. If $q<f'(x)$
Let {$x_n$} be strictly increasing sequence s.t {$x_n$}$\rightarrow x$.
Suppose that  $f'(x_n)=q$ for all $x_n$ and define
$b_0 = q, b_{n}=\frac {b_{n-1}+f'(x)}{2}$ for all $n \geq 1$.Then {${b_n}$} is a increasing sequence s.t
$q< b_n <f'(x)$ for all $n \geq 1$, and {${b_n}$} $\rightarrow f'(x)$.
By theorem 5.12, there exist $l_1 \in (x_1,x)$ s.t $f'(x_1)=b_1$. Define $l_{n+1}$ as a number s.t $x_n <l_n<l_{n+1} <x$ and $f'(l_{n+1})=b_{n+1}$. Hence {$l_n$}$\rightarrow x$ and {$f'(l_n)$} $\rightarrow$ as $n\rightarrow \infty$. Then $q=f'(x)$.
Now, suppose that {$f'(x_n)$} is a sequence without any constant sub-sequence. As {$f'(x_n)$} is a convergent sequence, lets assume that {$f'(x_n)$} is strictly monotone.
If {$f'(x_n)$} is increasing, then, as $f'(x_n) < q < f'(x)$, there exist $l_n \in (x_n,x)$ s.t $f'(l_n)=q$ for all $n \geq 1$. Hence {$l_n$} is a constant sequence, then $q = f'(x)$
If {$f'(x_n)$} is decreasing, then, suppose that $f'(x_n) < f'(x)$ for all $n > 1$. Define
$b_1 = f'(x_1), b_{n}=\frac {b_{n-1}+f'(x)}{2}$ for all $n > 1$.Then {${b_n}$} is a increasing sequence s.t
$b_n < f'(x)$ for all $n \geq 1$, and {${b_n}$} $\rightarrow f'(x)$.
There exist $l_1 \in (x_1,x)$ s.t $f'(x_1)=b_1$. Define $l_{n+1}$ as a number s.t $x_n <l_n<l_{n+1} <x$ and $f'(l_{n+1})=b_{n+1}$. Hence {$l_n$}$\rightarrow x$ and {$f'(l_n)$} $\rightarrow$ as $n\rightarrow \infty$. Then $q=f'(x)$.
Then if $f'(x^-)$ or $f'(x^+)$ there exist, both are equal to $f'(x)$
I don't know if this is correct, I made this with the intention of only use concepts(definitions) from the book.  I know that this is needlessly long. At the end i'm awfully redundant.
edit
I already had thought one shortest solution. I am studying for my calculus exam and I decided to try to prove this as above as an exercise:
Let $x\in[a,b]$. Suppose that $f'(x^-) = L$ and $f'(x) \neq L$. Then for $\epsilon = |\frac{L-f'(x)}{2}|$ there exist $\delta > 0$ s.t if $y \in (x-\delta,x)$, then $|f'(y)-L|< \epsilon$.
Let $y \in (x-\delta,x)$. If $f'(x)<L$, then $f'(x)<\frac{L+f'(x)}{2}<f'(y)$. If $L<f'(x)$, then $f'(y)<\frac{L+f'(x)}{2}<f'(x)$. In both cases, by the theorem 5.12, there exist $\alpha \in (y,x) \subset (x-\delta,x)$ s.t $f'(\alpha)=\frac{L+f'(x)}{2}$, hence $|\frac{L+f'(x)}{2}-L| < \epsilon\Rightarrow|\frac{f'(x)-L}{2}|<\epsilon\Rightarrow\epsilon<\epsilon$. which is a contradiction, then $f(x^-)=f(x)$.
By a analogue reasoning, if there exist $f'(x^+) = Q$, then $Q= f'(x)$. Hence $f'(x)$ cannot have any simple discontinuities on $[a,b]$
 A: Your attempted solution contains lot of details and it will need a bit of time to check its correctness.
The result you seek is a simple corollary of the theorem you have mentioned. Let $x\in(a, b) $ and let $q=\lim_{x\to t^{-}} f'(t) $ exist. We will prove that $q=f'(x) $. Suppose that $q\neq f'(x) $ and for specificity consider $q<f'(x) $. Consider the number $\lambda =(q+f'(x)) /2$. Since $f'(t) \to q$ as $t\to x^{-} $, there is an interval $I=(x-h, x) $ such that $f'(t) <\lambda$ for all $t\in I$. Choose one such point $t_{0}\in I$ such that $f'(t_{0})<\lambda$. We thus have an interval $[t_{0},x]$ and a number $\lambda $ such that $f'(t_{0})<\lambda <f'(x) $ and $f'(t) <\lambda$ for all $t\in(t_{0},x)$. This contradicts the theorem in your question. Hence we can't have $q<f'(x) $ and a similar argument shows that we can't have $q>f'(x) $. Thus $q=f'(x) $. Similarly if $\lim_{t\to x^{+}} f'(t) $ we can show that it is equal to $f'(x) $. The case when $x=a$ or $x=b$ can be handled in a similar manner. We have thus shown that $f'$ can not have a simple discontinuity.
However note that the result in question is proved in an easy manner using mean value theorem instead of the theorem in your question. Just note that $$f'(x) =\lim_{h\to 0^{+}}\frac{f(x+h)-f(x)}{h}=\lim_{h\to 0^{+}}f'(c_h)$$ for some $c_h\in(x, x+h) $. The above equation shows that if $\lim_{h\to 0^{+}}f'(x+h)$ exists it must equal $f'(x) $. The same argument holds when $h^{+} $ is replaced by $h^{-} $. 
A: Suppose $f'(x)$ has a simple discontinuity.
There exists some point $x_0: \lim_\limits {x\to x_0} f'(x)$ exists $f'(x)$ exists for all $x$ in a neighborhood of $x_0,$ yet  $\lim_\limits {x\to x_0} f'(x) \ne f'(x_0)$
let $\lim_\limits {x\to x_0} f'(x) = L$
For any $\epsilon$ there exists a neighborhood  of $x_0$ (call it $I$) such that for all $x\in I, x\ne x_0 \implies |f'(x) - L| < \epsilon$
yet $|f'(x_0) - L| > \epsilon$  
Suppose $f'(x_0) > L$
Choose some  $\lambda: L + \epsilon <\lambda < f'(x_0)$
and some $x_1 \in I: x_1<x_0$
For all $x\in (x_1, x_0), f'(x) < \lambda$  (violating Darboux' theorem) 
Similarly if $f'(x_0) < L$
We can choose some $\lambda: f'(x_0) < \lambda < L - \epsilon$
and $x_1 \in I: x_1<x_0$
and $x\in (x_1, x_0), f'(x) > \lambda$
In either case we have a contradiction.
