DennyQi's Log

Schröder-Bernstein Theorem

Schröder-Bernstein's Theorem

对任意集合A,BA,B,若f:ABf: A \to Bg:BAg: B \to A都是单射,那么存在ABA\to B的双射。

Context

f:AB,g:BAf: A \to B, g: B \to A是单射。假设A,BA,B都是有限集,那么该结论是显然的,f,gf,g本身就是这个双射。否则,说明B>A|B|>|A|而由gg是单射得到AB|A|\geq |B|,矛盾。

对于无穷集,这个结论并不显然。例如,我们可以构造[0,1][0,1)[0,1]\to [0,1)的单射f(x)=x/2f(x)=x/2,也可以构造[0,1)[0,1][0,1)\to [0,1]的单射g(x)=xg(x)=x,但f,gf,g都不是双射。而根据Schröder-Bernstein's Theorem,应当存在一个[0,1][0,1)[0,1]\to [0,1)的双射。事实上,能够和自己的真子集建立双射是无穷集合的一个特征。

Proof

因为gg是单射,因此g(B)Ag(B)\subseteq A。我们取出Ag(B)A\setminus g(B),记为C0C_0,那么f(C0)Bf(C_0)\subseteq B,记D0=f(C0)D_0=f(C_0)。我们观察到,从集合C0C_0通过ff映射到集合D0D_0,那么这个映射既是单射又是满射,所以C0C_0D0D_0之间存在双射。

于是,我们可以抛开C0,D0C_0,D_0,只需证明A1=AC0A_1=A\setminus C_0B1=BD0B_1=B\setminus D_0存在双射(因为如果在两个无交的定义域上有双射,合并起来也是双射)。仿照刚才的方法,令C1=A1g(B1)C_1=A_1\setminus g(B_1)D1=f(C1)D_1=f(C_1),可以得到C1C_1D1D_1之间存在双射。

以上步骤可以无限进行下去。也就是说,我们可以定义An+1=Ai=0nCiA_{n+1} = A \setminus \bigcup_{i=0}^{n} C_iBn+1=Bi=0nDiB_{n+1}=B \setminus \bigcup_{i=0}^{n}D_i,然后得到Cn+1=An+1g(Bn+1)C_{n+1}=A_{n+1}\setminus g(B_{n+1})Dn+1=f(Cn+1)D_{n+1}=f(C_{n+1})之间存在双射。关键在于,我们可以定义无穷集合序列的并集。根据上面的讨论,对于任何取定的自然数nn,我们都可以直接由ff给出i=0nCii=0nDi\bigcup_{i=0}^{n} C_i\to \bigcup_{i=0}^{n}D_i的双射,所以ff可以给出i=0Cii=0Di\bigcup_{i=0}^{\infty} C_i\to \bigcup_{i=0}^{\infty}D_i的双射。

于是接下来,我们只需要找到Ai=0CiBi=0DiA\setminus \bigcup_{i=0}^{\infty} C_i\to B\setminus\bigcup_{i=0}^{\infty}D_i的双射。我们发现,这部分的映射恰好可以由gg给出:下面我们证明gg能给出从Bi=0DiB \setminus \bigcup_{i=0}^{\infty} D_iAi=0CiA \setminus \bigcup_{i=0}^{\infty} C_i 的双射。这也就证明了ggAi=0CiBi=0DiA\setminus \bigcup_{i=0}^{\infty} C_i\to B\setminus\bigcup_{i=0}^{\infty}D_i的双射。

方便起见,记B=Bi=0DiB^\ast=B \setminus \bigcup_{i=0}^{\infty} D_iA=Ai=0CiA^\ast=A \setminus \bigcup_{i=0}^{\infty} C_i。为了证明gg能给出BAB^\ast\to A^\ast的双射,只需证明:

(1) bB,aA,g(b)=a\forall b \in B^\ast, \exists a \in A^\ast, g(b) = a

(2) aA,bB,g(b)=a\forall a \in A^\ast, \exists b \in B^\ast, g(b) = a

