Skip to content

9.1 Forcing

An introduction to forcing, generic filters, forcing names, the forcing relation, and the basic extension theorem.

Forcing is a method for constructing new models of set theory from old ones by adjoining new sets in a controlled way, and its main purpose is to show that certain statements cannot be decided from a given list of axioms, such as ZFC, provided those axioms are consistent.

The guiding idea is that we begin with a model MM of set theory and a partially ordered set P\mathbb{P} whose elements are called conditions, where a condition gives finite or partial information about a new object that we want to add to the model.

Definition 9.1 (Forcing Poset)

A forcing poset is a partially ordered set:

(P,) (\mathbb{P}, \leq)

whose elements are called conditions.

If p,qPp,q \in \mathbb{P} and:

qp q \leq p

then qq is called stronger than pp.

The order is read this way because qq gives at least as much information as pp, and usually it gives more information.

Example 9.2 (Adding a New Subset of Natural Numbers)

Let:

P=2<ω \mathbb{P} = 2^{<\omega}

be the set of all finite binary sequences.

For p,q2<ωp,q \in 2^{<\omega}, define:

qp q \leq p

if and only if qq extends pp as a sequence.

Thus:

(1,0,1,1)(1,0) (1,0,1,1) \leq (1,0)

because the longer sequence gives more information about the infinite binary sequence being constructed.

A generic filter through this poset will determine an infinite binary sequence:

g:ω2 g : \omega \to 2

and this can be identified with a subset of ω\omega.

Definition 9.3 (Compatible Conditions)

Two conditions p,qPp,q \in \mathbb{P} are compatible if there exists a condition rPr \in \mathbb{P} such that:

rpandrq r \leq p \quad \text{and} \quad r \leq q

If no such rr exists, then pp and qq are incompatible.

Compatibility means that the information given by pp and the information given by qq can be combined into a single stronger condition.

Definition 9.4 (Dense Set)

A subset DPD \subseteq \mathbb{P} is dense if for every pPp \in \mathbb{P} there exists qDq \in D such that:

qp q \leq p

Thus a dense set is a set of conditions that cannot be avoided by strengthening a condition.

Dense sets express requirements that a generic object should meet.

Definition 9.5 (Filter)

A subset GPG \subseteq \mathbb{P} is a filter if it satisfies the following conditions.

First, GG is upward closed in the forcing order:

pG and pq    qG p \in G \text{ and } p \leq q \implies q \in G

where qq is weaker than pp.

Second, GG is directed:

p,qG    rG such that rp and rq p,q \in G \implies \exists r \in G \text{ such that } r \leq p \text{ and } r \leq q

The first condition says that if a filter contains a strong condition, then it also contains every weaker condition that is already implied by it.

The second condition says that any two pieces of information in the filter can be combined.

Definition 9.6 (Generic Filter)

Let MM be a model of set theory, and let PM\mathbb{P} \in M be a forcing poset.

A filter GPG \subseteq \mathbb{P} is MM generic if:

GD G \cap D \neq \varnothing

for every dense set DPD \subseteq \mathbb{P} such that DMD \in M.

The filter GG is usually not an element of MM. Instead, it is chosen outside MM while meeting every dense requirement that MM can describe.

Lemma 9.7 (Existence of Generic Filters for Countable Models)

Let MM be a countable model of a sufficiently large finite fragment of ZFC, and let PM\mathbb{P} \in M be a forcing poset. If p0Pp_0 \in \mathbb{P}, then there exists an MM generic filter GPG \subseteq \mathbb{P} such that:

p0G p_0 \in G

Proof

Since MM is countable, the collection of dense subsets of P\mathbb{P} that belong to MM is also countable from the outside.

List them as:

D0,D1,D2, D_0,D_1,D_2,\dots

We build a descending sequence of conditions:

p0p1p2 p_0 \geq p_1 \geq p_2 \geq \cdots

such that:

pn+1Dn p_{n+1} \in D_n

for each nn.

Assume pnp_n has been chosen. Since DnD_n is dense, there exists:

pn+1Dn p_{n+1} \in D_n

such that:

pn+1pn p_{n+1} \leq p_n

Now define:

