Solution (source code)

= Solution
{c}

For $x_0>a$, define
$$
l=\sup\{f(t):a\leq t<x_0\}.
$$
This nonempty <set> is bounded above by $f(x_0)$, so $l\leq f(x_0)$. Given $\varepsilon>0$, the <supremum> property supplies $s<x_0$ with $l-\varepsilon<f(s)\leq l$. Whenever $s<t<x_0$, <monotonicity> gives
$$
l-\varepsilon<f(s)\leq f(t)\leq l.
$$
This proves the left-hand <one-sided limit> $f^-(x_0)=l$.

For $x_0<b$, define
$$
r=\inf\{f(t):x_0<t\leq b\}.
$$
Here $r\geq f(x_0)$. Choose $u>x_0$ with $r\leq f(u)<r+\varepsilon$, using the <infimum> property. For $x_0<t<u$, <monotonicity> gives $r\leq f(t)\leq f(u)<r+\varepsilon$, proving the right-hand <one-sided limit> $f^+(x_0)=r$. Thus
$$
\boxed{f^-(x_0)\leq f(x_0)\leq f^+(x_0)}
$$
where the relevant <one-sided limits> exist, including the indicated single <one-sided limit> at each endpoint.

At an interior point, <continuity> implies both <one-sided limits> equal $f(x_0)$. Conversely, equality $f^-(x_0)=f^+(x_0)$ and the displayed inequalities force both to equal $f(x_0)$, giving <continuity>. Therefore
$$
\boxed{f\text{ continuous at }x_0\in(a,b)\iff f^-(x_0)=f^+(x_0).}
$$