[proofplan]
A subset $D$ of an lcs is dense iff every basic open neighbourhood of every point meets $D$. The basic open neighbourhoods of $f \in \mathcal{O}(U)$ are $W = \{g : \|g - f\|_K < \varepsilon\}$ for $K \subset U$ compact non-empty and $\varepsilon > 0$. Given such $W$, we enlarge $K$ to a compact "saturated" set $\tilde K \subset U$ obtained by filling in the bounded components of $\mathbb{C} \setminus K$ that already lie in $U$, so that the bounded components of $\mathbb{C} \setminus \tilde K$ each meet $\mathbb{C} \setminus U$. We pick one point $\lambda_V \in V \setminus U$ from each such bounded component $V$ of $\mathbb{C} \setminus \tilde K$, forming a finite or at most countable set $\Lambda \subset \mathbb{C} \setminus U$. By [Runge's Approximation Theorem](/theorems/2681) applied to $f \in \mathcal{O}(\tilde K)$ and the pole set $\Lambda$, there is a rational function $r$ with all poles in $\Lambda$ and $\|r - f\|_{\tilde K} < \varepsilon$. Since $\Lambda \subset \mathbb{C} \setminus U$, $r \in \mathcal{R}(U)$, and since $K \subset \tilde K$, $\|r - f\|_K \le \|r - f\|_{\tilde K} < \varepsilon$, so $r \in W \cap \mathcal{R}(U)$.
[/proofplan]
[step:Reduce density to verification on basic neighbourhoods]
The lcs topology on $\mathcal{O}(U)$ is generated by the family of seminorms
\begin{align*}
\{\|\cdot\|_K : K \subset U \text{ compact and non-empty}\}, \qquad \|g\|_K := \sup_{z \in K}|g(z)|.
\end{align*}
A basis of neighbourhoods of $f \in \mathcal{O}(U)$ consists of the sets
\begin{align*}
W(f, K, \varepsilon) := \{g \in \mathcal{O}(U) : \|g - f\|_K < \varepsilon\},
\end{align*}
$K \subset U$ compact non-empty and $\varepsilon > 0$ (finite intersections give $W(f, K_1 \cup \cdots \cup K_m, \min_j \varepsilon_j)$, so a single seminorm suffices for a basis).
To prove density of $\mathcal{R}(U)$, it suffices to show: for every $f \in \mathcal{O}(U)$, every compact non-empty $K \subset U$, and every $\varepsilon > 0$, there exists $r \in \mathcal{R}(U)$ with $\|r - f\|_K < \varepsilon$. Fix such $f$, $K$, $\varepsilon$ for the remainder of the proof.
[/step]
[step:Saturate $K$ by filling in bounded components of $\mathbb{C} \setminus K$ that lie in $U$]
Define
\begin{align*}
\tilde K := K \cup \bigcup\,\{V : V \text{ is a bounded component of } \mathbb{C}\setminus K \text{ with } V \subset U\}.
\end{align*}
[claim: $\tilde K$ is compact and $K \subseteq \tilde K \subseteq U$]
[proof]
The inclusion $K \subseteq \tilde K$ is by definition. For $\tilde K \subseteq U$: each point of $K$ lies in $U$, and each component $V$ added to form $\tilde K$ is by construction contained in $U$. So $\tilde K \subseteq U$.
It remains to show $\tilde K$ is compact, equivalently closed and bounded in $\mathbb{C}$ (Heine-Borel). Boundedness: $\tilde K \subseteq U \cap (K \cup B)$ where $B$ is the union of bounded components of $\mathbb{C} \setminus K$ contained in $U$. Each such $V$ is bounded; since $\mathbb{C} \setminus K$ has at most countably many components, but more importantly, each bounded component is contained in any closed disk $\overline{B}(0, R)$ that contains $K$ (the unbounded component of $\mathbb{C} \setminus K$ contains $\mathbb{C} \setminus \overline{B}(0, R)$ for large $R$, so all bounded components are contained in $\overline{B}(0, R)$). Hence $\tilde K \subseteq \overline{B}(0, R)$, so $\tilde K$ is bounded.
Closedness of $\tilde K$ in $\mathbb{C}$: equivalently, $\mathbb{C} \setminus \tilde K$ is open. Note
\begin{align*}
\mathbb{C} \setminus \tilde K = (\mathbb{C} \setminus K) \setminus \tilde K = \bigcup\, \{W : W \text{ component of } \mathbb{C} \setminus K \text{ with } W \not\subseteq U \text{ or } W \text{ unbounded}\}.
\end{align*}
Each component $W$ of the open set $\mathbb{C} \setminus K$ is itself open (components of an open subset of $\mathbb{C}$ are open). So $\mathbb{C} \setminus \tilde K$ is a union of open sets, hence open. Thus $\tilde K$ is closed and bounded, hence compact.
[/proof]
[/claim]
[/step]
[step:Choose one point in $\mathbb{C} \setminus U$ from each bounded component of $\mathbb{C} \setminus \tilde K$]
Let $\mathcal{V}$ denote the collection of bounded components of $\mathbb{C} \setminus \tilde K$. By construction, each $V \in \mathcal{V}$ satisfies $V \cap (\mathbb{C} \setminus U) \neq \varnothing$:
Indeed, every bounded component $V$ of $\mathbb{C} \setminus \tilde K$ either equals (or is contained in) some component of $\mathbb{C} \setminus K$. If $V$ were a bounded component of $\mathbb{C} \setminus K$ contained in $U$, then by construction $V \subseteq \tilde K$, contradicting $V \subset \mathbb{C} \setminus \tilde K$. Hence $V \not\subseteq U$, so there exists at least one $\lambda \in V$ with $\lambda \in \mathbb{C} \setminus U$.
For each $V \in \mathcal{V}$, fix one such point $\lambda_V \in V \setminus U$, and set
\begin{align*}
\Lambda := \{\lambda_V : V \in \mathcal{V}\}.
\end{align*}
Then $\Lambda \subseteq \mathbb{C} \setminus U$, and $\Lambda$ contains exactly one point from each bounded component of $\mathbb{C} \setminus \tilde K$.
[guided]
We need to set up the pole set $\Lambda$ precisely as required by [Runge's Approximation Theorem](/theorems/2681). Runge's theorem requires: a compact set $\tilde K \subset \mathbb{C}$, a function holomorphic on a neighbourhood of $\tilde K$, and a set $\Lambda \subset \mathbb{C} \setminus \tilde K$ containing exactly one point from each bounded component of $\mathbb{C} \setminus \tilde K$.
We have $\tilde K$ compact (previous claim). For $\Lambda$, the constraint is just that we pick one point from each bounded component of $\mathbb{C} \setminus \tilde K$. We have an additional constraint: we want each chosen point to lie in $\mathbb{C} \setminus U$, so that the resulting rational function (with poles in $\Lambda$) has no poles in $U$, hence lies in $\mathcal{R}(U)$.
**Why is this additional constraint satisfiable?** Because the operation of going from $K$ to $\tilde K$ has *removed* exactly those bounded components of $\mathbb{C} \setminus K$ that lay inside $U$ — they are now part of $\tilde K$, not part of its complement. The bounded components of $\mathbb{C} \setminus \tilde K$ that remain are therefore the bounded components of $\mathbb{C} \setminus K$ that were *not* contained in $U$, plus possibly some new components created by the saturation. Either way, every such component must contain a point of $\mathbb{C} \setminus U$:
- If $V$ is a bounded component of $\mathbb{C} \setminus K$ not contained in $U$, then $V \not\subseteq U$ means there exists $\lambda \in V$ with $\lambda \notin U$, i.e.\ $V \cap (\mathbb{C} \setminus U) \neq \varnothing$.
- If $V$ is a "new" component arising from the saturation, the same argument applies in the form above: $V \subseteq \mathbb{C} \setminus \tilde K$, so $V$ is not part of the saturation, hence $V$ was not a bounded component of $\mathbb{C} \setminus K$ contained in $U$.
So we may select $\lambda_V \in V \cap (\mathbb{C} \setminus U)$ for each $V$. Set $\Lambda = \{\lambda_V : V \in \mathcal{V}\}$. Both required properties hold:
- $\Lambda \cap \tilde K = \varnothing$ (the $\lambda_V$ live in $\mathbb{C} \setminus \tilde K$, by construction).
- $\Lambda$ contains exactly one point from each bounded component of $\mathbb{C} \setminus \tilde K$.
- $\Lambda \subseteq \mathbb{C} \setminus U$ (the constraint we engineered).
[/guided]
[/step]
[step:Apply Runge's theorem on $\tilde K$ to obtain a rational approximant with poles in $\Lambda$]
The function $f$ is holomorphic on the open set $U \supseteq \tilde K$, so $f$ is the restriction to $\tilde K$ of a function holomorphic on a neighbourhood of $\tilde K$, i.e.\ $f \in \mathcal{O}(\tilde K)$ in the sense of [Runge's Approximation Theorem](/theorems/2681).
We invoke the precise form of [Runge's Approximation Theorem](/theorems/2681). Theorem 2681 requires: (a) a non-empty compact set $\tilde K \subseteq \mathbb{C}$ — verified, $\tilde K$ is compact and contains $K \neq \varnothing$ since $K \subseteq \tilde K$; (b) a function $f \in \mathcal{O}(\tilde K)$ — verified, since $f$ is holomorphic on $U \supset \tilde K$; (c) a set $\Lambda \subseteq \mathbb{C} \setminus \tilde K$ containing exactly one point from each bounded component of $\mathbb{C} \setminus \tilde K$ — verified by the previous step.
Theorem 2681 gives: for every $\eta > 0$, there exists a rational function $r$ with all poles in $\Lambda$ such that
\begin{align*}
\|r - f\|_{\tilde K} = \sup_{z \in \tilde K}|r(z) - f(z)| < \eta.
\end{align*}
Apply this with $\eta := \varepsilon$. We obtain a rational function $r$ whose poles all lie in $\Lambda \subseteq \mathbb{C} \setminus U$, so $r$ has no poles in $U$, hence $r \in \mathcal{R}(U)$.
Since $K \subseteq \tilde K$,
\begin{align*}
\|r - f\|_K = \sup_{z \in K}|r(z) - f(z)| \le \sup_{z \in \tilde K}|r(z) - f(z)| = \|r - f\|_{\tilde K} < \varepsilon.
\end{align*}
Hence $r \in W(f, K, \varepsilon) \cap \mathcal{R}(U)$. As $f, K, \varepsilon$ were arbitrary, $\mathcal{R}(U)$ meets every basic open neighbourhood of every point of $\mathcal{O}(U)$. Therefore $\mathcal{R}(U)$ is dense in $\mathcal{O}(U)$.
Finally, $\mathcal{R}(U)$ is a unital subalgebra: it contains the constant $1_U$ (a polynomial, hence a rational function with no poles); for $r_1, r_2 \in \mathcal{R}(U)$, $r_1 + r_2$ and $r_1 r_2$ are again rational functions with poles contained in the union of the pole sets of $r_1$ and $r_2$, hence in $\mathbb{C} \setminus U$. This finishes the proof.
[/step]