G={qP:n, pnq} G = \{q \in \mathbb{P} : \exists n,\ p_n \leq q\}

This set contains p0p_0, because p0p0p_0 \leq p_0.

It is upward closed by definition. If qGq \in G and qrq \leq r, then for some nn we have pnqp_n \leq q, and therefore pnrp_n \leq r, so rGr \in G.

It is directed. If q,rGq,r \in G, then there exist m,nm,n such that:

pmqandpnr p_m \leq q \quad \text{and} \quad p_n \leq r

Let kk be larger than both mm and nn. Since the sequence is descending:

pkpmandpkpn p_k \leq p_m \quad \text{and} \quad p_k \leq p_n

so:

pkqandpkr p_k \leq q \quad \text{and} \quad p_k \leq r

and pkGp_k \in G.

Finally, GG meets each dense set DnD_n, because pn+1Dnp_{n+1} \in D_n and pn+1Gp_{n+1} \in G.

Hence GG is an MM generic filter containing p0p_0.

Definition 9.8 (Forcing Names)

Let MM be a model of set theory and let PM\mathbb{P} \in M be a forcing poset.

A P\mathbb{P} name is a set τ\tau whose elements are ordered pairs:

(σ,p) (\sigma,p)

where σ\sigma is a P\mathbb{P} name and pPp \in \mathbb{P}.

Names are defined recursively. Intuitively, a name is a formal description of an object that may appear in the forcing extension.

The condition pp attached to σ\sigma says that σ\sigma should be included in the interpretation of τ\tau if pp belongs to the generic filter.

Definition 9.9 (Interpretation of Names)

Let GPG \subseteq \mathbb{P} be a filter. The interpretation of a name τ\tau by GG is defined recursively by:

τG={σG:pG, (σ,p)τ} \tau^G = \{\sigma^G : \exists p \in G,\ (\sigma,p) \in \tau\}

Thus a name becomes an actual set once a generic filter has been chosen.

Definition 9.10 (Canonical Names)

For each set xMx \in M, define its canonical name xˇ\check{x} recursively by:

xˇ={(yˇ,1P):yx} \check{x} = \{(\check{y},1_{\mathbb{P}}) : y \in x\}

where 1P1_{\mathbb{P}} is the weakest condition, if the forcing poset has one.

The name xˇ\check{x} is the formal name for the old set xx inside the forcing extension.

Lemma 9.11 (Canonical Names Interpret Correctly)

For every xMx \in M and every generic filter GG containing 1P1_{\mathbb{P}}:

xˇG=x \check{x}^G = x

Proof

We prove the statement by induction on the rank of xx.

By definition:

xˇ={(yˇ,1P):yx} \check{x} = \{(\check{y},1_{\mathbb{P}}) : y \in x\}

Since 1PG1_{\mathbb{P}} \in G, the interpretation is:

xˇG={yˇG:yx} \check{x}^G = \{\check{y}^G : y \in x\}

By the induction hypothesis:

yˇG=y \check{y}^G = y

for every yxy \in x.

Therefore:

xˇG={y:yx}=x \check{x}^G = \{y : y \in x\} = x

This proves the claim.

Definition 9.12 (The Generic Extension)

Let MM be a model of set theory, let PM\mathbb{P} \in M, and let GG be an MM generic filter.

The forcing extension M[G]M[G] is defined by:

M[G]={τG:τM and τ is a P name} M[G] = \{\tau^G : \tau \in M \text{ and } \tau \text{ is a } \mathbb{P}\text{ name}\}

The model M[G]M[G] contains every old set from MM through its canonical name, and it also contains new sets whose names are interpreted using GG.

Lemma 9.13

If MM is a model of set theory, PM\mathbb{P} \in M, and GG is MM generic, then:

MM[G] M \subseteq M[G]

Proof

Let xMx \in M. By Definition 9.10, there is a canonical name xˇM\check{x} \in M.

By Lemma 9.11:

xˇG=x \check{x}^G = x

Since M[G]M[G] contains the interpretations of all names in MM, it follows that:

xM[G] x \in M[G]

Thus:

MM[G] M \subseteq M[G]

Example 9.14 (The Generic Real)

Let:

