I am looking at this answer to this question:
Let $U \subseteq \mathbb{R}$ be open and let $x \in U$. Either $x$ is rational or irrational. If $x$ is rational, define \begin{align}I_x = \bigcup\limits_{\substack{I\text{ an open interval} \\ x~\in~I~\subseteq~U}} I,\end{align} which, as a union of non-disjoint open intervals (each $I$ contains $x$), is an open interval subset to $U$. If $x$ is irrational, by openness of $U$ there is $\varepsilon > 0$ such that $(x - \varepsilon, x + \varepsilon) \subseteq U$, and there exists rational $y \in (x - \varepsilon, x + \varepsilon) \subseteq I_y$ (by the definition of $I_y$). Hence $x \in I_y$. So any $x \in U$ is in $I_q$ for some $q \in U \cap \mathbb{Q}$, and so \begin{align}U \subseteq \bigcup\limits_{q~\in~U \cap~\mathbb{Q}} I_q.\end{align} But $I_q \subseteq U$ for each $q \in U \cap \mathbb{Q}$; thus \begin{align}U = \bigcup\limits_{q~\in~U \cap~\mathbb{Q}} I_q, \end{align} which is a countable union of open intervals.
In particular, I am reading his comments that
That it is a disjoint union follows from the definition of $I_q$: if $x\in I_p\cap I_q$, then $I_p\cup I_q\subseteq I_p \cap I_q$. Hence if $I_q\neq I_p$, $I_p\cap I_q=\emptyset$. Strictly speaking one should throw away all repeated $I_q$ s, and one can definitely do this without destroying the countability of the union.
How does one throw away all the repeated $I_q$s here? Is axiom of choice required?