How to use transfinite induction/recursion to construct a dense Hamel Basis of a Banach space? Here is an excellent answer by David C. Ullrich to my old question. In his answer, he proves the following theorem by doing a transfinite induction on the cardinality of the base of topology.

If $X$ is an infinite-dimensional separable Banach space then there exists a Hamel basis which is dense in $X$.

However in his answer the steps of transfinite induction is not written out explicitly. Since I am not familiar with such type of proof, I struggle to make it complete.
Can any one write that transfinite induction out explicitly, seperating the proof into Zero case, Successor case and Limit case?
I have offered my own answer, but I am very unsure about it. Can anyone check if it is completely accurate?
 A: Edit: At the bottom there's an argument using Zorn's lemma instead of explicit transfinite recursion.
Here's what I believe is a correct proof - would have included the details in my previous post on the topic except that something, I don't recall what, was bothering me about the transfinite recursion.
Say $X$ is a vector space of dimension $\kappa$, where $\kappa$ is some infinite cardinal. NOTE that I'm assuming standard Von Neumann cardinals; in particular $\kappa$ is an ordinal, and notations like $(x_\alpha)_{\alpha<\kappa}$ below refer to ordinals $\alpha$.
Say $S$ is a Hamel basis of cardinality $\kappa$. Let $B$ be the collection of balls $B(x,r)$ with $x$ a (finite) linear combination of elements of $S$ with rational coefficients and rational $r>0$. Then $B$ has cardinalilty $\kappa$, so we can "enumerate" $B$: $B=(B_\alpha)_{\alpha<\kappa}$.
It's enough to show that there exists an independent set $(x_\alpha)_{\alpha<\kappa}$ with $x_\alpha\in B_\alpha$. (That's enough because Zorn shows that any independent set is contained in a maximal independent set, which is to say a basis.) Transfinite recursion doesn't actually require that we handle the "base case" separately (see below), but if it makes you happy we can begin by choosing $x_0\in B_0$< $x_0\ne0$.
Transfinite recursion also  does not require that we handle limit ordinals and succesor ordinals separately, we just have to deal with $\alpha$, assuming we've handled $\beta$ for all $\beta<\alpha$. In particular, at least assuming the axiom of choice, it's enough to show this:


This: If $\alpha<\kappa$ and $(x_\beta)_{\beta<\alpha}$ is an independent set with $x_\beta\in B_\beta$ for all $\beta<\alpha$ then there exists $x_\alpha\in B_\alpha$ such that $(x_\beta)_{\beta\le\alpha}$ is independent.


And this is the same as before: Let $X_\alpha$ be the span of $(x_\beta)_{\beta<\alpha}$. Since $\kappa$ is a cardinal, the cardiinality of $\alpha$ is less then $\kappa$; now since $\kappa$ is the dimension of $X$ we have $X_\alpha\ne X$. Hence (easy exercise) $X_\alpha$ has empty interior, so there exists $x_\alpha\in B_\alpha\setminus X_\alpha$.
Or look at it this way: Suppose $(B_\alpha)$ is as above and we want to show there exists $(x_\alpha)$ as above.
Let $O$ be the set of linearly independent "sequences" $(x_\beta)_{\beta<\alpha}$ for $\alpha\le\kappa$, where $x_\beta\in B_\beta$ for all $\beta<\alpha$. Order $O$ by saying $(x_\beta)_{\beta<\alpha}\le(y_\beta)_{\beta<\gamma}$ if $\alpha\le\gamma$ and $x_\beta=y_\beta$ for all $\beta<\alpha$. It's easy to see from Zorn's lemma that $O$ has a maximal element $(x_\beta)_{\beta<\alpha}$, and then arguing as above shows that $\alpha=\kappa$.
Note It looks like I've inserted a proof of the Recursion Theorem using Zorn's Lemma. That seems morally wrong, since the Recursion Theorem,  if I'm not mistaken, does not depend on the Axiom of Choice.
But AC is required for the "It's enough to show this:" above. The point is that once we've proved This it follows from AC that there exists a function $F$ with domain whatever such that if $(x_\beta)_{\beta<\alpha}$ is as in This then $x_\alpha=F((x_\beta)_{\beta<\alpha})$ works. We need that function to be able to apply the AC-not-required Recursion Theorem.
Comment: Someone said that he found the Zorn's lemma version much clearer. That's great; of course the reason I added it was I thought some people would feel that way. But if that applies to you you should consider this: It's worthwhile becoming more comfortable with transfinite recursion/induction! Because once you're familiar with it can seem much more natural and simpler:
Roughly speaking, in a "transfinite" argument we're given $x_\beta$ for $
beta<\alpha$ and we need to show there exists an $x_\alpha$ that works (where the definition of "$x_\alpha$ works" depends on what you're doing). The work involved in doing that will typically bbe more or less the same as showing every chain has an upper bound in a ZL proof. But now once you've done that it's all simpler conceptually; you just keep going until you can't go any farther, instead of invoking the gods to hand you that maximal element.
In fact, having done the separable case (elsewhere on MSE) it was immediately clear to me how to extend it to the non-separable case by transfinite induction, while I did not see how to do  it by Zorn the first few times I tried  (see the question below, to be added soon, for why not). So at least for one with my limited powers, the transfinite induction was definitely simpler, qed.
Question: The argument by Zorn is curious. It's wasteful, in that we apply AC twice, first in the well-ordering of $B$ at the start. Or: It's still "really" a proof by transfinite recursion, just using Zorn to show the recursion works.
I never did see how to make a "pure  Zorn" argument work here. That would be an argument like so: Let $O$ be the set of independent sets $(x_i)_{i\in I}$ where $I\subset B$ and $x_i\in i$. We get a maximal element in the obvious order, but I don't see why $(x_i)_{i\in I}$ being maximal should imply $I=B$, as required. (In  both versions of the correct argument above it's crucial that if $\alpha<\kappa$ then $card(\alpha)<dim(X)$, allowing us to show that $(x_\beta)_{\beta<\alpha}$ cannot be maximial. The problem here is that $I$ could be a proper subset of $B$ with the same cardinality.)
If it's not clear why I called this a "question": The question is whether anyone sees a simple tweak to make a "pure Zorn" argument as above work. Ie with no  preliminary well ordering...
A: Some mitigating facts:


