How to show that a set of discontinuous points of an increasing function is at most countable I would like to prove the following:  

Let $g$ be a monotone increasing function on $[0,1]$. Then the set of points where $g$ is not continuous is at most countable.  

My attempt: 
Let $g(x^-)~,g(x^+)$ denote the left and right hand limits of $g$ respectively. Let $A$ be the set of points where $g$ is not continuous. Then for any $x\in A$, there is a rational, say, $f(x)$ such that $g(x^-)\lt f(x)\lt g(x^+)$. For $x_1\lt x_2$, we have that $g(x_1^+)\leq g(x_2^-)$. Thus $f(x_1)\neq f(x_2)$ if $x_1\neq x_2$. This shows an injection between $A$ and a subset of the rationals. Since the rationals are countable, $A$ is countable, being a subset of a countable set.  
Is my work okay? Are there better/cleaner ways of approaching it?  
 A: This looks beautiful to me: or, more truthfully, it looks like exactly what I would write.
If anything else can be asked of this argument, maybe it is a justification that monotone functions have discontinuities as you have described.  I happen to have recently written this up in lecture notes for a "Spivak calculus" course: see $\S 3$ here.  Although the fact is quite well known, many texts do not treat it explicitly.  I think this may be a mistake: in the the same section of my notes, I explain how this can be used to give a quick proof of the Continuous Inverse Function Theorem.
A: I would suggest you use the axiom of choice to find a unique $f(x)$ for any $x\in A$. Indeed, you can define $Q(x)=\{F_x\in \mathbb{Q}: g(x^-)<F_x<g(x^+)\}$ for all $x\in A$. Then notice that: 1) $Q(x)\neq \emptyset~\forall x\in A$, 2) $Q(x)\cap Q(y)=\emptyset~\forall x\neq y$ in $A$. 1) implies, by the axiom of choice that there is a function $f:A\to \cup_{x\in A}Q(x)\subset \mathbb{Q}$ such that $f(x)\in Q(x)$ for all $x\in A$ and 2) implies that this function is an injection. 
A: For $n \geq 2$ let $$A_n := \{x \in [0+1/n,1-1/n] : \lim_{h \to 0} g(x+h)-g(x-h) \geq 1/n \}.$$ $A_n$ is finite since otherwise $g$ would be infinite at $x=1-1/n$. We also have that the set, $A$, of all dicontinuities is the union of all $A_n$. Finally use the fact that the countable union of finite sets is itself countable.
A: Just for slight variation, another proof. 
Assume $f:[a,b]\to \mathbb R$ is monotonically increasing and let $D$ be its set of discontinuities. For every $x\in D$ let $c_x=\lim_{t\to x+}f(t)-\lim_{t\to x-}f(t)$ (since $f$ is monotone the one-sided limits exist (and are finite)). As $x$ was a point of discontinuity it follows that $c_x>0$. Now, let $S$ be the sum of all $c_x$. More formally, consider the set $T$ of all finite sums of elements of the form $c_x$, and let $S$ be its supremum. 
Now, for every finite sum $s=c_{x_1}+ \cdots +c_{x_n}$ (we may assume the points $x_i$ appear in their natural order in $[a,b]$) using monotonicity of $f$ it follows that the total variation of $f$, that is $f(b)-f(a)$, is not less than the  sum $s$ (intuitively, because that sum is the sum of total variations at points along the way from $a$ to $b$). In symbols: $s\le f(b)-f(a)$. It follows that the supremum also satisfies $S\le f(b)-f(a)$. But a sum of infinitely many positive elements can be bounded only if there are countably many elements. Thus, $D$ is countable. 
