为什么引入分割之后又回到小数?
读完 4.5 之后,一个很自然的反应是:
“Dedekind 分割是可行,但为什么偏偏是这个构造?”
完备有序域的唯一性从结构层面回答了这个疑问。重点不是说 Dedekind 分割是唯一能想出
来的构造,而是:只要某个构造真的做出一个完备有序域,那么它在数学意义
上做出来的就是实数。
这个构造的结构边界
唯一性定理说明,完备的分割模型就是熟悉的实数系统:
定理
完备有序域在同构意义下只有一个
一个重要事实是:作为完备有序域,实数是唯一的。所以 Dedekind 分割不
是熟悉实数线的竞争版本,而是它的一个严格模型。
任意两个完备有序域都存在保持次序与域运算的同构。因此,只要一个构造满足
完备有序域公理,它就在结构意义上得到实数系统。这个定理是本课程明确的
证明边界:本页用它解释不同严格构造为何描述同一个实数系统,但不在本课
证明唯一性定理。
由小数展开得到分割
考虑一个非正式的小数展开
x=10.4352902543…
先从它造出两族有理数。
先看由下逼近:
S={10, 10.4, 10.43, 10.435,…}.
然后定义
A={q∈Q∣∃s∈S 使得 q<s}.
再看由上逼近:
T={11, 10.5, 10.44, 10.436,…}.
然后定义
B=Q∖A={q∈Q∣∀s∈S, s≤q}.
关键主张是:(A,B) 就是一个 Dedekind 分割。也就是说,一个熟悉的小数
展开可以被转换成上一页引入的那种边界对象。
例题
最初几层的小数围栏
由上面的展开,我们立刻得到一串嵌套的有理区间:
10<x<11,10.4<x<10.5,10.43<x<10.44,10.435<x<10.436.集合 A 收进所有已经被确认在某条下方围栏以下的有理数;集合 B 是
所有下方围栏的有理上界集合,包含有理边界本身。
为什么这真的是一个 Dedekind 分割
用单集合版本的定义最容易检查。
-
A 非空,因为例如 9<10,所以 9∈A。
-
A 不是整个 Q,因为 T 里的每条上方围栏都严格高于 S 里的每条下
方围栏,所以像 11 这样的数不可能落在任何一条下方围栏之下。
-
A 向下封闭:若 q<s 对某个 s∈S 成立,而 y<q,那么 y<s
也成立,所以 y∈A。
-
A 没有最大元素:若 q∈A,挑一个 s∈S 使 q<s,再令
r=2q+s.
就有 q<r<s,所以 r∈A。
因此,这个小数展开确实被转成了 cut 模型中的一个真正实数。
这正好体现了第 4 章的整体方法:看似非正式的描述,只要改写成有理数次序
数据,就能变成严格数学对象。
一般地,对整数部分 k∈Z 和数字 dj∈{0,…,9},定义
tn=k+j=1∑ndj10−j,un=tn+10−n,n≥0.
n=0 时取空和。令 S={tn:n≥0}、T={un:n≥0}。
有限位值运算给出 tm<un,下围栏非递减,上围栏非递增。上面的
四个条件同样适用:k−1∈A,而 k+1∈/A。B 必须取 A
的补集,即所有下围栏的有理上界;若改成严格高于某个上围栏,会把
1.25000… 这样的有理边界从两边同时遗漏。给定 ε>0,
选择 n>1/ε 并使用 10n≥n,可得 10−n<ε。
所以这种构造也涵盖终止小数和全为九的尾部。
由分割反推出小数展开
一个反向练习是:给定一个 Dedekind 分割,如何产生
对应的小数展开?
想法其实很系统。
- 先找整数部分,也就是找出使嵌入分割 mR≤A 成立的最大整数 m。
- 再测试十分位,保留其嵌入分割仍满足 qR≤A 的最大候选。
- 接着测试百分位、千分位,如此类推。
每一步,你都在选择“嵌入分割不大于 A 的最大十进制截断”。这会产生一串
越来越窄的有理区间,而它们的宽度趋向 0。
所以在这套理论里,小数位不是实数的原始定义;它是从分割通过反复逼近所
恢复出来的表示法。
例题
用分割寻找 2 的小数位
一旦 2 的分割被建立,我们可以比较平方并得到
1<2<2,1.4<2<1.5,1.41<2<1.42,1.414<2<1.415.这些有理围栏正是熟悉的小数展开 1.414… 的开头。