*

*If $X$ is an infinite dimensional Banach space, then $|X|=\dim X$, this is because the dimension of an infinite dimensional Banach space is at least $2^{\aleph_0}$, and therefore the equality is satisfied.

*If $B$ is an open set in a Banach space, then either $B$ is empty, or the span of $B$ is the whole space. This is easy to see when noting that every open ball is a shift and scaling away from the unit ball, which of course spans the whole space.

The outline as I might have written it in a paper, or in an email to a colleague.
Enumerate $B(x,q)$ where $x\in V$ and $q\in\Bbb Q$ in order type $\kappa=|X|$, with $B_\alpha$ the $\alpha$th set in the enumeration. Now recursively choose linearly independent vectors $x_\alpha$ such that $x_\alpha\in B_\alpha$. If necessary, extend to a basis at the end.

More formally, we define $E_\beta$ by recursion as a sequence of increasing linearly independent sets. Suppose that $E_\alpha$ were defined for all $\alpha<\beta$, then $E_\beta=\bigcup_{\alpha<\beta} E_\alpha\cup\{x_\beta\}$ such that $x_\beta\in B_\beta$ and $x_\beta$ is not in $\operatorname{span}(\bigcup_{\alpha<\beta}E_\alpha)$. 
If $\beta<\kappa$, such $x_\beta$ exists, since $\bigcup_{\alpha<\beta} E_\alpha$ has cardinality $<\kappa$, so its span does not contain $B_\beta$.
Let $E=\bigcup_{\alpha<\kappa}E_\alpha$. Then $E$ is a linearly independent set, which can now be extended to a basis of $X$ if necessary, so assume that $E$ is already a basis. Since for all $B_\alpha$, $E\cap B_\alpha\neq\varnothing$, it follows that $E$ is dense as well.
A: Let a base $B$ of the topology be indexed by a cardinal $\beta$, $B=\{O_\alpha:\alpha<\beta\}$. Let $\beta$ have the same cardinality as $\dim{X}$.
Zero case: Choose $e_1\neq 0$ to be in $O_1$. Let $E_1=\{e_1\}$.
Successive case: Suppose $E_\gamma=\{e_\alpha:\alpha<\gamma\}$ have been defined, then $E_{\gamma+1}=E_{\gamma}\cup\{e_\gamma\}$, where $e_\gamma \in {O_\gamma}$ is chosen to be a vector independent of $E_\gamma$. Since $\gamma+1<\dim{X}$, $E_\gamma$ does not span $X$, and such an independent vector exists.
Limit case: Let $B_\gamma=\{O_\alpha:\alpha<\gamma\}$. Suppose $E_\gamma$ have been defined for all $\gamma<\phi$, where $\phi$ is a limiting ordinal. Since $B_\phi=\bigcup_{\gamma<\phi}B_\phi$, we define that $E_\phi=\bigcup_{\gamma<\phi}E_\gamma$.
$E_\phi$ is therefore an independent set. In fact, if the set $E_\phi$ is NOT independent, there exist linearly dependent vectors ${e_{\delta_1},...,e_{\delta_n}}$. Let the maximal ordinals in $\delta_1,...,\delta_n$ be $\delta$, then ${e_{\delta_1},...,e_{\delta_n}}\in E_{\delta+1}$. This means that $E_{\delta+1}$ is linearly dependent (Note that $\delta+1<\phi$) a contradiction.
For the same reason, $E_\beta$ is independent. It is also dense. So the theorem is proved.
So please tell me if I have got anything wrong, or too complicated.
Thanks.
