The Cantor-Schröder-Bernstein Theorem

Chapter 8: Infinite Sets

Learning objectives

  • State the Cantor-Schröder-Bernstein (CSB) theorem precisely
  • Apply CSB to conclude A=B|A| = |B| from a pair of injections
  • Recognize that CSB asserts EXISTENCE of a bijection without constructing one explicitly
  • Use CSB to relate the cardinalities of (0,1)(0, 1), R\mathbb{R}, P(N)\mathcal{P}(\mathbb{N}), and {0,1}N\{0, 1\}^{\mathbb{N}}

Constructing an explicit bijection between two infinite sets can be brutal. Try writing down a single function that pairs up (0,1)(0, 1) with the closed interval [0,1][0, 1] — you immediately collide with the awkward endpoints 0 and 1, which have no obvious partners in the open interval. Or try mapping P(N)\mathcal{P}(\mathbb{N}) bijectively onto R\mathbb{R}: the binary-expansion approach almost works but breaks at the 0.0111=0.10000.0111\ldots = 0.1000\ldots ambiguity. The Cantor-Schröder-Bernstein theorem cuts through all of this. It tells you that whenever you have an injection ABA \hookrightarrow B and an injection BAB \hookrightarrow A, a bijection between AA and BB must exist — even though the theorem does not hand it to you. CSB is the constructive shortcut that powers most modern cardinality calculations.

The statement

Theorem (Cantor-Schröder-Bernstein). If AB|A| \leq |B| and BA|B| \leq |A|, then A=B|A| = |B|.

Equivalently: if there exists an injection f ⁣:ABf \colon A \to B and an injection g ⁣:BAg \colon B \to A, then there exists a bijection h ⁣:ABh \colon A \to B.

This is exactly the cardinality analog of antisymmetry: if AB|A| \leq |B| and BA|B| \leq |A| then A=B|A| = |B|. It makes the ordering of cardinals well-behaved.

Why CSB is non-obvious

It is tempting to imagine that the two injections "stitch together" automatically — just use ff where you can and g1g^{-1} on what is left over. But ff may miss elements of BB, and gg may miss elements of AA, and these "missed" pieces interact in complicated ways. Iterating gfg \circ f and fgf \circ g creates chains of elements that the proof must classify into three categories:

  • An A-stopper: tracing the chain backwards (through f1f^{-1} and g1g^{-1}) terminates in Ag(B)A \setminus g(B).
  • A B-stopper: tracing backwards terminates in Bf(A)B \setminus f(A).
  • An infinite chain: backward tracing never terminates.

For A-stoppers and infinite chains, define hh by ff. For B-stoppers, define hh by g1g^{-1} — this is well-defined because on a B-stopper chain every element of AA in the chain lies in g(B)g(B) (otherwise the backward trace would have stopped earlier, in AA). The resulting piecewise function is a bijection. This proof is constructive but the bijection it builds is typically not a "nice" formula — CSB is most useful precisely because it lets you avoid such formulas.

The standard cardinality dictionary

CSB underpins a cascade of identifications that organise the "two basic infinities" most students meet:

  • (0,1)=[0,1]=R=c|(0, 1)| = |[0, 1]| = |\mathbb{R}| = \mathfrak{c}.
  • P(N)={0,1}N=R=c|\mathcal{P}(\mathbb{N})| = |{0, 1}^{\mathbb{N}}| = |\mathbb{R}| = \mathfrak{c}.
  • Rn=R|\mathbb{R}^n| = |\mathbb{R}| for every finite n1n \geq 1.
  • RN=R|\mathbb{R}^{\mathbb{N}}| = |\mathbb{R}| (continuum many sequences of reals).

Almost every entry on this list is proved by exhibiting two injections (often very simple ones) and invoking CSB — rather than by writing down a bijection.

Worked example: (0,1)=R|(0, 1)| = |\mathbb{R}|

Injection f ⁣:(0,1)Rf \colon (0, 1) \to \mathbb{R}: the inclusion f(x)=xf(x) = x. Obviously injective.

