Slick proof that if an open set contains $\mathbb Q$ it has all irrational numbers, except a countable amount. Basically I need help in proving that if $U\supseteq \mathbb Q $ is an open set in $\mathbb R$ with the usual topology then $\mathbb R \setminus U$ is countable.
I'm not really sure how to proceed.
Maybe we can use $U$ is a countable union of disjoint open intervals?
 A: The set $E$ of real numbers whose decimal expansions have the form
$$.a_1\ 0\ a_2\ 0\ 0\ a_3\ 0\ 0\ 0\ a_4\ 0\ 0\ 0\ 0\ \cdots ,$$
where each $a_n \in \{1,2\},$ is closed in $\mathbb {R},$ contains nothing but irrational numbers, and is uncountable (being in 1-1 correspondence with the set of binary sequences). Set $U=\mathbb {R}\setminus E$ for a counterexample.
A: Ian's comment provides an example of an open set containing the rationals which is small, in the sense that it can be written as the union of countably many open intervals the sum of whose lengths is $\le2\epsilon$ (for arbitrary fixed $\epsilon$). But, how do we know that such an interval isn't all (or most) of $\mathbb{R}$?
It seems intuitive, but then, it also probably seems intuitive that any open set containing $\mathbb{Q}$ consists of "most" of $\mathbb{R}$. So let's prove it.
Or, rather, let me outline how to prove it:


*

*I'll show $(*)$: that if $\{U_i: i\in I\}$ is any collection of open intervals which covers $[0, 1]$, then the sum of the lengths of the $U_i$s is at least 1. (The length of an interval $(a, b)$ is just $b-a$.)

*This is enough to prove the desired result: if we let $X$ be the set built as in Ian's comment with $\epsilon={1\over 4}$, say, then if $X$ were to be all-but-countably-much of $\mathbb{R}$, we could find a countable set $Y$ such that $[0, 1]\subseteq X\cup Y$ . . .

*. . . and it's easy to find a family of open intervals, the sum of whose lengths is $<{\epsilon\over 4}$ (say), which covers an open set (such as $Y$); so by covering $X$ and $Y$ sufficiently efficiently, we would contradict the first bullet point. Note that this is basically just Ian's comment! So this entire proof is basically a "dual" of the construction Ian already described.

*Now, the proof of $(*)$ splits into two cases. If $I$ is finite, then $(*)$ holds by induction on the size of $I$; exercise.

*However, what if $I$ is infinite? (That is, what if we're using infinitely many open intervals to cover $[0 1]$?) Then things get more complicated.

*Say $\alpha\in[0, 1]$ is reachable if there is some finite sequence of open intervals $U_{i_1}, . . . , U_{i_n}\in \{U_i: i\in I\}$ such that $0\in U_1$, $U_{i_k}\cap U_{i_{k+1}}\not=\emptyset$, and $\alpha\in U_{i_n}$. (So the $U_{i_k}$s “reach” from $0$ to $\alpha$.) Let $x$ be the least upper bound of the set of reachable $\alpha$ (the set of reachable $\alpha$ is bounded above by $1$, and nonempty since $0$ is reachable, so $x$ exists). 

*EXERCISE: show that $x$ is reachable, and therefore that $x=1$.

*Since $1$ is reachable, there must be some finite subset of $\{U_i: i\in I\}$ which covers all of $[0, 1]$ already, so we are done (since finite covers use at least 1-much length).
This is (a special case of a broader theorem, the proof of which isn't much harder, though,) called the Heine-Borel theorem, and is basically the beginning of measure theory! The "minimum total length of a cover by open intervals" notion I've been kicking around is called (outer) measure. Measure theory is a really cool field, and it's full of weird counterintuitiveness!