P=2<ω \mathbb{P}=2^{<\omega}

ordered by extension.

If GG is an MM generic filter, define:

g=G g = \bigcup G

Since every condition in GG is a finite binary sequence and any two elements of GG are compatible, the union gg is a function.

The dense sets:

Dn={p2<ω:ndom(p)} D_n = \{p \in 2^{<\omega} : n \in \mathrm{dom}(p)\}

ensure that gg is defined at every natural number.

Each DnD_n is dense, because any finite sequence can be extended to decide the value at nn.

Since GG is generic, it meets every DnD_n, so:

dom(g)=ω \mathrm{dom}(g)=\omega

Thus:

g:ω2 g:\omega \to 2

and gg is an infinite binary sequence.

This gg is called the generic real.

Lemma 9.15 (The Generic Real is Total)

Let P=2<ω\mathbb{P}=2^{<\omega} ordered by extension, and let GG be MM generic. Then:

g=G g = \bigcup G

is a total function from ω\omega to 22.

Proof

First, gg is a function. If two finite sequences p,qGp,q \in G assign values to the same input nn, then directedness gives some rGr \in G such that:

rpandrq r \leq p \quad \text{and} \quad r \leq q

Since rr extends both pp and qq, the values assigned by pp and qq at nn must agree. Therefore the union is functional.

Second, gg is total. For each nωn \in \omega, define:

Dn={p2<ω:ndom(p)} D_n = \{p \in 2^{<\omega} : n \in \mathrm{dom}(p)\}

This set is dense. Given any finite binary sequence pp, we may extend it to a finite binary sequence qq whose domain includes nn, and then:

qp q \leq p

Since GG is MM generic and DnMD_n \in M, we have:

GDn G \cap D_n \neq \varnothing

Thus some condition in GG assigns a value to nn, so ndom(g)n \in \mathrm{dom}(g).

Since this holds for every nn, the function gg has domain ω\omega.

Definition 9.16 (The Forcing Relation)

The forcing relation is written:

pφ p \Vdash \varphi

and read as:

p forces φ p \text{ forces } \varphi

It means that the condition pp contains enough information to guarantee that φ\varphi will be true in every generic extension containing pp.

More precisely, if φ\varphi is a formula in the forcing language with names as parameters, then:

pφ p \Vdash \varphi

means that for every MM generic filter GG with pGp \in G:

M[G]φ M[G] \models \varphi

This is the semantic reading. In formal development, the forcing relation is defined recursively inside MM, so that one can reason about forcing without quantifying over all external generic filters.

Lemma 9.17 (Monotonicity of Forcing)

If:

pφ p \Vdash \varphi

and:

qp q \leq p

then:

qφ q \Vdash \varphi

Proof

Assume:

pφ p \Vdash \varphi

and:

qp q \leq p

Let GG be any MM generic filter such that:

qG q \in G

Since GG is upward closed and qpq \leq p, it follows that:

pG p \in G

Because pφp \Vdash \varphi, every generic extension by a generic filter containing pp satisfies φ\varphi.

Therefore:

M[G]φ M[G] \models \varphi

Since GG was arbitrary among generic filters containing qq, we conclude:

qφ q \Vdash \varphi

Lemma 9.18 (Density Principle)

Let DPD \subseteq \mathbb{P} be dense below pp, meaning that for every qpq \leq p there exists rqr \leq q such that rDr \in D.

If every condition in DD forces φ\varphi, then:

pφ p \Vdash \varphi

Proof

Let GG be an MM generic filter such that:

pG p \in G

Since DD is dense below pp, the set:

E=D{qP:qp} E = D \cup \{q \in \mathbb{P} : q \perp p\}

is dense in P\mathbb{P}, where qpq \perp p means that qq is incompatible with pp.

Because GG is generic, it meets EE.

Since pGp \in G, no condition in GG can be incompatible with pp, because GG is directed.

Therefore GG must meet DD.

Choose:

rGD r \in G \cap D

By assumption:

rφ r \Vdash \varphi

Since rGr \in G, it follows from the meaning of forcing that:

M[G]φ M[G] \models \varphi

Thus every generic extension containing pp satisfies φ\varphi, so:

pφ p \Vdash \varphi

