Open set = *disjoint* union of open balls? Recently, i have read the assertion that in $Q_p$, the p-adics, every open set is a disjoint union of open balls. This is not true for a general metric space, see for example How to make open covers disjoint in $\mathbb{R}$?. My question is:
How to prove this assertion / What properties (in general) does the topology need to have in order for this to hold?
For example: I have the feeling that the striking property in $Q_p$ is that two open balls are either disjoint or one is contained in the other. 
Is it true that, if a metric space (with/without the demand that the metric is an ultrametric?) has this property, then the assertion that every open set has a disjoint covering of open balls follows?
The property above indicates how an algorithm could look like: If 
$$U = \bigcup_{i \in \mathcal{I}} B_{\epsilon_i}(x_i)$$
then one goes through the $x_i$ and if there is some $x_j$ s.t. $B_{\epsilon_i}(x_i) \cap B_{\epsilon_j}(x_j) \neq \emptyset$ then if $B_{\epsilon_i}(x_i) \subset B_{\epsilon_j}(x_j)$, one removes $x_i$ from the list and otherwise one removes $x_j$. Of course, one needs some set theoretic argument that assures that this process keeps manageable. I played around by finding equivalence relations (like $x_i \sim x_j$ iff. their balls are equal) and with the lemma of Zorn directly by sorting all the "sublists" $(x_j)_{j \in \mathcal{J}}$ s.t. their union of balls is disjoint and so on but nothing really gave me a disjoint union that covered whole $U$.
Thanks in advance,
Fabian Werner
 A: Let $Y$ be an open subset of an ultrametric space $X$. Since $Y$ is open, there exists a collection $\mathfrak{U}$ of open balls such that $Y = \bigcup_{U \in \mathfrak{U}} U$. We shall adopt the convention that $X$ is itself an open ball – after all, every positive real number is less than $\infty$.
Now, consider $\mathfrak{U}$ as a set partially ordered by inclusion. We may assume $\emptyset \notin \mathfrak{U}$ for simplicity. The observation that the union of an ascending chain of open balls is again an open ball implies we can make $\mathfrak{U}$ into a chain-complete poset by adding in the unions of such ascending chains if necessary. Moreover, since any two open balls are either disjoint or part of a chain, chain-completeness for $\mathfrak{U}$ implies $\mathfrak{U}$ is closed under directed unions.
We define an equivalence relation on $\mathfrak{U}$:
$$U \sim U' \text{ if and only if there is } V \text{ in } \mathfrak{U} \text{ such that } U \subseteq V \text{ and } U' \subseteq V$$
This is clearly reflexive and symmetric; for transitivity, observe that if $U \subseteq V$, $U' \subseteq V$, $U' \subseteq V'$ and $U'' \subseteq V''$, then $\emptyset \ne U' \subseteq V \cap V'$, so either $V \subseteq V'$ or $V' \subseteq V$, and therefore $V \cup V' \in \mathfrak{U}$ and $U \subseteq V \cup V'$ and $U'' \subseteq V \cup V'$, as required. Thus, we can partition $\mathfrak{U}$ into equivalence classes, and each equivalence class is a directed subsystem of $\mathfrak{U}$ by the definition of the equivalence relation. We argued that $\mathfrak{U}$ is closed under directed unions, so each equivalence class has a maximal element. This yields the desired decomposition of $Y$ as a disjoint union of open balls.
