Proof: Define a real-valued function g on [a, b] by g(x) = \max\{|f(x) - f(x+)|, |f(x) - f(x-)|\}. Then f is continuous at x iff g(x) = 0. Let D_n = \{x \in [a, b]: g(x) \geq 1/n\}. The points of discontinuity of f is exactly \bigcup_{n = 1}^\infty D_n. We prove that each D_n is finite.
Suppose on the contrary that D_n is infinite. Then there is a sequence \{x_n\} of distinct points in D_n which converges to x \in [a, b]. Since f(x+), f(x-) exist, we can choose some \delta > 0 such that |f(y) - f(x+)| < 1/4n whenever 0 < y - x < \delta and |f(y) - f(x-)| < 1/4n whenever 0 < x - y < \delta. Therefore |f(y) - f(z)| < 1/2n whenever y, z \in (x - \delta, x) or y, z \in (x, x + \delta). We can find some k such that 0 < |x_k - x| < \delta. If x_k > x, then |f(y) - f(x_k)| < 1/2n whenever y \in (x, x + \delta), let y \rightarrow x_k from both left and right we get |f(x_k+) - f(x_k)| \leq 1/2n and |f(x_k-) - f(x_k)| \leq 1/2n, so g(x) \leq 1/2n < 1/n \leq g(x), contradiction. If x_k < x then similarly we also obtain a contradiction. Hence D_n must be finite. QED.
Proposition. Let f_n: U \rightarrow \mathbb{R} be a sequence of continuous functions on U \subseteq \mathbb{R}^d such that f_1 \leq f_2 \leq \cdots and \{f_n\} converges pointwise to a continuous function f on U. Then f_n \rightarrow f uniformly on compact subsets.
Proof: Note that f_1 \leq \cdots \leq f_n \leq \cdots \leq f. Let K \subseteq U be compact and \epsilon > 0. For any x \in K, since f_n(x) \rightarrow f(x), there is N_x \in \mathbb{N} such that f(x) - f_n(x) < \epsilon/3 whenever n \geq N_x. For any n \in \mathbb{N}, by uniform continuity of f and f_n on K, there is \delta_n > 0 such that for any x, y \in K, |f(x) - f(y)| < \epsilon/3 and |f_n(x) - f_n(y)| < \epsilon/3 whenever |x - y| < \delta_n. For every x \in K, if y \in B(x, \delta_{N_x}), then
\begin{align*} &f(y) - f_n(y) \leq f(y) - f_{N_x}(y) \\ &= [f(y) - f(x)] + [f(x) - f_{N_x}(x)] + [f_{N_x}(x) - f_{N_x}(y)] \\ &< \epsilon/3 + \epsilon/3 + \epsilon/3 = \epsilon \end{align*}
whenever n \geq N_x. Since \{B(x, \delta_{N_x}): x \in K\} is an open cover of K, then there are x_1, \ldots, x_k \in K such that K = \bigcup_{j = 1}^k B(x_j, \delta_{N_{x_j}}). Take N = \max\{N_{x_1}, \ldots, N_{x_k}\}. For n \geq N, if x \in K, then x \in B(x_j, \delta_{N_{x_j}}) for some 1 \leq j \leq k, so f(x) - f_n(x) < \epsilon. Hence f_n \rightarrow f uniformly on K. QED.
(To be continued)
Proposition. Let f_n: U \rightarrow \mathbb{R} be a sequence of continuous functions on U \subseteq \mathbb{R}^d such that f_1 \leq f_2 \leq \cdots and \{f_n\} converges pointwise to a continuous function f on U. Then f_n \rightarrow f uniformly on compact subsets.
Proof: Note that f_1 \leq \cdots \leq f_n \leq \cdots \leq f. Let K \subseteq U be compact and \epsilon > 0. For any x \in K, since f_n(x) \rightarrow f(x), there is N_x \in \mathbb{N} such that f(x) - f_n(x) < \epsilon/3 whenever n \geq N_x. For any n \in \mathbb{N}, by uniform continuity of f and f_n on K, there is \delta_n > 0 such that for any x, y \in K, |f(x) - f(y)| < \epsilon/3 and |f_n(x) - f_n(y)| < \epsilon/3 whenever |x - y| < \delta_n. For every x \in K, if y \in B(x, \delta_{N_x}), then
\begin{align*} &f(y) - f_n(y) \leq f(y) - f_{N_x}(y) \\ &= [f(y) - f(x)] + [f(x) - f_{N_x}(x)] + [f_{N_x}(x) - f_{N_x}(y)] \\ &< \epsilon/3 + \epsilon/3 + \epsilon/3 = \epsilon \end{align*}
whenever n \geq N_x. Since \{B(x, \delta_{N_x}): x \in K\} is an open cover of K, then there are x_1, \ldots, x_k \in K such that K = \bigcup_{j = 1}^k B(x_j, \delta_{N_{x_j}}). Take N = \max\{N_{x_1}, \ldots, N_{x_k}\}. For n \geq N, if x \in K, then x \in B(x_j, \delta_{N_{x_j}}) for some 1 \leq j \leq k, so f(x) - f_n(x) < \epsilon. Hence f_n \rightarrow f uniformly on K. QED.
(To be continued)