Definition 9.19 (Forcing Extension Theorem)

The fundamental theorem of forcing says that if MM is a suitable model of ZFC, PM\mathbb{P} \in M is a forcing poset, and GG is MM generic, then M[G]M[G] is again a model of ZFC, and the truth of formulas in M[G]M[G] is controlled by the forcing relation.

More precisely, for each formula φ\varphi and names τ1,,τnM\tau_1,\dots,\tau_n \in M:

M[G]φ(τ1G,,τnG) M[G] \models \varphi(\tau_1^G,\dots,\tau_n^G)

if and only if there exists pGp \in G such that:

pφ(τ1,,τn) p \Vdash \varphi(\tau_1,\dots,\tau_n)

This result is often called the truth lemma together with the forcing theorem.

Theorem 9.20 (Truth Lemma)

Let MM be a countable transitive model of a sufficiently large fragment of ZFC, let PM\mathbb{P} \in M, and let GG be MM generic. If:

M[G]φ(τ1G,,τnG) M[G] \models \varphi(\tau_1^G,\dots,\tau_n^G)

then there exists pGp \in G such that:

pφ(τ1,,τn) p \Vdash \varphi(\tau_1,\dots,\tau_n)

Proof

The full proof is by induction on the complexity of the formula φ\varphi.

For atomic formulas, one defines the forcing relation recursively for statements of the form:

στ \sigma \in \tau

and:

σ=τ \sigma = \tau

The definition is arranged so that the truth of these atomic statements in M[G]M[G] is reflected by some condition in GG.

For negation, suppose:

M[G]¬ψ M[G] \models ¬\psi

If no condition in GG forced ¬ψ¬\psi, then every condition in GG would have a stronger condition compatible with forcing ψ\psi, and by genericity one could find an extension witnessing ψ\psi, contradicting:

M[G]¬ψ M[G] \models ¬\psi

Thus some condition in GG forces ¬ψ¬\psi.

For conjunction, suppose:

M[G]ψθ M[G] \models \psi \land \theta

Then:

M[G]ψ M[G] \models \psi

and:

M[G]θ M[G] \models \theta

By the induction hypothesis, there exist p,qGp,q \in G such that:

pψ p \Vdash \psi

and:

qθ q \Vdash \theta

Since GG is directed, there exists rGr \in G with:

rpandrq r \leq p \quad \text{and} \quad r \leq q

By monotonicity:

rψ r \Vdash \psi

and:

rθ r \Vdash \theta

Hence:

rψθ r \Vdash \psi \land \theta

For existential quantification, suppose:

M[G]xψ(x) M[G] \models \exists x\,\psi(x)

Then there is some object aM[G]a \in M[G] such that:

M[G]ψ(a) M[G] \models \psi(a)

By the definition of M[G]M[G], there is a name σM\sigma \in M such that:

σG=a \sigma^G = a

By the induction hypothesis, there exists pGp \in G such that:

pψ(σ) p \Vdash \psi(\sigma)

Therefore:

pxψ(x) p \Vdash \exists x\,\psi(x)

The cases for other connectives and universal quantification are reduced to these by logical equivalences.

Theorem 9.21 (Basic Extension Theorem)

Let MM be a countable transitive model of ZFC, let PM\mathbb{P} \in M be a forcing poset, and let GG be an MM generic filter. Then:

M[G]ZFC M[G] \models \mathrm{ZFC}

provided the forcing construction is carried out inside a setting where the required forcing theorem holds for MM.

Proof

The proof verifies each axiom of ZFC in M[G]M[G].

Extensionality holds because equality in M[G]M[G] is ordinary equality of interpreted sets.

Empty Set holds because the canonical name ˇ\check{\varnothing} belongs to MM, and:

ˇG= \check{\varnothing}^G = \varnothing

Pairing holds because if a,bM[G]a,b \in M[G], then there are names σ,τM\sigma,\tau \in M such that:

σG=aandτG=b \sigma^G=a \quad \text{and} \quad \tau^G=b

The name:

ρ={(σ,1P),(τ,1P)} \rho = \{(\sigma,1_{\mathbb{P}}),(\tau,1_{\mathbb{P}})\}

