以范畴论视角看待0.99循环
在结构上如何确认不同表述的对象在态射上的唯一性,恒等。
上次在语义范畴讨论了 0.99…=1 这一命题之后,评论区有人提出可以从范畴论的角度来看待这个问题。我很感兴趣所以研究了一下。
范畴论作为一个数学学科,其核心目的是以结构关系的方式对对象进行统一的解读。有趣的是这与关系论中的“反实体关系论”观点几乎不谋而合。反实体关系论认为,单个对象没有自足的实体性——也就是说,一个对象的所有属性都依赖于它与其他对象的关系。从世界观角度来看,世界可以被视为一个巨大的网络,节点是对象,其意义并非源自自身,而是源自与其他节点的链接与关系。
简单了解范畴论
回到范畴论:在范畴论中,形式化的数学对象仅有两类——对象(Object)和态射(Morphism)。对象可以理解为节点或元素,而态射则是对象之间的关系(或映射)。范畴论通过这种极简的结构,可以用统一的数学形式描述不同领域中结构相同的关系。例如,在编程中,函数 f:A→B 可以被看作一个态射,它将对象 A 映射到对象 B,而函数组合 g∘f 对应态射的复合操作,保持结构性。其中映射(箭头)可以通俗的理解为一种联系(关系),比如:A经过某种运算得到B,A通过逻辑推理得到B,这就是A映射到B,也是他们之间的关系。
需要声明的是,本篇文章虽然使用范畴论角度讨论 0.99…,但它并不能超越实数体系与非标准实数体系的基本概念:
- 在标准实数中,0.99…=1
- 在非标准实数中,0.99…与1存在无限小差距(ε)
这里的“相等”与“不等”并非定义的问题,而是直觉概念与现实意义之间的同步问题。推翻这一概念会导致许多直觉与现实的数学操作失效。例如“连续性”,如果无法保证上确界和极限存在,直觉概念无法与现实同步,就只剩下抽象概念本身,那概念只有概念的意义,在现实中无意义。
上确界与连续性
首先明确概念:上确界(Supremum)也叫最小上界,意味着对于一个实数集合 :
- 存在一个实数 s,使得 s≥a 对所有 a∈A 都成立
- 且任何比 s 小的数都不能满足上界条件
换句话说,s 是集合中所有上界的最小元素。
举例说明:假设你测量身高,某组人的身高范围在 1.70m 到 1.80m。即使你能测得小数点后更多精度(如 1.801m, 1.805m…),最小上界仍然是 1.80m——它确定了这个集合的极限值,而你不需要无限测量。上确界保证了实数的完备性和可操作性。
如果不存在上确界,数轴上会出现“裂缝”——无法选出确定的最大值,也无法定义极限和连续性。实数完备性依赖上确界的存在:有了上确界,一切数字都可以实际表达,极限存在,连续、微分、积分等概念才有意义。
图示上确界:

实数集合 A(蓝色球),A 的上界集合(红色球),和 A 的最小上界也就是上确界(红色菱形)。
换句话说,没有连续性是什么呢,就是你在数轴上选一个点,但你却说不出具体的数字,因为你踩到裂缝啦!
范畴论视角下的 0.99…=1
在范畴论中,0.99…不再是具体数字,而是一种对象的表现形式。考虑标准实数范畴 :
- A=0.999…,B=1
- f(0.9,0.99,0.999,…)=1
如果我们承认上确界存在,0.99…的递增序列若有极限,这个极限就可以作为该集合(0.99..的递增序列)的上确界。换言之,在关系上0.99循环与1无法区分,他们可以相互替换。因此可以将 0.99…与 1 看作同构对象,它们之间的态射是恒等态射(Identity Morphism):
- 直观理解:0.99…和1在标准实数体系下只是同一对象的不同呈现形式
- 在非标准实数中,0.99…与1存在无限小差距 ϵ,它们在非标准范畴中仍是不同对象,但在标准部分投影下仍可视为恒等态射
数学逻辑证明(标准实数下)
- 定义递增序列:
- 递增有界:
- 根据上确界公理:(Sup表示上确界,这个公式表达序列的上确界是1)
由极限定义:(这里是一个无限递增序列,2提到的展开为(a1,a2,a3....an))
- 在范畴论语言中:
- 对象 A=0.999…
- 对象 B=1
- 恒等态射:
- 自然同构:
因此在标准实数范畴中,0.99循环与1通过极限映射保持结构恒等,范畴论形式化地表达了它们是同一对象的两种呈现。
虽然多少有点车轱辘话的感觉,但是这样看,它不仅是一个实用主义最小代价去修复bug的问题。而是不管0.99循环还是1都只是同一个对象的不同表达形式,你可以把它叫做任何事物(只要不会与其他概念混淆)在你引入无限概念的时候,你只要表达这个无限循环有一个最大边界,那么它确实可以作为上确界同理替代1,他的特殊性也恰巧是他的唯一性。
感谢阅读,欢迎友善讨论,毕竟我不是数学专业,有数学大佬的话,欢迎分享简介,指出文中不完善的地方。