I decided that my first blog post should be about something that gave me the ‘wow’ feeling - and I immediately knew that it has to be the Schröder–Bernstein theorem. The proof of this theorem was skipped in the lecture (as an exercise :P) and I was waiting for the lecture to get over to try the proof. After hours of failed attempts, I thought I might be missing something trivial and decided to google it. I am a fan of elegant proofs and this theorem has been close to my heart ever since. Okay, let's cut the drama and jump straight into the theorem.
The Schröder–Bernstein theorem
Theorem: Let be any sets. If there are injective functions and then there exists a bijection .
Before going into the proof, I would like to introduce you to an alternate restatement of this theorem. This is not used in the proof and can be skipped.
Let us first fix the following terminologies.
- denotes the cardinality of set .
- If there exists an injection , we say that .
- We say that if there exists an bijection . As an example, where is the set of natural numbers and is the set of even natural numbers.
The Schröder–Bernstein theorem can now be restated as follows:
Theorem (restated): For any sets if and then .
Proof (Finite Case)
Let us do an easy special case first. Say and be finite sets with injections and . If , we are done as is a bijection as well. We now argue that if then there can not exist any injection from to which is a contradiction. Since is an injection, whenever , meaning can be written as . As , by pigeonhole principle there can not exist an injection from .
Proof (Infinite Case)
The above proof idea does not carry over to the case when and are not finite. There are various proofs of this theorem. The proof presented in this post is based on what I read from here (although I have used my own terminologies and visualized this as a graph).
Construct a directed graph as follows:
- .
.
It follows from the injectivity of and , that both the indegree and outdegree of any vertex in this graph is atmost 1. So chains that have branches (as shown in the following diagrams) can not exist.
Hence the graph consists of disjoint components each of which is either a cycle or an infinite chain.
An infinite chain can either start with a vertex from set (that is a blue vertex) or a vertex from set (a pink vertex). Let us call them blue chains and pink chains respectively. Observe that the first element of each pink chain do not have an incoming edge and these are precisely those elements in that does not have a pre-image with respect to .
The idea is to modify the pink chains so that all pink elements in this chain has exactly one incoming edge while preserving the number of outgoing edges of the blue elements.
We are now ready to define our bijection . Since all pink elements in cycles and blue chains have an incoming edge, mimics for the blue elements in these components.
However on pink chains, maps each blue element to its parent vertex in the graph .
More formally is defined as
Let us verify that is indeed a bijection. First of all, is a valid function as is defined on all blue vertices and each blue vertex has out-degree 1. Further, each pink vertex has in-degree exactly equal to 1 implying is a bijection. That's all - we are done 🙂
Aside: Observe that if and were finite sets then all the components are cycles!
Remarks
- There are various proofs of this theorem and the ideas used in this version are very similar to Konig’s proof of this theorem.
- This theorem is also referred to as Cantor–Schröder–Bernstein theorem.
- Any mistakes - technical, typos or any other mistake are solely my own. Please let me know if you spot any. Thanks!