belongs to MM, and:

ρG={a,b} \rho^G = \{a,b\}

Union holds by defining, inside MM, a name whose interpretation collects all elements of elements of a given interpreted name.

Infinity holds because:

ωˇG=ω \check{\omega}^G = \omega

and ωM\omega \in M.

Separation holds by using the forcing theorem. Given a set a=τGa=\tau^G and a formula φ(x)\varphi(x), one defines a name in MM for:

{xa:φ(x)} \{x \in a : \varphi(x)\}

by using conditions that force φ\varphi of the relevant name.

Replacement is proved similarly but requires more bookkeeping, since one must show that images of sets under definable functions are still represented by names in MM.

Power Set holds by using names for subsets and the fact that the collection of relevant names can be bounded in rank inside MM.

Foundation holds because M[G]M[G] is built from well founded names interpreted recursively.

Choice is preserved when the forcing extension is built over a model of ZFC, since well orderings in MM can be extended to well order the interpreted universe by ranking names and using the well ordering available in MM.

Thus each axiom of ZFC holds in M[G]M[G].

Why Forcing Proves Independence

Forcing proves independence by producing two models of the same axioms in which a statement has different truth values.

Suppose TT is a theory such as ZFC and φ\varphi is a sentence.

If one can build a model:

M1T+φ M_1 \models T + \varphi

and another model:

M2T+¬φ M_2 \models T + ¬\varphi

then TT cannot prove φ\varphi and cannot prove ¬φ¬\varphi, assuming TT is consistent.

This is because if TT proved φ\varphi, then every model of TT would satisfy φ\varphi by soundness.

Similarly, if TT proved ¬φ¬\varphi, then every model of TT would satisfy ¬φ¬\varphi.

Forcing gives a systematic way to construct such models by choosing different forcing posets and generic filters.

Theorem 9.22 (Independence Pattern)

Let TT be a sound first order theory extending enough set theory, and let φ\varphi be a sentence. Suppose there exist models:

M1T+φ M_1 \models T + \varphi

and:

M2T+¬φ M_2 \models T + ¬\varphi

Then neither φ\varphi nor ¬φ¬\varphi is provable from TT.

Proof

Assume first that:

Tφ T \vdash \varphi

By soundness of first order logic, every model of TT satisfies φ\varphi.

But:

M2T+¬φ M_2 \models T + ¬\varphi

so:

M2¬φ M_2 \models ¬\varphi

This contradicts the conclusion that every model of TT satisfies φ\varphi.

Therefore:

Tφ T \nvdash \varphi

Now assume:

T¬φ T \vdash ¬\varphi

Again by soundness, every model of TT satisfies ¬φ¬\varphi.

But:

M1T+φ M_1 \models T + \varphi

so:

M1φ M_1 \models \varphi

This is a contradiction.

Therefore:

T¬φ T \nvdash ¬\varphi

Hence φ\varphi is independent of TT.

Cohen Forcing and the Continuum Hypothesis

The original application of forcing was Cohen’s proof that the continuum hypothesis cannot be proved from ZFC, assuming ZFC is consistent.

The continuum hypothesis is the statement:

20=1 2^{\aleph_0} = \aleph_1

It says that there is no cardinal strictly between the cardinality of the natural numbers and the cardinality of the real numbers.

Forcing can add new real numbers to a model. By adding sufficiently many reals while preserving the axioms of ZFC, one can build a forcing extension in which:

20>1 2^{\aleph_0} > \aleph_1

Thus the continuum hypothesis fails in that extension.

Combined with Gödel’s earlier construction of the constructible universe LL, where the continuum hypothesis holds, this gives the independence of the continuum hypothesis from ZFC, assuming ZFC is consistent.

Conceptual Summary

The forcing method has four main components.

First, the forcing poset P\mathbb{P} describes finite or partial approximations to the object being added.

Second, the generic filter GG selects a coherent collection of conditions meeting every dense requirement visible in the ground model.

Third, forcing names provide formal descriptions of objects in the extension before the generic filter has been chosen.

Fourth, the forcing relation pφp \Vdash \varphi connects conditions with truth in the extension by saying that pp guarantees φ\varphi in every generic extension containing it.