图:每揭示多一位小数,便得到更窄的一条有理区间,而 2 始终留
在所有这些区间里。
逐步缩小有理区间
下面的 builder 会逐位揭示小数,并同步更新下界、上界与区间宽度,让你看
到“小数展开”其实是在构造一串越来越紧的有理围栏。
边读边试
把小数近似看成收窄中的区间
这个工具把小数展开转成逐步收紧的上下有理界,让近似过程可以按数位一步一步看见。
用 sqrt(2) 这个例子,可以直接看见无理数:没有任何有限小数阶段会到达它本身,但区间会一直收窄包住它。
无理数
定义
无理数
一个 无理数 是 R∖Q 里的元素,也就是 r∈R 但
r∈/Q。
所以“无理”并不表示神秘、未定义,或无法描述;它只表示这个实数不是任
何一个有理 cut qR。
定义 2 的分割
令
C={r∈Q:r≤0 或 r2<2},Q∖C={r∈Q:r>0 且 r2>2}.
补集的等式使用了有理平方不等于 2 的结论。C 非空,因为 1∈C;
它是真子集,因为 2∈/C。向下封闭也成立:非正成员以下全被包括,
正成员以下的正有理数平方更小。非正成员可用 1 超过,正成员可用
4.3 的有理扰动超过。因此 C 没有最大元,确实是分割。它包含 0R
并且还包含 1,所以是严格正的分割。
验证 C 的平方确实等于 2_R
使用 4.5 的非负乘积分割定义。负有理数属于 2R。若非负
a,b∈C,当 a≤b 时有 ab≤b2<2;另一种次序同理。
因此 C⋅C⊆2R。
反过来,负有理数已经包括在乘积中。任取有理数 0≤z<2,选择
有理数 0<δ<min{1,(2−z)/5}。从 1∈C 开始应用 4.5
的有理步进论证,得到 a∈C、b=a+δ∈/C 且 a≥1。
于是 a<2、b<3,而 b2>2,故
2−a2<b2−a2=δ(a+b)<5δ<2−z.
所以 z<a2。令 c=z/a,则 0≤c<a,故 c∈C,而
z=ac∈C⋅C。这证明 C⋅C=2R。
例题
为什么这个分割是无理的
若 C=qR,其边界必有 q>0。若 q2<2,则 q∈C,但
q∈/qR,矛盾。若 q2>2,4.3 的向下扰动给出正有理数
r<q 且 r2>2,于是 r∈qR 却不属于 C,仍然矛盾。
等号 q2=2 在 Q 中不可能。因此 C 不是有理分割;我们把这个
平方为 2R 的正分割记作 2。
常见错误
无理数不是‘没有精确意义的数’
在 cut 模型里,无理数和有理数一样精确。差别只在于:没有任何一个有理边
界点能把它完全抓住而已。它本身仍然是一个完全精确的 Dedekind 分割。
常见错误
小数展开在这里是结果,不是原始定义
本页并没有否定小数记号,而是在解释它。先有作为严格对象的分割,然后
才由分割通过反复逼近恢复出小数展开。
小数表示的非唯一性与循环性
小数是表示方式,所以在把它当作定义前,必须检查它是否唯一。基本例子是
0.999…=1.
截断值 0.9、0.99、0.999 与 1 的差分别是 10−1、
10−2、10−3。给定任意 ε>0,取 n 使
10−n<ε。对任意 u<1,取 ε=1−u,便知每个 u<1 都被某个截断 1−10−n 超过。因此 1 是
所有截断的上确界,对应分割恰为 1R。若要
使用唯一的小数字符串,就必须排除全是 9 的尾部。
定理
最终循环小数是有理数
若小数在前 m 位后出现长度为 k 的循环块,把它分别乘以
10m+k 与 10m,两条等式的循环尾部会对齐。相减后得到一个
非零整数系数乘以 x 等于整数的方程,所以 x 是整数之比。这只证明
最终循环小数为有理数,并不声称每个无限小数都循环。
定理
正的终止小数也有全九尾部表示
例如 1.25000…=1.24999…。对最后一个非零数字所在的位(也包括整数位)减去一个该位单位,并在其后接全九尾部,尾部的值正好补回
所减的单位。这是缩放后的 0.999…=1,因此两种展开表示同一个数。
例题
把 0.27 化为分数
设 x=0.272727…。则 100x=27.272727…,相减得到
99x=27,所以 x=27/99=3/11。循环尾部在有限次相减后消失。
例题
非循环小数仍然可以是实数
2 的小数展开不是最终循环的,但它的有限截断和下一位上界形成
嵌套的有理区间;Archimedean 估计保证区间宽度趋于零,相关 cut 给出一个
实数边界。无理性表示它不是有理元素,不表示它不是实数。
反过来:有理数产生循环小数
前面的相消论证证明了“最终循环小数是有理数”。反方向同样来自有限性。
把最简分数 a/b(b>0)做长除法,每一步记录余数;余数只能是
0,1,…,b−1。余数变为 0 时小数终止;否则有限多个余数中必有
一个重复。从第一次出现重复余数的位置起,数字就永久循环。因此每个
有理数都有终止或最终循环的小数展开。
定理
有理性与最终循环性等价
在把 0.999… 与 1 这类两种表示视为同一个数后,十进制实数是
有理数,当且仅当它的展开终止或最终循环。
把一般实数化为小数部分
对任意 x∈R,Archimedean 性质给出整数 k,使 k≤x<k+1。
这个整数唯一:若另一个整数 ℓ 也满足条件,k<ℓ 会推出
k+1≤ℓ≤x,矛盾;反方向同理。令 y=x−k,便有 0≤y<1。
先构造 y 的小数位,再把 k 加回每个截断值,就能保留相同的误差宽度。
例题
用取整函数构造小数位
对 y∈[0,1)、n≥1,定义
dn=⌊10ny⌋−10⌊10n−1y⌋。则
dn∈{0,…,9},而截断值
tn=⌊10ny⌋/10n 满足 tn≤y<tn+10−n。
因此 k+tn≤x<k+tn+10−n;这些数字为每个实数给出带有明确误差界
的嵌套有理区间,不依赖把无限数字串当成现成对象。
数字公式需要两项检查。令 m=⌊10n−1y⌋,由
m≤10n−1y<m+1 得到 10m≤10ny<10m+10。取整后有
10m≤⌊10ny⌋≤10m+9;减去 10m 便证明 dn 是十个
允许数字之一。其次,加权的数字和会逐项相消:
j=1∑ndj10−j=10−n⌊10ny⌋−⌊y⌋=10−n⌊10ny⌋=tn.
最后一步使用 0≤y<1。因此数字构造确实还原了下方近似,并不只是列出
一串允许数字。对负的 x,x=k+y 是整数加小数部分的分解,例如
−1.25=−2+0.75;不能把 k 的负号与 y 的数字直接拼接来读。
例题
有理但不终止的展开
1/3 不能有终止小数,因为最简分母只含因子 2 和 5 才可能终止。
长除法得到 0.333…;重复余数 1 正好解释了循环。
常见错误
不终止不等于无理
1/3=0.333… 是有理数,因为数字最终循环。无理性要求不最终循环,
或需要另一个独立证明,不能只因为数字无限就下结论。
快速检查
思考检查
对有限小数 1.25000…,1.25 属于分割的 A 还是 B?请由定义解释。
解答 · 答案
每个下方近似都不超过 1.25,所以 1.25 属于所有下方近似的有理上界集
B。它不属于 A,因为没有下方近似严格大于 1.25。把 B 定义为 A
的补集,正好保留了这个有理边界。
练习
思考检查
写出非正式小数 3.14159... 所提示的前四个下方与上方有理围栏。
解答 · 引导解答
一种可能的链是
3<x<4,3.1<x<3.2,3.14<x<3.15,3.141<x<3.142.每一步都把目标限制在更窄的有理区间内。
思考检查
从非正式小数 2.718... 出发,写出前四个下方逼近、前四个上方逼近,并定义对应的 A 与 B。
解答 · 引导解答
一种自然写法是
S={2, 2.7, 2.71, 2.718,…},以及
T={3, 2.8, 2.72, 2.719,…}.然后定义
A={q∈Q∣∃s∈S 使得 q<s},以及
B=Q∖A={q∈Q∣∀s∈S, s≤q}.在显示出的阶段之后,确切还有什么小数位并不重要;重要的是这些由下逼近
会递增、由上逼近会递减,而且它们夹住同一个实数。
思考检查
为什么分割 C={r∈Q:r≤0 或 r2<2} 表示无理数?
解答 · 引导解答
若该分割等于某个有理 cut qR,其边界就会满足 q2=2。但没有有理数的
平方等于 2,所以该分割不是有理分割,而是无理数。
思考检查
假设你已经知道某个 cut 的前 k 位小数,下一位应该如何选?
解答 · 引导解答
考虑下一位可能的十个数字 0,1,…,9。对每个候选,把它加到目前的
小数截断后面,形成新的有理数。选出其中嵌入分割满足 qR≤A 的最大候选。
这就给出下一位的由下小数逼近,而由上的逼近则是在同一位上比它大一单位。
相关笔记
请先读
4.5 Dedekind 分割与 Q 的嵌入。
这两页一起完成了第 4 章里最核心的一步:由 Q 中缺失的 supremum,走到
由有理逼近支撑的实数正式构造。