昨天在学校的《数学分析》里看到 Dedekind(戴德金)连续性公理,又在“分界数为什么唯一”这一步卡了将近四十分钟。符号一个接一个,证明像是在集合之间绕圈。看了很久,我还是不能说自己已经看懂,只能先把目前能够理清的骨架记下来。

先把“存在”和“唯一”分开
在我现在的理解里,一个 Dedekind 分割把实数集分成非空的两部分 A 和 B:两者没有重叠,合起来是整个实数集,而且 A 中的每个数都不大于 B 中的每个数。
如果有一个实数 c,使任意 a ∈ A、b ∈ B 都满足 a ≤ c ≤ b,那么 c 就是这道分割的分界数。连续性解决的是“这样的 c 是否存在”,而唯一性要回答的是“会不会同时出现两个不同的 c”。我之前把这两个问题揉在一起看,证明自然越看越乱。

用中点看唯一性
唯一性可以先用一个更直观的反证骨架来理解。
- 假设同一个分割有两个不同的分界数,并设
c₁ < c₂。 - 取它们的中点
m = (c₁ + c₂) / 2,于是c₁ < m < c₂。 - 因为
A与B合起来是整个实数集,所以m只能属于A或B。 - 若
m ∈ A,由c₁是分界数,应有m ≤ c₁,与m > c₁矛盾。 - 若
m ∈ B,由c₂是分界数,应有c₂ ≤ m,又与m < c₂矛盾。
两种可能都会矛盾,因此不能存在两个不同的分界数。现在回头看,关键并不是记住一长串符号,而是认出“假设有两个—在中间取一个数—穷尽它属于哪一边—两边都矛盾”这条链。教材里的证明还需要继续逐行核对,但至少我知道自己应该盯住哪些位置了。
Python 里的 %、!= 和 ==
数学分析看累以后,我又复习了一会儿 Python。判断一个整数能否被另一个整数整除,可以看余数是不是零:dividend % divisor == 0。
%是取模运算,在这里用来求余数。==是比较两边是否相等。!=是比较两边是否不相等。=是赋值,不能和==混用。
除数还必须先排除零,否则 % 运算会报错。可以先写成下面这样:
dividend = int(input('请输入被除数:'))
divisor = int(input('请输入除数:'))
if divisor != 0:
if dividend % divisor == 0:
print('可以整除')
else:
print('不能整除')
else:
print('除数不能为 0')
下一次再看这段证明,我准备把每一行分别标成“假设、取中点、分类、矛盾”,然后不看答案重新讲一遍。Python 这边则多换几组被除数和除数运行,确认 %、== 与 != 没有记混。
等一会儿再去图书馆。今天先记到这里。
评论
0 条