Given injections and , start with the set difference : these are exactly the inputs for which is unavailable. Follow both functions repeatedly, using the natural-number recursion theorem to define
Thus contains all the members reachable from any starting point in . The notation and denotes images of a function. If is the empty set, then every is empty and alone gives the desired bijection.
Figure 1.
The Injection-chain proof of the Cantor-Schröder-Bernstein theorem partitions the inputs into two matching rules
. The upper row shows a chain seeded in , where the bijection follows . The lower row shows a chain beginning in , where the bijection reverses . The same rule also handles chains with no starting point and closed loops. Separate and copies are used even if the original sets overlap. Details.
Define a function on all of by
Here is the inverse function from to , obtained by restricting the codomain of to its image. It is well defined because is injective. Every belongs to , since , so the second rule is always available where it is used.
The decisive set identity is
The last equality holds because every with lies in , whereas is disjoint from . Consequently, for any ,
Indeed, cannot belong to ; if it lies in , the identity gives for some , and injectivity gives . The converse follows directly by applying .
Now restricts to a bijection from onto . The displayed equivalence says that restricts to a bijection from onto , so its inverse function bijects the remaining inputs with the remaining outputs. The two input sets partition and the two output sets partition . Their combined function is therefore both injective and surjective.
No choice function is needed: is fixed by the given injections, and each required is unique. We neither choose a representative from each chain nor enumerate . This is a proof in ordinary classical ZF, even when no well-ordering of the sets exists there.[ref]
A class in set theory in the model is a collection
defined by a first-order formula with parameters . A set-theoretic class function is a definable class relation for which every input in its domain has exactly one output. Informally, the Axiom schema of replacement says that the image of any set under any such function class is again a set.
Define the class function by the natural-number recursion theorem,
Then , and Replacement applied to the set gives
as a set.
Call a set small when it injects into some . Every natural number is finite, and every member of is finite, so each injects into . Hence . The set itself injects into , and its hereditary members are natural numbers, so .
We next prove by mathematical induction. The case was just proved. If and , then , so inclusion injects into and makes small. Every set below in its transitive closure is already below and is small by the induction hypothesis. The set itself injects into . Thus every member of is small.
By Cantor theorem, , so the are distinct and injects into . Thus is small. Every other member of belongs to for some , and is small by the preceding paragraph. Therefore . This proves the finite-power-set hereditary-small construction.
The structure is not a model of ZF because it fails the Axiom of union. If were small, it would inject into some . But , since , so restriction would inject
Together with the singleton injection , the Cantor-Schröder-Bernstein theorem would produce a bijection, contradicting Cantor theorem. Hence is not small and therefore does not belong to . Since has no union inside the class, the Union axiom fails.