从无理数到实数的双射构造疑问:给定映射为何不成立?
理解无理数与实数之间的双射构造
你提到的这个构造其实是一种非常巧妙的“移位”式双射,但看起来你可能搞反了映射的定义域和值域,这才导致了“无法得到2”的困惑——咱们一步步拆解清楚:
先明确核心前提
无理数集$\mathbb I$和实数集$\mathbb R$确实具有相同的基数(都是$\mathfrak c$),所以必然存在双射。这个构造的目标是建立从无理数集到实数集的双射(反过来也一样,双射是可逆的),而不是从实数到实数的映射。
完整的构造细节(补全你看到的版本)
原构造的完整逻辑应该是这样的:
定义映射$g: \mathbb I \to \mathbb R$:
- 对于所有形如$q + n\sqrt2$的无理数(其中$q\in\mathbb Q$,$n\in\mathbb N^+$,也就是正整数),令$g(q + n\sqrt2) = q + (n-1)\sqrt2$
- 特别地,当$n=1$时,$g(q+\sqrt2)=q$(这一步就是把这类无理数映射到对应的有理数)
- 对于所有其他无理数(也就是不能写成$q+n\sqrt2$形式的无理数),令$g(x)=x$
为什么这个构造是双射?
咱们从单射和满射两方面验证:
1. 单射(不会有两个不同的无理数映射到同一个实数)
- 如果两个无理数都是“不动点”(不在$q+n\sqrt2$的集合里),那它们映射到自身,自然不会冲突
- 如果两个无理数是$q_1 + n_1\sqrt2$和$q_2 + n_2\sqrt2$,若$g(q_1 + n_1\sqrt2)=g(q_2 + n_2\sqrt2)$,则$q_1+(n_1-1)\sqrt2=q_2+(n_2-1)\sqrt2$。因为$\sqrt2$是无理数,有理数部分和无理数部分必须分别相等,所以$q_1=q_2$,$n_1-1=n_2-1$即$n_1=n_2$,所以这两个无理数是同一个
- 不动点的无理数和移位后的数也不会冲突:不动点无理数不能写成$q+k\sqrt2$,而移位后的数要么是有理数($q$),要么是$q+(n-1)\sqrt2$(还是$q+k\sqrt2$的形式),和不动点完全不同
2. 满射(每个实数都能被某个无理数映射到)
- 有理数$r$:取无理数$r+\sqrt2$,根据构造,$g(r+\sqrt2)=r$,所以每个有理数都被覆盖到了
- 无理数$x$:如果$x$不能写成$q+n\sqrt2$的形式,那$g(x)=x$,直接覆盖;如果$x$能写成$q+n\sqrt2$($n\in\mathbb N$),那取无理数$q+(n+1)\sqrt2$,$g(q+(n+1)\sqrt2)=q+n\sqrt2=x$,也被覆盖到了
解决你的“无法得到2”的困惑
你之前觉得“永远无法得到2”,是因为你可能把映射方向搞反了——如果是从无理数到实数的双射,那2是有理数,我们可以通过$g(2+\sqrt2)=2$得到它;如果是反过来从实数到无理数的双射,那值域本来就是无理数,2作为有理数确实不在值域里,这是合理的,因为我们要的是实数到无理数的双射,而不是到整个实数的映射。
简单来说,这个构造的本质是:把一个可数的无理子集(${q+n\sqrt2 | q\in\mathbb Q, n\in\mathbb N^+}$)和可数的有理数集做了一个“一一对应”,同时保持其他无理数不动,这样就把整个无理数集“填满”了整个实数集,实现了双射。
内容的提问来源于stack exchange,提问作者Aemilius
相关产品推荐
相关产品推荐

