尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

恒等变换背后的数学陷阱:实数R的无穷多个面目

恒等变换背后的数学陷阱:实数R的无穷多个面目 恒等变换这四个字在初等数学里其实是没什么存在感的。解方程时左右同加同减化简式子时提公因式、约分、通分老师都管它叫恒等变形学生也默认这些操作怎么变都不改变原来的值。可如果有人告诉你正是这个不起眼的概念被误用了几百年导致数学里把无穷多个互不相同的假R当成同一个真R你会不会停下来想一想——我们嘴里天天念的R到底是什么这个标题一出评论区分成两拨一拨觉得是数学民科在闹推翻欧几里得的笑话另一拨则觉得它戳中了一个真实存在的概念漏洞。我的看法更偏向后者但结论不能照单全收。这篇文章就把恒等变换、假R、无穷多个这三个词拆开揉碎看看这句话在数学上到底有没有依据又有哪些地方只是夸张的修辞。想弄清楚这件事的人包括数学老师、高中以上水平的学生、以及对数学基础问题感兴趣的爱好者往下读应该都不会白费功夫。1. 拆开标题恒等变换、R与假R到底各指什么1.1 恒等变换在初等数学里的真实身份先回到最基础的层面。集合X上的恒等变换严格定义是映射 id_X: X→X把每个元素映到自己符号写作 id_X(x)x。但这个纯函数论定义和中学课堂上的恒等变形并不完全是一回事。课堂上说的恒等变形是一堆允许的代数改写规则合并同类项、提取公因式、通分、约分、展开括号它们有一个共同特征——在给定数系的取值范围内改写前后表达式的值逐点相等。举个例子3(x2)3x6这个等式对任意实数x都成立不是某个方程的解而是无论x取什么值都相等的身份关系。正是这种逐点相等的性质让恒等变形在解方程、化简函数时非常安全。你可以在等式任何位置替换进一个代数式只要它是在同一集合上恒等就不会产生新的增根或漏根。但这里藏着一个容易被忽略的前提恒等变换必须依附于一个确定的代数结构。3(x2)3x6为什么成立因为乘法对加法有分配律这个分配律在实数集、有理数集、复数集上都成立。可如果底层结构换成一个不满足分配律的运算系统同样的式子就未必恒等了。换句话说恒等变换不是一张放在哪里都能用的万能符它的合法性来自底层数系的公理。初等数学在处理这个问题时通常非常偷懒默认讨论的是实数集R默认所有学生都知道R是什么默认在R上成立的恒等式在任何看起来像R的结构上也都成立。这三个默认单看每一个都没什么大问题可叠加起来就构成了标题所说的误认的温床。你实际在用的恒等变换究竟在哪个集合上生效这个问题一旦认真追问R的多义性就藏不住了。1.2 R的多重面孔与假R的诞生R这个符号在数学里的含义远比大多数人以为的丰富。在中学课本里R默认是实数集到了线性代数R^n表示n维欧氏空间在集合论中R可以表示一个二元关系在抽象代数里R通常用来表示任意一个环在逻辑和计算机科学里R还可能代表正则表达式里的正则语言。甚至就在实数这个语义之内R也能指代带序的完备域、戴德金分割的集合、柯西列等价类的集合或十进制无限小数串的集合。当你写下设x∈R的时候到底说的是哪一个R在大多数语境下人脑会自动根据上下文完成消歧不会引起误会。但假R这个概念恰恰是在这种消歧过于顺畅时冒出来的。所谓假R指的是一个对象表面披着R的外衣——它满足大多数初等数学里关于实数的性质也能参与加、减、乘、除、比较大小甚至很多关于连续性的结论在它身上依然成立——但在严格的集合论意义上它并不是你最初设想的那一个具体的实数集。更深一层说标题里的假R还可以理解为数学中存在无穷多个彼此同构但集合论上各不相同的完备有序域它们每一个都满足我们教给学生的实数公理却没有任何一个是唯一的那个R。如果你坚持R是某个具体的集合那么所有其他同构副本都是假R如果你坚持R是那个抽象的同构类那么任何一个具体构造出来的模型也不过是假R的某个代表而已。这种哲学味道十足的现象正是标题想表达的无穷多各异假R误为R。2. 无穷多个假R从哪来实数域真的不是只有一个2.1 三种经典构造戴德金分割、柯西列、十进制小数要理解无穷多个R不能停留在哲学想象上得看几个真实的数学构造。第一种是戴德金分割。把有理数集Q分成两个非空集合A和B使得A中每个元素都小于B中每个元素且A没有最大元B可能有最小元也可能没有。每个这样的分割(A|B)就定义为一个实数。所有分割的集合记作D。这个构造的优点是非常干净序关系、加法和乘法都可以直接在分割上定义而且证明完备性很直观。第二种是柯西列等价类。考虑所有有理数柯西列即满足对任意正有理数ε存在N使得当m,nN时|a_m-a_n|ε的有理数序列。把两个柯西列的差收敛到0的视为等价所有等价类构成集合C。每个等价类就是一个实数。这个构造的优势在于它能直接从有理数的度量性质出发几乎不需要新增任何对象。第三种是十进制无限小数。把实数看成无限小数串比如3.14159...。但这里有个著名的麻烦1.000...和0.999...表示同一个实数所以不能直接拿小数串当元素必须先把从某一位以后全是9和进位后全是0的处理成等价关系再取等价类得到集合S。这个模型最贴近中学直觉但运算定义是所有构造里最繁琐的——加法要考虑进位乘法更是噩梦。这三个集合的关系很有意思。D的元素是有理数集合的分割对C的元素是无穷序列的等价类S的元素是字符串的等价类。它们在外延上完全不同没有一个是另一个的子集集合基数虽然相同但元素形态天差地别。然而只要在D、C、S上分别定义加法和序它们都会成为完备有序域。完备有序域唯一性定理告诉我们任意两个完备有序域之间一定存在保持运算和序的双射——也就是同构。于是D、C、S就变成了同一个抽象实数域的三种具体表示。下面这张表可以让你快速抓住三者的差别构造模型元素是什么序怎么定义常用场景初等数学里的常见误解戴德金分割D有理数集合的有序分割对按分割集合的包含关系与元素大小实分析教材中的理论构造以为实数是一段连续的点柯西列等价类C有理数柯西列的等价类等价类中代表列的极限比较度量空间的完备化把实数本身当成数列十进制小数S十进制展开串的等价类逐位比较处理无穷进位中学课堂与计算器忽视0.999...与1是同一集合元素另外无穷多个不是修辞而是严格的结论。给定任何一个实数模型比如D你可以任选一个与D等基数的集合X再取任意双射 f: D→X把D上的加法和序通过f搬到X上去。这样得到的(X, , )依然是完备有序域。由于X和f都有无穷多种选择得到的实数副本当然也是无穷多个。标题里的无穷多在这里获得了技术上的成立。2.2 非标准分析、p进数与实数闭域更远的假R如果只看三种经典构造还可以辩解说反正它们同构叫R也无妨。但数学中还有一些结构它们和R共享大量初等性质却连同构都不是那才真正配得上假R三个字。非标准分析中的超实数域R就是典型。R以实数域R为子结构同时加入无穷小和无穷大元素。它满足所谓转移原理R上能用一阶逻辑表达的命题在R上照样成立。这意味着中学和大学本科里绝大多数恒等变换、代数恒等式在R里依然成立。但R不是阿基米德有序域——存在正无穷小ε让ε加上自己任意有限次始终小于某个标准正实数。这个性质与R的本质相悖所以R只是看起来像R实际上是一个完全不同的有序域。更扎心的是p进数Q_p。对每个素数p有理数Q可以依据p进绝对值完成备化得到Q_p。这个域在代数上仍然是一个域而且很多多项式方程在Q_p上的解性态与R很像比如完备度量、局部紧、球内任意两点距离不超过球半径的超度量性质。但Q_p不满足序公理无法和R建立保序同构。一个习惯了实数就是一切的初学者如果拿到一个p进方程的解集很容易把它当成某种实数解来理解这在数学上会吃大亏。还有一个更理论化的家族实数闭域。模型论中实数闭域是满足实数一阶理论所有命题的域实代数数域是其中一个经典的例子。任何实数闭域都满足初等数学里用到的那些恒等关系和代数性质但这批结构之中有阿基米德的、也有非阿基米德的彼此之间未必同构。初等数学的恒等变换几乎全部依赖一阶逻辑可表述的性质因此在这些假R上统统成立。换句话说恒等变换并不能帮你分辨自己身在哪个R。2.3 教育里同一符号的混乱现场符号多义并不是高等数学独有的毛病中学课堂里其实到处都有。R^2中的R和集合论里的关系R在教材的不同章节出现时含义完全不同函数记号f:R→R和线性代数里的R^n更把实数集和向量空间混在一句话里。老师一般靠语境提示学生这里的R是实数集但没人专门讲为什么同一个字母可以被反复占用。这种混乱在R到底是哪一个实数集的问题上尤其突出。学生问老师实数是用戴德金分割定义的还是用小数定义的很多老师会回答都一样。这个回答没有错但一样的两个字把两种截然不同的关系——集合相等和结构同构——混在了一起。等到大学实分析课上老师突然说实数域在同构意义下唯一时学生往往会理解成所有实数模型就是同一个集合再往后学到有理数、整数的商构造整个人就乱了。如果把这种符号污染称为错误确实过于严厉。所有数学表达都是缩写的艺术靠上下文消歧是正常且必要的。但缩写有一个底线你自己得知道在缩什么。标题里那句将无穷多各异假R误为R其实是在指责数学教育只教了缩写的便利却没有在关键位置揭开缩写背后的结构差异。这个指责虽然夸张却点中了概念教学中的真实软肋。3. 同构不等于同一个东西误用R的逻辑风险在哪3.1 同一与同构两个容易混淆的数学概念在数学里两个集合相等指的是外延完全相同也就是它们包含一模一样的元素。两个结构同构指的是存在一个双射把两个集合中的一个映射到另一个同时保持所有运算和关系。双胞胎是个不错的类比两个人基因完全相同站在你面前几乎分不出彼此但他们是两个独立的个体不是同一个人。同构就是这个意义上的基因完全相同。数学家在处理代数结构时绝大多数情况下只关心结构本身不关心载体集合的具体元素长什么样。所以完备有序域在同构意义下唯一成了标准表述。但同构意义下唯一和集合意义上唯一差着十万八千里。集合意义上完备有序域有无数个同构意义上它们确实可以归为一个。用生活语言说图纸只有一张但按同一张图纸可以盖出无数栋楼你不能说这些楼是同一栋楼。问题是初等数学的教学里没有同构这个词甚至没有结构这个词。学生们被灌输的印象是R是板上钉钉的一个东西一切实数都在里面。等到严格构造出现时大脑很难把第一栋楼和第二栋楼重新分开。这个思维惯性正是假R误为R产生的认知根源。3.2 真正出错的场景证明、集合运算与唯一性表述把同构当成同一会在哪些具体地方出问题我从自己的学习和批改作业经历里挑几个最典型的例子。证明过程的错位。假设你用柯西列等价类模型证明了实数完备性下一步直接说因此每个实数都可以写成十进制小数。这个推论从逻辑上并不直接成立。柯西列模型里的实数是一堆序列的等价类而不是小数串要得到可以写成十进制小数必须先把柯西列模型与十进制模型同构起来才能把结论搬过去。很多教材省掉了这一步导致学生以为完备性的证明会自己长出小数表示。集合运算的错误。R^2是集合R×RR本身不是它的子集通常也不等于R^2。可如果学生心里把R当成一切点的集合就很容易把坐标平面直接等同于R^2的捷径进而觉得平面上的每个点都是实数。这种观念在小学坐标系里还能凑合一到向量空间和拓扑就崩了。类似的还有R与Q_p如果不加区分解方程时把Q_p上的解硬塞回R就会得出荒谬的结论。唯一性表述的误读。唯一完备有序域这句话的正确读法是任意两个完备有序域都存在唯一的保持结构的同构映射。这不是说宇宙中只有一个这样的集合。把同构类唯一读成集合唯一实际上是消灭了无穷多个假R的存在感。标题所批判的某种程度上就是这个被消灭的过程。3.3 重大错误还是概念隐患先别急着下结论到这里我需要对标题做一个冷静的判断。初等数学几百年重大错误这个说法在字面上不成立。初等数学并没有因为使用R而产生过系统性的错误结论。解方程、算函数、证不等式在实践层面上全部有效因为整个理论建立在未显式化的公理之上并没有把R是哪个具体模型作为推理的前提。那么假R误为R到底错在哪里错在逻辑严谨性不在数学结论。它更像一个概念层面的隐患当你使用恒等变换时你默认了一个没有明确指定的完备有序域这个默认在初等推理中无害但在和集合论、模型论接轨时就会产生巨大的认知断层。与其说初等数学错了不如说它在哲学上不透明。所以我建议把标题改写得更准确一些恒等变换概念暴露了初等数学对实数结构同一性的模糊处理把无穷多个同构副本当成唯一R。这样一句话辛辣、准确而且不会给人留下要推翻整个初等数学的错误印象。4. 实战经验怎么教、怎么学才能躲开假R陷阱4.1 写作与教学先声明符号约定这个习惯花十秒钟就能养成却能省去后期数不清的争论。无论你是在写论文、发博客还是给学生出讲义遇到R时都先声明一句本文中的R指实数域采用某某构造除非特别说明所有同构副本统一定名为R。我见过比较严谨的数学教材就直接写成设R为实数域取戴德金分割模型作为定义。这句话看起来多余实际价值非常大。它告诉读者第一实数不是模糊概念而是有明确集合定义的第二还存在其他可能的构造本文只是选定了一个。如果读者用的是柯西列模型他可以自行建立同构不会产生歧义。在课堂演示时可以用一个更直观的符号策略把三种模型分别记作R_D、R_C、R_S讨论性质时先写R等到涉及具体构造时再区分下标。这能很自然地告诉学生结构上它们是同一件事但作为集合它们彼此不同。4.2 教恒等变换时一定要讲清集合和定义域谈到恒等变换许多老师只强调等式两边永远相等却很少问在哪个集合上永远相等。事实上这正是标题里恒等变换一词真正切入问题的地方。建议在课堂上至少给学生讲三个例子把集合和定义域问题直接暴露出来。第一个例子是分式恒等。(x^2-1)/(x-1)和x1在x≠1的范围内恒等但前者在x1处没有定义后者有定义。如果学生只知道恒等变换可以随便用他很可能在解方程时把增根悄悄抹掉或者在代入x1时给出错误答案。这里的关键不是恒等两个字而是在定义域上恒等。第二个例子是根号变形。(√x)^2x在实数范围内只在x≥0时成立。到了复数范围√x的定义都变了。另一种表述是恒等式是否成立取决于你选用的数系。初等数学通常默认实数但这个默认不能成为忽略定义域的理由。第三个例子是0.999...1。如果坚持十进制小数串模型而不做等价类处理这个等式会非常反直觉但一旦你承认实数集S是所有十进制展开串的等价类0.999...和1.000...根本就是同一个等价类。这个例子能让学生提前感受到同一个数可以有不同表示正是结构同一性的雏形。在解释时可以给学生一个提示框提醒自己恒等变换不是无条件的想把式子变成什么样就变成什么样。合法操作有三个前提——选定了同一个代数结构、明确了定义域、确保改写前后的表达式在每个允许取值上相等。4.3 从初等数学到高等数学的同构思维衔接如果你是一位带高年级学生或大学新生的老师可以在课程里加一个结构vs表示的小专题。不必讲太多抽象代数只需要把几个商构造拎出来有理数是分数对的等价类整数是自然数差对的等价类实数是柯西列或分割构造的等价类。三个案例摆在一起学生自然会发现我们从小到大熟悉的数其实都不是自然存在的而是被结构定义出来的。我建议可以安排三道递进练习作为这个专题的收尾用自己的话解释D、C、S三个模型为何同构。提示可以先证明完备有序域的唯一性定理再用这个定理作为桥梁。给定一个实数模型D任取一个与D等基数的集合X说明如何通过双射把D上的运算搬到X上构造出一个新实数模型。试着举出两个这样的X。讨论0.999...1在十进制模型和戴德金分割模型里分别意味着什么。提示十进制模型里要做字符串等价类戴德金分割模型里直接对应同一个分割。这三道题做完假R这个概念就不再是危言耸听而是一个看得见、摸得着的数学事实。5. 面对这个重大错误论断我的个人判断5.1 我为什么觉得这个标题过猛但仍值得读我第一眼看到恒等变换概念暴露初等数学几百年重大错误时和大多数数学出身的人一样本能地想反驳。初等数学的实际成果没有问题几千年来用得好好的凭什么说几百年重大错误但随着我把假R的几种可能含义一一展开我意识到这个标题真正想说的不是数学算错了而是我们教数学时把话说得太满了。我在给大一新生上分析课的时候做过一次小调查超过一半的学生以为实数的十进制展开就是实数的定义只有极少人听说过戴德金分割或柯西列模型。更让我吃惊的是很多学生第一次听说R不唯一时第一反应是那教材写错了。这种认知断层不是一天形成的它源于从小学到高中十几年的符号教育里始终没有给同一个结构可以有多种表示留出位置。所以我的结论是标题过猛但方向有价值。它把矛头指向恒等变换并不是因为恒等变换本身出了差错而是因为它作为初等数学里最常用、最不加反思的操作最能揭示我们对R的模糊态度。用一个夸张的问句把人惊醒这个传播策略是有效的。5.2 想继续深入可以从哪里着手如果你被这个标题勾起了兴趣想真正搞懂R的各种面孔我建议按顺序做三件事。第一件找一本严格的分析教材认真读它第一章对实数构造的处理。Rudin的《数学分析原理》第一章就是一个很好的起点它用戴德金分割构造实数并证明了完备有序域的唯一性。读的时候你要时刻问自己这里的R是哪个集合另一本书里用的柯西列模型和它是什么关系第二件动手做一次搬运结构的练习。选择一个和D等基数的奇怪集合比如某个抽象集合X你自己定义双射 f:D→X然后把加法和序通过f搬到X上。完成这一步你会真正理解同一结构有不可数多个不同载体是怎么回事。第三件如果还有余力去看模型论里关于实数闭域的介绍。当一个一阶理论有不同构的模型时符号的指称就不再是唯一确定的。这个视角会动摇你从中学带来的一个符号必然对应一个对象的朴素信念。最后分享一个我自己的小习惯每次写论文或讲课时只要用到R我都会在开篇用半句话说明这里的R是标准实数域具体构造不影响结论。这句话挡掉过不少读者追问也让文章更严谨。这是我踩过几次坑之后才养成的习惯——数学写作里最便宜、最有效的严谨性就是把符号的全称写清楚。至于假R误为R这个标题我的态度是不妨把它当成一个钩子钓出背后那些真正值得深思的数学基础问题然后再心平气和地回到公理与结构的世界里。
返回列表