Set Theory II: Forcing is an introduction to the modern method for proving independence results in set theory. The course develops forcing from the ground up, beginning with partially ordered sets, dense sets, and generic filters, then introducing names and generic extensions as the language for building new models of set theory. From there it turns to the forcing relation and shows how to verify that ZFC is preserved in generic extensions, culminating in the canonical application: Cohen forcing and the independence of the Continuum Hypothesis.
The later chapters broaden the method and its reach. After establishing the basic machinery, the course studies chain conditions, closure, distributivity, and properness as structural tools for controlling cardinal collapse and preservation. It then moves to forcing axioms, Martin's Axiom, iterated forcing, and cardinal characteristics of the continuum, showing how forcing can be organized to separate and compare fine-grained combinatorial properties of the reals. The final chapters present Boolean-valued models and related viewpoints, tying the subject together into a unified methodology for building models, proving consistency, and analyzing independence phenomena across set theory.
# Introduction
This opening chapter sets the agenda for the course. Forcing is a systematic way to pass from a model of set theory to a larger model in which selected statements become true while the axioms of ZFC are preserved. The main questions are how a partial order encodes finite or countable approximations, how a generic object is assembled from those approximations, and how truth in the extension can be controlled from inside the ground model.
The course assumes the basic language of ZFC, ordinals and cardinals, transfinite recursion, the cumulative hierarchy, elementary model theory of structures, Boolean algebras, and the continuum hypothesis. The guiding aim is relative consistency: starting from a model of ZFC, we build another model of ZFC with prescribed features, such as the failure of CH. This introduction fixes the vocabulary used throughout the course and explains why forcing is organised around posets, dense sets, names, and preservation arguments.
## Independence as a Model-Building Problem
What does it mean to prove that a statement cannot be decided from the axioms already on the table? In set theory the answer is model-theoretic: to separate a sentence from ZFC, we compare models of ZFC in which the sentence has different truth values. Forcing supplies one half of this comparison by producing controlled extensions of a given model.
[definition: Relative Consistency]
A theory $T_1$ is relatively consistent with a theory $T_0$ if the consistency of $T_0$ implies the consistency of $T_1$.
[/definition]
Relative consistency is the right level of conclusion because Gödel's incompleteness theorems prevent strong absolute consistency proofs for sufficiently expressive theories. In practice, a forcing argument begins with a model $M \models \mathrm{ZFC}$ and constructs a new structure $M[G]$ satisfying ZFC together with an additional target sentence.
[example: Relative Consistency Shape]
Suppose the course proves that whenever $M$ is a countable transitive model of ZFC, there is a forcing extension $M[G]$ with $M[G] \models \mathrm{ZFC} + \neg\mathrm{CH}$. This establishes the relative consistency of $\mathrm{ZFC}+\neg\mathrm{CH}$ with ZFC, provided the relevant ground model exists. The method does not claim that CH is false in the universe; it shows that ZFC alone cannot rule out a universe obtained by the forcing construction.
[/example]
The example also explains why the course keeps returning to countable transitive models. Transitivity lets membership in the model agree with actual membership, while countability gives an external enumeration of all dense requirements that the generic filter must meet.
[remark: Meta-Theory]
Statements about countable transitive models are made from the surrounding meta-theory. Inside a countable transitive model $M$, the model need not regard itself as countable. This distinction is a recurring source of power in forcing: externally we can enumerate objects of $M$, while internally $M$ may satisfy that some of those objects are uncountable.
[/remark]
The next problem is therefore not how to add an arbitrary set, but how to add one without destroying the axioms already present. The technical answer starts with partial orders whose elements record finite stages of information.
## Forcing as Controlled Approximation
How can a construction specify an infinite set without naming all of its elements at once? Forcing replaces the completed object by a system of approximations. A condition is a finite or otherwise partial piece of information, and stronger conditions give more information about the object being built.
[definition: Forcing Poset]
A forcing poset is a preorder $(\mathbb P, \le)$ whose elements are called conditions. If $q \le p$, then $q$ is stronger than $p$.
[/definition]
The order convention is chosen so that moving downward in the order means committing to more information. The next issue is whether two separate commitments can be imposed at the same time, since a construction cannot accept approximations that demand inconsistent outcomes.
[definition: Compatibility]
Let $(\mathbb P, \le)$ be a forcing poset. Conditions $p,q \in \mathbb P$ are compatible if there exists $r \in \mathbb P$ such that $r \le p$ and $r \le q$. They are incompatible if no such $r$ exists.
[/definition]
Compatibility measures whether two partial pieces of information can coexist in a single future approximation. After knowing which commitments can coexist, we need a way to describe requirements that remain attainable from every stage of the construction.
[definition: Dense Subset]
Let $(\mathbb P, \le)$ be a forcing poset. A subset $D \subset \mathbb P$ is dense if for every $p \in \mathbb P$ there exists $q \in D$ with $q \le p$.
[/definition]
A dense set is a requirement that can still be met no matter how far the construction has already proceeded. This makes dense subsets the main bookkeeping device in the course.
[example: Cohen Conditions]
Let $\operatorname{Add}(\omega,1)$ be the set of finite partial functions $p: \omega \rightharpoonup 2$, ordered by reverse inclusion: $q \le p$ if $q \supset p$. A condition decides finitely many bits of a future function $g: \omega \to 2$. For each $n \in \omega$, the set of conditions deciding the value at $n$ is dense, since any finite partial function can be extended by assigning a value to $n$ if it has not already done so.
[/example]
This example is the prototype for adding a new real. The generic object will be the union of all finite approximations in a suitable filter, and meeting the dense set for each $n$ ensures that the union is a total function on $\omega$.
## Genericity and the Role of Countability
Which filters are rich enough to produce the intended extension? A filter must be internally coherent, but coherence alone is not enough: it must also meet every dense set that the ground model recognises as relevant.
[definition: Filter on a Poset]
Let $(\mathbb P, \le)$ be a forcing poset. A subset $G \subset \mathbb P$ is a filter if it is upward closed with respect to weaker conditions and directed downward: whenever $p,q \in G$, there exists $r \in G$ such that $r \le p$ and $r \le q$.
[/definition]
The upward-closed condition says that if the construction accepts a strong approximation, it also accepts every weaker approximation compatible with having reached that stage. Directedness says that any two accepted approximations have a common strengthening inside the same construction. To make such a coherent construction useful for forcing, it must also meet all dense requirements that are visible in the ground model.
[definition: Generic Filter over a Model]
Let $M$ be a model of set theory and let $\mathbb P \in M$ be a forcing poset. A filter $G \subset \mathbb P$ is $M$-generic if $G \cap D \ne \varnothing$ for every dense set $D \subset \mathbb P$ with $D \in M$.
[/definition]
An $M$-generic filter is allowed to live outside $M$, which is how it can add new information while respecting all dense constraints seen by $M$. This definition motivates the existence problem for generic filters: given countably many dense requirements and a starting condition, can we build one coherent filter meeting them all?
[quotetheorem:6517]
[citeproof:6517]
This lemma is the first place where countability enters. If $M$ is countable from the outside, then the dense subsets of $\mathbb P$ that lie in $M$ can be listed as $(D_n)_{n \in \omega}$, so the lemma produces an $M$-generic filter. The hypothesis that each $D_n$ is dense is essential: if $D = \{q \in \mathbb P : q \le s\}$ for a condition $s$ incompatible with the chosen starting condition $p_0$, then no filter containing $p_0$ can meet $D$. The lemma also does not say that a filter can meet an arbitrary uncountable family of dense sets; for example, meeting every [dense subset](/page/Dense%20Subset) of $\operatorname{Add}(\omega,1)$ in the ambient universe would force the generic real to be an existing object rather than a new external construction over a smaller model. Its role is therefore precise: it converts an externally countable list of internal requirements into the filters needed for generic extensions.
[example: Meeting Requirements for a Cohen Real]
In Cohen forcing, enumerate the dense sets $D_n = \{p : n \in \operatorname{dom}(p)\}$ together with any additional dense sets belonging to a countable ground model $M$. The Rasiowa-Sikorski construction builds a filter $G$ meeting all of them. The union $g = \bigcup G$ is then a total function $\omega \to 2$, and the extra dense requirements ensure that $g$ behaves generically over $M$ rather than merely being a real assembled from finite strings.
[/example]
The generic filter is only the first object. To turn it into a model, the course needs a language for describing the sets that will appear after the generic has been added.
## Names and Truth Before the Extension Exists
How can the ground model talk about objects that are not yet present? The answer is to use names: hereditary descriptions whose interpretation depends on the generic filter. Names let $M$ discuss potential members of $M[G]$ before $G$ has been chosen.
[definition: Informal Forcing Name]
Let $M$ be a ground model and $\mathbb P \in M$ a forcing poset. A $\mathbb P$-name is a set built recursively from pairs $(\sigma,p)$, where $\sigma$ is a $\mathbb P$-name and $p \in \mathbb P$.
[/definition]
This introductory description suppresses the formal rank recursion, which appears in Chapter 2 on names and generic extensions. The pair $(\sigma,p)$ should be read as saying that condition $p$ supports the assertion that the interpretation of $\sigma$ belongs to the interpretation of the larger name. Once names have been written down, we need the operation that evaluates them using the chosen generic filter.
[definition: Interpretation of a Name]
Let $G \subset \mathbb P$ be a filter. The interpretation map determined by $G$ is the recursive map
\begin{align*}
\operatorname{val}_G : \{\mathbb P\text{-names}\} \to V
\end{align*}
defined by
\begin{align*}
\operatorname{val}_G(\tau) = \{\operatorname{val}_G(\sigma) : (\sigma,p) \in \tau \text{ for some } p \in G\}.
\end{align*}
We write $\tau^G$ for $\operatorname{val}_G(\tau)$.
[/definition]
Interpretation converts syntactic approximations into actual sets. Since every future set must arise from some ground-model description, the next construction packages all interpreted names into the extension.
[definition: Generic Extension]
Let $M$ be a ground model, let $\mathbb P \in M$, and let $G \subset \mathbb P$ be an $M$-generic filter. The generic extension is
\begin{align*}
M[G] = \{\tau^G : \tau \in M \text{ is a } \mathbb P\text{-name}\}.
\end{align*}
[/definition]
The definition raises the central technical question of the course: how can $M$ know which statements will hold in $M[G]$? The forcing relation answers this by assigning truth values to conditions before the generic filter is chosen.
[definition: Forcing Relation Informal]
Let $p \in \mathbb P$ and let $\varphi$ be a formula in the forcing language. The notation $p \Vdash \varphi$ means that every sufficiently generic filter $G$ containing $p$ yields an extension $M[G]$ in which $\varphi$ holds.
[/definition]
The formal definition is internal and recursive on formulas, not a quantification over all generic extensions. Establishing that these two viewpoints agree is one of the foundational theorems of forcing.
[quotetheorem:6518]
[citeproof:6518]
The Truth Lemma is the bridge between construction and proof. Its hypotheses are doing real work: genericity ensures that the filter meets the dense sets needed to decide formulas and supply witnesses, while transitivity keeps the interpretation of membership aligned with actual membership. If $G$ is merely a directed filter and misses a dense set of conditions deciding a statement, then the extension-style evaluation can leave truth unsupported by any condition in $G$, so the equivalence in the lemma fails. Likewise, if $p \Vdash \varphi$ were defined only by the external phrase "all generic extensions containing $p$ satisfy $\varphi$" without proving the internal recursive [forcing theorem](/theorems/6531), the ground model would not have a usable relation with which to compute truth before $G$ is chosen. Once the lemma is available in its precise form, independence arguments become computations with conditions and dense sets rather than direct reasoning inside a mysterious larger universe.
## The Route Through the Course
What must be developed before forcing can prove independence results such as the failure of CH? The course proceeds by separating the construction into reusable layers: posets and generic filters, names and extensions, the forcing relation, preservation theorems, concrete forcing notions, and iterations.
[explanation: Course Architecture]
The first block studies posets, dense subsets, filters, separative quotients, and Boolean completions. This gives several interchangeable presentations of the same forcing construction and explains why compatibility and density are the basic combinatorial notions.
The second block builds $M[G]$ from names and proves the forcing theorem. At this stage the main task is to verify that [generic extensions satisfy ZFC](/theorems/6534) and that truth in the extension is controlled by the forcing relation in the ground model.
The third block applies the machinery to Cohen forcing, cardinal preservation, and the independence of CH. Chapter 9 introduces finite-support and countable-support iterations, which allow many forcing steps to be combined while tracking chain conditions and closure properties.
The final block studies Martin's axiom and selected cardinal characteristics of the continuum. These topics show how forcing becomes a flexible method for calibrating the combinatorial structure of the real line.
[/explanation]
The course is therefore not a collection of isolated independence proofs. Its main object is a method: encode desired information in a poset, meet the dense sets needed for genericity, interpret names through the resulting filter, and prove preservation or change by analysing the forcing relation.
[remark: Working Convention]
Throughout these notes, $M$ usually denotes a countable transitive model of a sufficiently large fragment of ZFC, $\mathbb P \in M$ denotes a forcing poset, and $G \subset \mathbb P$ denotes an $M$-generic filter. When the argument requires the full strength of ZFC or only a finite fragment, the hypothesis will be stated explicitly.
[/remark]
This introduction gives only the map. The next chapter begins the construction itself by studying partial orders, dense sets, generic filters, and the Rasiowa-Sikorski argument in detail.
# 1. Posets, Dense Sets, and Generic Filters
After the introductory overview, this chapter sets up the language in which forcing is first described: a partially ordered collection of finite approximations, together with dense requirements that every acceptable approximation should eventually meet. The same mathematical object can be presented as a preorder, as a separative quotient, or as a Boolean algebra of regular open sets, and the chapter explains why these presentations lead to the same forcing construction. The central existence theorem is the [Rasiowa-Sikorski lemma](/theorems/6517), which gives filters meeting countably many dense sets and explains the role of countable transitive models in the first forcing arguments.
## Conditions and Dense Requirements
The starting problem is how to organise partial information. In forcing, a condition is an approximation to a future object, and a stronger condition gives more information. This convention is opposite to the order convention in some parts of order theory, so we fix it at the beginning.
[definition: Preorder]
A preorder is a pair $(\mathbb P, \leq)$ such that $\mathbb P$ is a class or set and $\leq$ is a binary relation on $\mathbb P$ satisfying:
1. $p \leq p$ for all $p \in \mathbb P$.
2. If $r \leq q$ and $q \leq p$, then $r \leq p$.
[/definition]
We read $q \leq p$ as "$q$ is stronger than $p$". Thus descending sequences in the order carry increasing information. To make the empty starting approximation part of the same language, we next single out a largest condition.
[definition: Forcing Poset]
A forcing poset is a preorder $(\mathbb P, \leq)$ together with a distinguished top condition $1_{\mathbb P} \in \mathbb P$ such that $p \leq 1_{\mathbb P}$ for every $p \in \mathbb P$.
[/definition]
The top condition represents the empty approximation. Many authors omit $1_{\mathbb P}$ or work below a chosen starting condition; the two conventions differ only in presentation.
[example: Tree of Finite Binary Strings]
Let $2^{<\omega}$ be the set of finite binary strings. For $s,t \in 2^{<\omega}$, put $t \leq s$ when $t$ extends $s$ as a function. The top condition is the empty string. A descending chain
\begin{align*}
s_0 \geq s_1 \geq s_2 \geq \cdots
\end{align*}
corresponds to longer and longer initial segments of a binary sequence, and its union is the real being approximated.
[/example]
To talk about whether two approximations can both be part of the same future object, we need compatibility. This is the first place where the order matters more than the underlying set of conditions.
[definition: Compatibility]
Let $(\mathbb P, \leq)$ be a forcing poset. Conditions $p,q \in \mathbb P$ are compatible, written $p \parallel q$, if there exists $r \in \mathbb P$ such that $r \leq p$ and $r \leq q$. They are incompatible, written $p \perp q$, if they are not compatible.
[/definition]
Compatibility means that the two pieces of information admit a common refinement. In the binary-string example, two strings are compatible exactly when one extends the other.
[example: Cohen Forcing]
Cohen forcing $\operatorname{Add}(\omega,1)$ is the set of finite partial functions $p: \omega \rightharpoonup 2$, ordered by reverse inclusion: $q \leq p$ if $q \supseteq p$. Two conditions $p$ and $q$ are compatible exactly when they agree on $\operatorname{dom}(p) \cap \operatorname{dom}(q)$. In that case their union $p \cup q$ is a common strengthening and is the finite approximation that contains both pieces of information.
[/example]
This example shows how compatibility protects coherence, but genericity also has to satisfy external requirements such as deciding coordinates. To express a requirement that can be met below any current condition, we introduce dense subsets.
[definition: Dense Subset]
Let $(\mathbb P, \leq)$ be a forcing poset. A subset $D \subseteq \mathbb P$ is dense in $\mathbb P$ if for every $p \in \mathbb P$ there exists $q \in D$ such that $q \leq p$.
[/definition]
A dense set is a requirement with no obstruction: whatever approximation has already been chosen, some stronger approximation satisfies the requirement. A related notion is useful because filters are upward closed in the weaker-direction order.
[definition: Open Dense Subset]
Let $(\mathbb P, \leq)$ be a forcing poset. A subset $D \subseteq \mathbb P$ is open dense if it is dense and satisfies: whenever $p \in D$ and $q \leq p$, then $q \in D$.
[/definition]
Every dense set has an open dense downward closure, so replacing dense sets by open dense sets does not change which filters meet them. The open version is often better behaved in Boolean-algebraic presentations.
[example: Deciding a Bit in Cohen Forcing]
Fix $n \in \omega$ in $\operatorname{Add}(\omega,1)$, and let
\begin{align*}
D_n = \{p \in \operatorname{Add}(\omega,1) : n \in \operatorname{dom}(p)\}.
\end{align*}
For any finite partial function $p$, either $n \in \operatorname{dom}(p)$ already, or $p \cup \{(n,0)\}$ is a stronger condition in $D_n$. Thus $D_n$ is dense, and it is open dense because extending a function cannot remove $n$ from its domain.
[/example]
The point of this example is that dense sets force the final object to be total in the relevant sense. Meeting all $D_n$ ensures that the union of the generic finite approximations has a value at every $n \in \omega$.
## Separativity and Quotients
The next problem is that a preorder may contain redundant conditions. Two conditions may differ syntactically while having exactly the same possible refinements, and some failures of compatibility may not be detected by the raw order. Separativity removes this redundancy by insisting that genuine failure of extension can be witnessed by incompatibility.
[definition: Separative Poset]
A forcing poset $(\mathbb P, \leq)$ is separative if whenever $p,q \in \mathbb P$ and $p \nleq q$, there exists $r \leq p$ such that $r \perp q$.
[/definition]
Separativity says that if $p$ is not already stronger than $q$, then below $p$ there is a way to commit to information incompatible with $q$. This condition is not needed to define forcing, but it makes the order reflect the compatibility structure more faithfully.
[definition: Separative Preorder]
Let $(\mathbb P, \leq)$ be a forcing poset. Define $p \leq_s q$ if every $r \leq p$ is compatible with $q$. Define $p =_s q$ if $p \leq_s q$ and $q \leq_s p$.
[/definition]
The relation $\leq_s$ repairs the order by declaring $p$ to be stronger than $q$ when no strengthening of $p$ can avoid compatibility with $q$. The next theorem is needed to show that this repair is canonical: quotienting by $=_s$ gives a genuine separative order with the same dense-set forcing behaviour.
[quotetheorem:6519]
[citeproof:6519]
This theorem justifies treating separativity as a harmless convention, but the hypotheses explain why a quotient is needed rather than merely cosmetic. For example, let $\mathbb P = \{1,a,b\}$ with $a \leq 1$, $b \leq 1$, and with $a$ and $b$ incompatible, and replace $a$ by two formal copies $a_0,a_1$ having exactly the same refinements and compatibilities. The two copies are distinct in the raw preorder but become $=_s$-equivalent, so an injective correction without quotienting would retain presentation data that forcing cannot detect. The openness clause in the pullback direction is also necessary because a dense set that is not open may describe a way of meeting a requirement at one stage without preserving it under later strengthening. In $2^{<\omega}$, the set of non-empty strings whose last bit is $0$ is dense, since every string has an extension ending in $0$, but it is not open; the filter of initial segments of the all-$1$ branch misses it. Its downward closure is the set of all non-empty strings, which that filter does meet. Thus dense sets transfer without ambiguity from $\mathbb P$ to the quotient, while pulling dense requirements back in a way compatible with filters naturally asks for open dense sets or downward closures.
The theorem does not say that the original preorder was already a partial order, nor does it choose canonical representatives of equivalence classes. Its role is to isolate the exact forcing information carried by the order: compatibility and dense requirements survive passage to the quotient, while redundant presentation data is discarded. This is the form of the poset that will embed cleanly into the regular open algebra and later support the comparison with Boolean-valued models.
When two presentations have the same separative quotient, they produce the same generic extension once names and valuation are developed.
[example: Equivalent Cohen Conditions]
In Cohen forcing, two finite partial functions have the same separative quotient class only when they are the same function. The reason is that if $p \neq q$, then either they disagree somewhere, making them incompatible, or one has a coordinate not mentioned by the other, and a strengthening can choose the opposite value at that coordinate. Thus Cohen forcing is already separative.
[/example]
The separative quotient is still not the largest completion of a forcing poset. To formulate arbitrary joins and meets, and to compare forcing with Boolean-valued models later in the course, we need the regular open algebra.
[definition: Regular Open Algebra]
Let $(X,\tau)$ be a [topological space](/page/Topological%20Space). A subset $U \subseteq X$ is regular open if
\begin{align*}
U = \operatorname{int}(\overline{U}).
\end{align*}
The regular open algebra $\operatorname{RO}(X)$ is the collection of regular open subsets of $X$, ordered by inclusion.
[/definition]
For a forcing poset $\mathbb P$, the relevant topology has basic opens generated by downward cones below conditions. The regular open algebra of this topology is the Boolean completion of the forcing, so the next theorem records why passing to this completion preserves the forcing construction.
[quotetheorem:6520]
[citeproof:6520]
The separativity or quotient hypothesis is essential here. If distinct conditions have exactly the same compatible refinements, the cone construction sends them to the same regular open element, so an injective embedding of the raw preorder cannot exist. A concrete instance is the duplicated-condition preorder from the previous section: the two copies of $a$ determine the same cone and hence the same regular [open set](/page/Open%20Set). Completeness is also essential for the Boolean-valued presentation. In a countable atomless Boolean algebra, a countable antichain can have no join inside the algebra, so it cannot assign truth values to countable disjunctions or to recursively defined names that require arbitrary suprema. The completion supplies those missing joins.
Regular openness is not a cosmetic topological choice. In the real line, the open sets $(0,1)$ and $(0,1) \setminus \{1/2\}$ have the same interior of their closures, and the deleted boundary-like point carries no stable forcing information for the regular-open algebra. Arbitrary open sets also do not form a Boolean algebra under ordinary complement: the complement of $(0,1)$ is closed, not open. Regular open sets repair this by using the Boolean complement $U \mapsto \operatorname{int}(X \setminus U)$ followed by regularisation, so boundary choices are quotiented out while genuine extension information remains. This is why topology enters the subject at this point. Open sets record possible extensions, while regular open sets keep only the extension information that cannot be changed by adding or deleting a boundary with no forcing content.
The equivalence has a precise limitation. It says that generic extensions and truth values of forcing statements are preserved after translating names and dense sets; it does not say that the original poset and its Boolean completion have the same combinatorial shape. The original poset may be countable while its completion is much larger, and arguments using finite conditions are often more transparent in the original presentation. Later Boolean-valued models use the completion because complete Boolean algebras can assign truth values to all formulas, while construction arguments usually return to the dense embedded poset.
## Filters and Genericity
Dense sets give requirements, but we still need an object that can meet many of them while remaining internally coherent. A filter is the abstract form of a consistent choice of stronger and stronger approximations.
[definition: Filter on a Forcing Poset]
Let $(\mathbb P, \leq)$ be a forcing poset. A subset $G \subseteq \mathbb P$ is a filter if:
1. $G$ is non-empty.
2. If $p \in G$ and $p \leq q$, then $q \in G$.
3. If $p,q \in G$, then there exists $r \in G$ such that $r \leq p$ and $r \leq q$.
[/definition]
The second condition says that once a strong approximation is accepted, all weaker approximations it extends are also accepted. The third condition says that any two accepted approximations can be jointly refined inside the filter.
[example: Filter Generated by a Branch]
Let $x \in 2^\omega$, and consider the tree $2^{<\omega}$ ordered by extension. The set
\begin{align*}
G_x = \{s \in 2^{<\omega} : s \subseteq x\}
\end{align*}
is a filter. It is non-empty because it contains the empty string, it is upward closed because initial segments of accepted strings are accepted, and any two initial segments of the same branch are jointly refined by the longer one.
[/example]
The forcing construction asks for filters that meet every dense set visible from the ground model. Since a model of set theory contains many dense subsets of a poset, we specify genericity relative to a model.
[definition: Generic Filter over a Model]
Let $M$ be a transitive model satisfying enough set theory to form dense subsets of $\mathbb P$, carry out the recursive definitions of names, and reason about the forcing relation, and let $\mathbb P \in M$ be a forcing poset. A filter $G \subseteq \mathbb P$ is $M$-generic if for every dense set $D \subseteq \mathbb P$ with $D \in M$, we have $G \cap D \neq \varnothing$.
[/definition]
The phrase "over $M$" is essential. A filter cannot usually meet every dense subset of $\mathbb P$ in the ambient universe, but it can meet every dense subset that belongs to a countable model. The next theorem supplies the construction whenever the list of dense requirements is countable.
[quotetheorem:6517]
[citeproof:6517]
This lemma is the first engine of forcing. It is a diagonal construction: the filter is built by meeting the dense requirements one at a time while preserving all earlier commitments. The countability hypothesis is not a technical convenience but the reason the construction can be scheduled. For instance, in Cohen forcing the dense sets
\begin{align*}
D_x = \{p \in \operatorname{Add}(\omega,1) : \exists n \in \operatorname{dom}(p)\ p(n) \neq x(n)\}, \qquad x \in 2^\omega,
\end{align*}
are dense, but no single filter can meet all of them: if $c = \bigcup G$, then $G$ cannot meet $D_c$. Thus the lemma cannot be extended to arbitrary families of dense subsets in the ambient universe.
The starting condition $p_0$ is the local form of the theorem. Without it, the lemma would only produce some generic filter, not one extending a prescribed approximation. This matters because forcing arguments often begin below a condition that has already decided part of a statement. The density of each $D_n$ is the hypothesis that prevents later requirements from conflicting with the current approximation: in the two-point antichain below a top condition, if $p_0$ chooses the left branch and $D$ consists only of the right branch, then no filter containing $p_0$ can meet $D$. Density rules out this obstruction by guaranteeing a strengthening in $D$ below every possible current condition.
The lemma also does not assert that the resulting filter belongs to the model whose dense sets are being met. In forcing applications, $G$ is deliberately constructed outside the ground model $M$; if $G$ were already in $M$ in the interesting cases, the generic object would not create a genuine extension. Its precise forward role is therefore external: once $M$ is countable from the ambient viewpoint, the dense subsets of $\mathbb P$ lying in $M$ can be enumerated and met, producing the generic parameter used to interpret names in the next chapter.
[example: A Cohen Generic Real over a Countable Model]
Let $M$ be a countable transitive model containing $\operatorname{Add}(\omega,1)$. Enumerate in the ambient universe all dense subsets of $\operatorname{Add}(\omega,1)$ that belong to $M$ as $(D_n)_{n \in \omega}$. The Rasiowa-Sikorski lemma gives an $M$-generic filter $G$, and the union
\begin{align*}
c = \bigcup G
\end{align*}
is a function $c: \omega \to 2$ because $G$ meets every dense set requiring a value at coordinate $n$. This real is called a Cohen real over $M$.
[/example]
Countability is used outside the model, not inside it. The ambient universe enumerates the dense sets that are elements of $M$, and the construction meets them in sequence. The model $M$ may believe that its poset has uncountably many dense subsets, but from the outside there are only countably many elements of $M$ to enumerate.
[remark: Why Transitivity Is Assumed]
Transitivity ensures that membership relations between ground-model sets are computed correctly by the ambient universe. In early forcing arguments this avoids extra bookkeeping when interpreting names and checking that the generic extension contains the old model as a genuine submodel. Later presentations can replace transitivity with well-foundedness and collapse maps.
[/remark]
The next example shows that genericity is not limited to adding subsets of $\omega$. Some posets are designed to collapse a ground-model set onto $\omega$.
[example: Collapsing a Countable Ground-Model Set]
Let $X \in M$ be a set that is countable in the ambient universe, and define $\operatorname{Coll}(\omega,X)$ to be the set of finite partial functions $p: \omega \rightharpoonup X$, ordered by reverse inclusion. For each $x \in X \cap M$, the set of conditions whose range contains $x$ is dense, and for each $n \in \omega$, the set of conditions with $n$ in the domain is dense. An $M$-generic filter therefore yields a total surjection $f: \omega \to X$ in the extension, obtained as the union of its finite approximations.
[/example]
This example previews cardinal collapse arguments. The poset does not directly insert the completed function as a condition; it ensures that every finite demand on the completed function is eventually satisfied.
## Forcing as Approximation
The final problem of the chapter is conceptual: what does it mean for a finite condition to say something about an object that does not yet exist in the ground model? The answer is that forcing separates approximation from interpretation. Conditions provide coherent finite information, and names, introduced next, will turn that information into sets in the extension.
[explanation: Stronger Conditions Give More Information]
The order convention $q \leq p$ means that $q$ contains at least the information contained in $p$. In Cohen forcing this is literal extension of finite functions. In a Boolean algebra presentation, it is the passage to a smaller non-zero Boolean value, which imposes a more restrictive requirement on the eventual generic ultrafilter.
This perspective explains why dense sets are the right requirements. A dense set says that no matter how much information has already been specified, there is a stronger approximation satisfying the desired demand. A generic filter is then an internally coherent collection of approximations that has accepted every demand visible in the ground model.
[/explanation]
The monotonicity of information will later become monotonicity of the forcing relation. At this stage the order-theoretic lesson is definitional rather than a separate theorem: properties represented by open subsets of $\mathbb P$ persist under strengthening. If $p$ has entered an open requirement $D$ and $q \leq p$, then $q$ remains in $D$ because strengthening adds information rather than withdrawing it.
The openness hypothesis is essential. In $2^{<\omega}$, the set of strings of even length is not open: a string of length $2$ belongs to it, but an extension of length $3$ does not. Such a property cannot represent information that has been permanently forced by a finite approximation. The limitation is equally important: many meaningful dense requirements are not themselves stable until they are replaced by their downward closures. Later, when the forcing relation is defined, its monotonicity will amount to building the relation so that statements forced by a condition behave like open information.
[example: Approximation by Initial Segments]
In $2^{<\omega}$, let $D$ be the set of strings that contain a $1$ somewhere. This set is open because extending a string with a $1$ preserves that fact, and it is dense because any finite string can be extended by appending a $1$. By contrast, for a fixed $n \in \omega$, the set of strings that contain a $1$ before position $n$ is open but not dense below the length-$n$ string constantly equal to $0$. The example separates stable information from requirements that must be formulated so every condition can meet them.
[/example]
The last bridge to the next chapter is the idea of a name. A generic filter supplies the completed pattern of choices, but the objects in the extension must be described before the filter exists.
[explanation: Names as Recipes]
A forcing name is a ground-model object that lists possible elements together with the conditions under which they should appear. The present chapter has supplied the order-theoretic side of that sentence: conditions, compatibility, dense sets, and filters. The next chapter adds the recursive syntax that lets these approximations build sets.
For Cohen forcing, the finite functions approximate a real $c: \omega \to 2$. For a general forcing poset, there may be no concrete real obtained by unioning conditions, so names become the uniform way to speak about the objects that a generic filter creates.
[/explanation]
The chapter therefore leaves us with two equivalent pictures. Combinatorially, forcing is a method for building a filter through all ground-model dense sets. Algebraically, the same process can be carried out inside the Boolean completion. Chapter 2 next develops names and generic extensions, Chapter 3 defines the forcing relation and proves the truth lemma, and later chapters apply these tools to construct models with prescribed set-theoretic behaviour.
# 2. Names and Generic Extensions
This chapter turns the informal slogan of forcing into a precise construction. In the previous chapter a generic filter was described as a coherent family of approximations meeting every dense set in the ground model. We now explain how such a filter is decoded into actual sets: the ground model supplies names, and the generic filter selects which parts of each name are realised.
The central technical point is that names are defined hereditarily. A name is a set of pairs whose first coordinates are earlier names and whose second coordinates are forcing conditions, so evaluation proceeds by recursion on rank. This lets us build the generic extension $M[G]$ and prove its first structural properties before introducing the forcing relation in full.
## The Recursive Universe of Names
A generic filter by itself is only a subset of the forcing poset. To obtain new mathematical objects from it, the ground model must contain a coding system whose codes can be interpreted once the filter is chosen. The names are those codes, and their hereditary definition mirrors the cumulative hierarchy.
[definition: P Name]
Let $\mathbb P$ be a forcing poset; this is the same forcing poset denoted $\mathbb P$ in surrounding chapters. The class $V^{\mathbb P}$ of $\mathbb P$-names is defined by transfinite recursion as follows:
\begin{align*}
V^{\mathbb P}_{\beta} = \bigcup_{\theta < \beta} \{\tau : \tau \subset V^{\mathbb P}_{\theta} \times \mathbb P\}.
\end{align*}
\begin{align*}
V^{\mathbb P} = \bigcup_{\beta \in \operatorname{Ord}} V^{\mathbb P}_{\beta}.
\end{align*}
A $\mathbb P$-name is an element of $V^{\mathbb P}$.
[/definition]
The first coordinate of a pair in a name is another name, while the second coordinate is a condition saying when that earlier name should appear. To run induction over this hereditary code, we need a measure of how far down the construction a particular name sits.
[definition: Rank of a Name]
The name-rank operation is the class map
\begin{align*}
\operatorname{rank}:V^{\mathbb P}\to \operatorname{Ord}
\end{align*}
defined as follows. For a $\mathbb P$-name $\tau$, $\operatorname{rank}(\tau)$ is the least ordinal $\alpha$ such that $\tau \subset V^{\mathbb P}_{\alpha} \times \mathbb P$.
[/definition]
The rank is a bookkeeping device rather than extra structure. It records how deep the hereditary code is, so proofs about all names can proceed by induction on $\operatorname{rank}(\tau)$. A small example shows why conditions are stored in the name instead of being added only at the end.
[example: Low Rank Names]
Let $\mathbb P$ be any forcing poset. The empty set $\varnothing$ is a $\mathbb P$-name of rank $0$, and if $p \in \mathbb P$ then $\{(\varnothing,p)\}$ is a name whose evaluation is either empty or the singleton of the empty interpretation, depending on whether $p$ belongs to the chosen generic filter. This example shows why a name is not a set directly: its members are conditional on the generic filter.
[/example]
The example exhibits genuinely conditional membership. The next problem is the opposite one: old ground-model sets should appear in every generic extension without depending on any special decision by the filter.
[definition: Check Name]
Assume $\mathbb P$ has a top condition $1_{\mathbb P}$. The check-name operation is the recursive class map
\begin{align*}
x\in V \longmapsto \check{x}\in V^{\mathbb P}.
\end{align*}
It is defined by
\begin{align*}
\check{x} = \{(\check{y},1_{\mathbb P}) : y \in x\}.
\end{align*}
[/definition]
The top-element hypothesis is part of the convention used in this chapter. If a forcing presentation has no weakest condition, one must either adjoin a top element before using this definition, or replace the displayed formula by the all-conditions convention $\check{x}=\{(\check{y},p):y\in x,\ p\in\mathbb P\}$; later identities involving check names depend on making one of these choices consistently. The next theorem is needed because the recursive formula for $\check{x}$ only makes sense inside the forcing construction if it produces an actual $\mathbb P$-name with the expected hereditary depth.
[quotetheorem:6521]
[citeproof:6521]
This theorem says that the embedding of ordinary sets into the name universe is legitimate, not that evaluation has already recovered those sets. The top condition matters here because it makes every old element appear unconditionally: no generic choice is supposed to decide whether $y\in x$ for a ground-model set $x$. The theorem also does not identify $V$ with $V^{\mathbb P}$; it only gives a canonical copy of each old set inside the hereditary coding system. Check names account for old sets, but forcing is meant to add the generic object itself, so the ground model also needs a name whose later interpretation recovers exactly the chosen filter.
[definition: Canonical Name for the Generic Filter]
The canonical name for the generic filter is
\begin{align*}
\dot{G}=\{(\check{p},p):p\in \mathbb P\}.
\end{align*}
[/definition]
Each condition names itself and is admitted into the interpretation exactly when it belongs to the generic filter. The dot notation signals that $\dot{G}$ is a name, while $G$ will denote the interpreted filter.
## Interpreting Names by a Generic Filter
Once a generic filter has been chosen, the remaining question is how to read the hereditary code. The answer is recursive: evaluate the earlier names first, then keep exactly those interpreted objects whose supporting condition lies in the filter.
[definition: Evaluation of a Name]
Let $G \subset \mathbb P$ be a filter. Evaluation by $G$ is the recursively defined class map
\begin{align*}
\operatorname{val}_G:V^{\mathbb P}\to V,
\end{align*}
written $\operatorname{val}_G(\tau)=\tau_G$, such that for every $\mathbb P$-name $\tau$,
\begin{align*}
\tau_G = \{\sigma_G : (\sigma,p)\in \tau \text{ for some } p\in G\}.
\end{align*}
[/definition]
The definition is well-founded because every $\sigma$ appearing in $\tau$ has lower name-rank than $\tau$. This raises a necessary existence question: the displayed recursion must determine a genuine set for every name, not merely a suggestive formula.
[quotetheorem:6522]
[citeproof:6522]
The recursion theorem is a well-foundedness result, not a forcing theorem. Its hypothesis that names are hereditarily built from lower-rank names is essential: if a malformed object $\tau$ were allowed to satisfy $\tau=\{(\tau,p)\}$ and $p\in G$, the recursion equation would become $\tau_G=\{\tau_G\}$. No set satisfies this equation by Foundation, so evaluation would not exist for that object. If two mutually referential objects $\tau=\{(\sigma,p)\}$ and $\sigma=\{(\tau,p)\}$ were allowed, the same problem appears after two steps. Thus the rank condition is not bookkeeping only; it is what prevents circular membership equations. The theorem also makes no claim that $G$ is generic, or that the resulting values satisfy any axioms of set theory when collected together. What it gives is the basic decoding operation needed before one can ask which decoded objects appear in a generic extension. Before building a whole extension from it, we compute the two names that are supposed to anchor the construction: check names should recover old sets, and the generic name should recover the filter.
[quotetheorem:6523]
[citeproof:6523]
These identities show that evaluation preserves the intended old objects and introduces the chosen filter, but they are tied to the top-element convention for check names. The hypothesis $1_{\mathbb P}\in G$ cannot simply be dropped under this convention: if $G=\varnothing$, then $(\check{\{a\}})_G=\varnothing$ rather than $\{a\}$, because the only supporting condition attached to $\check{a}$ is absent. With the all-conditions convention for posets without a top element, the proof changes in the check-name step: instead of using $1_{\mathbb P}\in G$, it uses that every element of $x$ is attached to some condition in the nonempty filter $G$. Nonemptiness is then the replacement for the top-element assumption; if $G=\varnothing$, every all-conditions check name still evaluates to $\varnothing$. The theorem still says nothing about whether the collection of all evaluations is a model of set theory; it only verifies the two basic pieces that any reasonable extension must contain. The natural next construction is to gather all values that can be obtained from names belonging to the ground model.
[definition: Generic Extension]
Let $M$ be a transitive model of a sufficient fragment of ZFC, let $\mathbb P\in M$ be a forcing poset, and let $G \subset \mathbb P$ be $M$-generic. The generic extension is
\begin{align*}
M[G]=\{\tau_G:\tau\in M \text{ and } \tau \text{ is a } \mathbb P\text{-name}\}.
\end{align*}
[/definition]
The notation $M[G]$ is justified by the preceding theorem: all old elements of $M$ appear through check names, and $G$ appears through $\dot{G}$. The rest of the extension consists of interpretations of more complicated names, as the next computation illustrates.
[example: Evaluating a Finite Initial Segment Name]
For Cohen forcing $\operatorname{Add}(\omega,1)$, conditions are finite partial functions $p: \omega \rightharpoonup 2$, ordered by reverse inclusion. Fix $n\in \omega$, and define a name
\begin{align*}
\dot{s}_n=\{(\check{(k,i)},p): k<n,\ i\in\{0,1\},\ p(k)=i\}.
\end{align*}
If $G$ is generic, then $(\dot{s}_n)_G$ is the finite function $c|_n$, where $c=\bigcup G$. The computation checks each coordinate $k<n$ and keeps the unique bit value decided by some condition in $G$.
[/example]
This example hints at the general mechanism: a condition contributes information only when it belongs to the chosen generic filter, and compatibility inside the filter prevents contradictory pieces from surviving together.
## The Cohen Real as a Named Object
Cohen forcing is the guiding example because its generic object is visible as a new subset of $\omega$. Names let us describe that subset from within the ground model before the generic filter is available.
[definition: Cohen Real Name]
For $\mathbb P=\operatorname{Add}(\omega,1)$, the canonical Cohen real name is
\begin{align*}
\dot{c}=\{(\check{(n,i)},p): n\in\omega,\ i\in\{0,1\},\ p\in\mathbb P,\ p(n)=i\}.
\end{align*}
[/definition]
The interpretation of $\dot{c}$ is intended to be the total binary sequence assembled by the generic filter. We therefore need to prove both totality of the union and agreement between the recursive name evaluation and the graph of that union.
[quotetheorem:6524]
[citeproof:6524]
Genericity is used exactly at the totality step. An arbitrary filter in $\operatorname{Add}(\omega,1)$ may avoid every condition deciding a particular coordinate $n$, in which case $\bigcup G$ is only a partial function and the displayed graph is not a real in $2^\omega$. Compatibility of the filter gives uniqueness of each decided bit, while meeting the dense coordinate sets gives existence of every bit. The theorem therefore identifies the object added by a generic filter, but it does not yet prove that this real is new over $M$; that requires a separate density argument excluding equality with each ground-model real. The same idea can be packaged as a name for a subset of $\omega$, which is often the form used when proving that Cohen forcing adds a new real.
[example: A Name for a New Subset of Omega]
In $\operatorname{Add}(\omega,1)$, define
\begin{align*}
\dot{A}=\{(\check{n},p): n\in\omega,\ p(n)=1\}.
\end{align*}
For a generic filter $G$, the interpretation $(\dot{A})_G$ is $\{n\in\omega:c(n)=1\}$, where $c=\bigcup G$. The name records only the positive bits of the Cohen real, so it gives the subset-of-$\omega$ version of the same new object.
[/example]
This example separates the coding choice from the generic information. Whether the real is represented as a binary sequence or as a subset of $\omega$, the forcing poset supplies finite approximations and the name tells the evaluation recursion how to assemble them.
## First Closure Properties of the Extension
The construction of $M[G]$ would not be useful if it were merely a collection of interpreted names with no set-theoretic structure. The first structural theorem says that it contains the old model and the generic filter, has the same ordinals as the ground model, and is transitive under the usual hypotheses.
[quotetheorem:6525]
[citeproof:6525]
This is the first place where the extension notation earns its name: $M[G]$ really contains both the old model and the chosen generic filter. The hypotheses are doing work. If $\mathbb P\notin M$, then the canonical name $\dot{G}=\{(\check{p},p):p\in\mathbb P\}$ need not belong to $M$, so $G$ may fail to be the value of any name from $M$. Likewise, if $M$ is not transitive, a set $x\in M$ may have an element $y\in x$ with $y\notin M$; the recursive construction of $\check{x}$ inside $M$ then need not contain the required subname $\check{y}$. The proof also shows why the names $\check{x}$ and $\dot{G}$ were introduced before the general definition of $M[G]$; without them, containment would be an extra assertion rather than a direct consequence of evaluation. However, containment is only a membership statement about two distinguished sources of elements. It does not say that elements of elements remain in $M[G]$, nor that $M[G]$ satisfies pairing, union, replacement, or any other axiom. To use $M[G]$ as a model of set theory, we next need membership in its sets to stay inside the same interpreted universe.
[quotetheorem:6526]
[citeproof:6526]
The transitivity of $M$ is essential in this argument. If $M$ contains a name $\tau$ but not all names appearing inside members of $\tau$, the step from $(\sigma,p)\in\tau$ to $\sigma\in M$ can fail, and then an element of an interpreted set need not itself be the interpretation of a name in $M$. Thus the theorem is not merely a formal property of the notation $M[G]$; it depends on the ground model being closed under membership. Transitivity makes membership stable in the extension, but it still does not settle whether the ordinal structure has changed. The next concern is whether the construction has accidentally created new ordinals, which would disrupt the rank structure shared by forcing arguments.
[quotetheorem:6527]
[citeproof:6527]
This theorem explains why forcing extensions are extensions in the set direction rather than in the ordinal direction. New subsets, functions, and structures may appear, but the ordinal scale used to measure ranks is unchanged. Transitivity is again essential: a non-transitive ground model can contain a code whose elements point outside the model, and then evaluating names from that code need not be bounded by ordinals internal to the ground model. The result also depends on using names that are sets in $M$; a proper-class collection of names would not have the set of ranks whose supremum supplies $\gamma$. The theorem should not be confused with preservation of cardinals, cofinalities, or other ordinal-indexed structure; for instance, a forcing extension can contain a new bijection between an old cardinal and a smaller old ordinal, so the ordinal remains the same while its cardinal status changes. With containment, transitivity, and ordinal preservation in place, the construction has the basic shape expected of a set-theoretic extension, but its exact closure property is still to be identified.
## Minimality and the Preliminary Truth Principle
The definition of $M[G]$ is economical, but that economy creates a real question. Once $M$ and the generic filter $G$ are present, every name in $M$ has an interpretation, and those interpretations may be new sets not already in $M\cup\{G\}$. To identify $M[G]$ precisely, we need to show that no extra objects have been smuggled in beyond the values forced by this evaluation process, while also explaining why any class closed under the relevant evaluations must contain the whole extension.
[quotetheorem:6528]
[citeproof:6528]
Minimality identifies the extension as the closure generated by name evaluation, so it is a definitional minimality result rather than a theorem that $M[G]$ satisfies all axioms of ZFC. The statement does not claim that closure under evaluation follows merely from containing $M$ and $G$. That implication is false without additional closure principles: if $\dot{x}\in M$ is a name whose value is a new subset of $\omega$, then the class $M\cup\{G\}$ contains the ground model and the generic filter but need not contain $\dot{x}_G$. Even transitivity by itself does not repair this, since closing under elements does not close under interpreting hereditary names. The closure hypothesis in the statement is therefore the point of the result, not a consequence hidden in the proof. This is analogous to model-theoretic closure under definable operations, except that the operations here are the hereditary evaluations of forcing names. To prepare for the forcing relation, we also need a first bridge between truth in the interpreted universe and syntactic data in the original name.
[quotetheorem:6529]
[citeproof:6529]
This preliminary form is enough for the closure arguments in this chapter because it handles membership in a set obtained by directly evaluating one name. Its limitation is equally important: it does not decide arbitrary formulas, and it does not yet express truth using only conditions in the ground model. The full forcing relation will replace the external phrase "$p\in G$ and $x=\sigma_G$" by a syntactic relation $p\Vdash\varphi$ that $M$ can define and manipulate. In Boolean-valued language, this is the first shadow of assigning truth values to statements before a generic filter collapses them to ordinary truth. Later, the forcing relation $p\Vdash\varphi$ will internalise such truth statements back into the ground model, allowing $M$ to reason about what must hold in every generic extension containing a given condition.
# 3. The Forcing Relation
These notes study forcing as a method for building new models of set theory from a ground model while retaining precise control over first-order truth. The course assumes the basic language of ZFC, transitive models, partial orders, dense sets, filters, and the construction of forcing names from the preceding chapter. The guiding goal is to explain how a ground model can predict statements about an extension before the generic object has been added.
Forcing becomes useful only after the informal slogan "a condition says what will be true in the extension" is turned into a relation definable in the ground model. In the previous chapter, names gave the raw material for interpreting sets in $M[G]$. This chapter defines the forcing relation $p \Vdash \varphi$ by recursion on formulas, proves its basic order-theoretic behaviour, and establishes the bridge between forcing in $M$ and truth in the generic extension $M[G]$.
## The Forcing Language
The first problem is syntactic: the extension $M[G]$ contains interpretations of names, but the ground model $M$ must be able to talk about formulas whose objects have not yet been built. The forcing language solves this by replacing actual elements of the extension with names, while allowing parameters from $M$ through their check names.
[definition: Forcing Language]
Let $M$ be a transitive model of a sufficiently large finite fragment of ZFC, and let $\mathbb P \in M$ be a forcing poset. The forcing language for $\mathbb P$ over $M$ is the first-order language of set theory with atomic formulas of the form $\tau \in \sigma$ and $\tau = \sigma$, where $\tau$ and $\sigma$ are $\mathbb P$-names in $M$, closed under Boolean connectives and quantifiers over $\mathbb P$-names in $M$.
[/definition]
Thus a formula such as $\exists x\, x \in \check{\omega}$ is represented in the forcing language by allowing the quantified variable to range over all names, not over actual elements of $M[G]$. Ground-model parameters are inserted using check names: the assertion that a name $\tau$ is an element of a ground-model set $a \in M$ is written $\tau \in \check a$.
[example: Atomic Formula With Check Parameters]
Let $\mathbb P = \operatorname{Add}(\omega,1)$, ordered by reverse inclusion, and let $\dot c$ be the canonical name for the Cohen real. The formula $\check n \in \dot c$ is an atomic formula in the forcing language. A finite condition $p: \operatorname{dom}(p) \to 2$ forces this statement exactly when $n \in \operatorname{dom}(p)$ and $p(n)=1$; if $n \in \operatorname{dom}(p)$ and $p(n)=0$, then $p$ forces its negation. This example shows how finite information in a condition becomes a finite assertion about the future generic real.
[/example]
The atomic formulas are the only places where membership and equality of interpreted names enter. More complicated statements are reduced to atomic statements by the logical clauses for negation, conjunction, disjunction, and quantification. Implication is treated as the abbreviation $\varphi \to \psi$ for $\neg\varphi \vee \psi$, so it does not require a separate forcing clause.
[remark: Quantifiers Range Over Names]
A statement $p \Vdash \exists x\,\varphi(x)$ means that $p$ forces the existence of an interpreted name satisfying $\varphi$ in the extension. The variable $x$ is not ranging over $M$ alone; it ranges over all $\mathbb P$-names in $M$. This distinction is essential because many elements of $M[G]$, such as the Cohen real, are not elements of $M$.
[/remark]
## Recursive Definition on Atomic Formulas
The next problem is semantic: how can $M$ define a relation about truth in $M[G]$ without already knowing the generic filter $G$? The key is that membership and equality of names can be analysed recursively from the pairs appearing in the names, and the recursion uses only the order relation of $\mathbb P$.
[definition: Atomic Forcing Relation]
Let $p \in \mathbb P$ and let $\tau,\sigma$ be $\mathbb P$-names. The atomic forcing relation is defined recursively by
\begin{align*}
p \Vdash \tau \in \sigma
\end{align*}
if the set
\begin{align*}
D_{p,\tau,\sigma}=\{q \le p : \exists \langle \rho,r\rangle \in \sigma\, (q \le r \text{ and } q \Vdash \tau = \rho)\}
\end{align*}
is dense below $p$, and
\begin{align*}
p \Vdash \tau = \sigma
\end{align*}
if both of the following hold:
For every $\langle \rho,r\rangle \in \tau$,
\begin{align*}
\{q \le p : q \perp r \text{ or } q \Vdash \rho \in \sigma\}\text{ is dense below }p.
\end{align*}
For every $\langle \rho,r\rangle \in \sigma$,
\begin{align*}
\{q \le p : q \perp r \text{ or } q \Vdash \rho \in \tau\}\text{ is dense below }p.
\end{align*}
[/definition]
The definition is by simultaneous recursion on the ranks of the names. The membership clause says that any sufficiently strong extension of $p$ can be refined to one that witnesses membership through an actual pair in $\sigma$. Equality is extensional, but it tests only the names that occur as potential members of $\tau$ and $\sigma$; these first coordinates have smaller rank, so the recursive calls have already been defined.
[remark: Rank Recursion]
The phrase "lower rank appearing in the recursion" is made precise by induction on pairs of ranks $(\operatorname{rank}(\tau),\operatorname{rank}(\sigma))$. Since each name is a set of pairs whose first coordinates have lower rank, the recursion is well-founded. This is the point at which the hereditary construction of names from the previous chapter is used.
[/remark]
The atomic clauses must be compatible with the forcing order. This creates the need for the first basic theorem: if stronger conditions are meant to contain more information, then passing to a stronger condition must preserve every statement already forced.
[explanation: Monotonicity of Forcing]
If $q \le p$ and $p \Vdash \varphi(\tau_1,\dots,\tau_n)$, then $q \Vdash \varphi(\tau_1,\dots,\tau_n)$. Strengthening a condition adds information, so it cannot invalidate a statement already forced by the weaker condition. The verification is by induction on the complexity of $\varphi$, with the atomic cases following from the dense-below-$p$ clauses and the logical cases following from the recursive definitions of forcing.
[/explanation]
The lemma gives the first structural test for a proposed forcing definition. Any statement forced by an approximation must remain forced after the approximation is refined. The hypothesis $q \le p$ is essential: if two conditions are incompatible, neither is a refinement of the other, and information need not transfer. In Cohen forcing, $\{(3,1)\}$ forces $\check 3 \in \dot c$, while the incompatible condition $\{(3,0)\}$ forces $\check 3 \notin \dot c$.
The lemma also has a built-in limitation. It preserves statements already forced; it does not say that a stronger condition preserves every statement compatible with $p$, nor does it say that compatible conditions force the same formulas. Its role is to make the order behave like increasing information, which is why it is used in the density lemma, the truth lemma, and every later argument where a condition in a generic filter is replaced by a stronger one.
[example: Monotonicity for a Cohen Bit]
In Cohen forcing, let $p=\{(3,1)\}$ and let $q=p\cup\{(7,0)\}$. Since $p$ forces $\check 3 \in \dot c$, the stronger condition $q$ also forces $\check 3 \in \dot c$. The extra information about the seventh bit has no effect on the statement about the third bit, and the order relation records exactly this preservation of earlier commitments.
[/example]
## Boolean Connectives and Quantifiers
Once atomic forcing has been defined, the logical clauses must reproduce ordinary first-order truth in the extension. The guiding principle is that $p$ forces a statement when no generic filter containing $p$ can make the statement fail.
[definition: Compound Forcing Relation]
For formulas in the forcing language, define forcing by the following clauses:
$p \Vdash \neg \varphi$ iff there is no $q \le p$ such that $q \Vdash \varphi$.
$p \Vdash \varphi \wedge \psi$ iff $p \Vdash \varphi$ and $p \Vdash \psi$.
$p \Vdash \varphi \vee \psi$ iff $\{q \le p : q \Vdash \varphi \text{ or } q \Vdash \psi\}$ is dense below $p$.
$p \Vdash \exists x\,\varphi(x)$ iff $\{q \le p : \exists \tau \in M\, (q \Vdash \varphi(\tau))\}$ is dense below $p$.
$p \Vdash \forall x\,\varphi(x)$ iff $p \Vdash \varphi(\tau)$ for every $\mathbb P$-name $\tau \in M$.
[/definition]
The density clauses for disjunction and existential quantification are important. A condition may force that some alternative holds without deciding which alternative already holds at that stage; every stronger approximation can be refined to a condition that makes a definite choice.
[example: A Disjunction Without an Immediate Side]
In Cohen forcing, the empty condition forces $\check 0 \in \dot c \vee \check 0 \notin \dot c$. It does not force $\check 0 \in \dot c$, and it does not force $\check 0 \notin \dot c$. The two one-point extensions $\{(0,1)\}$ and $\{(0,0)\}$ form a dense split below the empty condition, so the disjunction is forced even though neither side is forced by the empty condition.
[/example]
This behaviour leads to a central operational fact: every condition can be strengthened to decide any fixed formula. The point is not that one condition decides all formulas at once, but that a single question can always be settled after passing to a stronger condition.
[quotetheorem:6530]
[citeproof:6530]
The density lemma is the formal version of "forcing answers any fixed question after refinement". The word fixed is doing real work. The formula $\varphi$ and its name parameters are chosen before the dense set is formed; the lemma does not produce one strengthening of $p$ deciding every formula of the forcing language, and in Cohen forcing it does not produce one condition deciding all bits of the generic real.
The hypotheses also keep the dense set inside the forcing problem under discussion. If $\varphi$ is allowed to vary with the eventual generic filter, the displayed set need not be a ground-model dense set that genericity can meet. For example, a finite Cohen condition can decide the fixed assertion "$n \in \dot c$" after adding information at coordinate $n$, but no finite condition can decide the collection of assertions "$n \in \dot c$" for all $n \in \omega$ at once. This limitation is exactly why generic filters, rather than individual conditions, carry the accumulated decisions.
The forward use is now precise: whenever the forcing theorem puts the deciding set for a fixed formula into $M$, $M$-genericity supplies a condition in $G$ meeting that set. The truth lemma will convert that met decision into truth or falsity in $M[G]$.
[example: No Condition Decides All Cohen Bits]
Let $p \in \operatorname{Add}(\omega,1)$ be finite. Choose $n \notin \operatorname{dom}(p)$. The extensions $p\cup\{(n,0)\}$ and $p\cup\{(n,1)\}$ are incompatible refinements deciding opposite statements about whether $n \in \dot c$. Hence $p$ cannot decide the value of every bit of the Cohen real. The density lemma applies to each fixed bit separately, while finiteness prevents any single condition from deciding all bits.
[/example]
## The Forcing Theorem
The main technical problem is that the recursive relation just described must live inside $M$. If forcing were only an external relation defined by the metatheory, it could not be used by $M$ to construct dense sets, prove preservation results, or reason internally about names.
[explanation: Forcing Theorem]
For each fixed formula $\varphi(x_1,\dots,x_n)$ and forcing poset $\mathbb P \in M$, the forcing theorem gives a relation definable in the ground model from $\mathbb P$ and the code of $\varphi$. Applied to conditions $p \in \mathbb P$ and $\mathbb P$-names $\tau_1,\dots,\tau_n \in M$, this relation is written $p \Vdash \varphi(\tau_1,\dots,\tau_n)$.
[/explanation]
The theorem is what makes forcing a usable method rather than an external construction. It allows us to form, inside $M$, dense sets such as the set of conditions deciding a formula, and then use genericity to ensure those dense sets are met. The parameters must be $\mathbb P$-names in the ground model, because $M$ can define the forcing relation only from objects it already has. If a later object $x \in M[G]$ is mentioned without first choosing a name $\tau \in M$ with $\tau^G=x$, then the displayed definability statement has no ground-model parameter to which it can apply.
The fixed formula code is equally important. The theorem gives a definable predicate for each particular formula $\varphi$, uniformly in its name parameters and conditions, but it does not give $M$ a single truth predicate for all statements about itself or about all future extensions. Without this definability boundary, the density lemma would be unusable: the set of conditions deciding a formula might be described only from outside $M$, and an $M$-generic filter is required to meet dense sets that belong to $M$, not arbitrary dense sets visible in the metatheory.
Here are the two boundaries in concrete form. For the name boundary, take Cohen forcing and the real $c=\dot c^G$ in the extension. The statement "$\check 0 \in c$" is not a formula with a ground-model name parameter unless $c$ is replaced by the name $\dot c$; before that replacement, $M$ has no object named $c$ from which to define the forcing predicate. For the fixed-code boundary, the family of questions "$n\in\dot c$" for all $n\in\omega$ is not one fixed formula with fixed parameters being decided by one dense set. Each separate code gives a dense deciding set, while no finite Cohen condition decides all of those instances simultaneously.
This is also the technical point behind later independence arguments. To force statements such as the failure of CH or Suslin's hypothesis, one works with fixed formulas and ground-model names for the relevant structures, builds the corresponding dense sets in $M$, and then lets genericity transfer the forced statement to the extension.
[remark: Definability Is Not Uniform Truth]
The forcing theorem does not say that $M$ has a truth predicate for itself. It says that for each formula code $\varphi$ there is a definable forcing predicate for that formula and its name parameters. This avoids Tarski's theorem because forcing is a relation on syntactic codes, names, and conditions, not a global truth predicate for $M$.
[/remark]
Definability alone still leaves a gap: a definable prediction relation must be compared with truth after the generic filter is added. The next theorem is needed to show that every true statement in the extension is backed by some condition from the generic filter, and that every such backed statement is true.
[quotetheorem:6518]
[citeproof:6518]
Together, the forcing theorem and truth lemma justify the notation
\begin{align*}
M[G] \models \varphi(\tau_1^G,\dots,\tau_n^G)
\quad\Longleftrightarrow\quad
\exists p \in G\,\bigl(p \Vdash \varphi(\tau_1,\dots,\tau_n)\bigr).
\end{align*}
This equivalence is the central working rule of forcing, and each hypothesis has a specific role. Genericity is needed for the truth-to-forcing direction: the density lemma gives a ground-model dense set of conditions deciding the fixed formula, and only an $M$-generic filter is guaranteed to meet it. A filter that avoids such a dense set may leave a true statement in its generated interpretation with no deciding condition inside the filter, so the displayed equivalence can fail.
For a concrete failure, work in Cohen forcing and let $F=\{\varnothing\}$, which is a filter but is not $M$-generic. It avoids the dense set $D_0=\{p:0\in\operatorname{dom}(p)\}$. If we interpret the canonical Cohen name using $F$, then $0\notin \dot c^F$ because no condition in $F$ puts value $1$ at coordinate $0$, but $\varnothing$ does not force $\check 0\notin\dot c$: the stronger condition $\{(0,1)\}$ forces $\check 0\in\dot c$. Thus the truth-to-forcing direction cannot be recovered from an arbitrary non-generic filter.
The named-parameter restriction is another boundary. The theorem speaks about $\tau_i^G$ for names $\tau_i \in M$; it does not allow arbitrary external parameters chosen after the extension is formed unless they are first represented by ground-model names. This is harmless for elements of $M[G]$ because the name lemma supplies such names, but it matters conceptually: forcing relates ground-model syntax to extension truth. Later applications use the equivalence by naming the object of interest, such as the Cohen real $\dot c$, proving statements about the name by forcing, and then transferring them to $M[G]$.
## Applications to Cohen Forcing
The abstract forcing relation is best understood through Cohen forcing, where conditions are finite binary strings and the generic object is a new subset of $\omega$. The central obstacle is that every condition gives only finite information, while the object to be constructed is an entire real. The examples in this section show how dense sets bridge that gap: fixed finite decisions are made locally, and genericity assembles enough of them to produce a total real that avoids every ground-model real. This is the prototype for later independence arguments, where forcing adds a controlled object while preserving enough of the ground model to compare the extension with it.
[definition: Canonical Cohen Real Name]
For $\mathbb P=\operatorname{Add}(\omega,1)$, the canonical name for the Cohen real is
\begin{align*}
\dot c=\{\langle \check n,p\rangle : n \in \omega,\ p \in \mathbb P,\ n \in \operatorname{dom}(p),\ p(n)=1\}.
\end{align*}
[/definition]
By construction, if $G$ is generic then $\dot c^G=\{n \in \omega : \exists p \in G\, p(n)=1\}$. To use this set as a real, we still need to prove that each coordinate receives one and only one value; this is where dense sets deciding individual bits enter.
[quotetheorem:6532]
[citeproof:6532]
The result depends on meeting the dense set for each coordinate. A single finite condition cannot make the Cohen real total, because it leaves infinitely many coordinates outside its domain. Genericity over the countable ground model supplies a filter meeting all the coordinate dense sets $D_n=\{p:n\in\operatorname{dom}(p)\}$ for $n\in\omega$, and the filter property then prevents contradictory bit values from being combined.
Both hypotheses can fail in concrete ways. The set $F=\{\varnothing\}$ is a filter in Cohen forcing, but it is not generic and it misses $D_0$, so interpreting $\dot c$ with $F$ gives no condition deciding the zeroth bit. Conversely, the pair of conditions $\{(0,0)\}$ and $\{(0,1)\}$ gives decisions for the same coordinate, but those conditions cannot belong to one filter because they are incompatible; without the filter property, the attempted interpretation would assign contradictory values to one bit.
Totality is only a construction statement. It says that $\dot c^G$ is a well-defined element of $2^\omega$, not that it is new, random, dominating, or has any other global property. The next argument uses a different family of dense sets, one for each ground-model real, to prove newness by forcing disagreement at a fresh coordinate.
Having proved that the generic object is a real, the next question is whether it could have already belonged to the ground model. The decisive forcing phenomenon is that every finite condition can be extended to disagree with any fixed ground-model real at a fresh coordinate.
[quotetheorem:6533]
[citeproof:6533]
This proof uses countability only through the existence of a filter generic over all dense sets in $M$. For each fixed $a \in M \cap \mathcal P(\omega)$, the dense set $D_a$ belongs to $M$ and forces disagreement with $a$ somewhere. Countability lets the construction of $G$ meet all these dense sets at once; without that genericity requirement, a filter could be chosen that does not meet the particular dense set needed to separate the resulting real from a specified $a$.
The real $a$ is fixed before the dense set $D_a$ is formed. This order matters: $D_a$ is a ground-model dense set because $a$ is already an element of $M$, and genericity applies only to dense sets available in $M$ before $G$ is chosen. The argument is therefore a family of fixed-obstruction arguments, one for each $a \in M \cap \mathcal P(\omega)$, rather than a dense set defined from the eventual value of the generic real.
The conclusion is also limited in the intended way. It proves $c \notin M$, but it does not say that every real in $M[G]$ is outside $M$, nor does it classify all new reals in the extension. The forcing relation packages the argument as: for every ground-model real $a$, the empty condition forces $\dot c \ne \check a$. Later preservation and independence arguments use the same pattern: define a dense set for each possible ground-model obstruction, use genericity to meet all of them, and then apply the truth lemma to transfer the forced statement to the extension.
[example: Forcing the Cohen Real Away From a Fixed Ground-Model Real]
Let $a \in M$ with $a \subset \omega$, and let $p \in \operatorname{Add}(\omega,1)$. Choose $n \notin \operatorname{dom}(p)$ and define $q \le p$ by setting $q(n)=1$ if $n \notin a$, and $q(n)=0$ if $n \in a$. Then $q$ forces that $\dot c$ and $\check a$ differ at coordinate $n$. Since such a refinement exists below every $p$, the dense-set formulation gives $\varnothing \Vdash \dot c \ne \check a$.
[/example]
The chapter's conclusion is that forcing is not a second interpretation of truth but a ground-model prediction system. Conditions decide statements locally, dense sets guarantee that generic filters meet enough local decisions, and the forcing theorem with the truth lemma converts those local decisions into truth in $M[G]$.
# 4. ZFC in Generic Extensions
Using the names, evaluations, and truth lemma developed in Chapters 2 and 3, this chapter checks that the construction $M[G]$ is not merely a collection of interpretations of names, but a genuine model of set theory. The preceding chapter built the forcing relation as a way of predicting truth in a generic extension. We now use the name hierarchy and the forcing theorem to verify the ZFC axioms inside $M[G]$, then isolate what forcing can change: it does not create new ordinals, but it may create new subsets of old sets and can affect cardinal structure.
## Verifying the ZFC Axioms in the Extension
The first problem is structural: after adjoining a generic filter $G$ to a countable transitive model $M$, why should the resulting class $M[G]$ satisfy the same axioms that made $M$ a model of set theory? Each axiom requires a witness built from names in $M$, and the main technical point is to keep those witnesses inside the name hierarchy.
[explanation: ZFC in a Generic Extension]
Under the usual hypotheses that $M$ is a countable transitive model of ZFC, $\mathbb P \in M$ has a greatest condition, and $G \subseteq \mathbb P$ is $M$-generic, the forcing extension $M[G]$ is again a transitive model of ZFC containing both $M$ and the generic filter $G$.
[/explanation]
This theorem is the model-theoretic payoff of the forcing construction. The hypothesis that $M$ is transitive lets membership in evaluated names agree with real membership; without it, a name could evaluate to an object that $M$ thinks is an ordinal or a set of ordinals for nonstandard reasons. Countability is used to obtain generic filters meeting all dense sets in $M$, and the greatest condition gives canonical always-present tags such as $1_{\mathbb P}$ in check names and pairing names. The conclusion does not say $M[G]$ has the same subsets or cardinals as $M$; it says the extension is again a ZFC universe in which those questions can be studied.
The statement bundles several axioms together, so it is useful to separate the easy name constructions from the bounded-comprehension arguments. The next question is how ordinary finite and set-theoretic operations can be performed before evaluating names.
[definition: Canonical Set Operations on Names]
Let $\mathbb P$ be a forcing poset with greatest condition $1_{\mathbb P}$, and let $\operatorname{Name}_{\mathbb P}$ denote the class of $\mathbb P$-names.
The canonical pairing operation is the class function
\begin{align*}
\{\cdot,\cdot\}^{\bullet}:\operatorname{Name}_{\mathbb P}\times \operatorname{Name}_{\mathbb P}\to \operatorname{Name}_{\mathbb P}.
\end{align*}
It is defined by
\begin{align*}
\{\sigma,\tau\}^{\bullet}=\{(\sigma,1_{\mathbb P}),(\tau,1_{\mathbb P})\}.
\end{align*}
The canonical union operation is the class function
\begin{align*}
\bigcup^{\bullet}:\operatorname{Name}_{\mathbb P}\to \operatorname{Name}_{\mathbb P}.
\end{align*}
It is defined by
\begin{align*}
\bigcup^{\bullet}\tau=\{(\rho,r) : \exists (\sigma,q)\in\tau\,\exists p\,((\rho,p)\in\sigma\ \text{and}\ r\le p,q)\}.
\end{align*}
When $\mathbb P$ belongs to a ground model $M$, the check-name operation is the class function
\begin{align*}
\check{\cdot}:M\to \operatorname{Name}_{\mathbb P},
\end{align*}
where $\check{x}$ is recursively defined by
\begin{align*}
\check{x}=\{(\check{y},1_{\mathbb P}):y\in x\}.
\end{align*}
[/definition]
These definitions show how ordinary set operations are mirrored before evaluation. The domain and codomain matter: the operations are carried out on names, not on their later values, so the witnesses remain available inside $M$ before the generic filter is chosen. After applying $G$, the first name evaluates to $\{\sigma_G,\tau_G\}$, while the second evaluates to $\bigcup \tau_G$.
[example: Pairing and Union by Evaluation]
Let $x=\sigma_G$ and $y=\tau_G$ be elements of $M[G]$. The name $\{\sigma,\tau\}^{\bullet}$ lies in $M$ and evaluates to $\{x,y\}$, so pairing holds. If $a=\tau_G$, then $\bigcup^{\bullet}\tau$ collects names for members of members of $a$, and a direct induction on name membership gives $(\bigcup^{\bullet}\tau)_G=\bigcup a$.
[/example]
The example settles operations whose witnesses can be written down uniformly from the input names. The next problem is subtler: a subset may be specified by an arbitrary formula whose truth is only known after the generic filter has been chosen, so the extension needs a name that anticipates this formula-defined subset.
[quotetheorem:6535]
[citeproof:6535]
Separation is the first place where the forcing relation does real work. The subset must be named inside $M$ before the extension is evaluated, even though the condition defining membership refers to truth in $M[G]$.
Separation handles subsets of an already named set by filtering strengthened tags below the existing name. The fixed ambient set is necessary: for the formula $x=x$, separation over a proper class such as the ordinals would ask for the class of all ordinals as a set, contradicting Burali-Forti. The forcing-theorem hypothesis is also essential to this construction, because without a definable forcing relation in $M$ the displayed name $\rho$ need not be obtainable by separation inside $M$. Finally, the strengthening clause cannot be omitted: if $q$ only places $\sigma_G$ into $\tau_G$, a formula may be decided only by a stronger $p\le q$; using only the original tag would miss elements in generics containing $p$. The theorem does not say every class definable in $M[G]$ is a set, does not say the subset already belongs to $M$, and does not avoid parameters; it says formula-defined subcollections of an existing set have names in the extension. Replacement raises a new problem because a definable function may send elements of the domain to sets whose names are not already present among the domain's subnames.
[quotetheorem:6536]
[citeproof:6536]
The theorem says that replacement cannot require searching through the entire proper class of names. The fixed domain name is crucial: without fixing $\tau$, a definable rule such as $x\mapsto V_{\operatorname{rank}(x)+1}$ has values of unbounded rank as $x$ varies through the universe. For one set-sized domain, however, the possible input names and formula parameters are set-sized data, so the forced output names can be replaced by equivalent bounded representatives.
The rank bound turns replacement back into a set-sized construction: all possible output names now live inside a single $V^M_{\alpha}$. Each main hypothesis has a specific role. The fixed tagged domain is necessary because the rule $x\mapsto V_{\operatorname{rank}(x)+1}$ has no uniform rank bound when $x$ ranges over all sets. The requirement $p\le q$ for a tag $(\sigma,q)\in\tau$ is necessary because uniqueness is only promised for actual elements of $\tau$; an unrelated name $\sigma$ may satisfy the same formula without being a domain input. The uniqueness hypothesis is also necessary: a total relation such as $y\in V_{\operatorname{rank}(x)+\omega}$ may have witnesses of arbitrarily high rank even for a fixed input. The theorem does not bound all names satisfying an arbitrary formula, does not choose values for a multivalued relation, and does not claim the eventual image set is already known before the generic filter decides the relevant tags. The next problem is to collect exactly those bounded names that the generic extension regards as values of the definable function.
[quotetheorem:6537]
[citeproof:6537]
This theorem completes the most delicate part of the ZFC verification. The explicit uniqueness condition separates replacement from collection: replacement is about the image of a definable function on a set, not about an arbitrary class relation with many possible witnesses. The theorem also does not assert that the image is already in $M$; the generic filter may be needed to decide which bounded names actually evaluate to the values.
Replacement shows how bounded name ranks control definable images. The powerset axiom poses a related but more surprising problem: the extension may have new subsets of an old set, so the witness must gather all subsets present in $M[G]$, not only those from $M$. For example, after Cohen forcing, the old set $\mathcal P(\omega)^M$ misses the generic real, so it cannot serve as the powerset of $\omega$ in the extension.
[quotetheorem:6538]
[citeproof:6538]
The distinction between ground-model powerset and extension powerset is central. The old set $a$ may acquire new subsets, but all such subsets still have names of bounded rank relative to a name for $a$.
The powerset proof explains why the axiom is compatible with adding new subsets. The hypothesis that $a$ is already a set of the extension is needed: applying the same demand to the proper class of all ordinals would ask for a set of all classes of ordinals, far beyond the powerset axiom. The generic-extension setup is necessary because the bounded-name argument uses a ground-model name $\tau$ and the forcing theorem; for an arbitrary outer model $N\supseteq M$, a subset of $a$ in $N$ need not be represented by any $\mathbb P$-name in $M$. The theorem also does not identify $\mathcal P(a)^{M[G]}$ with $\mathcal P(a)^M$; Cohen forcing gives the concrete failure mode when $a=\omega$. It does not say that powersets are absolute, does not say all subsets were anticipated as old sets, and does not give powersets for definable proper classes. This motivates separating the old powerset from the extension powerset whenever we discuss reals or subsets added by forcing.
[remark: Old and New Powersets]
For $a\in M$, the set $\mathcal P(a)^M$ is always a subset of $\mathcal P(a)^{M[G]}$. Equality may fail. Cohen forcing, for instance, adds a new subset of $\omega$, so $\mathcal P(\omega)^M\subsetneq\mathcal P(\omega)^{M[G]}$.
[/remark]
## Ordinals Are Preserved but New Subsets May Appear
The next question is what the extension has actually changed. Since $M[G]$ contains $M$ and usually contains new sets, we need an invariant strong enough to organize ranks and induction, and the invariant is the class of ordinals.
[quotetheorem:6539]
[citeproof:6539]
This theorem explains why forcing extends the universe horizontally by adding new sets at existing ranks, rather than vertically by appending new ordinals. The proof uses transitivity and foundation, not any special combinatorial property of the forcing.
The proof also explains why ranks in $M[G]$ are still measured by old ordinals. Transitivity is the indispensable hypothesis: if $M$ is a nonstandard countable model of set theory, it may contain an element that it regards as an ordinal even though the external membership relation on that element is not well-founded, so the comparison between internal and external ordinals breaks down. The generic-extension hypothesis is also doing work; an arbitrary outer model of $M$ can contain ordinals not in $M$, for instance by passing from $V_\alpha$ to a larger rank-initial universe. The theorem does not say ranks are unchanged as sets, does not say $V_\alpha^M=V_\alpha^{M[G]}$, and does not say forcing preserves cardinality. It says the indices used to measure rank are unchanged. What changes is not the ordinal scale, but which subsets are present at levels already indexed by that scale.
[example: Cohen Forcing Adds a Real but No Ordinals]
Let $\mathbb P=\operatorname{Add}(\omega,1)$ be the poset of finite partial functions $p:\omega\rightharpoonup 2$, ordered by reverse inclusion, and let $G$ be $M$-generic. The union $c=\bigcup G$ is a function $c:\omega\to 2$, hence a subset of $\omega$. For each $A\in M\cap\mathcal P(\omega)$, the dense sets deciding disagreement with $A$ ensure that $c\ne A$, so $c\notin M$. Ordinal preservation says that this new real is added without adding any new ordinal to $M$.
[/example]
Cohen forcing is the prototype of adding a subset of an old set. The next explanation makes the general mechanism explicit: a subset of $a\in M$ can be new because its membership decisions are distributed across the generic filter rather than encoded by a single old subset.
[explanation: How a Name Codes a New Subset]
A name for a subset of an old set $a$ may have the form
\begin{align*}
\dot{x}=\{(\check{b},p): b\in a,\ p\in A_b\}.
\end{align*}
Here each $A_b\subseteq\mathbb P$ is a set of conditions in $M$. Evaluating by $G$ gives
\begin{align*}
\dot{x}_G=\{b\in a : G\cap A_b\ne\varnothing\}.
\end{align*}
The data of all the sets $A_b$ lies in $M$, but the generic filter selects which alternatives occur. Therefore the evaluated subset may fail to equal any subset of $a$ that belonged to $M$.
[/explanation]
This mechanism does not conflict with ordinal preservation. A new subset of $\omega$ has rank at most $\omega+1$, so it lives at an old level of the cumulative hierarchy even though it was absent from the old model.
[remark: Ranks Change by Population, Not by Index]
Forcing may increase $V_{\alpha}^{M[G]}$ as a collection when $\alpha$ is an old ordinal, because new elements can appear at that rank. It does not introduce a new index $\alpha$ for the hierarchy. Thus the equality of ordinals is compatible with strict inclusions $V_{\alpha}^{M}\subsetneq V_{\alpha}^{M[G]}$.
[/remark]
## Cardinal Preservation and Cardinal Collapse
After ordinals, the next problem is cardinal arithmetic. Cardinals are special ordinals, so no new cardinal ordinal is created as an ordinal; nevertheless an old cardinal may stop being a cardinal if the extension contains a new bijection witnessing a smaller size.
[definition: Cardinal Preservation]
Let $M$ be a transitive model of ZFC, $\mathbb P\in M$, and $G\subseteq\mathbb P$ be $M$-generic. The forcing $\mathbb P$ preserves a cardinal $\kappa\in M$ if $M[G]$ satisfies that $\kappa$ is a cardinal. It preserves cardinals if it preserves every ground-model cardinal.
[/definition]
This definition deliberately refers to the extension's judgement about cardinality. The next problem is the opposite behavior: a forcing can add a new comparison map showing that an old cardinal has become equipotent with a smaller ordinal.
[definition: Cardinal Collapse]
Let $\kappa$ be a cardinal in $M$. The forcing $\mathbb P$ collapses $\kappa$ to $\lambda<\kappa$ if, for every $M$-generic $G\subseteq\mathbb P$, the extension $M[G]$ contains a surjection $f:\lambda\to\kappa$.
[/definition]
When both ordinals are infinite cardinals in the extension, such a surjection is equivalent to a bijection between $\lambda$ and $\kappa$. The definition separates adding subsets from collapsing cardinals: adding a real does not automatically collapse $\omega_1^M$, and proving preservation usually requires a chain condition or closure argument specific to the forcing.
[quotetheorem:6540]
[citeproof:6540]
This is a typical preservation theorem: the conclusion is not automatic from the definition of forcing, but follows from a combinatorial property of the poset. The regularity of $\kappa$ is necessary for the counting step: if $\kappa$ were singular, a union of $\operatorname{cf}(\kappa)$ many sets of size below $\kappa$ can have size $\kappa$, so the antichain bound would no longer give a small union. The chain condition is necessary because $\operatorname{Coll}(\omega,\lambda)$ has large antichains and adds a surjection from $\omega$ onto the uncountable ground-model cardinal $\lambda$. The cofinality hypothesis in the first conclusion is necessary because a $\kappa$-cc forcing can change smaller cofinalities or add new countable sequences without contradicting the theorem. The theorem does not say every cardinal below $\kappa$ is preserved, does not say every cofinality below $\kappa$ is preserved, and does not say adding subsets is impossible; it only rules out the specific collapse and cofinal-map patterns controlled by $\kappa$-sized antichains.
The theorem is stated as a principle because later forcings require more tailored preservation arguments. It does not say that small cardinals are preserved: Cohen forcing changes the continuum by adding a real, and Levy collapse is designed to destroy a selected cardinal. The recurring method is to analyze names for functions between ordinals and prove that the forcing cannot add a map with the forbidden range or cofinality behavior.
[example: Cohen Forcing Preserves Uncountable Cardinals Under the Countable Chain Condition]
The forcing $\operatorname{Add}(\omega,1)$ has the countable chain condition. Its conditions are finite partial functions $p:\omega\rightharpoonup 2$, so there are only countably many conditions in total. Compatibility is given by agreement on common domains: if two finite functions disagree at some shared coordinate, they are incompatible; if they agree on the overlap, their union is a common extension. Hence every antichain is a subset of a countable poset and is countable. Therefore Cohen forcing preserves all uncountable cardinals and cofinalities covered by the chain condition preservation principle. At the same time it adds a new subset of $\omega$, showing that adding reals and collapsing uncountable cardinals are distinct phenomena.
[/example]
To see that collapse can genuinely happen, we use a forcing designed to add an enumeration of a chosen ground-model set. The generic object itself becomes the witness to the collapse.
[example: Levy Collapse Makes a Cardinal Countable]
Let $\kappa$ be an uncountable cardinal in $M$, and let $\mathbb P=\operatorname{Coll}(\omega,\kappa)$ consist of finite partial functions $p:\omega\rightharpoonup\kappa$, ordered by reverse inclusion. If $G$ is $M$-generic, then $f=\bigcup G$ is a function from $\omega$ into $\kappa$. The dense sets requiring that each $\alpha<\kappa$ appear in the range ensure that $f$ is surjective onto $\kappa$. Hence $M[G]$ satisfies that $\kappa$ is countable, so the ground-model cardinal $\kappa$ has been collapsed.
[/example]
The collapse example illustrates the burden of proof in forcing arguments about cardinals. Since ordinals are preserved, the question is never whether $\kappa$ still exists; it is whether the extension has added new functions changing the comparison between $\kappa$ and smaller ordinals.
[remark: What Must Be Proved for Each Forcing]
For any particular forcing, ZFC preservation and ordinal preservation come from the general construction of $M[G]$. Cardinal preservation does not come for free. To prove that a cardinal is preserved, one must rule out new bijections, surjections, or cofinal maps of the relevant type; to prove that a cardinal collapses, one must exhibit a name whose evaluation gives such a map.
[/remark]
# 5. Cohen Forcing and Independence of CH
This chapter is the first full independence calculation of the course. Chapters 2 through 4 developed forcing extensions, the forcing relation, and preservation tools; here we apply them to Cohen forcing, first to add a single real and then to add many mutually generic reals. The central question is how a forcing extension can contain enough new subsets of $\omega$ to make CH false while still preserving cardinals well enough for the statement to have its intended meaning.
## Cohen Conditions as Finite Information
How can a partial order add a new real without specifying infinitely much information at any one stage? Cohen forcing answers this by using finite binary strings as conditions, ordered so that stronger conditions decide more bits.
[definition: Cohen Forcing]
$\operatorname{Add}(\omega,1)$ is the partial order whose conditions are finite partial functions $p: \omega \to 2$. The order is reverse inclusion: $q \le p$ iff $q \supseteq p$.
[/definition]
A generic filter $G \subseteq \operatorname{Add}(\omega,1)$ collects compatible finite approximations. The next theorem is needed to justify the slogan that the generic object is a genuinely new real: the dense sets decide every coordinate, and separate the resulting real from each old real in the ground model.
[quotetheorem:6541]
[citeproof:6541]
This theorem is the prototype for forcing as controlled approximation: no condition gives the real, but the generic filter supplies enough finite decisions to assemble it. The hypotheses matter. Without genericity over $M$, the union of a filter may leave some coordinate undecided; without transitivity, the phrase "$c_G \notin M$" no longer behaves as an external membership statement about the same natural numbers. The theorem also has a deliberate limitation: it adds one new real, but says nothing yet about cardinal preservation or about the size of the full continuum. The same finite-approximation viewpoint scales to many coordinates by letting a condition mention finitely many pairs consisting of an index and a natural number.
[definition: Adding Many Cohen Reals]
For a cardinal $\kappa$, $\operatorname{Add}(\omega,\kappa)$ is the partial order of finite partial functions $p: \kappa \times \omega \to 2$, ordered by reverse inclusion.
[/definition]
For $\alpha < \kappa$, the $\alpha$th Cohen real added by a generic filter $G$ is
\begin{align*}
c_\alpha(n) = \left(\bigcup G\right)(\alpha,n).
\end{align*}
The forcing is the finite-support product of $\kappa$ copies of $\operatorname{Add}(\omega,1)$, so every condition contains finite information about finitely many coordinates.
[example: Two Cohen Reals Are Forced Distinct]
Let $\alpha < \beta < \kappa$ and let $p \in \operatorname{Add}(\omega,\kappa)$. Choose $n \in \omega$ such that neither $(\alpha,n)$ nor $(\beta,n)$ lies in $\operatorname{dom}(p)$. The extension $q = p \cup \{((\alpha,n),0), ((\beta,n),1)\}$ forces $c_\alpha(n) \ne c_\beta(n)$, so the dense set below $p$ decides a coordinate on which the two reals differ. Hence an $M$-generic filter produces pairwise distinct reals $(c_\alpha)_{\alpha < \kappa}$.
[/example]
The example shows how finite conditions control a permanent disagreement. It also suggests the lower-bound half of the continuum calculation: if $\kappa$ many distinct reals are added, then the extension must satisfy $2^\omega \ge \kappa$, provided cardinals have not collapsed.
## Chain Conditions for Cohen Products
The next problem is preservation. Adding many reals is useful for refuting CH only if $\omega_1$ and the relevant larger cardinals remain cardinals in the extension, so we need a chain condition.
[definition: Countable Chain Condition]
A partial order $\mathbb P$ has the countable chain condition, or is ccc, if every antichain in $\mathbb P$ is countable.
[/definition]
For Cohen forcing, ccc is a finite-combinatorial statement, but the difficulty is that an antichain may be an arbitrary uncountable family of finite partial functions spread across many coordinates. To rule this out, one must find two conditions whose finite supports overlap in the same pattern and whose common coordinates give compatible values. The preservation argument for the continuum calculation depends on exactly this thinning: without it, adding many reals could also introduce the large antichains that collapse the cardinals used to measure those reals.
[quotetheorem:6542]
[citeproof:6542]
This result uses the same structure repeatedly in forcing arguments: reduce an uncountable family of finite approximations to two whose overlaps match. Finite support is essential here: if conditions were allowed to carry large supports, an uncountable family could encode incompatible decisions on a common coordinate without any delta-system thinning producing compatibility. The theorem does not say that Cohen forcing is closed or that it preserves all combinatorial structure of the ground model; it is exactly a chain-condition statement. The next theorem packages this with the earlier preservation result, because the CH calculation needs $\omega_1$ and $\omega_2$ to keep their ground-model roles.
[quotetheorem:6543]
[citeproof:6543]
This preservation statement keeps the interpretation of $\omega_1$ and $\omega_2$ stable enough for the CH calculation. Its hypotheses cannot be replaced by an arbitrary forcing: a collapse forcing could add a surjection from $\omega$ onto the old $\omega_1$, making the phrase "add $\omega_2$ reals" useless for refuting CH in the intended cardinal structure. The theorem also does not bound the number of reals added; it only protects the cardinals needed to read that bound. The lower bound $2^\omega \ge \kappa$ comes from the added reals; the upper bound requires counting names for reals.
## Nice Names and the Size of the Continuum
How many reals can appear in a ccc forcing extension? A real in the extension is interpreted from a name, but arbitrary names are too unconstrained to count directly: the same real may have many names, and a raw name may contain irrelevant conditions spread across the whole forcing. The useful idea is to replace each name for a subset of $\omega$ by a normal form in which the decision for the $n$th bit is recorded by an antichain. The ccc hypothesis then converts each bit into countable information.
[definition: Nice Name for a Subset of Omega]
Let $\mathbb P$ be a forcing notion. A nice name for a subset of $\omega$ is a name of the form
\begin{align*}
\dot{x} = \{(\check{n},p) : n \in \omega,\ p \in A_n\},
\end{align*}
where each $A_n$ is an antichain in $\mathbb P$.
[/definition]
Nice names are not a new class of objects added to the theory; they are a normal form. The next theorem is the reason this normal form is legitimate for continuum estimates: every name for a real can be replaced by one whose data are countable antichains.
[quotetheorem:6544]
[citeproof:6544]
The lemma converts a semantic problem about all possible reals in the extension into a counting problem in the ground model. The ccc assumption is doing real work: without it, the antichains $A_n$ could have size as large as the forcing, so the normal form would not reduce the amount of data. The lemma also applies only to names for subsets of $\omega$; it does not give a countable normal form for arbitrary names for sets of ordinals. The next theorem carries out the count for the finite-support product adding $\omega_2$ Cohen reals.
[quotetheorem:6545]
[citeproof:6545]
This theorem supplies the upper half of the continuum calculation. The assumptions are exactly what make the count close: $\omega_2^\omega = \omega_2$ bounds the number of countable supports, while $2^\omega = \omega_1$ bounds the number of countable codes over any fixed support. Without such arithmetic, the same forcing still adds many Cohen reals, but this particular argument would only give a weaker upper bound. The next theorem combines the upper bound with the earlier dense-set separation argument, giving the promised model where CH fails.
[quotetheorem:6546]
[citeproof:6546]
The equality theorem gives the result, but the name count is often the part where mistakes occur. The following example isolates the coding calculation behind the upper bound.
[example: Counting Nice Names]
Suppose $\mathbb P = \operatorname{Add}(\omega,\omega_2)$ and the ground model satisfies $\omega_2^\omega = \omega_2$. A nice name for a real uses countably many antichains, each antichain is countable, and every condition appearing in those antichains mentions finitely many coordinates. The union of all coordinates appearing in the name is therefore a countable subset $S \subseteq \omega_2$, and the name is really a name over $\operatorname{Add}(\omega,S)$. There are only $\omega_2$ choices for $S$ and, for each such $S$, only continuum-many countable codes for the finite conditions involved; under the stated arithmetic this gives at most $\omega_2$ names.
[/example]
The example is the calculation students should remember: ccc turns names into countable data, and finite support turns countable data into countable support. The continuum does not become larger than the number of countable coordinate supports available in the ground model.
## Relative Consistency and Independence of CH
The final question is how the forcing calculation becomes an independence theorem rather than merely a construction inside one model. The correct conclusion is relative: assuming a suitable model of ZFC exists, there are models of ZFC with CH and models of ZFC with not CH.
[quotetheorem:6547]
[citeproof:6547]
This result is not an absolute disproof of CH; it is a transfer principle from one well-controlled ground model to a forcing extension where the continuum calculation can be read correctly. The assumptions on the starting model do two jobs. They provide enough cardinal arithmetic to count nice names from above, and they ensure that the cardinals used in the lower-bound argument survive the forcing. In practice those hypotheses are often arranged by beginning with a model of GCH, or by passing to a constructible inner model when that is available. The remaining issue is symmetry: an independence argument needs not only a model where CH fails, but also a model of the same background theory where CH holds.
[quotetheorem:6548]
[citeproof:6548]
This theorem supplies the comparison model rather than a forcing construction that changes CH. Its role is to show that the background axioms alone do not force the negation of CH, just as the Cohen-product construction showed that they do not force CH under the corresponding relative hypothesis. The point is the coexistence of two models satisfying the same axioms but disagreeing on the continuum statement.
Once both directions are available, the remaining task is to package the two relative consistency results into the precise independence statement. The next formal block records that shift: it is no longer about calculating the continuum in a particular model, but about what follows, and what does not follow, from ZFC under the stated relative hypotheses.
[quotetheorem:6549]
[citeproof:6549]
This completes the first major application of forcing, but the conclusion should be read with its relative qualifier intact. The argument shows that if the relevant kind of model of ZFC exists, then there are such models on both sides of CH; it does not by itself prove the existence of a countable transitive model of ZFC from no assumptions. The method separates into three reusable pieces: a concrete forcing that adds the desired objects, a preservation theorem ensuring that cardinals retain their intended role, and a name-counting argument that prevents unintended excess objects from appearing. Those same pieces recur in later independence proofs, where the main work is often to choose a forcing notion and then verify that its preservation and counting properties match the statement being controlled.
# 6. Chain Conditions and Cardinal Preservation
Forcing often changes the universe by adding new subsets, functions, and combinatorial objects, so the next question is what it leaves unchanged. This chapter assumes the basic forcing language from Chapters 1 through 4: conditions, compatibility, generic filters, names, and the forcing relation. Chain conditions are the first preservation mechanism: they restrict how many mutually incompatible decisions a forcing notion can make at once. We introduce the countable chain condition and several stronger combinatorial forms, then use them to prove preservation results for $\omega_1$, cofinalities, and the cardinal structures most often needed in forcing arguments.
## Why Antichains Control Preservation
The forcing relation is local: a condition decides information by ruling out all incompatible alternatives. If there are too many mutually incompatible alternatives, a forcing may collapse cardinals or add short cofinal sequences. The first invariant to measure is therefore the size of families whose members cannot coexist in a single generic filter.
[definition: Antichain]
Let $(\mathbb P, \leq)$ be a forcing notion. A subset $A \subset \mathbb P$ is an antichain if any two distinct conditions $p, q \in A$ are incompatible.
[/definition]
Antichains record mutually exclusive possible extensions. Maximal antichains are especially important because a generic filter must meet every maximal antichain belonging to the ground model. To obtain preservation theorems, we need a forcing notion in which these mutually exclusive alternatives never form an uncountable family.
[definition: Countable Chain Condition]
A forcing notion $\mathbb P$ has the countable chain condition, abbreviated ccc, if every antichain in $\mathbb P$ is countable.
[/definition]
The name is historical: the condition rules out uncountable chains in the Boolean algebra sense, where antichains in the forcing order correspond to disjoint nonzero Boolean values. For forcing, the essential point is that all decisions split into only countably many incompatible cases.
[example: Cohen Forcing Is Countable Chain Condition]
Let $\operatorname{Add}(\omega,1)$ be the forcing of finite partial functions $p: \omega \to 2$, ordered by reverse inclusion. If $A$ is an antichain, then two conditions with the same finite domain and the same values are equal, while two conditions with compatible finite functions have a common extension. Since there are only countably many finite binary functions, every antichain is countable, so Cohen forcing is ccc.
[/example]
The Cohen example proves ccc by classifying conditions into countably many finite patterns, and this raises a reusable problem: how can we package such countable classifications without repeating the antichain proof every time? The needed definition is a countable cover by pieces whose finite subfamilies are jointly compatible. Once such a cover is available, ccc follows from a counting argument.
[definition: Sigma Centered Forcing]
A forcing notion $\mathbb P$ is $\sigma$-centered if there are centered sets $C_n \subset \mathbb P$, for $n \in \omega$, such that
\begin{align*}
\mathbb P = \bigcup_{n \in \omega} C_n,
\end{align*}
where centered means that every finite subset of $C_n$ has a common extension in $\mathbb P$.
[/definition]
Centered pieces are stronger than needed if the only goal is to rule out antichains, because an antichain already fails when two distinct members are compatible. This motivates the pairwise version, which is weaker than centeredness but still strong enough for ccc arguments.
[definition: Sigma Linked Forcing]
A forcing notion $\mathbb P$ is $\sigma$-linked if there are linked sets $L_n \subset \mathbb P$, for $n \in \omega$, such that
\begin{align*}
\mathbb P = \bigcup_{n \in \omega} L_n,
\end{align*}
where linked means that any two conditions in $L_n$ are compatible.
[/definition]
The two definitions are useful because they turn compatibility into a countable classification problem. An antichain can take at most one condition from each linked class, so either decomposition immediately gives the preservation hypothesis used later in the chapter.
[quotetheorem:6550]
[citeproof:6550]
The theorem explains why many forcing notions used to add a real without collapsing cardinals satisfy ccc: they have only countably many compatibility types. The hypotheses are genuinely stronger than ccc. For instance, if a Suslin tree exists, then forcing with the tree is ccc because the tree has no uncountable antichain, but it is not $\sigma$-linked: compatible nodes in the tree order are comparable, so a $\sigma$-linked decomposition would put uncountably many nodes into one linked piece and hence produce an uncountable chain. This contradicts the defining Suslin-tree requirement that there are no uncountable chains, not merely the fact that each level is countable. Thus the theorem is a sufficient criterion, not a characterisation of ccc.
This limitation matters in product arguments. Some products cannot be analysed by a countable decomposition of the whole forcing. They instead require thinning an uncountable family until an uncountable compatible subfamily remains, a stronger combinatorial behaviour that is still robust enough for finite-support constructions.
[definition: Knaster Property]
A forcing notion $\mathbb P$ has the Knaster property if every uncountable subset $X \subset \mathbb P$ contains an uncountable subset $Y \subset X$ whose elements are pairwise compatible.
[/definition]
The Knaster property is designed for arguments where the initial family is arbitrary and uncountable, such as finite-support products. To use it as a ccc hypothesis, we first connect it back to antichains: an uncountable antichain cannot contain even a compatible pair.
[quotetheorem:6551]
[citeproof:6551]
In practice the hierarchy is used as follows: prove $\sigma$-centered or $\sigma$-linked when a countable decomposition is available; prove Knaster when an uncountable family can be thinned using a combinatorial lemma; use bare ccc when the forcing is naturally presented as a quotient Boolean algebra. The converses should not be expected. Under the existence of a Suslin tree, Suslin tree forcing is ccc but not Knaster, because an uncountable pairwise compatible subset of a tree ordered by extension would be an uncountable chain. Therefore Knaster is not merely another formulation of ccc; it is a stronger property designed to survive constructions such as finite-support products and iterations.
## Preservation of $\omega_1$ and Cofinalities
Once a forcing notion is ccc, the next question is whether it can create a new countable cofinal sequence in an old uncountable ordinal. If this happened for $\omega_1$, the forcing would collapse the first uncountable cardinal. The key mechanism preventing this is that every name for a countable sequence can be read from countably many maximal antichains.
[quotetheorem:6552]
[citeproof:6552]
This theorem converts a forcing statement about a new sequence into an old countable bound. The ccc hypothesis is exactly what makes the collection of possible values countable at each coordinate. Without it, a single coordinate of a name may be decided by an uncountable antichain, and the union of the possible values need not be countable. For example, the Levy collapse $\operatorname{Coll}(\omega,\omega_1)$ is designed to add a countable cofinal sequence through the old $\omega_1$; the name for that sequence cannot be bounded by a countable ground-model subset of $\omega_1$.
The theorem also has a precise scope: it bounds names for countable sequences of ordinals, not arbitrary names for subsets or functions of larger domain. The first place where this matters is $\omega_1$, because a collapse of $\omega_1$ is exactly the appearance of a countable cofinal sequence through the old $\omega_1$. The bounding theorem supplies a ground-model [countable set](/page/Countable%20Set), and every such set is bounded below $\omega_1$.
[quotetheorem:6553]
[citeproof:6553]
The $\omega_1$ case used only one feature of $\omega_1$: every countable subset is bounded. This feature is not automatic for arbitrary forcing. The Levy collapse $\operatorname{Coll}(\omega,\omega_1)$ shows the failure sharply: it is non-ccc and forces the old $\omega_1$ to have a countable cofinal sequence, so the old first uncountable cardinal becomes countable in the extension. The theorem also does not say that ccc forcing preserves every subset of $\omega_1$ or every stationary-set property; it says that the old $\omega_1$ cannot become countable. Any ordinal of uncountable cofinality has the same boundedness feature for countable subsets, so the antichain-counting argument prevents ccc forcing from creating countable cofinal sequences there. To rule out all changes of cofinality, we must also consider names for cofinal maps whose domains are arbitrary ground-model cardinals below the old cofinality, not only $\omega$.
[quotetheorem:6554]
[citeproof:6554]
Preservation of cofinalities is stronger than the special case for $\omega_1$: it prevents old ordinals from acquiring shorter cofinal sequences, and this gives preservation of ground-model cardinals. Indeed, if an old cardinal were collapsed, the least collapsed cardinal would yield an old ordinal whose cofinality had changed. What ccc does not control is the full combinatorial profile of the extension. It may add many new subsets to a preserved cardinal, change cardinal arithmetic such as $2^{\aleph_0}$, and alter structural properties of trees, stationary sets, or definable families. Later arguments use this distinction constantly: ccc gives enough preservation to keep the cardinal framework intact while still allowing forcing to change the continuum and add the objects needed for independence proofs.
[remark: What Countable Chain Condition Does Not Preserve]
A ccc forcing may add new reals, change $2^{\aleph_0}$, and alter many combinatorial properties of the continuum. The preservation theorem protects old cofinalities and hence old cardinals, but it does not freeze cardinal arithmetic or higher-order combinatorial structure. Additional hypotheses are needed when the goal is to control values such as $2^\kappa$, preserve special families, or maintain properties of particular trees and stationary sets.
[/remark]
The preservation proof is short because the hard work is hidden in maximal antichains deciding values. This pattern reappears throughout forcing: ccc turns arbitrary names for countable objects into countable ground-model approximations.
## Delta-System Arguments and Finite-Support Products
Many important ccc forcings have finite conditions. To prove ccc for an uncountable family of such conditions, we need a way to organise their finite supports. The delta-system lemma supplies this organisation by thinning an uncountable family until all intersections are the same fixed finite root.
[definition: Delta System]
A family $\mathcal A$ of sets is a delta-system with root $r$ if for any distinct $a,b \in \mathcal A$,
\begin{align*}
a \cap b = r.
\end{align*}
[/definition]
The root records the shared coordinates or shared finite data. Away from the root, members of the family are disjoint, so compatibility can often be checked only on the root. To justify using this strategy in arbitrary uncountable families of finite supports, we need the combinatorial lemma that produces such roots.
[quotetheorem:6555]
[citeproof:6555]
The lemma is the standard proof engine for finite-support products, but each hypothesis marks a real boundary of the method. Uncountability is needed because countable families can already be handled directly in ccc arguments and need not contain any useful uncountable refinement. Finiteness is the structural hypothesis: the family $\{\{m \in \omega : m \geq n\}: n \in \omega\}$ consists of infinite sets whose pairwise intersections change with the pair, and countable-support products of ccc forcings can fail ccc for the same reason. The conclusion also gives only a common intersection pattern; it does not by itself prove forcing compatibility, because two conditions may still disagree on the root. Thus the lemma reduces ccc from a global antichain question to a local compatibility check only in forcing notions where each condition uses finitely many coordinates and root disagreements can be controlled. The following formulation captures the common situation by making the support map, root data, and compatibility hypothesis explicit.
[quotetheorem:6556]
[citeproof:6556]
This criterion explains why finite-support products of Cohen-type forcings are well behaved, and its assumptions should be read as separate safeguards. The support map must be finite because the delta-system lemma is being used on finite supports; with countable supports, an uncountable family can carry conflicts spread over infinitely many coordinates, and countable-support products of ccc forcings may have uncountable antichains. The countability of root data is also essential: if uncountably many conditions have the same root support but pairwise incompatible values on that root, thinning the supports does not create a compatible pair. Finally, the compatibility clause is the forcing-specific step; a delta-system of supports only says that the tails are disjoint, so if equal root data still fails to amalgamate, the criterion has no conclusion. The Cohen product below works because finite partial functions with equal values on the overlap are compatible by union.
[example: Finite Support Product Of Cohen Forcings]
Let $I$ be any index set and let $\operatorname{Add}(\omega,I)$ consist of finite partial functions $p: I \times \omega \to 2$, ordered by reverse inclusion. The support of $p$ is the finite set of coordinates $i \in I$ on which $p$ mentions some pair $(i,n)$. Given an uncountable family of conditions, the finite supports form an uncountable delta-system after thinning, and there are only countably many possible finite binary patterns on the common root. Two conditions with the same root pattern and disjoint remaining supports are compatible by union, so $\operatorname{Add}(\omega,I)$ is ccc.
[/example]
The same proof appears in many disguises. Conditions may be finite partial functions, finite pieces of trees, or finite approximations to structures, but the compatibility argument has the same shape: thin to a common root, fix the data on the root, and take the union.
## Common Countable Chain Condition Forcings
The ccc condition is not tied to Cohen forcing. Different forcing notions add different kinds of reals while preserving $\omega_1$, and the proof of ccc reflects the nature of the approximation.
[example: Random Forcing]
Random forcing can be presented as the Boolean algebra of Borel subsets of $2^\omega$ of positive product measure, modulo the ideal of null sets, ordered by inclusion modulo null sets. An antichain corresponds to a family of pairwise almost disjoint positive-measure Borel sets. Since the sum of the measures of pairwise disjoint positive-measure sets inside a probability space can have only countably many positive terms, every antichain is countable. Thus random forcing is ccc and adds a random real over the ground model.
[/example]
Random forcing shows that ccc can arise from measure theory rather than finite combinatorics, but many later forcing arguments need a more directed way to add a real. The next recurring task is to add a function in $\omega^\omega$ that eventually dominates every ground-model function. A finite-stem-only forcing would merely build a generic function by longer and longer initial segments; after meeting a dense set that extends the stem, it would still provide no persistent lower bound against a given ground-model function on all later coordinates. The required definition therefore has two pieces: a current finite approximation to the generic real, and a full bounding function that constrains all future extensions. Hechler forcing is the standard ccc forcing built for exactly this domination task.
[definition: Hechler Forcing]
Hechler forcing $\mathbb D$ consists of pairs $(s,f)$ where $s \in \omega^{<\omega}$ and $f \in \omega^\omega$. A condition $(t,g)$ is stronger than $(s,f)$ if $s \subset t$, $g(n) \geq f(n)$ for all $n \in \omega$, and $t(n) \geq f(n)$ for all $n \in \operatorname{dom}(t) \setminus \operatorname{dom}(s)$.
[/definition]
The finite stem is the current approximation to the new real, while the function $f$ imposes lower bounds on future values. Because only the stem determines the centered piece, all conditions with the same stem can be amalgamated by taking pointwise maxima of their bounds. The next theorem records this structural fact so that Hechler forcing enters the ccc preservation theory through the $\sigma$-centered criterion.
[quotetheorem:6557]
[citeproof:6557]
The theorem depends on the fixed-stem decomposition, not merely on the fact that Hechler conditions have finite initial segments. Conditions with the same stem are centered because finitely many future bounds can be merged by a pointwise maximum while the already chosen finite values stay unchanged. If stems were allowed to disagree inside a proposed piece, two conditions could prescribe different values at the first coordinate of disagreement and would have no common extension. If the order did not require future stem values to respect the old bound, the generic real would no longer be forced to dominate the corresponding ground-model functions. Thus the theorem proves a strong compatibility property for this particular presentation, while leaving room for ccc forcings that add complicated combinatorial objects and interact sharply with trees, stationary sets, and forcing axioms.
[example: Suslin Tree Forcing]
Let $T$ be a Suslin tree, ordered so that stronger conditions are higher nodes extending lower nodes. Since each level of $T$ is countable and $T$ has no uncountable antichain, forcing with $T$ is ccc. A generic filter through $T$ adds a cofinal branch, so the forcing destroys the Suslinity of $T$ while preserving $\omega_1$. This example is a warning that ccc preservation of cardinals does not preserve every structural feature of the ground model.
[/example]
These examples set up the later use of ccc in forcing axioms and independence results. The same condition that preserves $\omega_1$ also permits long finite-support iterations, making ccc the central preservation class for adding many reals without collapsing the first uncountable cardinal.
# 7. Closure, Distributivity, and Properness Preview
This chapter studies forcing notions whose conditions can be fused along descending sequences. After the ccc preservation results of Chapter 6, this chapter turns to the complementary question: when is a forcing too closed to add short new information? Closure, distributivity, and properness are three increasingly flexible ways of measuring how a poset behaves with respect to countable constructions, and they prepare the preservation theorems needed for countable-support iterations.
## Lower Bounds for Descending Sequences
The first preservation question is local: if a forcing construction asks us to strengthen a condition at each stage of a countable argument, can we still find a single condition below all the decisions we made? This is the role of closure. It turns recursive arguments with many dense requirements into one condition, rather than merely into a filter external to the forcing order.
[definition: Descending Sequence]
Let $(P,\leq)$ be a forcing poset. A sequence $(p_\beta)_{\beta<\theta}$ of conditions in $P$ is descending if $p_\gamma \leq p_\beta$ whenever $\beta<\gamma<\theta$.
[/definition]
A descending sequence records a process of gaining information. This motivates isolating the condition that would contain the information accumulated by the entire process.
[definition: Lower Bound]
Let $(P,\leq)$ be a forcing poset, and let $(p_\beta)_{\beta<\theta}$ be a descending sequence in $P$. A condition $q\in P$ is a lower bound for the sequence if $q\leq p_\beta$ for every $\beta<\theta$.
[/definition]
Lower bounds are useful because dense-set arguments often produce descending sequences rather than named final conditions. This motivates a closure definition saying that such a final condition exists for every sufficiently short descending construction.
[definition: Kappa Closed Forcing]
Let $\kappa$ be an infinite cardinal. A forcing poset $(P,\leq)$ is $\kappa$-closed if every descending sequence $(p_\beta)_{\beta<\theta}$ in $P$ of length $\theta<\kappa$ has a lower bound in $P$.
[/definition]
The most important preservation arguments in this course concern countable information, such as reals and countable sequences of ordinals. This motivates giving the $\omega_1$-closed case its own name.
[definition: Countably Closed Forcing]
A forcing poset $(P,\leq)$ is countably closed if every descending sequence $(p_n)_{n<\omega}$ in $P$ has a lower bound in $P$.
[/definition]
In this convention, countably closed means $\omega_1$-closed. This distinction motivates checking examples carefully, since the same forcing may allow all finite fusion arguments while failing at the first infinite stage.
[example: Closed Bounded Initial Segments]
Let $\kappa$ be an uncountable regular cardinal, and let $P$ consist of closed bounded subsets of $\kappa$, ordered by end-extension: $q\leq p$ if $q$ end-extends $p$. A countable descending sequence is an increasing sequence of closed bounded sets by end-extension. Its union is bounded in $\kappa$ and becomes closed after adjoining its supremum, so this construction gives a lower bound. Thus this forcing is countably closed when $\kappa$ is regular uncountable.
[/example]
The example also shows why regularity is part of the background. It motivates the contrasting question of what fails for forcing notions whose conditions remain finite.
[example: Cohen Forcing Is Not Countably Closed]
Cohen forcing $\operatorname{Add}(\omega,1)$ consists of finite partial functions $p:\omega\rightharpoonup 2$, ordered by reverse inclusion. Let $p_n$ decide the first $n$ bits of the generic real, for instance $p_n=\{(k,0):k<n\}$. Then $(p_n)_{n<\omega}$ is descending, but its union has infinite domain and is not a condition in Cohen forcing. Hence Cohen forcing is not countably closed.
[/example]
This contrast is the basic intuition for the chapter: Cohen forcing adds a new real precisely because it permits countably many finite decisions with no condition capturing all of them. It motivates the next section, where the same phenomenon is expressed through dense sets and names.
## Distributivity and New Sequences
Closure is a structural property of the order. The forcing language suggests a second question: can the forcing create a new function from a small ordinal into the ground model? Distributivity answers this question through the ability to meet many dense open sets at once below any starting condition.
[definition: Dense Open Subset]
Let $(P,\leq)$ be a forcing poset. A set $D\subset P$ is dense open if for every $p\in P$ there is $q\leq p$ with $q\in D$, and whenever $p\in D$ and $q\leq p$, then $q\in D$.
[/definition]
Dense open sets describe requirements that can be permanently met by strengthening. This motivates a distributivity definition in which a small family of requirements can be met by one condition.
[definition: Kappa Distributive Forcing]
Let $\kappa$ be an infinite cardinal. A forcing poset $(P,\leq)$ is $\kappa$-distributive if for every family $(D_\alpha)_{\alpha<\lambda}$ of dense open subsets of $P$ with $\lambda<\kappa$, the intersection $\bigcap_{\alpha<\lambda}D_\alpha$ is dense in $P$.
[/definition]
The definition says more than generic filters meet dense sets. It motivates the first theorem because closure gives exactly the recursive construction needed to meet the dense sets one by one and then fuse the choices.
[quotetheorem:6558]
[citeproof:6558]
This theorem is one of the main workhorses of closed forcing arguments. With the definition used here, regularity of $\kappa$ is not needed for this implication: if $\lambda<\kappa$ and $\delta<\lambda$, then the initial segment already constructed has length below $\kappa$, so closure applies. What cannot be weakened is the amount of closure. For example, if $\lambda=\operatorname{cf}(\kappa)<\kappa$, the forcing $\operatorname{Fn}(\lambda,2,{<}\lambda)$ of partial functions from $\lambda$ to $2$ of size less than $\lambda$, ordered by reverse inclusion, is closed under descending sequences of length less than $\lambda$ when $\lambda$ is regular, but it adds a new function $\lambda\to 2$ and therefore is not $\kappa$-distributive. Thus closure at all lengths below $\kappa$ is the real hypothesis.
The theorem is only a sufficient condition, not a characterisation of distributivity; there are distributive forcing notions whose order is not literally closed. Conversely, finite-condition forcings such as Cohen forcing show what fails without closure: the recursive construction can decide more and more information, but there need not be a single condition below all the finite approximations. This motivates the countable application, where a sequence of dense requirements is fused into one condition.
[example: Countable Dense Requirements]
Suppose $P$ is countably closed and $(D_n)_{n<\omega}$ is a countable family of dense open sets. Starting from any $p_0\in P$, choose $p_{n+1}\leq p_n$ in $D_n$. A lower bound $q$ for the sequence lies in every $D_n$ by openness, so $q$ witnesses that $\bigcap_{n<\omega}D_n$ is dense. This is the countable form used to prove that no new reals are added.
[/example]
The example converts closure into simultaneous dense-set meeting. This motivates the no-new-sequences theorem: to show a name is old, decide its coordinates along a descending sequence and fuse the decisions.
[quotetheorem:6559]
[citeproof:6559]
The theorem applies in particular to reals, since a real may be coded as a function from $\omega$ into $2$ or into $\omega$. The Cohen forcing example shows the necessity of a closure-type hypothesis in a concrete way: its finite approximations decide longer and longer initial segments of a real, but their union is not a Cohen condition, so the generic real is new. The theorem does not say that closed forcing is inert; it may add large unbounded or closed sets, and it only rules out new countable sequences of ground-model ordinals. It motivates the general distributive version, where countability is replaced by an arbitrary length below $\kappa$.
[quotetheorem:6560]
[citeproof:6560]
This theorem is often the cleanest formulation of the preservation result: closure is a convenient sufficient condition for distributivity, but distributivity is the exact no-new-short-sequences property used in many arguments. Without distributivity the conclusion can fail even for familiar forcing notions: Cohen forcing is not $\omega_1$-distributive because it adds a new function $\omega\to 2$. The restriction to lengths $\lambda<\kappa$ is essential; $\kappa$-distributivity by itself does not rule out new sequences of length $\kappa$ or new large sets not coded by short ordinal sequences. It motivates adding chain-condition hypotheses when the goal is cardinal preservation rather than only preservation of short sequences.
## Chain Conditions and Cardinal Preservation
Closure prevents new short sequences, but cardinal preservation also depends on antichains. The guiding question is: when does forcing preserve cardinals and cofinalities while still adding a large [closed set](/page/Closed%20Set)? The answer combines closure with a chain condition or a direct preservation criterion for antichains.
[definition: Kappa Chain Condition]
Let $\kappa$ be an infinite cardinal. A forcing poset $(P,\leq)$ has the $\kappa$-chain condition if every antichain in $P$ has cardinality less than $\kappa$.
[/definition]
A chain condition controls how many mutually incompatible alternatives a name can use. This motivates the preservation criterion combining closure, which prevents short new sequences, with a chain condition, which prevents too much branching in names.
[quotetheorem:6561]
[citeproof:6561]
The precise preservation theorem used in practice varies with the forcing and the cardinals under discussion. The closure hypothesis cannot be omitted: Cohen forcing has strong chain condition properties but adds new countable sequences. The chain-condition hypothesis also cannot be replaced by closure alone. For example, the Levy collapse $\operatorname{Coll}(\kappa,{<}\lambda)$ with ${<}\kappa$-closed conditions, for regular $\kappa<\lambda$, is $\kappa$-closed but collapses cardinals in the interval $[\kappa,\lambda)$ by design. The criterion also does not rule out new cofinal sequences of length $\kappa$ for larger ordinals; such a sequence has exactly the length not controlled by $\kappa$-distributivity. Thus the theorem separates two effects, with closure controlling approximation sequences below $\kappa$ and chain conditions controlling bounded branching in names.
[remark: Closure Does Not Mean Small Forcing]
A closed forcing may be large, and large forcing can have many incompatible conditions. Closure controls descending approximation sequences, while chain conditions control branching. Preservation arguments usually need to know which of these two effects is responsible for the desired conclusion.
[/remark]
The remark prepares the main example, where the forcing is designed to add a large closed set rather than to be small. The construction motivates a named poset whose conditions are closed bounded approximations to the desired club.
[definition: Club Shooting Forcing]
Let $\kappa$ be an uncountable regular cardinal, and let $T\subset\kappa$ be unbounded and closed under suprema of increasing sequences of length less than $\kappa$ whenever the supremum is below $\kappa$. The closed club-shooting forcing through $T$ is the poset $P_T$ whose conditions are closed bounded subsets $c\subset T$, ordered by end-extension.
[/definition]
The closure assumption on $T$ is not cosmetic. It is what lets a limit stage of a fusion argument stay inside the target set, so the generic object is obtained by taking the union of the conditions in the generic filter. The next theorem records the exact payoff of these hypotheses: the generic union is not merely an unbounded approximation through $T$, but a genuinely closed unbounded subset of $\kappa$ contained in $T$.
[quotetheorem:6562]
[citeproof:6562]
The theorem deliberately assumes a closed target. For an arbitrary stationary set $S\subset\kappa$, the poset of closed bounded subsets of $S$ ordered by end-extension need not be closed, and the generic union need not be closed in $\kappa$ by this argument: a new [limit point](/page/Limit%20Point) of the union may fail to lie in $S$. This is a necessity example rather than a cosmetic restriction; if $S\subset\omega_1$ is stationary and co-stationary, then no club subset of $\omega_1$ can be contained in both $S$ and its complement, so adding a club through $S$ destroys the stationarity of $\omega_1\setminus S$.
The limitation is that the theorem is about the shape of the generic union, not by itself a full preservation theorem for every surrounding cardinal or stationary set. Its value in this chapter is that it supplies the closed prototype: the target is closed enough that fusion stays inside it, and the generic object is a club. Later stationary-set club shooting keeps the same goal but replaces this strong closure hypothesis with properness, so that one can shoot clubs through more delicate targets while preserving $\omega_1$.
[example: Shooting a Club Through a Closed Unbounded Target]
Let $\kappa=\omega_1$ and let $T\subset\omega_1$ be club. A condition may be a countable closed subset of $T$, and stronger conditions extend it by appending larger ordinals from $T$. Given a countable descending chain, take the union and add its supremum; because $T$ is closed, that supremum remains in $T$. The generic union is then a club subset of $T$, so the forcing can add a new club approximation while preserving the absence of new reals in the closed variants.
[/example]
The example shows both the strength and the limitation of closure-based preservation. This motivates properness, the weaker countable preservation notion used later for countable-support iterations.
## Properness as a Preview of Iteration Theory
Closure is too restrictive for many forcing notions used in applications. The next question is weaker and more flexible: instead of asking for lower bounds for all countable descending sequences, can we ask for conditions that behave generically with respect to one countable piece of the universe? Properness answers this and becomes the central preservation notion for countable-support iterations.
[definition: Countable Elementary Submodel]
Let $\theta$ be a sufficiently large regular cardinal. A countable elementary submodel is a countable set $M\prec H_\theta$, where $H_\theta$ is the collection of all sets whose transitive closures have cardinality less than $\theta$, equipped with the relevant membership structure and parameters.
[/definition]
Countable elementary submodels package all dense sets and names relevant to a local argument into one countable object. This motivates the condition that a single forcing condition should be generic enough for that object.
[definition: Master Condition]
Let $P\in M\prec H_\theta$, where $M$ is countable. A condition $q\in P$ is an $(M,P)$-master condition if for every dense set $D\subset P$ with $D\in M$, the set $D\cap M$ is predense below $q$: for every $s\leq q$, there is some $r\in D\cap M$ compatible with $s$.
[/definition]
The predensity formulation is designed for preservation of $\omega_1$, since it ensures that every extension of $q$ still has access to the dense information visible in $M$. This motivates defining a forcing notion as proper when master conditions exist below every condition from every relevant countable model.
[definition: Proper Forcing]
A forcing poset $P$ is proper if for all sufficiently large regular cardinals $\theta$, for every countable $M\prec H_\theta$ with $P\in M$, and for every $p\in P\cap M$, there is an $(M,P)$-master condition $q\leq p$.
[/definition]
Properness is weaker than countable closure in the examples that matter later. This motivates checking that countably closed forcing still belongs to the proper class, so properness really extends the closure method rather than replacing it with an unrelated idea.
[quotetheorem:6563]
[citeproof:6563]
This proof is the template behind properness: replace a global lower bound for every countable construction with a condition that makes the countably many dense requirements visible inside $M$ predense below it. Countable closure is therefore stronger than needed and cannot be inferred from properness. Sacks forcing, for instance, is proper but not countably closed: it adds a new real, whereas countably closed forcing adds no new reals.
The closure hypothesis also marks a real boundary for this proof. The Levy collapse $\operatorname{Coll}(\omega,\omega_1)$ is not countably closed and is not proper, since it forces a countable cofinal sequence through $\omega_1^V$ and therefore collapses $\omega_1$. This gives the contrasting nonexample: without a master-condition argument or a closure argument, countable dense requirements can produce a generic object that escapes every countable model height. The theorem also does not imply any chain condition or preservation of all cardinals. It motivates the central preservation theorem for proper forcing, namely preservation of the first uncountable cardinal.
[quotetheorem:6564]
[citeproof:6564]
This discussion explains the conceptual role of master conditions: they stop a countable generic object from escaping the countable ordinal height of $M$. Properness is close to optimal for this preservation theorem; nonproper forcings can collapse $\omega_1$ by adding a countable cofinal sequence. The theorem is also limited: proper forcing may still add reals and may affect cardinals above $\omega_1$ without additional hypotheses. This motivates the later iteration theory, where preservation of $\omega_1$ must survive many forcing stages.
[remark: Why Properness Appears Before Iterations]
Finite-support iterations preserve chain conditions well, but they do not preserve countable closure in the forcing notions needed for many applications. Countable-support iterations preserve properness under suitable hypotheses, which is why properness becomes the correct replacement for closure in later chapters. At this point, the important facts are the definition by countable models, the existence of master conditions, and the preservation of $\omega_1$.
[/remark]
This chapter has moved from strong closure to the more adaptable language of properness. Countably closed forcing adds no new reals or new countable ordinal sequences, distributivity isolates the exact no-new-sequences property, and properness keeps enough of the countable argument to preserve $\omega_1$. The next iteration-theoretic material will use these ideas to control long forcing constructions built one stage at a time.
# 8. Forcing Axioms and Martin's Axiom
Forcing axioms package the generic-filter construction into principles about the universe itself. Earlier chapters used forcing over a countable model: enumerate the dense sets, meet them one by one, and obtain a filter generic over that model. Martin's axiom asks for the same kind of filter-meeting conclusion inside $V$, for prescribed classes of partial orders and prescribed numbers of dense sets.
The chapter focuses on ccc forcing because ccc posets preserve cardinals well and behave like topological spaces with no large antichains. We first state the axioms $MA_\kappa(P)$ and $MA_\kappa$, then connect them to Baire category. We then record standard consequences of Martin's axiom together with $\neg CH$, before explaining how finite-support iterations force fragments of Martin's axiom.
## Filters Meeting Many Dense Sets
The basic problem is to decide when a family of dense requirements can be met by a single filter. The Rasiowa-Sikorski lemma from Chapter 1 answers this for countably many dense sets in an arbitrary poset, while Martin's axiom asks for the same conclusion for many dense sets, provided the poset has the ccc.
[definition: Countable Chain Condition]
A poset $P$ has the countable chain condition, abbreviated ccc, if every antichain in $P$ is countable.
[/definition]
The ccc condition prevents the poset from containing uncountably many pairwise incompatible alternatives. This motivates restricting the forcing axiom to ccc posets: the axiom will ask for large amounts of genericity only in situations where incompatibility remains countably controlled. The simplest example is Cohen forcing, where the ccc property is visible directly from countability.
[example: Cohen Forcing Is Ccc]
Let $\operatorname{Add}(\omega,1)$ be the poset of finite partial functions $p: \omega \to 2$, ordered by reverse inclusion. If $A \subseteq \operatorname{Add}(\omega,1)$ is an antichain, then two conditions in $A$ with the same finite domain cannot be incompatible unless they disagree at some coordinate. Since there are only countably many finite domains and only finitely many functions on each finite domain, the whole poset is countable. Hence every antichain is countable, so Cohen forcing is ccc.
The same compatibility idea scales to uncountable Cohen-type posets when finite domains are controlled by a delta-system argument. For example, in $\operatorname{Add}(\omega_1,1)$ the domains of an uncountable family of finite partial functions can be thinned to a delta-system, and then thinned again so that the functions agree on the common root. Two conditions from the thinned family are compatible because their union is again a finite partial function. Thus the example is not only a countability accident; it previews the finite-support compatibility method used later.
[/example]
Cohen forcing shows how dense requirements describe desired finite pieces of a generic real, but the same language works for any ccc poset. This motivates a local forcing axiom for a single poset: specify how many dense sets may be demanded, and ask for one filter meeting all of them.
[definition: Martin Axiom For A Poset]
Let $P$ be a ccc poset and let $\kappa$ be a cardinal. The statement $MA_\kappa(P)$ says that for every family $(D_i)_{i \in I}$ of dense subsets of $P$ with $|I| \le \kappa$, there exists a filter $G \subseteq P$ such that $G \cap D_i \ne \varnothing$ for every $i \in I$.
[/definition]
For a fixed poset, $MA_\kappa(P)$ is a genericity principle with a bounded number of dense requirements. The next question is whether this principle should depend on a particular chosen forcing notion. This motivates the global version, which demands the same filter-building conclusion uniformly for all ccc posets.
[definition: Martin Axiom]
Let $\kappa$ be a cardinal. The statement $MA_\kappa$ says that $MA_\kappa(P)$ holds for every ccc poset $P$.
[/definition]
The global definition turns a local filter-building statement into a scheme over all ccc posets. This motivates first checking the boundary case $\kappa=\aleph_0$, because the course has already proved exactly that countable dense families can be met by a descending construction. The following theorem identifies the countable fragment of Martin's axiom with Rasiowa--Sikorski rather than with a new set-theoretic assumption.
[quotetheorem:6565]
[citeproof:6565]
This theorem explains why Martin's axiom is not a new phenomenon at $\aleph_0$. The countability of the dense family is the essential hypothesis in the recursive proof: for an uncountable family there is no sequence $(p_n)_{n\in\omega}$ that can visit every requirement. There is also a concrete obstruction to meeting all dense sets at once. In Cohen forcing, for each real $x\in 2^\omega$ the set
\begin{align*}
E_x=\{p:\exists n\in\operatorname{dom}(p)\ p(n)\ne x(n)\}
\end{align*}
is dense, and the sets forcing totality of the generic real are dense as well. A filter meeting the totality requirements determines some $g\in 2^\omega$, but it cannot also meet $E_g$. Thus the recursive proof handles only the listed countable family, not the collection of all dense subsets of $P$. The new content begins when one asks to meet uncountably many specified dense sets below a controlled cardinal bound, and Cohen forcing remains the guiding example because it shows how filters meeting dense sets become mathematical objects.
[example: Meeting Dense Sets In Cohen Forcing]
For each $n \in \omega$, let
\begin{align*}
D_n = \{p \in \operatorname{Add}(\omega,1) : n \in \operatorname{dom}(p)\}.
\end{align*}
Each $D_n$ is dense, since any finite partial function can be extended by assigning a value at $n$. A filter $G$ meeting all $D_n$ determines a total function $g: \omega \to 2$ by $g(n)=p(n)$ whenever $p \in G$ and $n \in \operatorname{dom}(p)$. Directedness guarantees that this value is independent of the chosen condition.
[/example]
This example shows the template for many applications: encode each requirement as a dense set, apply the axiom, and read the desired object from the resulting filter. The same template also links forcing axioms with category, because dense sets in a poset behave like dense open sets in a topological space.
## Baire Category And Dense Open Sets
The topological question behind Martin's axiom is whether the Baire category theorem can be strengthened from countable intersections to longer intersections. For a topological space arising from a ccc forcing, dense open sets of the space correspond to dense subsets of the forcing order.
[definition: Martin Space Of A Poset]
Let $P$ be a poset, ordered so that stronger conditions are smaller. The Martin space of $P$ is
\begin{align*}
\mathsf{Filt}(P)=\{G\subseteq P:G\text{ is a filter on }P\}.
\end{align*}
Its associated forcing topology has basic open sets
\begin{align*}
N_p = \{G : G \text{ is a filter on } P \text{ and } p \in G\}
\end{align*}
for $p \in P$.
[/definition]
This definition is a bookkeeping device rather than a new forcing construction. We use the topology generated by the subbasic-looking sets $N_p$, and a basic neighbourhood of a filter $G$ is any open set containing some $N_p$ with $p\in G$. With this convention, $N_q\subseteq N_p$ whenever $q\le p$, so strengthening a condition corresponds to moving to a smaller neighbourhood. The point is that meeting a dense subset of $P$ is the filter-theoretic form of lying in a dense open set. This motivates the formal equivalence between the forcing statement and a category-style intersection statement.
[quotetheorem:6566]
[citeproof:6566]
This equivalence gives the right intuition but should not be confused with the ordinary Baire category theorem. The space here is the filter space generated by the basic sets $N_p$ for a fixed ccc poset $P$, and the theorem is a translation between order-theoretic genericity and this particular topology. It also has a sharp length limitation: in the Martin space of Cohen forcing, the open dense sets corresponding to the requirements $E_x$ above, together with the countably many totality requirements, have empty total intersection when $x$ ranges over all of $2^\omega$. Thus the category formulation says something powerful for families below the Martin-axiom bound, not for arbitrary long families of dense open sets. The first concrete consequence is that fewer than the relevant number of nowhere dense sets cannot cover the real line.
[quotetheorem:6567]
[citeproof:6567]
The nowhere dense hypothesis is essential in the interval argument: if $A=\mathbb Q$, then $A$ is not nowhere dense after closure, and no non-empty open interval has closure disjoint from $\overline A=\mathbb R$. The ccc hypothesis is also essential to the method. In an uncountable discrete space, the poset of non-empty open sets ordered by reverse inclusion has the singleton open sets as an uncountable antichain, so Martin's axiom gives no filter-building conclusion for that poset. The rational-interval choice supplies a countable base for the real-line argument; replacing it by an arbitrary open-set forcing in a non-second-countable space can lose ccc. The cardinal bound cannot be removed: the continuum-sized family of singleton sets covers $\mathbb R$, and each singleton is nowhere dense. The theorem does not construct a canonical real outside the cover; it only guarantees existence through the filter. This result is often phrased using a cardinal invariant rather than a particular list of nowhere dense sets, and that invariant records the least size of a meagre cover.
[definition: Covering Number For The Meagre Ideal]
The cardinal $\operatorname{cov}(\mathcal M)$ is the least cardinal $\lambda$ such that $\mathbb R$ is the union of $\lambda$ many meagre subsets of $\mathbb R$.
[/definition]
Since every meagre set is a countable union of nowhere dense sets, the preceding theorem handles meagre sets after multiplying the number of requirements by $\aleph_0$. This motivates the exact computation of $\operatorname{cov}(\mathcal M)$ under the full Martin's axiom scheme.
[quotetheorem:6568]
[citeproof:6568]
The hypothesis that Martin's axiom holds for every $\kappa<2^{\aleph_0}$ is needed because a proposed smaller meagre cover may have any cardinality below the continuum, not just one fixed $\kappa$. The conclusion cannot be improved to rule out covers of size $2^{\aleph_0}$, since the union of all singleton reals is such a cover by nowhere dense sets. This is why the statement becomes informative when the continuum is larger than $\aleph_1$: under $CH$, a family of size $\aleph_1$ already has size continuum, so the usual form of $MA$ is studied together with $\neg CH$.
## Consequences Of Martin's Axiom Plus Not CH
The main use of $MA + \neg CH$ is that it lets constructions of length $\aleph_1$ behave like countable constructions, provided the requirements can be organized as dense sets in a ccc poset. We record the consequences most often used in topology, measure/category arguments, and combinatorial set theory.
[quotetheorem:6569]
[citeproof:6569]
The hypothesis $\lambda<2^{\aleph_0}$ is the exact range supplied by the full Martin-axiom scheme; at size continuum the singleton cover shows the statement fails. The assumption $\neg CH$ is not used in the proof except to make $\aleph_1<2^{\aleph_0}$ available for applications. Thus the theorem does not say that all transfinite category arguments become countable ones, only that those with fewer than continuum many requirements can be handled when the requirements are encoded in ccc forcing. The same filter-building pattern applies in many spaces besides $\mathbb R$.
[example: Avoiding Many Closed Nowhere Dense Sets]
Let $X$ be a compact [metric space](/page/Metric%20Space) with a countable base $\mathcal B$ of non-empty open sets ordered by reverse inclusion, and assume that whenever $B\in\mathcal B$ and $x\in B$, there is $C\in\mathcal B$ with $x\in C$ and $\overline C\subseteq B$. Suppose $(F_i)_{i < \lambda}$ is a family of closed nowhere dense subsets of $X$ with $\lambda < 2^{\aleph_0}$ and assume $MA$. For each $i$, the set of basic open sets $B$ whose closure avoids $F_i$ is dense: from any basic open set, choose a point outside $F_i$ and then shrink the basic neighbourhood so that its closure misses $F_i$.
Add dense requirements saying that the chosen basic open set has diameter below $1/n$ for each $n\in\omega$. A filter meeting these requirements gives a directed family of basic open sets, rather than a single nested sequence. Directedness makes any two chosen closures have a smaller chosen closure inside their intersection, while the diameter requirements force the closed sets to converge to a unique point. Compactness supplies that point, and the avoidance requirements keep it outside every $F_i$.
[/example]
Measure applications require more care because null sets are not the same as meagre sets. Still, forcing axioms often convert a transfinite list of measure-theoretic requirements into a single object meeting them. This motivates the parallel statement for the null ideal, whose proof uses a ccc forcing adapted to small-measure covers.
[quotetheorem:6570]
[citeproof:6570]
The nullness of each $N_i$ is essential: under $MA_\kappa$ a single positive-measure set remains positive and cannot be covered by arbitrarily small open sets. The cardinal bound is sharp in the usual full form of Martin's axiom. Under $MA_\kappa$ the proof handles at most $\kappa$ null sets, while the union of all singleton sets $\{x\}$ for $x\in\mathbb R$ is a continuum-sized family of null sets whose union is not null. Thus no theorem of this form can extend past the continuum-sized obstruction. The theorem does not identify meagre and null sets; it gives a parallel regularity result by using a different ccc poset. The next consequence moves from ideals on the real line to infinite combinatorics on $\omega$, but the proof again builds one object through dense requirements.
[remark: Category And Measure Are Parallel But Distinct]
The meagre ideal and the null ideal are governed by different forcing notions. Category arguments commonly use Cohen-style open-set forcing, while measure arguments use random or measure-algebra ideas. Martin's axiom applies because the relevant forcing notions are ccc, not because meagreness and nullity are the same property.
[/remark]
Almost disjoint families are a natural test case for this method: the desired object is an infinite subset of $\omega$ whose intersections with many old infinite sets are finite. To state the application, we first name the family structure that records finite-overlap behaviour.
[definition: Almost Disjoint Family]
A family $\mathcal A \subseteq [\omega]^\omega$ is almost disjoint if $A \cap B$ is finite whenever $A,B \in \mathcal A$ and $A \ne B$.
[/definition]
Maximal almost disjoint families are built by preventing the addition of any further infinite set almost disjoint from all members. A finite almost disjoint family can already be maximal, for instance a finite partition of $\omega$ into infinite pieces. The standard Martin-axiom consequence is therefore stated below the continuum: under the full scheme $MA_\kappa$ for all $\kappa<2^{\aleph_0}$, no infinite maximal almost disjoint family has size below the continuum. The forcing will try to build a new infinite set, while each old member of $\mathcal A$ contributes a requirement saying that future points must avoid it except finitely often. An infinite almost disjoint family supplies the key density fact, because any finite subfamily leaves infinitely many points inside some unused member of the family.
[quotetheorem:6571]
[citeproof:6571]
The infinitude hypothesis rules out the finite-partition obstruction: if finitely many members already cover all but finitely many integers, there may be no way to keep adding new large points outside the forbidden union. Almost disjointness is used in exactly the density argument above, because it guarantees that each finite forbidden union leaves infinitely many points inside any unused member of the family. The size bound below $2^{\aleph_0}$ is the natural sharp range of the full Martin-axiom scheme: ZFC constructs maximal almost disjoint families of size $2^{\aleph_0}$ by a transfinite recursion through all infinite subsets of $\omega$, so the conclusion cannot be extended to continuum-sized families. The theorem does not build a maximal almost disjoint family; it rules out infinite maximal almost disjoint families below the continuum. Under $MA+\neg CH$, it follows in particular that no infinite maximal almost disjoint family has size $\aleph_1$. We next turn to Suslin's hypothesis, where the object ruled out is a tree rather than a family of subsets of $\omega$.
[definition: Suslin Tree]
In this chapter, a Suslin tree is a normal tree $T$ of height $\omega_1$ such that every level is countable, every antichain is countable, and every chain is countable. Normality means that every node has extensions on all higher levels below $\omega_1$.
[/definition]
This is a convention for the chapter. Some references define Suslin trees without building normality into the definition, and then add normality as a separate reduction before the forcing argument. The normality convention is what makes the proof below literally match the level-density requirements. Without it, the sets of nodes above a fixed level need not be dense below an arbitrary node, so one must first replace the tree by a normal subtree or state the argument only for normal Suslin trees.
Suslin's hypothesis says that there is no Suslin line; equivalently, in the standard formulation used in forcing courses, there is no Suslin tree. This motivates applying Martin's axiom to the tree itself as a forcing poset: meeting dense level requirements would create the branch that a Suslin tree forbids.
[quotetheorem:6572]
[citeproof:6572]
The ccc hypothesis is needed here because Martin's axiom applies only to ccc posets; a tree with an uncountable antichain could not be used as the forcing input. Normality is also essential for this proof, since terminal nodes or bounded branches would make the level sets fail to be dense. The theorem does not say that ZFC alone rules out Suslin trees; it says that the forcing axiom supplies exactly the missing generic branch. This is the cleanest example of Martin's axiom destroying an object whose existence is independent of ZFC, and it prepares the iteration question: how can one force enough ccc generic filters to make such arguments available in the universe?
## Forcing Martin's Axiom By Iteration
The consistency question is now reversed: instead of using Martin's axiom, we ask how to force it. The target is a model where $MA_\kappa$ holds for all $\kappa$ below the final continuum, while $CH$ fails.
[definition: Finite-Support Iteration]
A finite-support iteration of length $\lambda$ is a sequence
\begin{align*}
(P_\alpha, \dot Q_\alpha)_{\alpha < \lambda}
\end{align*}
such that $P_0$ is the one-point poset, $P_{\alpha+1}=P_\alpha * \dot Q_\alpha$, each $P_\alpha$ forces that $\dot Q_\alpha$ is a poset, and at limit stages conditions have finite support.
[/definition]
Finite support is the correct support notion for preserving ccc in long iterations. Countable support would introduce too much coordination at limit stages for general ccc posets. This motivates the preservation theorem that makes the whole forcing construction possible.
[quotetheorem:6573]
[citeproof:6573]
Finite support is essential in the limit-stage argument: the delta-system lemma applies to finite supports, while larger supports can introduce uncountable coordination that destroys ccc preservation. A concrete failure occurs with countable-support products: the countable-support product of $\omega_1$ many copies of Cohen forcing is not ccc, since conditions deciding distinct countable patterns can be arranged into an uncountable antichain at the limit stage. The hypothesis that each iterand is forced ccc is also necessary. If the first iterand is the ordinal $\omega_1$ ordered discretely, it is already a non-ccc forcing, and the one-step iteration is non-ccc before any preservation argument can begin. The theorem does not by itself produce Martin's axiom; it only ensures that a long construction designed to add many filters remains ccc. The remaining issue is bookkeeping: every ccc poset and every relevant family of dense sets must appear at some stage of the iteration.
[explanation: Relative Consistency Pattern for Martin's Axiom]
The standard iteration argument starts from a ground model with enough cardinal arithmetic for bookkeeping, builds a long finite-support ccc iteration, and obtains a ccc extension in which the continuum is a prescribed regular cardinal above $\aleph_1$ while $MA_\kappa$ holds for every $\kappa$ below that continuum. The point for these notes is the method: every relevant ccc poset and dense-set family is scheduled at some stage, and finite-support ccc preservation keeps the construction from collapsing $\omega_1$.
[/explanation]
The regularity and coding hypotheses on $\lambda$ are not cosmetic: they make the bookkeeping list long enough to capture all relevant names without exceeding the intended continuum. The ccc preservation theorem is also essential, since collapsing $\aleph_1$ would destroy the intended interpretation of $\neg CH$ and of the dense-set bounds. The result is a relative consistency theorem, not a ZFC proof of $MA+\neg CH$; it explains how the earlier applications can consistently become available for every family of size below the continuum.
[remark: Why The Axiom Stops Below The Continuum]
Martin's axiom cannot be extended to $MA_{2^{\aleph_0}}$ for all ccc posets. In Cohen forcing, dense sets can be chosen to decide incompatible global requirements for a real, and asking to meet continuum many of them may demand an object not compatible with the poset. The natural scheme is therefore $MA_\kappa$ for every $\kappa < 2^{\aleph_0}$.
[/remark]
The iteration proof also clarifies the role of $\neg CH$. By choosing the length of the iteration to be a cardinal larger than $\aleph_1$, the final continuum is made larger than $\aleph_1$, while the ccc preservation theorem prevents the collapse of $\aleph_1$.
[example: Bookkeeping For A Single Poset]
Suppose a name $\dot P$ for a ccc poset and names $(\dot D_i)_{i < \kappa}$ for dense subsets of $\dot P$ appear by stage $\alpha$ of an iteration. At a later stage $\beta$, the bookkeeping function assigns this package to $\dot Q_\beta=\dot P$. The generic object added at stage $\beta$ is a filter on $\dot P$ meeting each $\dot D_i$. In the final model, this stage witnesses the required instance of $MA_\kappa(\dot P)$ for that particular package.
[/example]
The chapter's main lesson is that forcing axioms are genericity principles internalized into the universe. Rasiowa--Sikorski gives the countable case, Martin's axiom extends it to many dense requirements for ccc posets, and finite-support ccc iterations explain the relative consistency of this extension with a large continuum. The consequences are broad because many mathematical constructions can be expressed as the task of meeting dense requirements.
# 9. Iterated Forcing
After the single-step forcing constructions, preservation theorems, and Martin's axiom iteration preview from earlier chapters, this chapter studies iterated forcing systematically. The prerequisites are the forcing relation, names, generic filters over countable transitive models, dense-set arguments, and the preservation properties ccc and closure. The aim of this chapter is to explain how several forcing extensions are assembled into one controlled construction, and how support choices at limit stages interact with preservation theorems.
Forcing with a single partial order already lets us build one generic extension, but many applications require a controlled sequence of extensions. We may want to add one real, then force a statement over the resulting universe, or arrange a long construction that meets many requirements without destroying earlier work. Iterated forcing provides the bookkeeping language for doing this: later forcing notions are allowed to be names whose meaning is decided only after the earlier generics have been added.
## Two-Step Iterations and Intermediate Extensions
Suppose we first force with a poset $P$ and then, in the extension by the first generic, force with another poset. The problem is to describe this two-stage process inside the ground model, before the second poset has become an actual object. The solution is to use a $P$-name for the later forcing notion and to package both stages into a single partial order.
[definition: Two-Step Iteration]
Let $P$ be a forcing poset and let $\dot Q$ be a $P$-name such that
\begin{align*}
1_P \Vdash ``\dot Q \text{ is a forcing poset}''.
\end{align*}
The two-step iteration $P * \dot Q$ is the poset whose conditions are pairs $(p, \dot q)$ such that $p \in P$ and
\begin{align*}
p \Vdash ``\dot q \in \dot Q''.
\end{align*}
The order is given by
\begin{align*}
(p_1, \dot q_1) \le (p_0, \dot q_0)
\end{align*}
iff $p_1 \le_P p_0$ and
\begin{align*}
p_1 \Vdash ``\dot q_1 \le_{\dot Q} \dot q_0''.
\end{align*}
[/definition]
The first coordinate strengthens the first forcing, while the second coordinate is compared only according to what the stronger first coordinate forces. This is why the second coordinate is a name rather than a ground-model condition.
[example: Cohen Then Cohen]
Let $P=\operatorname{Add}(\omega,1)$, and let $\dot Q$ be the canonical $P$-name for $\operatorname{Add}(\omega,1)$ in the first extension. A condition in $P*\dot Q$ consists of a finite binary approximation to the first Cohen real and a name for a finite binary approximation to the second. The resulting extension contains two mutually generic Cohen reals; a dense-set argument identifies this iteration with the usual forcing $\operatorname{Add}(\omega,2)$, up to forcing equivalence.
[/example]
The point of the two-step definition is that it preserves the intuitive picture of two successive extensions. If $G*H$ is generic for $P*\dot Q$, then its projections recover the first generic and the second generic interpreted in the first extension.
[explanation: Factor Lemma]
Two-step forcing can be read either as one forcing $P*\dot Q$ over the ground model or as first forcing with $P$ and then forcing with the interpreted poset $\dot Q_G$ over $M[G]$. If $K$ is generic for $P*\dot Q$, its projections give a $P$-generic filter $G$ and a $\dot Q_G$-generic filter $H$, with the resulting extension identified as $M[K]=M[G][H]$; conversely, suitable $G$ and $H$ combine into a generic filter for the two-step iteration.
[/explanation]
This lemma justifies switching between the external language of a single product-like forcing and the internal language of successive forcing extensions. Its hypotheses are doing real work. The requirement that $\dot Q$ is a $P$-name forced to be a poset is what makes the second coordinate meaningful in $M[G]$; if a proposed second coordinate is not forced to belong to the interpreted poset, the expression $\dot q_G\in \dot Q_G$ may fail for some generics and cannot define a uniform two-stage order. The genericity assumptions also cannot be weakened to arbitrary filters: a filter on $P*\dot Q$ that misses a dense set may project to a non-generic first coordinate, so the equality $M[K]=M[G][H]$ is not even the right statement. The lemma does not say that $P*\dot Q$ is the same poset as a ground-model product $P\times Q$; the second forcing may depend on the first generic, and that dependence is precisely why names are needed.
The [factor lemma](/theorems/6575) also raises a reverse problem. Suppose a large forcing $R$ contains a complete copy of an earlier forcing $P$, and the $P$-generic has already been chosen. To continue the construction inside $M[G]$, we need a forcing notion that contains exactly the $R$-conditions still compatible with the generic information already fixed. This residual forcing is the quotient forcing.
[definition: Quotient Forcing]
Let $i:P\to R$ be a complete embedding of forcing posets, and let $G\subseteq P$ be $P$-generic over $M$. In $M[G]$, the quotient forcing $R/G$ is
\begin{align*}
R/G = \{r\in R : \forall p\in G\, (r \text{ is compatible with } i(p))\},
\end{align*}
ordered by the restriction of the order on $R$.
[/definition]
The quotient is the forcing that remains after the $P$-part of $R$ has already been made generic. It is especially useful when a large iteration is factored at an intermediate stage.
[quotetheorem:6576]
[citeproof:6576]
Associativity means that a finite iteration can be written without worrying about parentheses. The result is not a license to ignore coding: $\dot R$ must be translated coherently between a $P*\dot Q$-name and a $P$-name for a $\dot Q$-name, otherwise the two displayed posets may interpret different third-stage forcings after the same first two generics. A typical pitfall is to treat a third-stage name as if it were already a ground-model object; then the formal expression $(\dot Q*\dot R)$ may not be a $P$-name for a two-step iteration at all. The lemma also has no preservation content by itself: associating parentheses differently does not show that chain conditions, closure, properness, or cardinal preservation survive.
For longer iterations, however, associativity still leaves a new choice. At a limit stage there is no last forcing coordinate, so we must decide how much of the earlier generic history a single condition is allowed to mention.
## Finite-Support Iterations of ccc Forcing
The main preservation question is whether an iteration can accidentally create a large antichain even when every individual forcing is well behaved. For finite-support iterations of ccc posets, the answer is no: if each stage has no uncountable antichain, then the whole finite-support iteration has no uncountable antichain.
[definition: Finite-Support Iteration]
Let $\langle P_\alpha, \dot Q_\alpha : \alpha<\kappa\rangle$ be defined recursively. Set $P_0=\{1\}$. At successor stages,
\begin{align*}
P_{\alpha+1}=P_\alpha * \dot Q_\alpha,
\end{align*}
where $1_{P_\alpha}\Vdash ``\dot Q_\alpha \text{ is a forcing poset}''$. At a limit ordinal $\lambda\le \kappa$, $P_\lambda$ consists of functions $p$ with finite support
\begin{align*}
\operatorname{supp}(p)=\{\alpha<\lambda : p(\alpha)\ne 1_{\dot Q_\alpha}\}
\end{align*}
such that $\operatorname{dom}(p)=\lambda$, each coordinate $p(\alpha)$ is a $P_\alpha$-name with
\begin{align*}
p|_\alpha \Vdash ``p(\alpha)\in \dot Q_\alpha'',
\end{align*}
and $p|_\alpha\in P_\alpha$ for every $\alpha<\lambda$. The order is coordinatewise forced extension.
[/definition]
The notation $p(\alpha)\ne 1_{\dot Q_\alpha}$ is shorthand: $p(\alpha)$ is a $P_\alpha$-name, and the assertion that it is nontrivial is interpreted over the earlier coordinates. Thus finite support does not mean that all later forcing notions already exist as ground-model posets; it means that only finitely many named coordinates are used by the condition.
The finite support condition says that each condition actively mentions only finitely many stages. To state the preservation property that finite support is designed to protect, we now isolate the chain condition that rules out uncountable antichains.
[definition: Countable Chain Condition]
A forcing poset $P$ has the countable chain condition, abbreviated ccc, if every antichain in $P$ is countable.
[/definition]
The ccc is important because it preserves cardinals and cofinalities at least at the first uncountable level, and because many classical real-adding forcings satisfy it. The obstruction in an iteration is that incompatibilities can accumulate at limit stages: even if each individual coordinate has only countable antichains, a long construction might combine decisions from many coordinates into an uncountable antichain. Finite support is designed to prevent that accumulation by keeping each condition dependent on only finitely many stages, so the preservation question becomes whether this finite bookkeeping is strong enough to keep the whole iteration ccc.
[quotetheorem:6577]
[citeproof:6577]
This preservation theorem is the engine behind many consistency results at the level of the continuum. It lets us repeat small ccc forcing notions many times while keeping $\omega_1$ intact.
Both hypotheses matter. If the iterands are not ccc, the conclusion can fail at the first nontrivial stage: forcing with $\operatorname{Coll}(\omega,\omega_1)$ has an uncountable antichain and collapses $\omega_1$. If one replaces finite support by countable support, even ccc iterands need not yield a ccc limit forcing; countable-support products or iterations of many Cohen-type forcings can introduce uncountable antichains because conditions may coordinate countably much information at once. The theorem also does not preserve every cardinal feature: ccc forcing preserves cardinals and cofinalities, but it may change $2^{\aleph_0}$, and in fact increasing the continuum is one of its main uses.
[example: Adding Many Cohen Reals]
Let $\kappa$ be an uncountable cardinal, and consider the finite-support iteration of length $\kappa$ in which every iterand is forced to be $\operatorname{Add}(\omega,1)$. The final forcing $P_\kappa$ is ccc by the preservation theorem. In the generic extension, for each $\alpha<\kappa$ there is a Cohen real $c_\alpha$ added at stage $\alpha$, and the usual density argument shows that these reals are distinct. Therefore the extension satisfies $2^{\aleph_0}\ge \kappa$, while cardinals protected by ccc preservation are not collapsed.
[/example]
The same method can do more than add independent reals. By choosing at each stage a ccc forcing designed to meet a particular dense-set requirement, finite-support iterations can force global combinatorial principles.
[example: Iterating Toward Martin's Axiom]
Fix a regular cardinal $\kappa$ with $\kappa^{<\kappa}=\kappa$, and arrange a bookkeeping enumeration of names for pairs consisting of a ccc forcing and fewer than $\kappa$ dense subsets of it. At stage $\alpha<\kappa$, if the bookkeeping item names a ccc poset together with dense sets, force with that poset; otherwise use the one-point forcing. The finite-support preservation theorem keeps the whole iteration ccc. In the final extension, every ccc poset of size less than $\kappa$ appearing in the bookkeeping has a filter meeting the specified dense sets, giving the usual forcing pattern for Martin's axiom restricted below $\kappa$.
[/example]
This example hides substantial bookkeeping, but the structure is the same as the Cohen-real iteration: finite support is paired with ccc iterands so that many requirements can be handled without destroying the chain condition.
## Countable-Support Iterations and Closed Forcing
Finite support is well suited to ccc forcing, but it is often the wrong support notion for closed or proper forcing. If conditions are meant to build countable approximations, then a limit condition may need to remember countably many earlier decisions. Countable-support iterations address this by allowing countable support at limit stages.
[definition: Countable-Support Iteration]
Let $\langle P_\alpha, \dot Q_\alpha : \alpha<\kappa\rangle$ be an iteration as above. At a limit ordinal $\lambda\le\kappa$, the countable-support version defines $P_\lambda$ to consist of functions $p$ with $\operatorname{dom}(p)=\lambda$ whose support
\begin{align*}
\operatorname{supp}(p)=\{\alpha<\lambda : p(\alpha)\ne 1_{\dot Q_\alpha}\}
\end{align*}
is countable, such that each $p(\alpha)$ is a $P_\alpha$-name forced by $p|_\alpha$ to be a condition in $\dot Q_\alpha$, and such that $p|_\alpha\in P_\alpha$ for every $\alpha<\lambda$. The order is again coordinatewise forced extension.
[/definition]
Countable support gives more closure at limit stages, but it does not preserve ccc in general. The property it is meant to preserve in the simplest case is closure under countable descending sequences, so we name that condition next.
[definition: Countably Closed Forcing]
A forcing poset $P$ is countably closed if every descending sequence
\begin{align*}
p_0 \ge p_1 \ge p_2 \ge \cdots
\end{align*}
in $P$ has a lower bound $q\in P$ with $q\le p_n$ for every $n\in\mathbb N$.
[/definition]
Countable closure is a strong approximation property. The preservation question it answers is whether a forcing can create a new countable sequence cofinal in the ground-model $\omega_1$.
[quotetheorem:6578]
[citeproof:6578]
This theorem separates preservation of $\omega_1$ from the ccc. A countably closed forcing can have large antichains, so preserving $\omega_1$ does not imply ccc and does not by itself control the size of the continuum. It also does not say that all cardinals are automatically preserved: stronger closure or chain-condition hypotheses are usually needed to rule out collapses higher up. The closure assumption cannot simply be dropped; for example $\operatorname{Coll}(\omega,\omega_1)$ is not countably closed and forces the ground-model $\omega_1$ to become countable.
The iteration version is subtler because closure must survive through many stages. The countably closed case is a model for the support idea, while proper forcing requires a richer theory involving countable elementary submodels.
[quotetheorem:6583]
[citeproof:6583]
This theorem is a clean preservation statement for closed forcing, but its support and closure assumptions are tuned to each other. Finite support is too small for the standard lower-bound argument at a countable limit: a descending sequence may introduce a new active coordinate at each step, and the union of those coordinates is countable but not finite, so no finite-support condition can record the natural coordinatewise lower bound. Countable closure is also essential; countable support alone does not prevent a non-closed iterand from adding a new countable cofinal sequence to $\omega_1$. The theorem does not say that the iteration is ccc, proper for free, or harmless at all larger cardinals; it only gives countable closure, and hence preservation of $\omega_1$, under the stated hypotheses.
In proper forcing theory, countable-support iterations also preserve properness, but that preservation theorem belongs to the broader theory of master conditions and countable elementary submodels.
[remark: Proper Forcing Iterations]
A forcing poset is proper if it preserves $\omega_1$ by a robust genericity condition over countable elementary submodels. The countable-support iteration theorem for proper forcings extends the same support philosophy beyond closed posets: the support is large enough to build master conditions through countable approximations. This is why countable support, rather than finite support, is the natural iteration scheme for many forcing constructions that preserve $\omega_1$ without being closed.
[/remark]
The following example illustrates the closed case without invoking the full machinery of proper forcing.
[example: Iterating Closed Forcings]
Let $\kappa$ be an ordinal and let $\langle P_\alpha,\dot Q_\alpha:\alpha<\kappa\rangle$ be a countable-support iteration in which each $\dot Q_\alpha$ is forced to be countably closed. For instance, each stage may shoot a closed unbounded subset through a suitable stationary-like target using countable closed approximations, in a context where the target is chosen so that the forcing is countably closed. The final forcing is countably closed by the iteration theorem. Hence it preserves $\omega_1$, and the generic extension contains the closed sets added at all stages.
[/example]
Iterated forcing is therefore a balance between the support convention and the preservation property. Finite support pairs with ccc forcing and underlies Cohen-real iterations and Martin's axiom constructions; countable support pairs with closed or proper forcing and underlies preservation of $\omega_1$ across longer constructions.
# 10. Cardinal Characteristics of the Continuum
This chapter connects forcing with the fine structure of the continuum. After the chapters on Cohen forcing, Martin's axiom, and iterated forcing, we now ask which combinatorial features of the real line are being changed. The central objects are cardinal characteristics: cardinals defined as the least size of a family of reals, functions, or null and meagre sets with a specified covering, avoidance, or cofinality property.
The chapter has three goals. First, we define the main invariants in Cichon's diagram and prove the basic inequalities among them. Second, we compute how the standard forcing notions already studied affect category, measure, unboundedness, and domination. Third, we explain how independence patterns are organised by forcing constructions and how Martin's axiom can be read as a simultaneous statement about many of these invariants. Throughout, $\mathfrak{c}$ denotes the cardinality of the continuum:
\begin{align*}
\mathfrak{c}=|\mathbb{R}|=|2^{\mathbb{N}}|=|\mathbb{N}^{\mathbb{N}}|.
\end{align*}
## Bounding and Dominating Families
A recurring question in forcing is whether a new real eventually dominates all old functions, or whether it merely escapes every old bound. The partial order $(\mathbb{N}^{\mathbb{N}},\leq^*)$ packages this question into a single combinatorial relation. We first isolate the relation itself, and then ask for the least size of families that are unbounded or cofinal for it.
[definition: Eventual Domination]
Let $f,g: \mathbb{N}\to\mathbb{N}$. We write $f\leq^* g$ if there exists $n_0\in \mathbb{N}$ such that $f(n)\leq g(n)$ for all $n\geq n_0$.
[/definition]
This relation ignores finitely many initial values. That is why it is the right order for forcing arguments about reals: a condition often decides only a finite initial segment of a name, while dense sets can be used to impose constraints on all sufficiently late coordinates. Once this eventual order is fixed, the next question is whether a family escapes every single eventual upper bound, or instead supplies eventual upper bounds for all functions.
[definition: Bounding and Dominating Numbers]
The bounding number $\mathfrak{b}$ is the least cardinality of a family $B\subset \mathbb{N}^{\mathbb{N}}$ such that for every $g:\mathbb{N}\to\mathbb{N}$ there is $f\in B$ with $f\nleq^* g$.
The dominating number $\mathfrak{d}$ is the least cardinality of a family $D\subset \mathbb{N}^{\mathbb{N}}$ such that for every $g:\mathbb{N}\to\mathbb{N}$ there is $f\in D$ with $g\leq^* f$.
[/definition]
The first definition says that $B$ cannot be bounded by a single function under eventual domination. The second says that $D$ is cofinal in the eventual domination order.
[example: Countable Families Are Bounded]
Let $(f_k)_{k\in\mathbb{N}}$ be a countable family in $\mathbb{N}^{\mathbb{N}}$. Define $g(n)=\max\{f_1(n),\dots,f_n(n)\}+1$. Then for each fixed $k$, once $n\geq k$ we have $f_k(n)<g(n)$, so $f_k\leq^* g$. This shows that no countable family is unbounded, and hence $\mathfrak{b}>\aleph_0$.
[/example]
The diagonal construction explains the basic lower bound on $\mathfrak{b}$ and shows how eventual domination turns countable information into a single bound. The next theorem is needed because forcing arguments will often produce a dominating family first, and we must know that such a family automatically witnesses unboundedness as well.
[quotetheorem:6579]
[citeproof:6579]
The hypothesis that $D$ is genuinely dominating is essential: an arbitrary unbounded family need not be cofinal in $(\mathbb{N}^{\mathbb{N}},\leq^*)$, so the same argument cannot be reversed. For a concrete contrast, the family $B=\{f_\alpha:\alpha<\mathfrak{b}\}$ witnessing $\mathfrak{b}$ is unbounded by definition, but in any model with $\mathfrak{b}<\mathfrak{d}$ it cannot be dominating, since every dominating family has size at least $\mathfrak{d}$. Even in ZFC, a countable family such as $\{n\mapsto kn:k\in\mathbb{N}\}$ is dominated by $n\mapsto n^2$, so mere growth diversity is not enough. The theorem does not identify $\mathfrak{b}$ and $\mathfrak{d}$; it only says that any model with separated values must have $\mathfrak{b}$ as the smaller one. This is the first example of a ZFC arrow in a cardinal-characteristic diagram, and later forcing computations must respect it when deciding whether a generic real is merely unbounded or actually dominating.
## Null and Meagre Ideals
Ordinary cardinality does not see the main smallness notions on the real line. A null set may have cardinality $\mathfrak{c}$, and a meagre set may also have cardinality $\mathfrak{c}$, so asking only for the size of a set misses the difference between measure-theoretic and category-theoretic smallness. The right questions are instead ideal-theoretic: how many small sets are needed to cover the space, how many can be united while remaining small, how small a non-small set can be, and how large a basis for all small sets must be. In forcing, meagre sets are tied to Cohen forcing and null sets to random forcing, because the corresponding generic real is constructed to avoid all ground-model small sets of that type.
[definition: Cardinal Characteristics of an Ideal]
Let $X$ be a set and let $\mathsf{Id}_{\mathrm{pt}}(X)$ be the class of ideals on $X$ containing all singletons. The cardinal-characteristic operators
\begin{align*}
\operatorname{add},\operatorname{cov},\operatorname{non},\operatorname{cof}:\mathsf{Id}_{\mathrm{pt}}(X)\to\mathrm{Card}
\end{align*}
are defined as follows for $\mathcal{I}\in\mathsf{Id}_{\mathrm{pt}}(X)$.
\begin{align*}
\operatorname{add}(\mathcal{I})
&=\min\{|\mathcal{A}|:\mathcal{A}\subseteq\mathcal{I}\text{ and }\bigcup\mathcal{A}\notin\mathcal{I}\}.
\end{align*}
\begin{align*}
\operatorname{cov}(\mathcal{I})
&=\min\{|\mathcal{A}|:\mathcal{A}\subseteq\mathcal{I}\text{ and }\bigcup\mathcal{A}=X\}.
\end{align*}
\begin{align*}
\operatorname{non}(\mathcal{I})
&=\min\{|A|:A\subseteq X\text{ and }A\notin\mathcal{I}\}.
\end{align*}
\begin{align*}
\operatorname{cof}(\mathcal{I})
&=\min\{|\mathcal{A}|:\mathcal{A}\subseteq\mathcal{I}\text{ and }(\forall B\in\mathcal{I})(\exists A\in\mathcal{A})\,B\subseteq A\}.
\end{align*}
[/definition]
The invariant $\operatorname{add}(\mathcal{I})$ measures how many small sets are needed before their union may become large, while $\operatorname{cof}(\mathcal{I})$ measures the size of a basis for the ideal. The two middle numbers ask how many small sets cover the whole space and how small a non-small set can be.
[definition: Null and Meagre Ideals]
Let $\mathcal{N}$ be the ideal of Lebesgue null subsets of $\mathbb{R}$. Let $\mathcal{M}$ be the ideal of meagre subsets of $\mathbb{R}$.
[/definition]
For category, the corresponding invariants are unchanged when one passes between the standard Polish presentations used in the course, such as $\mathbb{R}$, $2^{\mathbb{N}}$, and $\mathbb{N}^{\mathbb{N}}$, using the usual comeagre-domain homeomorphisms and coding conventions. For measure, the comparison uses standard probability-space isomorphisms between non-atomic standard Borel probability spaces, or explicit null-preserving codings. Thus the notation $\mathcal{N}$ and $\mathcal{M}$ suppresses harmless presentation choices, but not arbitrary Borel isomorphisms, which need not preserve nullness or meagreness.
[example: The Meaning of Covering and Uniformity]
The equality $\operatorname{cov}(\mathcal{M})=\aleph_1$ says that the real line can be covered by $\aleph_1$ many meagre sets. The inequality $\operatorname{non}(\mathcal{M})>\aleph_1$ says that every set of reals of size $\aleph_1$ is meagre. In a long finite-support iteration adding Cohen reals, a later Cohen real avoids every meagre code appearing at an earlier stage, so small old lists of meagre sets fail to cover the final reals. By contrast, preserving a fixed small ground-model set as nonmeagre is a structural obstruction to raising $\operatorname{non}(\mathcal{M})$; the invariant records whether the construction destroys all small nonmeagre witnesses or protects one.
[/example]
This example gives the intended reading of the invariants, but it does not yet say which inequalities ZFC itself imposes. The next theorem is needed before specializing to null and meagre sets, because it records the constraints that hold for any ideal with singleton sets as small sets.
[quotetheorem:6580]
[citeproof:6580]
The assumptions cannot simply be dropped. If $\mathcal{I}=\{\varnothing\}$ on a two-point set, then singletons are not small, and the cofinal family $\{\varnothing\}$ gives no way to cover points by members of the ideal. If $X\in\mathcal{I}$, for instance for the indiscrete ideal $\mathcal{I}=\mathcal{P}(X)$, then $\operatorname{cov}(\mathcal{I})=1$ while $\operatorname{non}(\mathcal{I})$ has no witness inside $X$; the intended small-versus-large distinction has collapsed. The theorem also gives no comparison between two different ideals, so it does not explain why null invariants should interact with meagre invariants or with $\mathfrak{b}$ and $\mathfrak{d}$. Cichon's diagram is obtained precisely by adding those external interactions.
## Cichon's Diagram
The separate ideal diagrams for $\mathcal{N}$ and $\mathcal{M}$ interact with $\mathfrak{b}$ and $\mathfrak{d}$. Cichon's diagram is the organised list of the ZFC inequalities among these ten invariants; forcing shows that many missing inequalities cannot be proved in ZFC.
[quotetheorem:6584]
[citeproof:6584]
The hypotheses here are exactly the standard null ideal, the standard meagre ideal, and the eventual domination order. They are not cosmetic. If $\mathcal{I}$ is the ideal of countable subsets of $\mathbb{R}$, then $\operatorname{add}(\mathcal{I})=\aleph_1$ while the associated covering number is $\mathfrak{c}$, and the slalom localization argument has no measure-theoretic content. If $\mathcal{I}$ is the ideal generated by a fixed proper subset $A\subset\mathbb{R}$ together with all finite sets outside $A$, then cofinality reflects the chosen generator rather than any Polish smallness phenomenon. Likewise, replacing $\leq^*$ by pointwise domination would make finite changes relevant: the functions $f_k(n)=0$ for $n\neq k$ and $f_k(k)=k$ are pointwise unbounded in their moving coordinates but are harmless for eventual domination. The theorem therefore does not say that all ten invariants are equal, nor does it assert inequalities between entries not connected by arrows in the diagram; for example, it gives no ZFC comparison between $\operatorname{cov}(\mathcal{N})$ and $\operatorname{cov}(\mathcal{M})$. Its role is to give the mandatory constraints that every forcing construction must obey, so any proposed separation is checked first against these displayed inequalities.
[remark: Continuum Bounds]
Every invariant in Cichon's diagram lies between $\aleph_1$ and $\mathfrak{c}$. The lower bound follows because countable unions of null sets are null, countable unions of meagre sets are meagre, and countable families in $\mathbb{N}^{\mathbb{N}}$ are bounded. The upper bound follows because all witnessing families can be chosen from collections of reals or Borel codes of size at most $\mathfrak{c}$.
[/remark]
## Cohen, Random, and Hechler Forcing
We now ask what each of the three standard forcing notions does to the invariants. The guiding principle is that the generic real carries a combinatorial feature: Cohen reals avoid ground-model meagre sets, random reals avoid ground-model null sets, and Hechler reals dominate ground-model functions.
[definition: Cohen Forcing]
Cohen forcing is the partial order $2^{<\mathbb{N}}$ ordered by extension: $t\leq s$ if $s\subset t$.
[/definition]
A generic filter $G$ determines the Cohen real $c=\bigcup G\in 2^{\mathbb{N}}$. The finite-string presentation explains why this forcing is tied to category rather than measure: if a closed [nowhere dense set](/page/Nowhere%20Dense%20Set) is coded in the ground model, then every finite approximation can be extended to a basic open set disjoint from it. To use Cohen forcing in computations of $\operatorname{cov}(\mathcal{M})$ and $\operatorname{non}(\mathcal{M})$, we therefore need the precise avoidance theorem saying that the generic real defeats every old meagre code, not merely a single nowhere dense obstacle chosen in advance.
[quotetheorem:6585]
[citeproof:6585]
The countability of $M$ is what allows the generic filter to meet all dense sets coded in $M$; without that external countability argument, the proof cannot be run by a single real. The hypothesis that $A$ is coded in $M$ is also essential, since after forcing there are new meagre sets, including the singleton $\{c\}$, that certainly contain the Cohen real. Thus the theorem is not a statement that Cohen reals avoid every meagre set in the extension; it says they avoid the old coded meagre obstacles. This is exactly what is needed in iterations: later Cohen reals defeat earlier meagre codes, and the same finite-extension freedom suggests that Cohen reals can also escape fixed ground-model bounds infinitely often.
[quotetheorem:6581]
[citeproof:6581]
The coding of Cohen forcing into $\mathbb{N}^{\mathbb{N}}$ matters only to present the generic real as a function; any standard block coding gives the same unboundedness conclusion. The theorem does not say that the Cohen real dominates an old function, because the dense sets used above give infinitely many escapes rather than a single eventual lower bound. In fact, for any proposed Cohen name $\dot f$ read from finite binary information, a ground-model function can be chosen along long undecided blocks to exceed the values forced by a dense set of conditions, so Cohen forcing is not Hechler forcing in disguise. This distinction is central for the next comparison: random forcing gives the measure analogue of old-small-set avoidance, while Hechler forcing is designed to add the missing eventual lower-bound mechanism.
[definition: Random Forcing]
Random forcing is the measure algebra of Borel subsets of $2^{\mathbb{N}}$ of positive product measure, ordered by inclusion modulo null sets.
[/definition]
A generic filter determines a random real $r\in 2^{\mathbb{N}}$ meeting exactly the positive Borel conditions in the filter. This presentation is calibrated to null sets in the same way Cohen forcing is calibrated to meagre sets: deleting a null Borel set from a positive condition leaves another positive condition. The next theorem is the measure analogue of the Cohen avoidance result and is needed for later invariant computations, because an iteration raises or preserves null characteristics by ensuring that later random reals avoid every null code that appeared at earlier stages.
[quotetheorem:6586]
[citeproof:6586]
Nullness is the essential hypothesis: if $B\subseteq 2^{\mathbb{N}}$ has positive measure, a random real can be forced to lie in $B$ by using $B$ itself as a condition. The ground-model coding hypothesis is equally important, since the extension contains new null sets such as $\{r\}$ that contain the random real. The theorem also does not give category avoidance: a dense $G_\delta$ null set can contain many random candidates topologically, and random forcing is calibrated to measure rather than nowhere dense sets. Thus random forcing gives avoidance of old null obstacles, not immunity from all null sets in the extension.
Avoidance arguments are not enough for domination. Cohen and random conditions can refine a finite or positive-measure approximation to meet many dense requirements, but neither condition carries a permanent lower bound for all later coordinates of a generic function. The next forcing notion adds precisely that missing component: a finite stem builds the real, while a tail function records obligations that every future extension must respect.
[definition: Hechler Forcing]
A condition in Hechler forcing $\mathbb{D}$ is a pair $(s,h)$ where $s\in \mathbb{N}^{<\mathbb{N}}$ and $h:\mathbb{N}\to\mathbb{N}$. The order is defined by $(t,k)\leq(s,h)$ if $s\subset t$, $k(n)\geq h(n)$ for all $n\in\mathbb{N}$, and $t(n)\geq h(n)$ for all $n\in \operatorname{dom}(t)\setminus\operatorname{dom}(s)$.
[/definition]
The finite stem $s$ records the values already committed for the generic function, and the lower bound $h$ controls all later values. This is exactly the extra structure Cohen forcing lacks when domination is required. The next theorem verifies that the lower-bound component is strong enough to dominate each old function after finitely many coordinates.
[quotetheorem:6582]
[citeproof:6582]
The lower-bound component is the indispensable hypothesis in this forcing definition. If conditions consisted only of finite stems, as in Cohen-style forcing, a condition could force a large value at a chosen coordinate but could not impose $g(n)\leq d_G(n)$ for all sufficiently large $n$. If the order allowed extensions to lower the tail function, the strengthened condition $(s,k)$ would no longer protect future stem values, so the proof would lose its eventual conclusion. The theorem also does not say that one Hechler real dominates functions added later in a longer iteration; it dominates the functions present at the stage where it is added. A concrete condition makes the separation between stem-building and eventual domination easier to track.
[example: Hechler Conditions as Approximations]
Take $s=(3,1,4)$ and let $h(n)=n^2$. A stronger condition may extend the stem to $t=(3,1,4,9,16)$, but the new entries must respect the old lower bound, so $t(3)\geq9$ and $t(4)\geq16$. It may also replace $h$ by a larger eventual lower bound $k$, for instance $k(n)=n^2+n$. The generic object is assembled from stems, while domination is guaranteed by the lower-bound component.
[/example]
## Separating Invariants by Forcing
The final question is how much freedom ZFC leaves among these invariants. Cichon's diagram supplies the compulsory inequalities; forcing supplies models in which many non-comparable entries take different values.
[explanation: Separating the Bounding and Dominating Numbers]
To force $\mathfrak{b}<\mathfrak{d}$, one builds a model with a small unbounded family but no small dominating family. A typical construction begins with a regular cardinal $\kappa$ intended to be $\mathfrak{b}$ and a larger regular cardinal $\lambda$ intended to be $\mathfrak{d}$, then uses an iteration that preserves an unbounded family of size $\kappa$ while preventing families of size below $\lambda$ from becoming dominating. The preservation argument is a reading-of-names argument: every name for a real appears at some stage, and later forcing is arranged so that it cannot dominate the protected family. Hechler-type stages, when used with bookkeeping, can instead make $\mathfrak{d}$ small by adding a dominating family of prescribed size.
[/explanation]
This pattern illustrates why preservation theorems from the iteration chapters are essential. Cardinal characteristics are rarely controlled by a single generic real; they are controlled by how every name for a real is read, bounded, localized, or dominated during the iteration.
[example: Reading Names for Reals in an Iteration]
Let $(\mathbb{P}_\alpha,\dot{\mathbb{Q}}_\alpha:\alpha<\lambda)$ be a finite-support iteration of ccc forcing notions. A $\mathbb{P}_\lambda$-name $\dot{x}$ for an element of $\mathbb{N}^{\mathbb{N}}$ is determined by countably many antichains deciding values $\dot{x}(n)$. Under finite support and ccc, those antichains use coordinates from a countable subset of $\lambda$. Hence $\dot{x}$ is already a $\mathbb{P}_A$-name for some countable $A\subset\lambda$, and in many bookkeeping arguments it can be handled at a later stage of the iteration.
[/example]
The same mechanism explains how category and measure invariants are controlled. To make $\operatorname{cov}(\mathcal{M})$ large, arrange that every small family of meagre codes appears early and is defeated by a later Cohen real. To make $\operatorname{non}(\mathcal{M})$ small, preserve a small set of reals that remains nonmeagre after the iteration.
[quotetheorem:6587]
[citeproof:6587]
Each hypothesis in the theorem supports a different part of the computation. The full ccc version of MA is needed for $\mathfrak{b}=\mathfrak{c}$ because the bounding argument uses a ccc poset tailored to an arbitrary family of functions, not only Cohen forcing. It is needed for the category equalities because the dense-open avoidance posets must be available for all families of fewer than $\mathfrak{c}$ meagre codes, and it is needed for the measure equalities because the measure algebra argument above is not a Cohen-forcing argument. The assumption $\neg\mathrm{CH}$ makes the conclusion substantive: under CH, all invariants in the statement already have value $\mathfrak{c}=\aleph_1$ by the universal lower and upper bounds, so MA would not be responsible for the computation. Weak fragments fail in different ways. In the Cohen model obtained by adding $\aleph_2$ Cohen reals over a CH ground model, the continuum is $\aleph_2$ but ground-model unbounded families of size $\aleph_1$ remain unbounded, so $\mathfrak{b}=\aleph_1<\mathfrak{c}$; this separates the bounding conclusion from category-style intuition. MA for Cohen forcing alone controls dense open category arguments but does not supply filters for the measure algebra, so it cannot yield the proof of $\operatorname{add}(\mathcal{N})=\mathfrak{c}$. The theorem does not compute every null invariant: it only asserts the measure equalities forced by this argument, while the remaining null values are constrained by Cichon's diagram. It is often the fastest way to translate forcing axioms into statements about the continuum, and it explains why MA is incompatible with many separations among the category invariants.
[remark: What Forcing Independence Looks Like]
A statement such as $\mathfrak{b}<\mathfrak{d}$ is not proved by naming two exotic cardinals. It is proved by building a forcing extension with witnesses: an unbounded family of size $\kappa$, a proof that every smaller candidate family is bounded or non-dominating as required, and a computation that the continuum has the intended size. The inequalities of Cichon's diagram then verify that the chosen values are not ruled out by ZFC.
[/remark]
# 11. Boolean-Valued Models and Alternative Perspectives
This chapter gives the course's algebraic formulation of forcing. Its goal is to replace the many individual condition-by-condition decisions in a forcing poset by a single Boolean truth value for each statement, and then to show that this algebraic semantics computes the same generic extensions as the original forcing relation. The prerequisites are the forcing theorem from Chapter 3, the name construction from Chapter 2, dense sets and generic filters from Chapter 1, and the basic theory of Boolean algebras.
The central construction is the regular open completion of a poset. It explains why many different-looking forcings have the same generic extensions: dense embeddings and Boolean completions identify the common complete Boolean algebra behind them. The chapter ends by applying this perspective to random forcing, where quotienting by null sets makes the Boolean algebra presentation more natural than a raw poset of Borel sets.
## From Conditions to Boolean Truth Values
A forcing condition gives partial information about the generic object. The Boolean-valued perspective asks a sharper question: instead of recording whether a condition forces a statement, can we assign to each statement a single algebraic value measuring the set of conditions that support it?
[definition: Complete Boolean Algebra]
A Boolean algebra $B$ is complete if every subset $A \subset B$ has a supremum $\bigvee A$ and an infimum $\bigwedge A$ in $B$.
[/definition]
Completeness is the algebraic replacement for the ability to take arbitrary dense-set decisions and arbitrary interpretations of names. To see what kind of object a Boolean value should be, it helps to begin with the complete Boolean algebra in which truth regions are literal subsets.
[example: Power Set Algebra]
Let $X$ be a set and let $B = \mathcal P(X)$ with union, intersection, complement, $0 = \varnothing$, and $1 = X$. Then $B$ is complete: for $\mathcal A \subset \mathcal P(X)$, the supremum is $\bigcup \mathcal A$ and the infimum is $\bigcap \mathcal A$. This example shows that complete Boolean algebras generalise ordinary set-theoretic truth regions.
[/example]
The power set example suggests reading a Boolean value as a region of possible generic worlds. To turn this intuition into a semantics for set theory, we need a universe whose elements carry Boolean coefficients rather than condition coefficients.
[definition: Boolean-Valued Universe]
Let $B$ be a complete Boolean algebra. The class $V^B$ of $B$-names is defined by recursion: a $B$-name is a function
\begin{align*}
\tau : \operatorname{dom}(\tau) \to B,
\end{align*}
where $\operatorname{dom}(\tau)$ is a set of $B$-names.
[/definition]
A usual forcing name is a set of pairs $(\sigma,p)$, where $p$ is a condition. A Boolean name replaces the collection of supporting conditions by a single Boolean coefficient attached to each possible member, so the next task is to define equality and membership from these coefficients.
[definition: Boolean Truth Values]
Let $B$ be a complete Boolean algebra. The atomic Boolean truth-value maps are functions
\begin{align*}
\|\cdot = \cdot\|_B &: V^B \times V^B \to B, &
\|\cdot \in \cdot\|_B &: V^B \times V^B \to B, &
\|\cdot \subset \cdot\|_B &: V^B \times V^B \to B.
\end{align*}
For $\sigma,\tau \in V^B$, their values are defined recursively by the following clauses.
\begin{align*}
\|\sigma \in \tau\|_B = \bigvee_{\rho \in \operatorname{dom}(\tau)} \tau(\rho) \wedge \|\sigma = \rho\|_B.
\end{align*}
\begin{align*}
\|\sigma \subset \tau\|_B = \bigwedge_{\rho \in \operatorname{dom}(\sigma)} \sigma(\rho) \Rightarrow \|\rho \in \tau\|_B.
\end{align*}
\begin{align*}
\|\sigma = \tau\|_B = \|\sigma \subset \tau\|_B \wedge \|\tau \subset \sigma\|_B,
\end{align*}
where $a \Rightarrow b := \neg a \vee b$.
\begin{align*}
\|\exists x\, \varphi(x)\|_B = \bigvee_{\tau \in V^B} \|\varphi(\tau)\|_B.
\end{align*}
\begin{align*}
\|\forall x\, \varphi(x)\|_B = \bigwedge_{\tau \in V^B} \|\varphi(\tau)\|_B.
\end{align*}
[/definition]
The recursion mirrors the ordinary interpretation of equality and membership in a universe of names. Boolean values for compound formulae are obtained from the Boolean connectives and the displayed quantifier clauses. Completeness is used exactly at the quantifier clauses, where arbitrary joins and meets are needed.
[remark: Class-Sized Joins]
The displayed quantifier clauses are read through the usual rank-bounded recursion on names. For each formula and tuple of parameters, the Boolean value is obtained at a sufficiently high rank, so the relevant joins and meets are set-sized inside the metatheory.
[/remark]
The Boolean value of a sentence is the algebraic version of the set of conditions forcing it, but this algebraic value is useful only if it recovers ordinary truth after a generic choice is made. The possible failure is that a Boolean value may sit undecided by a filter, or that quantifier values may require joins and meets not available in the algebra. Thus we need a result that ties together three layers at once: nonzero Boolean elements as conditions, Boolean truth values as forcing information, and ultrafilter quotients as ordinary two-valued models.
[explanation: Boolean-Valued Forcing]
In a complete Boolean algebra presentation, each formula with Boolean-valued names receives a truth value $\|\varphi\|_B \in B$. Nonzero Boolean elements act as conditions by the rule $b \Vdash_B \varphi$ when $b \le \|\varphi\|_B$, and an $M$-generic ultrafilter converts these Boolean truth values into ordinary truth in the quotient model.
[/explanation]
This theorem says that forcing is already a Boolean-valued semantics before a generic filter is chosen. The non-zero elements $B^+$ play the role of genuine conditions: $0$ supports no possible generic extension, while a non-zero $b$ can still be strengthened inside an ultrafilter. Allowing $0$ as a condition would collapse the forcing relation, since $0 \le \|\varphi\|_B$ for every formula $\varphi$; the impossible condition would force both $\varphi$ and $\neg\varphi$. Completeness is also structural. For example, the finite-cofinite Boolean algebra on $\omega$ is not complete: the join of the family of singletons $\{\{n\}:n\in A\}$ need not exist when $A\subset \omega$ is infinite and coinfinite. Thus an existential Boolean value formed as a supremum over witnesses can leave the algebra. The quotient hypothesis also matters: if $F$ is only a proper filter rather than an ultrafilter, a Boolean value $a$ may satisfy neither $a \in F$ nor $\neg a \in F$, so the quotient relation cannot decide the corresponding sentence. If $F$ is not $M$-generic, the truth lemma can fail because the filter may miss a dense set in $M$ that decides a witness. The theorem also does not say that every complete Boolean algebra has a generic ultrafilter in the ground model. Generics are still external objects relative to the model being forced over; the theorem only says how truth is computed once such a generic ultrafilter is available.
[example: Deciding a Disjunction]
Suppose $B$ is complete and $\|\varphi\|_B = a$, $\|\psi\|_B = c$. Then
\begin{align*}
\|\varphi \vee \psi\|_B = a \vee c.
\end{align*}
A condition $b$ forces $\varphi \vee \psi$ exactly when $b \le a \vee c$. This example illustrates why a condition can force a disjunction without forcing either disjunct: $b$ may split into incompatible parts below $a$ and $c$.
[/example]
## Regular Open Completion of a Poset
A poset may fail to have enough suprema to support Boolean truth values directly. Even the topology generated by conditions does not solve this by itself: arbitrary open sets are closed under unions, but the naive complement of an open set need not be open, and taking interiors of complements without regularisation can destroy completeness. The problem is therefore to enlarge a forcing poset into a complete Boolean algebra without changing the generic extensions it produces.
[definition: Regular Open Subset]
Let $(P,\le)$ be a forcing poset with its forcing topology, whose basic open sets are downward closed subsets of $P$. A set $U \subset P$ is regular open if
\begin{align*}
U = \operatorname{int}(\overline{U}).
\end{align*}
The regular open algebra $\operatorname{RO}(P)$ is the collection of regular open subsets of $P$, ordered by inclusion.
[/definition]
The regularisation map
\begin{align*}
r:\operatorname{Open}(P)\to \operatorname{RO}(P),\qquad r(U)=\operatorname{int}(\overline{U}),
\end{align*}
repairs an open set by filling in the part forced by density. We now need to know that these repaired open sets have all Boolean operations required for Boolean-valued semantics.
[quotetheorem:6589]
[citeproof:6589]
Regular openness is the condition that removes topological boundary noise from the forcing presentation. Arbitrary open sets remember accidental distinctions that have no forcing significance. For instance, in the real line topology, the open interval $(0,1)$ and the punctured open set $(0,1)\setminus\{1/2\}$ have different literal membership, but
\begin{align*}
\operatorname{int}(\overline{(0,1)})=\operatorname{int}(\overline{(0,1)\setminus\{1/2\}})=(0,1).
\end{align*}
The missing point is boundary-level information from the perspective of dense refinement, so the regular open algebra identifies the two truth regions after regularisation.
The theorem also explains why the displayed operations are necessary rather than cosmetic. It is a closure theorem for the regular open algebra, not yet an equivalence theorem for forcing presentations. In particular, it does not identify which elements of $\operatorname{RO}(P)$ come from individual conditions, and it does not prove that forcing with $P$ and forcing with $\operatorname{RO}(P)^+$ are equivalent. The raw union of regular open sets may fail to be regular open: in $\mathbb R$, the sets $(0,1)$ and $(1,2)$ are regular open, while their union has closure $[0,2]$ and regularisation $(0,2)$. Thus arbitrary joins cannot be ordinary unions if the result is to stay inside the algebra. Arbitrary open sets would not form a Boolean algebra under ordinary complement either, because the complement of an open set need not be open; replacing complements by interiors without restricting to regular opens loses the identity $U=\operatorname{int}(\overline{U})$ needed for the Boolean laws. The next step is therefore to embed the original poset densely into this completed algebra.
Regular open completion is useful only if the original conditions still sit densely inside it. To compare the original forcing with its completion, we need the canonical map that sends each condition to the regular open information it determines.
[definition: Canonical Regular Open Embedding]
Let $P$ be a separative forcing poset. Define $e:P \to \operatorname{RO}(P)^+$ by
\begin{align*}
e(p) = \operatorname{int}(\overline{\{q \in P : q \le p\}}).
\end{align*}
[/definition]
Separativity ensures that distinct conditions with different forcing strength are not collapsed. The central question is whether this embedding preserves the generic extension, rather than merely preserving the order.
[quotetheorem:6590]
[citeproof:6590]
Separativity is the hypothesis that prevents the embedding from treating redundant presentations as genuine distinctions. A concrete failure occurs in the two-element chain $P=\{p,q\}$ with $q\le p$ and no condition incompatible with $p$ below $q$. The conditions $p$ and $q$ are syntactically different, but every extension of $p$ is compatible with $q$ and every extension of $q$ is compatible with $p$; the forcing topology cannot separate their forcing content, and the Boolean completion collapses this redundancy. Thus, without passing to the separative quotient or assuming separativity, the canonical map need not preserve literal identity of conditions.
The theorem also does not say that the original syntax of names, maximal antichains, or condition labels is preserved. It says that after the redundant presentation data is removed, the generated generic extensions agree. This distinction is important for the next section: dense embeddings need not arise only from regular open completions, but the same proof pattern works whenever an embedding preserves order, preserves compatibility, and has dense image.
[example: Cohen Forcing and Its Regular Open Algebra]
Let $P = \operatorname{Add}(\omega,1)$ be the set of finite partial functions $p: \omega \to 2$, ordered by reverse inclusion. The associated basic open set consists of all finite extensions of $p$, and the completion $\operatorname{RO}(P)$ is the regular open algebra of the Cantor space forcing topology. A Cohen generic filter corresponds to a branch $c \in 2^\omega$, and the Boolean algebra records regular open conditions on where that branch may lie.
[/example]
## Dense Embeddings and Preservation of Extensions
The preceding section used the canonical embedding into a Boolean completion. The same argument works more generally: when one forcing embeds densely into another, the two forcings have the same generic information.
[definition: Dense Embedding]
Let $P$ and $Q$ be forcing posets. A map $i:P \to Q$ is a dense embedding if it satisfies the following conditions:
1. If $p_1 \le_P p_0$, then $i(p_1) \le_Q i(p_0)$.
2. $p_0$ and $p_1$ are compatible in $P$ iff $i(p_0)$ and $i(p_1)$ are compatible in $Q$.
3. For every $q \in Q$, there is $p \in P$ such that $i(p) \le_Q q$.
4. If $q \le_Q i(p_0)$, then there is $p_1 \le_P p_0$ such that $i(p_1) \le_Q q$.
[/definition]
The compatibility condition prevents the embedding from introducing false amalgamations. The density condition says that every $Q$-condition can be refined to information coming from $P$, while the last clause says that order appearing inside the image has a genuine common refinement back in $P$. This is the hypothesis needed for the generic-transfer argument below; it does not require literal order reflection inside the image.
[quotetheorem:6591]
[citeproof:6591]
Both parts of the definition are necessary. If compatibility is not preserved, two incompatible $P$-conditions could be mapped to compatible $Q$-conditions, so the image of a $P$-filter would no longer reflect the decisions made in $P$. If density is omitted, a $Q$-generic filter may meet dense sets living entirely outside the image of $P$, and its information cannot be recovered from a $P$-generic. The theorem therefore proves equivalence of forcing extensions, not literal equality of the two forcing notions: their conditions, order relations, and convenient names may look different even when the generic model obtained is the same.
[example: Translating a Dense Embedding into Generic Filters]
Let $P$ be a dense subset of a complete Boolean algebra $B^+$, ordered by the inherited order, and let $i:P \to B^+$ be inclusion. If $G \subset P$ is generic, then the generated set
\begin{align*}
H = \{b \in B^+ : \exists p \in G\, p \le b\}
\end{align*}
is an ultrafilter meeting every dense subset of $B^+$ in the ground model. Conversely, if $H$ is $B$-generic, then $G = H \cap P$ is $P$-generic. This example is the abstract pattern behind passing from Cohen conditions to regular open sets.
[/example]
## Random Forcing as a Boolean Algebra
Some forcing notions are most naturally presented as Boolean algebras from the beginning. Random forcing is the guiding example: conditions are not finite approximations to a real, but positive-measure pieces of the space of possible reals.
[definition: Measure Algebra]
Let $\mathcal B(2^\omega)$ be the Borel $\sigma$-algebra on Cantor space and let $\mathcal N$ be the ideal of Borel null sets with respect to product measure. The measure algebra is
\begin{align*}
\mathbb B_{\mathrm{rand}} = \mathcal B(2^\omega) / \mathcal N,
\end{align*}
ordered by inclusion modulo null sets.
[/definition]
The quotient identifies Borel sets that differ only on a null set. To connect this quotient with the forcing used earlier in the course, we need to verify that positive Borel conditions embed densely into the quotient algebra.
[quotetheorem:6592]
[citeproof:6592]
Quotienting by null sets is necessary because random forcing is meant to ignore distinctions that cannot affect an almost-sure generic real. If $N\subset 2^\omega$ is a non-empty null Borel set and $A$ is positive Borel with $N\subset A$, then $A$ and $A\setminus N$ determine the same almost-sure condition but are different raw Borel sets. Without quotienting, the map to the measure algebra would not reflect order: $[A]=[A\setminus N]$ even though $A\not\subset A\setminus N$. The raw presentation also keeps artificial non-separative information, because no positive-measure refinement can force the random real to land in the null difference. The theorem does not by itself prove distributional properties of the random real, such as meeting every ground-model conull Borel set; those require separate dense-set arguments. What it does provide is the Boolean algebra in which such statements acquire clean truth values, with $[A]$ representing the value of the assertion that the random real lies in $A$.
[example: Boolean Value of a Random Real Statement]
Let $\dot r$ be the canonical random real name and let $A \subset 2^\omega$ be Borel. In the measure algebra,
\begin{align*}
\|\dot r \in A\| = [A].
\end{align*}
Thus a condition $[C]$ forces $\dot r \in A$ exactly when $[C] \le [A]$, meaning $C \setminus A$ is null. This example shows how Boolean truth values encode almost-sure containment.
[/example]
## Comparing Dense-Set, Name-Based, and Boolean Proofs
The three languages of forcing answer different questions efficiently. Dense sets are best for constructing generics, names are best for describing objects in extensions, and Boolean values are best for comparing forcings and assigning algebraic truth values.
[explanation: Three Equivalent Languages]
A dense-set proof usually begins with a list of requirements in the ground model and shows that a generic filter meeting those dense sets has the desired property. This is the most direct language for existence arguments, such as constructing a Cohen real with prescribed finite behaviour.
A name-based proof tracks how objects in the extension are built from ground-model approximations. This is the natural language for preservation theorems, cardinal computations, and statements such as $M[G] \models \varphi(\tau_G)$.
A Boolean-valued proof assigns $\|\varphi\|_B$ to the statement itself. Instead of asking which dense sets must be met, it asks where the statement lies inside the complete Boolean algebra. This is especially useful when comparing posets, proving forcing equivalence, or using algebraic operations such as joins, meets, and complements. Through Stone duality, complete Boolean algebras can also be read as algebras of regular open sets on Stone spaces; through the measure algebra, the same formalism connects forcing with probability modulo null events.
[/explanation]
The comparison raises a precise problem: given a separative poset $P$, we need to recover its condition-based forcing relation from Boolean truth values in $\operatorname{RO}(P)$. This recovery is not automatic, because the Boolean completion has added suprema, complements, and regular open sets that were not literal conditions of the original poset. The issue is whether these new algebraic objects merely complete the language of truth or whether they change what the original conditions force. Separativity is the hypothesis that removes redundant conditions before the comparison is made.
[explanation: Posets and Boolean Completions Give the Same Forcing]
For a separative forcing poset $P$ with regular open completion $B=\operatorname{RO}(P)$, the dense embedding $e:P\to B^+$ translates condition forcing into Boolean-valued forcing: a condition $p$ forces a translated formula over $P$ exactly when $e(p)$ lies below the corresponding Boolean truth value. Thus the poset presentation and the Boolean-valued presentation compute the same generic extensions once the names and generics are translated.
[/explanation]
Separativity is again essential for recovering the condition-based relation from the Boolean value without ambiguity. A non-separative poset may contain two conditions $p$ and $q$ such that every extension compatible with one is compatible with the other, even though $p$ and $q$ are syntactically distinct; the Boolean completion identifies their forcing content. Thus the theorem is not a statement that the original poset can always be read off uniquely from $\operatorname{RO}(P)$. It says instead that after redundant presentation data is removed, the poset forcing relation, the name interpretation, and the Boolean-valued semantics compute the same truth in the same generic extensions.
The theorem closes the circle begun in the first chapter. A forcing poset is a concrete presentation of approximation; its separative quotient removes redundant conditions; its regular open completion supplies all Boolean truth values; and generic filters turn those truth values into ordinary truth in an extension.
[remark: How to Choose a Presentation]
Use the original poset when conditions have a simple combinatorial meaning, such as finite partial functions in Cohen forcing. Use names when the proof needs to analyse a particular object in the extension. Use the Boolean completion when the proof compares forcing notions, manipulates truth values, or relies on completeness. These are interchangeable at the level of extensions, but they guide different proof strategies.
[/remark]
# 12. Synthesis and Independence Methodology
Having developed posets, names, forcing relations, preservation theorems, iterations, forcing axioms, and Boolean-valued models, the emphasis is now methodological. Forcing proofs often fail not because the chosen poset is wrong, but because a hidden preservation claim, a mistaken countability assertion, or an untracked name evaluation has entered the argument. This chapter records the template and the common failure modes, then applies them to the standard proofs of the relative consistency of non-CH and of Martin's axiom with non-CH.
## The Relative Consistency Template
What does a forcing independence proof have to produce, and where does the metatheory enter? The internal work is done inside a countable transitive model, but the conclusion is a statement about consistency strength. The template separates the mathematical construction from the final metatheoretic inference.
[definition: Relative Consistency Argument By Forcing]
A relative consistency argument by forcing consists of the following data:
1. a countable transitive model $M \models \mathrm{ZFC}$;
2. a forcing poset $\mathbb P \in M$;
3. an $M$-generic filter $G \subseteq \mathbb P$;
4. a verification that $M[G] \models \mathrm{ZFC}$;
5. a computation of the target sentence $\varphi$ in $M[G]$.
[/definition]
The definition records the working objects, not the final conclusion. What is still missing is the rule that turns this construction inside $M$ into an implication between consistency statements. The next theorem isolates that rule, so that later arguments only need to verify the five forcing checkpoints.
[quotetheorem:6594]
[citeproof:6594]
The hypotheses in the template do real work. Transitivity lets the forcing extension interpret membership and ordinals in the expected way; for an ill-founded model of set theory, the relation it calls membership may have external descending chains, and the phrase "$M[G]$ has the same relevant ordinals" no longer has the intended ordinal-theoretic content. Countability is not an internal property of $M$ but an external device used to build $G$ by meeting all dense sets in $M$; for example, taking $M=V$ gives no reason for a $V$-generic filter for a nontrivial forcing to exist inside the surrounding universe. The assumption that $M\models T$ is also essential: forcing over a model of the wrong background theory cannot create a proof that the target theory $T$ had the required strength before forcing. The theorem also does not say that $\varphi$ is true in the universe, nor that $T$ proves $\varphi$; it only packages a model construction into a relative consistency conclusion. The next example rewrites a familiar forcing calculation in that checklist language.
[example: Checklist For Cohen Reals]
Let $M$ be a countable transitive model of $\mathrm{ZFC}$ and let $\kappa \in M$ be a cardinal. Take $\mathbb P=\operatorname{Add}(\omega,\kappa)^M$, the finite partial functions from $\kappa \times \omega$ to $2$, ordered by reverse inclusion. The generic filter $G$ determines a sequence $(c_\alpha)_{\alpha<\kappa}$ of reals, where $c_\alpha(n)=i$ exactly when some condition in $G$ assigns $(\alpha,n)$ the value $i$. The forcing theorem gives $M[G]\models\mathrm{ZFC}$, the ccc calculation gives preservation of cardinals and cofinalities needed for the continuum computation, and density arguments show that the reals $c_\alpha$ are pairwise distinct and absent from $M$.
[/example]
The example shows why the same proof has several layers: existence of $G$, preservation of the background axioms and cardinals, and computation of the continuum are distinct tasks. Mixing those layers is the source of many incorrect forcing arguments.
## The Worked Independence Proof For CH
How does the template prove that the continuum hypothesis cannot be derived from ZFC, assuming the usual model-existence background? The forcing must add enough reals to violate CH while preserving enough cardinals to know what $\omega_1$ still is.
[definition: Cohen Forcing Adding Kappa Reals]
For a cardinal $\kappa$, the Cohen forcing $\operatorname{Add}(\omega,\kappa)$ is the poset whose conditions are finite partial functions
\begin{align*}
p: \kappa \times \omega \rightharpoonup 2,
\end{align*}
ordered by $q \le p$ iff $q \supseteq p$.
[/definition]
This definition gives a uniform way to add many Cohen reals at once. To use it against CH, we must prove that choosing $\kappa=\omega_2^M$ really leaves $\omega_1$ and $\omega_2$ intact while adding distinct reals indexed by $\omega_2^M$. The next theorem is needed because the continuum computation only has its intended meaning after that preservation claim is secured.
[quotetheorem:6595]
[citeproof:6595]
The theorem proves the internal forcing part, and each hypothesis has a specific role. The ccc calculation is what prevents $\omega_1^M$ from being collapsed; a Levy collapse can add many reals while also changing which ordinal is $\omega_1$, so the final comparison with the old $\omega_1^M$ would no longer establish $\neg\mathrm{CH}$. The choice $\omega_2^M$ matters because the lower bound must outrun the preserved $\omega_1$; adding only $\omega_1^M$ Cohen reals would be compatible with a final continuum of size $\omega_1$ and would not by itself refute CH. The use of $\mathrm{GCH}$ is bookkeeping for the sharper upper bound on the number of names for reals, not for the lower bound alone; in a ground model with $2^\omega=\omega_{17}$, forcing with $\operatorname{Add}(\omega,\omega_2)$ still adds the indexed Cohen reals, but the intended computation $2^\omega=\omega_2$ is obstructed by the already large supply of ground-model reals. The theorem also does not by itself prove any statement about consistency from $\mathrm{ZFC}$ alone, because it starts with a particular ground model satisfying $\mathrm{ZFC}+\mathrm{GCH}$. The relative consistency statement is obtained only after adding the metatheoretic step that supplies such a starting model.
[quotetheorem:6547]
[citeproof:6547]
This proof is the prototype for many independence arguments, but its conclusion is deliberately modest. It does not prove $\neg\mathrm{CH}$, and it does not refute a model of $\mathrm{ZFC}+\mathrm{CH}$; it only says that if the accepted background can produce the required ground model, then forcing produces a model where CH fails. The model-existence convention cannot be dropped from this paragraph: syntactic consistency of $\mathrm{ZFC}$ alone does not give a countable transitive model of $\mathrm{ZFC}$, and in weak metatheories it is exactly this passage that carries extra strength. The GCH-relative-consistency input is separate: without Gödel's constructible-universe theorem, the argument would only show how to force from a ground model already satisfying $\mathrm{GCH}$, not how to begin from $\operatorname{Con}(\mathrm{ZFC})$. The previous forcing theorem is also indispensable, because a bare assertion that many Cohen coordinates are added would not verify preservation of $\omega_1$ and hence would not justify the conclusion $\neg\mathrm{CH}$. The extra assumption $\mathrm{GCH}$ is not the object of interest, since a ground model with $2^\omega=\omega_{17}$ could already have enough reals to complicate the final arithmetic without changing the core lower-bound argument. It is a convenient bookkeeping condition that makes the upper bound on names match the intended continuum calculation.
[example: End To End Continuum Computation]
Assume $M\models\mathrm{ZFC}+\mathrm{GCH}$ and force with $\mathbb P=\operatorname{Add}(\omega,\omega_2^M)^M$. Since $\mathbb P$ has size $\omega_2^M$ in $M$, every nice name for a real is coded by countably many antichains in a poset of size $\omega_2^M$. The ccc property keeps each antichain countable, and the ground-model arithmetic from GCH bounds the number of nice names for reals by $\omega_2^M$. The generic coordinates give at least $\omega_2^M$ many reals, so the computation yields $2^\omega=\omega_2$ in $M[G]$.
[/example]
The example includes an upper bound as well as the lower bound needed for $\neg\mathrm{CH}$. This stronger computation is often useful because it says the forcing has set the continuum to the intended cardinal, not only made it large.
## Hazards In Forcing Arguments
Where do incorrect forcing proofs most often go wrong? The formalism is designed to keep the ground model, the extension, and the ambient metatheory apart. Most mistakes collapse two of those viewpoints.
[remark: External And Internal Countability]
A countable transitive model $M$ is countable in the ambient universe, but it may satisfy that some set $x\in M$ is uncountable. The assertion "$x$ is countable" is evaluated relative to the universe in which the bijection with $\omega$ is required to live.
[/remark]
This distinction is what makes generic filters possible. Externally, there are countably many dense subsets of $\mathbb P$ that belong to $M$, so Rasiowa-Sikorski can meet them; internally, $M$ may believe that $\mathbb P$ has many dense subsets.
[example: The Countability Trap]
Let $M$ be countable and transitive, and let $\omega_1^M$ be its first uncountable ordinal. In the ambient universe, $\omega_1^M$ is a countable ordinal, so there is an external enumeration of its elements. There is no bijection $f:\omega\to\omega_1^M$ belonging to $M$, because such an $f$ would make $M$ satisfy that $\omega_1^M$ is countable. Thus an external enumeration cannot be used as though it were an object of $M$.
[/example]
The next hazard concerns preservation. A forcing may add the desired object while also collapsing cardinals needed to state the intended conclusion.
[remark: Preservation Is A Separate Check]
A forcing argument cannot assume that cardinals, cofinalities, or stationary sets survive the extension. The relevant preservation theorem, such as ccc preservation of $\omega_1$ or properness preservation of $\omega_1$, must be verified before the final computation is interpreted.
[/remark]
Names create a third common source of errors. The object in the ground model is the name, while the object in the extension is its value under the generic filter.
[remark: Names Are Not Their Values]
A $\mathbb P$-name $\dot{x}\in M$ is a hereditary set of pairs involving conditions. Its interpretation $\dot{x}_G$ belongs to $M[G]$. Statements about $\dot{x}$ in $M$ and statements about $\dot{x}_G$ in $M[G]$ are connected by the forcing relation, not by identifying the two objects.
[/remark]
The three hazards also form a practical diagnostic tool. A reliable forcing proof should be readable as a sequence of location checks: the poset and names live in the ground model, the generic filter and interpreted objects live in the extension, and the enumeration used to build the generic filter lives in the ambient metatheory. Once those locations are fixed, the proof must identify the preservation theorem that allows the final statement to keep its intended meaning. This turns the next checklist into more than a stylistic preference: it is a way of preventing hidden shifts between $M$, $M[G]$, and the external universe.
[example: Checklist For A New Forcing Notion]
Given a proposed poset $\mathbb P$, first determine its compatibility relation and dense sets that express the intended generic object. Next prove the preservation property needed for the target theorem, such as ccc, closure, properness, or a specific iteration theorem. Then define the relevant names and prove the forcing statements that compute their values in the extension. Finally verify that the cardinals and parameters appearing in the target statement have the same meaning in the extension as in the ground-model calculation.
[/example]
The checklist is deliberately mechanical. Forcing arguments become reliable when each sentence in the final proof can be assigned to one of these checks.
## Martin's Axiom And Iterated Forcing
How does the same synthesis scale from one forcing to many forcing notions at once? Martin's axiom is obtained by an iteration that anticipates all ccc posets and all relevant families of dense sets, while finite support keeps the whole construction ccc.
[definition: Martin's Axiom At Kappa]
Let $\kappa$ be a cardinal. The statement $\mathrm{MA}_\kappa$ says that for every ccc poset $\mathbb P$ and every family $\mathcal D$ of dense subsets of $\mathbb P$ with $|\mathcal D|\le \kappa$, there is a filter $G\subseteq\mathbb P$ meeting every member of $\mathcal D$.
[/definition]
Martin's axiom is the scheme $\mathrm{MA}_\lambda$ for all $\lambda<2^\omega$. In applications, the forcing construction first fixes the intended value of the continuum and then arranges $\mathrm{MA}_\lambda$ below that value. This is why the proof is an iteration rather than a single forcing: it must anticipate not only one ccc poset, but all ccc posets and all small families of dense sets that may appear in the final extension. The bookkeeping therefore has to schedule names for future posets and dense families, while the support theorem has to keep the iteration ccc long enough for the final continuum calculation to remain meaningful.
[explanation: Iteration Construction for Martin's Axiom and Non-CH]
The standard consistency construction fixes a regular cardinal $\kappa>\omega_1$ with enough bookkeeping arithmetic, then builds a finite-support iteration of ccc forcing notions of length $\kappa$. The bookkeeping schedules names for ccc posets and their small dense families, while finite-support ccc preservation keeps $\omega_1$ from collapsing. In the final extension one obtains $2^\omega=\kappa$ and the scheme $\mathrm{MA}_\lambda$ for every $\lambda<\kappa$, so CH fails and Martin's axiom holds below the continuum.
[/explanation]
This construction is less a single forcing calculation than a controlled scheduling argument, and its technical hypotheses mark the points where the proof could fail. Regularity of $\kappa$ prevents a small dense family in the final model from being spread cofinally through the whole iteration; if $\kappa$ were singular of cofinality $\omega$, a countable collection of names could use stages cofinal in $\kappa$, and the bounded-stage capture argument would have no place to act. The arithmetic hypothesis $\kappa^{<\kappa}=\kappa$ and the size restriction on the iterands keep the bookkeeping list and the final forcing at size $\kappa$, which is needed for the upper bound $2^\omega\le\kappa$. Finite support is what preserves ccc through the iteration; countable-support iterations of ccc posets can introduce uncountable antichains, so the final forcing may cease to preserve $\omega_1$. The ccc hypothesis is also what preserves $\omega_1$; replacing an iterand by a collapse can make the continuum large while destroying the cardinal comparison used for $\neg\mathrm{CH}$. The bookkeeping is what turns the construction from "many generics were added" into the specific assertion that every reducible final-extension ccc instance with fewer than $2^\omega$ dense sets has been anticipated; without the small-name reduction and bookkeeping, a ccc poset appearing only after the iteration may have no stage generic meeting its named dense family. The conclusion also does not assert $\mathrm{MA}_\kappa$ when $2^\omega=\kappa$, since Martin's axiom is the scheme below the continuum, not at the continuum itself.
[example: Why Finite Support Appears]
In an iteration of ccc posets, a condition records information at several stages. Finite support requires each condition to have nontrivial coordinates only on a finite set of stages. This restriction is what lets the delta-system and antichain arguments used for ccc preservation remain available through the iteration. If supports are allowed to be too large, antichains may appear for reasons unrelated to any single iterand.
[/example]
The example also explains why different support notions appear in later forcing theory. The support is not bookkeeping decoration; it encodes the preservation theorem one wants the iteration to satisfy.
## Further Directions Within Forcing
What remains after the basic independence proofs of CH and MA are understood? The next stage of forcing theory asks for more refined preservation theorems and more delicate control over the real line.
[explanation: Proper Forcing]
Proper forcing generalises ccc forcing by preserving $\omega_1$ through a model-theoretic condition involving countable elementary submodels. It is designed for posets that are not ccc but still behave well with respect to countable approximations. Proper forcing supports countable-support iteration theorems, which are central when finite-support ccc methods are too restrictive.
[/explanation]
Properness shows that preservation can be tailored to a specific structural goal. A related direction strengthens Martin's axiom by applying forcing-style existence principles to broader classes of posets.
[explanation: Forcing Axioms Beyond MA]
Forcing axioms such as the Proper Forcing Axiom assert the existence of filters meeting prescribed families of dense sets for larger classes of posets than the ccc class. They can decide many statements about the continuum, stationary sets, and combinatorial structures at $\omega_1$. Their consistency proofs require iteration theorems matched to the relevant class of forcing notions.
[/explanation]
These axioms are powerful because they package genericity as an axiom inside the universe. The final direction returns to the original theme of the course: using forcing to tune the continuum and its invariants.
[explanation: Applications To The Continuum]
Forcing can change the size of the continuum and separate cardinal characteristics associated with measure, category, domination, and splitting. Cohen forcing, random forcing, Hechler forcing, and related notions add different kinds of reals, and their preservation properties determine which inequalities between invariants can be forced. Iterated forcing turns these local effects into global models of the real line with prescribed combinatorial behaviour.
[/explanation]
The course ends with forcing as a method rather than as a list of isolated posets. A successful independence proof identifies the target combinatorial phenomenon, selects a forcing or iteration that adds the required objects, proves the preservation facts needed to interpret the final statement, and invokes the forcing theorem to connect the construction back to relative consistency.
## Beyond and Connected Topics
The closest internal continuation is [Cambridge II Logic and Set Theory](/page/Cambridge%20II%20Logic%20and%20Set%20Theory), which supplies the axiomatic and model-theoretic background that forcing repeatedly uses: first-order structures, formal theories, ordinals, cardinals, and the separation between syntax and semantics. Readers who want to see why forcing is a relative consistency method rather than a direct truth-deciding procedure should connect the generic-extension construction here with the model-existence and incompleteness material there.
The dense-set side of forcing also connects to the [Baire Category Theorem](/theorems/630), where countable intersections of dense open sets encode existence by approximation. The analogy is not merely poetic: Rasiowa-Sikorski builds a filter through countably many dense requirements, while Baire category shows that complete spaces cannot be exhausted by countably many nowhere-dense obstructions. The background set-existence principles used throughout these arguments are also tied to [Axiom of Choice](/page/Axiom%20of%20Choice), especially when maximal antichains, well-orderings of names, or ultrafilter extensions enter the proof.
## References
Androma, [Cambridge II Logic and Set Theory](/page/Cambridge%20II%20Logic%20and%20Set%20Theory).
Androma, [Baire Category Theorem](/theorems/630).
Androma, [Axiom of Choice](/page/Axiom%20of%20Choice).
Contents
- Introduction
- Independence as a Model-Building Problem
- Forcing as Controlled Approximation
- Genericity and the Role of Countability
- Names and Truth Before the Extension Exists
- The Route Through the Course
- 1. Posets, Dense Sets, and Generic Filters
- Conditions and Dense Requirements
- Separativity and Quotients
- Filters and Genericity
- Forcing as Approximation
- 2. Names and Generic Extensions
- The Recursive Universe of Names
- Interpreting Names by a Generic Filter
- The Cohen Real as a Named Object
- First Closure Properties of the Extension
- Minimality and the Preliminary Truth Principle
- 3. The Forcing Relation
- The Forcing Language
- Recursive Definition on Atomic Formulas
- Boolean Connectives and Quantifiers
- The Forcing Theorem
- Applications to Cohen Forcing
- 4. ZFC in Generic Extensions
- Verifying the ZFC Axioms in the Extension
- Ordinals Are Preserved but New Subsets May Appear
- Cardinal Preservation and Cardinal Collapse
- 5. Cohen Forcing and Independence of CH
- Cohen Conditions as Finite Information
- Chain Conditions for Cohen Products
- Nice Names and the Size of the Continuum
- Relative Consistency and Independence of CH
- 6. Chain Conditions and Cardinal Preservation
- Why Antichains Control Preservation
- Preservation of $\omega_1$ and Cofinalities
- Delta-System Arguments and Finite-Support Products
- Common Countable Chain Condition Forcings
- 7. Closure, Distributivity, and Properness Preview
- Lower Bounds for Descending Sequences
- Distributivity and New Sequences
- Chain Conditions and Cardinal Preservation
- Properness as a Preview of Iteration Theory
- 8. Forcing Axioms and Martin's Axiom
- Filters Meeting Many Dense Sets
- Baire Category And Dense Open Sets
- Consequences Of Martin's Axiom Plus Not CH
- Forcing Martin's Axiom By Iteration
- 9. Iterated Forcing
- Two-Step Iterations and Intermediate Extensions
- Finite-Support Iterations of ccc Forcing
- Countable-Support Iterations and Closed Forcing
- 10. Cardinal Characteristics of the Continuum
- Bounding and Dominating Families
- Null and Meagre Ideals
- Cichon's Diagram
- Cohen, Random, and Hechler Forcing
- Separating Invariants by Forcing
- 11. Boolean-Valued Models and Alternative Perspectives
- From Conditions to Boolean Truth Values
- Regular Open Completion of a Poset
- Dense Embeddings and Preservation of Extensions
- Random Forcing as a Boolean Algebra
- Comparing Dense-Set, Name-Based, and Boolean Proofs
- 12. Synthesis and Independence Methodology
- The Relative Consistency Template
- The Worked Independence Proof For CH
- Hazards In Forcing Arguments
- Martin's Axiom And Iterated Forcing
- Further Directions Within Forcing
- Beyond and Connected Topics
- References
Set Theory II: Forcing
Content
Problems
History
Created by admin on 6/12/2026 | Last updated on 6/12/2026
Prerequisites
No prerequisites required for this page.
Rate this page
★
★
★
★
★
Poor
Excellent