Injection g ⁣:R(0,1)g \colon \mathbb{R} \to (0, 1): g(x)=1πarctan(x)+12g(x) = \tfrac{1}{\pi} \arctan(x) + \tfrac{1}{2}. Since arctan\arctan is strictly increasing with range (π/2,π/2)(-\pi/2, \pi/2), gg maps R\mathbb{R} injectively into (0,1)(0, 1).

Both injections exist, so by CSB, (0,1)=R|(0, 1)| = |\mathbb{R}|. We are not told what the bijection looks like — and for most purposes we do not need to know.

That said, the (0,1)R(0,1) \leftrightarrow \mathbb{R} bijection IS constructible (using tan\tan). Switch the widget below to that preset and watch the explicit construction step through. Compare with the other presets — CSB guarantees a bijection between, say, N\mathbb{N} and Q+\mathbb{Q}^+, and the Cantor-Stern enumeration is one way to exhibit it.

Cardinality Bijection DemoInteractive figure — enable JavaScript to interact.

Pause and think: Why does it matter that CSB only asserts the existence of a bijection rather than constructing one? (Hint: in many proofs — especially in measure theory and analysis — we only need to know that A=B|A| = |B| to make a counting argument or transfer a result. We do not need the actual bijection. CSB separates "are these the same size?" from "what is the explicit pairing?")

Try it

  • Before reading further: use CSB to show [0,1]=[0,2]|[0, 1]| = |[0, 2]|. Provide injections in both directions.
  • Predict first: use CSB to show R=(0,)|\mathbb{R}| = |(0, \infty)|. (Hint: exe^x does half the work; what does the other injection look like?)
  • Show P(N)={0,1}N|\mathcal{P}(\mathbb{N})| = |{0, 1}^{\mathbb{N}}| — the power set of N\mathbb{N} equals the set of infinite binary sequences. Give a bijection (this one is so direct that CSB is overkill).
  • Predict first: is it possible to have injections ABA \to B and BAB \to A without any actual bijection between them? (CSB says no — but think about why this is surprising.)
  • Show R2=R|\mathbb{R}^2| = |\mathbb{R}| using CSB. (Hint: the injection RR2\mathbb{R} \to \mathbb{R}^2 is trivial; the injection R2R\mathbb{R}^2 \to \mathbb{R} uses an interleaving of decimal expansions.)

A trap to watch for

A common misreading is that CSB constructs a bijection explicitly — that having two injections somehow hands you the bijection ready-made. It does not. CSB is an existence theorem: it tells you that some bijection exists, but the proof has to do real work to extract one, classifying elements into A-stoppers, B-stoppers, and infinite chains. In many situations the bijection it produces is not a nice closed-form formula. The lesson is: when a problem only asks "do these sets have the same cardinality?", CSB and a pair of injections is usually the cleanest route. When a problem asks for an explicit bijection, CSB does not directly help — you must either construct the bijection or unpack the CSB proof for the specific case.

What you now know

You can state CSB, recognise the pattern (injection in each direction) that triggers it, and apply it to standard cardinality equations like (0,1)=R|(0, 1)| = |\mathbb{R}| and P(N)=R|\mathcal{P}(\mathbb{N})| = |\mathbb{R}|. Together with Cantor's diagonal argument from the previous section, CSB completes the toolkit of basic cardinality reasoning. Chapter 8 closes here in Velleman’s text; further results — the Continuum Hypothesis, large cardinals, the Axiom of Choice and its consequences — belong to a follow-up course in axiomatic set theory.

References

  • Velleman, D. J. (2019). How to Prove It: A Structured Approach (3rd ed.). Cambridge University Press, ch. 8.
  • Halmos, P. R. (1960). Naive Set Theory. Springer (CSB chapter).
  • Enderton, H. B. (1977). Elements of Set Theory. Academic Press.
  • Hrbacek, K., Jech, T. (1999). Introduction to Set Theory (3rd ed.). CRC Press.
  • Smullyan, R. M., Fitting, M. (1996). Set Theory and the Continuum Problem. Oxford University Press.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.