Within ZFC, the von Neumann hierarchy consists of sets $V_\alpha$ indexed by ordinals, subject to the following conditions:

  • $V_0=\varnothing$.
  • $V_{\alpha+1}=\mathcal P(V_\alpha)$.
  • $V_\lambda=\bigcup_{\beta<\lambda}V_\beta$ for limit $\lambda$.

My question is: what is the formal justification for the last step?

The axiom of union would allow us to construct $V_\lambda$ if we already had a set $\{V_\beta:\beta<\lambda \}$. However, the existence of $V_\beta$ for $\beta<\lambda$ does not obviously guarantee the existence of this set: $V_{\omega\cdot 2}$ in ZF famously models itself minus the axiom of replacement. This of course suggests that with replacement, this set could be constructed as the image of $\lambda$ (which under the von Neumann ordinal construction is the set of all lower ordinals) under the class function $V$.

But then $V$ would have to be a class function somehow defined through transfinite induction. Since predicates can't refer to themselves, and since we can't just assert the existence and uniqueness of a class function as a theorem the way we can with normal functions, the way this works eludes me.

  • 3
    $\begingroup$ The most general 'formal justification' takes the form of an appropriate recursion theorem, but in this case replacement gives $V_\lambda$ simply by observing that $\lambda$ is a set, $V_\beta$ for all $\beta<\lambda$ is a set, and $\langle V_\beta:\beta<\alpha\rangle$ is a function whose domain is $\lambda$ with the image $V_\beta$ of each element $\beta\in\lambda$ a set, so the range $\{V_\beta\}_{\beta<\lambda}$ of this function is also a set -- the union of this range is $V_\lambda$, as you suggest. $\endgroup$
    – Alec Rhea
    Jan 6, 2023 at 5:01
  • $\begingroup$ Typo: $\alpha$ should be $\lambda$ in the above comment. $\endgroup$
    – Alec Rhea
    Jan 6, 2023 at 6:41
  • $\begingroup$ @AlecRhea But wouldn't the domain of that function be $V_\lambda$ itself? Unless it's a class function, in which case my comments apply. $\endgroup$
    – ViHdzP
    Jan 6, 2023 at 6:45
  • $\begingroup$ No, the domain is $\lambda$ -- it is the function sending each ordinal $\beta<\lambda$ to the chunk of the cumulative hierarchy up to $\beta$. As long as each of these initial chunks of the hierarchy at each successor step are defined, the function is well-defined. Replacement then gives that its range is a set, and the union of this range is $V_\lambda$. $\endgroup$
    – Alec Rhea
    Jan 6, 2023 at 6:58
  • $\begingroup$ @AlecRhea My apologies, I mean the codomain. $\endgroup$
    – ViHdzP
    Jan 6, 2023 at 7:06

2 Answers 2


This is really just a long comment, but the phrasing on the Wikipedia page for replacement is verbose and perhaps obscuring how to use it here. Consider this version of replacement:

For any set $X$ and any binary predicate $\phi(-,-)$ such that for each element $x\in X$ there exists a unique set $y_x$ such that $\phi(x,y_x)$ is true, there exists a set $Y$ whose members are precisely the sets $y_x$ such that there exists some $x\in X$ with $\phi(x,y_x)$ true. We denote the set $Y$ guaranteed by this axiom together with a set $X$ and binary predicate $\phi(-,-)$ by $$\{y_x:x\in X\}.$$

This is equivalent to all other standard phrasings of replacement over the rest of the $ZFC$ axioms, and is easier to use in the situation you outline above. Specifically, take $X=\lambda$ and let $$\phi(-,-)=\text{All sets up to rank $-$ are members of $-$, and nothing else.}$$ which accepts ordinals in the first argument and arbitrary sets in the second. For each $\beta<\lambda$ we have that $\phi(\beta,V_\beta)$ is true, and if $\phi(\beta,Z)$ is true for some other set $Z$ then $Z=V_\beta$ by extensionality, so $V_\beta$ is unique satisfying $\phi(\beta,V_\beta)$ for all $\beta<\lambda$. Consequently $$\{V_\beta:\beta\in\lambda\}$$ is a set by replacement, and the union of this set is $V_\lambda$.

  • 2
    $\begingroup$ This is a very enlightening answer, thank you! $\endgroup$
    – ViHdzP
    Jan 6, 2023 at 8:41
  • $\begingroup$ @ViHdzP Glad to help! $\endgroup$
    – Alec Rhea
    Jan 6, 2023 at 8:42

The other answer does not actually give you $V$ all at once. But it is in fact easy! $ \def\empty{\varnothing} \def\pow{\mathcal{P}} $

Let $FN(S) = \{ \ f : ∀x{∈}S\ ∃!y ( \ ⟨x,y⟩∈f \ ) \ \}$, namely the class of all functions on $S$.

Let $SUCC = \{ \ succ(k) : k{∈}ORD \ \}$, namely the class of all successor ordinals.

Let $R(f) = \cases{ f\cup\{⟨k,\bigcup_{i{∈}k} f(i)⟩\} & if $f{∈}FN(k)$ for some $k{∈}ORD{∖}SUCC$ \\ f\cup\{⟨succ(k),\pow(f(k))⟩\} & if $f{∈}FN(succ(k))$ for some $k{∈}ORD$ }$ (and note that we do not need to treat the zero ordinal case separately).

Let $V = \{ \ ⟨k,R(f)⟩ : k{∈}ORD ∧ f{∈}FN(k) ∧ ∀i{∈}k\ ( \ f(i)=R(f{↾}i) \ ) \ \}$, namely the class of all pairs that each corresponds to the 'limit' of a function that satisfies the recursive relation $R$.

Then you can prove that $V$ satisfies the desired properties. In particular, if there is any $k{∈}ORD$ such that $¬∃!x\ ( \ ⟨k,x⟩∈V \ )$, then there is an $∈$-mininum such $k$, and you can easily obtain a contradiction.

The point is that we can define this $V$ even without replacement, and only need replacement to prove that it is a class function on $ORD$. Also, the technique is the same regardless of what recursive relation $R$ you want.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.