Let’s put it all together. Recall that Gödel proved three main results about L:
- L is a model of ZF.
- V=L holds in L.
- V=L→AC and V=L→GCH are both provable in ZF.
Let’s start by assuming (1)–(3) and show, in detail, how this implies the relative consistency result: if ZF is consistent then ZF+AC+GCH is consistent. I want to highlight two aspects: (a) the role of absoluteness in (2); (b) syntax vs. semantics.
I’ll use a common notation and write ZFL for ZF+V=L. From (3) we immediately conclude that the relative consistency of ZFL implies the relative consistency of ZF+AC+GCH (relative to ZF, naturally).
We want to show that if ZF is consistent, so is ZFL. First, the quick version, with 50% handwaving. If ZFL were inconsistent, that would mean that ZF⊢¬V=L. Since L is a model of ZF (by (1)), it follows that L⊧V≠L. But L⊧V=L (by (2)), so we’ve proven two contradictory things about L. If we assume ZF is “sound”, i.e., all theorems of ZF are “true in V’’, then this is impossible, so ZFL must be consistent.
We can turn the screws a little tighter, just by being more careful about classes and sets. Let Λ(x) be the formalization of x∈L. In other words, Λ(x) is a mile-long formula (if written out in full) with one free variable (and no parameters) such that V⊧Λ(x) iff x is constructible. I gave a very cursory sketch of how to define Λ in post 23.
We next use the technique of relativization. Let ψ be a formula in ZF. Then ψ relativized to L, denoted ψL, is obtained by recursively applying these rules:
| ∃xφ(x) | ↦ ∃x[Λ(x)∧φL(x)] |
| ∀xφ(x) | ↦ ∀x[Λ(x)→φL(x)] |
| α∧β | ↦ αL∧βL |
| α∨β | ↦ αL∨βL |
| ¬φ | ↦ ¬(φL) |
| x∈y | ↦ x∈y |
| x=y | ↦ x=y |
With a bit of syntactic sugar (vernacular), we could write the results in the first two rules as (∃x∈L)φL(x) and (∀x∈L)φL(x).
The point of relativization is this fact:
V⊧ψL(ā) ⇔ L⊧ψ(ā), ā∈L
and so the formalization of L⊧ψ is just ψL.
Items (1) and (2), formalized in ZF, are:
- ZF⊢αL for every axiom α of ZF.
- ZF⊢∀x[Λ(x)→ΛL(x)].
Now suppose ZFL is inconsistent, so
ZF⊢∃x¬Λ(x)
Relativization preserves rules of inference and basic logical axioms. So (1) implies that any proof in ZF can be relativized to L: just replace every use of an axiom α with a proof of αL. Apply this to the formula just displayed, to get
ZF⊢∃x[Λ(x)∧¬ΛL(x)]
Now we make use of (2), and get:
ZF⊢∃x[ΛL(x)∧¬ΛL(x)]
a contradiction to the basic rules of logic.
So an inconsistency in ZFL can be transformed into one in ZF. The argument is purely syntactic—provability has replaced satisfaction. Only 15% handwaving!
It’s worth taking a moment to think about ΛL(x). This is not an infinite regress: in the mile-long formula Λ(x), we replace the quantifiers as described. We use the unrelativized Λ for this. For example, if we have ∃z[…] somewhere in the middle of Λ(x), this first becomes ∃z[Λ(z)∧…], and then we apply relativization to “…”, but we don’t apply it to the just introduced Λ(z).
Item (2) says that Λ(x) is absolute between L and V. Normally absoluteness is an “if-and-only-if”, but applied only to elements of the inner structure. So in one direction, we want “if V⊧Λ(a) and a∈L, then V⊧ΛL(a)’’; in the other direction, “if V⊧ΛL(a) and a∈L, then V⊧Λ(a)’’. However, the formal version of “a∈L’’ is just “V⊧Λ(a)’’, so one direction becomes “if V⊧Λ(a) then V⊧ΛL(a)’’ (i.e., (2)), and the other direction is a tautology.
Just to hammer on the importance of absoluteness: suppose Λ(x) was not absolute, like countability. For example, let’s say that Λ(x) had the form ∃yφ(x,y), and for some a∈L, all the possible witnesses y=b did not belong to L. So we would have a constructible set that L thought was not constructible—constructible, and thus belonging to L, but not “constructible in L’’. ZF could still prove V≠L; L would not present a counterexample.
Now let’s turn to the proofs of (1)–(3). We disposed of (2) in post 23. As for ZFL → AC, Gödel showed that L can be well-ordered. This shouldn’t surprise us. On the one hand, L=⋃α Lα, so we can partially order constructible sets by their L-rank. New sets that appear during the induction step, Lα+1=ℱ(Lα), all have definitions. Now, a definition can have parameters belonging to Lα:
x={y∈Lα : Lα⊧φ(y,ā)}, ā∈Lα
but that just means that each new set can be given a “card catalogue index” (φ,ā). If Lα has a well-ordering, so does the set of finite-length tuples ā, and φ is just a finite string of symbols selected from a countable alphabet. So no problems well-ordering Lα+1. More careful analysis shows that all of L can be well-ordered by a formula ψ(x,y). Moreover, ψ(x,y) is absolute over L.
Now we come to the hard parts, where absoluteness fails. In the rest of this post we look at L⊧ZF. (We postpone V=L→GCH to the next post.) The critical fact: any L-definable subset of L, say
x={z∈L: L⊧φ(z,ā)} with ā∈L (†)
is itself an element of L whenever x is a set. (It’s not automatic that x is a set, but if it is, it belongs to L.)
Assuming (†), we can barrel through the ZF axioms like a snowplow through powder. Take Replacement: if u is a set and φ(x,y) is function-like, defining a functional F, then applying F to each element of u (denoted F′′(u)) produces a set. Relativizing to L:
(FL)′′(u) = {y∈L : L⊧(∃x∈u)φ(x,y)}
(FL)′′(u) is a set because Replacement holds in V, so invoking (†) tells us that (FL)′′(u) belongs to L. So L satisfies Replacement. (Point to note: φL and φ may not be the same, but Replacement in V still says that if φL is function-like, then the range of FL on u is a set.)
Or how about Power Set. 𝒫(x)={u:u⊆x}, but “u⊆x’’ is absolute. So 𝒫L(x)={u∈L:u⊆x}. We have 𝒫L(x)⊆𝒫(x), so Power Set and Separation in V tell us that 𝒫L(x) is a set in V. (†) now tells us that 𝒫L(x) is a set in L. The other axioms likewise fall like wooden soldiers in a hurricane.
(†) must make you think of the definition of ℱ (see post 21). Indeed, saying that L satisfies (†) is just saying that L=ℱ(L). Since Lα+1=ℱ(Lα) and L=⋃α Lα, it seems that (†) should be a near triviality, a three line proof.
Not so! We highlight the problem with our old friends 𝒫 and 𝒫un(y) (the set of uncountable subsets of y). Start with 𝒫. We need to show that for any y∈L, 𝒫L(y) is also in L. This is all the constructible subsets of y.
Let
xα=𝒫Lα(y)
so xα∈Lα+1, as a definable subset of Lα. As we saw in post 23, the xα sequence can gain elements as α increases. 𝒫L(y) (=x, say) is the union of this increasing sequence. We need to show that for some α, xα=𝒫L(y).
As it happens, the xα sequence eventually stabilizes: for any y, there is a β such that for all α≥β, xα=𝒫L(y). Let’s see why. For every z∈𝒫L(y), there is an ordinal ζ(z) such that z∈Lζ(z). Since 𝒫L(y) is a set, there is an ordinal β greater than all the ζ(z)’s. So x⊆Lβ, and in fact is a subset of all Lα’s with α≥β. So xα=x for all α≥β.
I will call this the waiting argument. It occurs constantly in set theory, but I don’t know of a standard name for it. In a phrase: “wait until all the constructible subsets of y have appeared”.
Next consider 𝒫unL(y), the set of all constructible subsets of L that L thinks are uncountable. “Thinks” means that there is no constructible injection of the subset into ω. Let
| x | = 𝒫unL(y) |
| xα | = 𝒫unLα(y) |
Here we have to work a bit harder. As noted in post 22, the xα sequence can both gain and lose elements as α increases. But the sequence still stabilizes with the ultimate value x: just wait until all the countability witnesses have appeared! More precisely, if z⊆y is countable, choose an fz:z↣ω. Choose a γ so large that all the fz’s belong to Lγ. Omitting a couple of niggling details, there is such a γ because we only consider the fz’s with z∈𝒫(y), which is a set. For any α≥max(β,γ), xα=x.
We saw in post 22 that 𝒫 is Π1 and 𝒫un is Π2. As we ascend the Lévy Hierarchy, things will get messier and messier. How can we be sure the xα sequence will stabilize? Actually we don’t need it to stabilize, we just need one xα to equal x.
Turn to (†) in general. Let x be a set that is a subset of L and is definable in L:
x={z∈L: L⊧φ(z,ā)} with ā∈L
Our previous two cases suggest we look at this sequence:
xα={z∈Lα: Lα⊧φ(z,ā)}
where α is large enough so that ā∈Lα. So xα belongs to Lα+1, by the definition of constructibility (specifically the ℱ operator).
All we need is for one xα to be equal to x. For this we appeal to the L version of the Lévy-Montague reflection principle (see post 24). Namely, for any β there is an α≥β such that Lα reflects L with respect to φ:
L⊧φ(c̄) ⇔ Lα⊧φ(c̄)
for all c̄∈Lα. We want α large enough so that x=xα, i.e.,
{z∈L: L⊧φ(z,ā)}= {z∈Lα: Lα⊧φ(z,ā)}
where ā belongs to L. Since x by assumption is a set and a subset of L, for large enough β we have x⊆Lβ and ā∈Lβ. Let Lα⊇Lβ reflect φ. It is now immediate that x=xα. (Here c̄ is (z,ā).)
If you take a second look at the proof of the Lévy-Montague reflection principle, you will find a waiting argument imbedded in it, entwined with an induction on the complexity of φ.