对于(1),我们已知bB,cA,g(b)=c\forall b\in B^\ast,\exists c \in A, g(b) = c。那么只需证明nN,cCn\forall n\in \N,c \notin C_n。假设 cCnc \in C_n,分类讨论:若n=0n = 0,那么cC0=Ag(B)c\in C_0=A\setminus g(B),因此c∉g(B)c\not\in g(B),与g(b)=cg(b)=c矛盾;若n=m+1n = m + 1,那么cCm+1c \in C_{m+1},其中Cm+1=Am+1g(Bm+1)C_{m+1}=A_{m+1}\setminus g(B_{m+1}),因此c∉g(Bm+1)c\not\in g(B_{m+1}),也即g(b)∉g(Bm+1)g(b)\not\in g(B_{m+1}),也即b∉Bm+1b\not\in B_{m+1},也即bi=0mDib\in \bigcup_{i=0}^{m}D_i。而bBb\in B^\ast,矛盾。综上,cAc \in A^\ast。因此取a=ca=c即可。

对于(2),我们有aA,dB,g(b)=a\forall a\in A^\ast,\exists d \in B, g(b) = a。否则,a∉g(B)a\not\in g(B),也即aAg(B)=C0a\in A\setminus g(B)=C_0,与aAa\in A^\ast矛盾。那么只需证明dBd\in B^\ast,也即nN,dDn\forall n\in \N,d \notin D_n。假设 dDnd \in D_n,也即d∉Bi=0nDn=Bn+1d\not\in B\setminus \bigcup_{i=0}^{n}D_n=B_{n+1},因此a=g(d)∉g(Bn+1)a=g(d)\not\in g(B_{n+1}),而aAa\in A^\ast,因此aAn+1a\in A_{n+1},所以aAn+1g(Bn+1)a \in A_{n+1}\setminus g(B_{n+1}),也即aCn+1a \in C_{n+1}。这与aAa \in A^\ast矛盾。综上,dBd \in B^\ast。因此取b=db=d即可。

综上所述,我们只需令

h(a):={f(a),ifai=0Cig1(a),ifaAi=0Cih(a) := \begin{cases} f(a), & \text{if} \, a \in \bigcup_{i=0}^{\infty} C_i \\ g^{-1}(a), & \text{if} \, a \in A \setminus \bigcup_{i=0}^{\infty} C_i \end{cases}

hh就给出了AABB的一个双射。

Observation

所以,Schröder-Bernstein定理的证明思路其实很直观。我们每次从右侧用gg映射一个像集到左侧,抠除像集得到的圆环用ff映射到右侧(也是一个圆环)恰好得到一个双射。那么只需不断重复以上步骤,不断剥去圆环,证明双射。最后我们根据定义再证明余下部分可以由gg形成双射即可。该过程可以用下图清晰地表示:

image-20250218225936949

以上Schröder-Bernstein定理的证明本身就是构造性的。我们可以由此给出一个[0,1][0,1)[0,1]\to [0,1)的双射。其中f(x)=x/2,g(x)=xf(x)=x/2,g(x)=xC0=[0,1][0,1)={1}C_0=[0,1]\setminus [0,1)=\{1\}D0=f(C0)={1/2}D_0=f(C_0)=\{1/2\}A1=[0,1),B1=[0,1){1/2}A_1=[0,1),B_1=[0,1)\setminus\{1/2\}C1={1/2}C_1=\{1/2\}D1={1/4}D_1=\{1/4\}A2=[0,1){1/2}A_2=[0,1)\setminus \{1/2\}B2=[0,1){1/4,1/2}B_2=[0,1)\setminus\{1/4,1/2\}C2={1/4},D2={1/8}C_2=\{1/4\},D_2=\{1/8\},……以此类推,A=B=[0,1){1/2,1/4,,1/2k,}A^\ast = B^\ast = [0,1)\setminus\{1/2,1/4,\cdots,1/2^k,\cdots\},所以hh可以构造如下:

h(x):={x/2,ifkN,x=1/2kx,ifkN,x1/2kh(x) := \begin{cases} x/2, & \text{if} \, \exists k\in\N,x=1/2^k \\ x, & \text{if} \, \forall k\in\N,x \neq 1/2^k \end{cases}

这是[0,1][0,1)[0,1]\to [0,1)的双射。