Schröder-Bernstein's Theorem
对任意集合A,B,若f:A→B与g:B→A都是单射,那么存在A→B的双射。
Context
设f:A→B,g:B→A是单射。假设A,B都是有限集,那么该结论是显然的,f,g本身就是这个双射。否则,说明∣B∣>∣A∣而由g是单射得到∣A∣≥∣B∣,矛盾。
对于无穷集,这个结论并不显然。例如,我们可以构造[0,1]→[0,1)的单射f(x)=x/2,也可以构造[0,1)→[0,1]的单射g(x)=x,但f,g都不是双射。而根据Schröder-Bernstein's Theorem,应当存在一个[0,1]→[0,1)的双射。事实上,能够和自己的真子集建立双射是无穷集合的一个特征。
Proof
因为g是单射,因此g(B)⊆A。我们取出A∖g(B),记为C0,那么f(C0)⊆B,记D0=f(C0)。我们观察到,从集合C0通过f映射到集合D0,那么这个映射既是单射又是满射,所以C0与D0之间存在双射。
于是,我们可以抛开C0,D0,只需证明A1=A∖C0到B1=B∖D0存在双射(因为如果在两个无交的定义域上有双射,合并起来也是双射)。仿照刚才的方法,令C1=A1∖g(B1),D1=f(C1),可以得到C1与D1之间存在双射。
以上步骤可以无限进行下去。也就是说,我们可以定义An+1=A∖⋃i=0nCi,Bn+1=B∖⋃i=0nDi,然后得到Cn+1=An+1∖g(Bn+1)与Dn+1=f(Cn+1)之间存在双射。关键在于,我们可以定义无穷集合序列的并集。根据上面的讨论,对于任何取定的自然数n,我们都可以直接由f给出⋃i=0nCi→⋃i=0nDi的双射,所以f可以给出⋃i=0∞Ci→⋃i=0∞Di的双射。
于是接下来,我们只需要找到A∖⋃i=0∞Ci→B∖⋃i=0∞Di的双射。我们发现,这部分的映射恰好可以由g给出:下面我们证明g能给出从B∖⋃i=0∞Di到A∖⋃i=0∞Ci 的双射。这也就证明了g是A∖⋃i=0∞Ci→B∖⋃i=0∞Di的双射。
方便起见,记B∗=B∖⋃i=0∞Di,A∗=A∖⋃i=0∞Ci。为了证明g能给出B∗→A∗的双射,只需证明:
(1) ∀b∈B∗,∃a∈A∗,g(b)=a;
(2) ∀a∈A∗,∃b∈B∗,g(b)=a;
对于(1),我们已知∀b∈B∗,∃c∈A,g(b)=c。那么只需证明∀n∈N,c∈/Cn。假设 c∈Cn,分类讨论:若n=0,那么c∈C0=A∖g(B),因此c∈g(B),与g(b)=c矛盾;若n=m+1,那么c∈Cm+1,其中Cm+1=Am+1∖g(Bm+1),因此c∈g(Bm+1),也即g(b)∈g(Bm+1),也即b∈Bm+1,也即b∈⋃i=0mDi。而b∈B∗,矛盾。综上,c∈A∗。因此取a=c即可。
对于(2),我们有∀a∈A∗,∃d∈B,g(b)=a。否则,a∈g(B),也即a∈A∖g(B)=C0,与a∈A∗矛盾。那么只需证明d∈B∗,也即∀n∈N,d∈/Dn。假设 d∈Dn,也即d∈B∖⋃i=0nDn=Bn+1,因此a=g(d)∈g(Bn+1),而a∈A∗,因此a∈An+1,所以a∈An+1∖g(Bn+1),也即a∈Cn+1。这与a∈A∗矛盾。综上,d∈B∗。因此取b=d即可。
综上所述,我们只需令
h(a):={f(a),g−1(a),ifa∈⋃i=0∞Ciifa∈A∖⋃i=0∞Ci
则h就给出了A到B的一个双射。
Observation
所以,Schröder-Bernstein定理的证明思路其实很直观。我们每次从右侧用g映射一个像集到左侧,抠除像集得到的圆环用f映射到右侧(也是一个圆环)恰好得到一个双射。那么只需不断重复以上步骤,不断剥去圆环,证明双射。最后我们根据定义再证明余下部分可以由g形成双射即可。该过程可以用下图清晰地表示:

以上Schröder-Bernstein定理的证明本身就是构造性的。我们可以由此给出一个[0,1]→[0,1)的双射。其中f(x)=x/2,g(x)=x。C0=[0,1]∖[0,1)={1},D0=f(C0)={1/2},A1=[0,1),B1=[0,1)∖{1/2},C1={1/2},D1={1/4},A2=[0,1)∖{1/2},B2=[0,1)∖{1/4,1/2},C2={1/4},D2={1/8},……以此类推,A∗=B∗=[0,1)∖{1/2,1/4,⋯,1/2k,⋯},所以h可以构造如下:
h(x):={x/2,x,if∃k∈N,x=1/2kif∀k∈N,x=1/2k
这是[0,1]→[0,1)的双射。