通俗范畴论3 从特指对象到对象

同一性问题

如前所述,特指对象有个名字,并用一个点表示(相当于另一个名字),它可以作为箭头的起点或终点,箭头的多少,以及箭头的起点和终点根据表达的需要而定,没有特别的约定。因此,我们可以画出的、最简单的有向图如下:

最简单的有向图

Figure 1. 最简单的有向图

对于上图的苹果1,如果咬它一口,还可以认为咬过的苹果是苹果1么?

小明认为是,因为咬一口只是苹果1缺了一小块,不算什么,苹果1还是苹果1;小丽的观点则相反,因为苹果1已经缺了一块,不再和原来的苹果1完全相同了,因此它应该用一个新的名字代之,比如 苹果2。如下图所示:

Table 1. 对相同的不同理解示意
小明小丽

Diagram

Diagram

小明和小丽哪个对呢?我们让小明和小丽再次陈述观点:

小明:苹果1可以吃,咬一口以后还可以吃,就还是苹果1。

小丽:苹果1咬了一口,虽然还可以吃,但是已经不似以前那个完整的苹果1了,所以咬一口后的苹果,就不再是苹果1,而是苹果2了。

经过陈述,我们发现小明和小丽都有道理,小明的潜台词是只咬一口没关系(还能吃);小丽的潜台词是咬一口破坏了苹果1的完整性,所以苹果1不再是苹果1了。他们的关注点不同,在小明的语境和小丽的语境下,他们各自画的有向图都对。

从特指对象的角度,特指对象是名字对应的某个东西,没有更多的规定。如果非要说,那就是我们就是知道什么时候是同一个(We just simply know the identity),具体如何判断取决于语境(具体情况)。特指对象有向图的箭头也一样,我们就是知道箭头是不是同一个,具体如何判断取决于语境。

但是上述这个例子,引出一个哲学性问题:同一性问题(Identity Problem)。即,我们在什么情况下认为事物是同一个东西,什么情况下认为事物不是同一个东西?

  • 今天的苹果1和昨天的苹果1是同一个么?

  • 人能两次踏进同一条河流么?

  • 在家里的你和在单位的是同一人么?

  • …​

您可以反复思索这个问题,思考这个问题本身也许不能得出什么结论,但是思考本身却可以加深您对已知事物的认识。

数学概念

数学上的特指对象,比如:点、直线、集合、未知数、三角形、正方形、加法、乘法等,什么时候算同一个,什么时候不算,则要严格得多。例如,古希腊数学家欧几里得在其《几何原本》中对点有如下描述(一个直接的非正式定义):

点是没有部分的东西。(A point is that which has no part.)

在这个定义里,点在空间中某处是不言自明的。然后,按照定义,没有部分意味着点这个特指对象没有大小、形状,即不能通过大小和形状来区分一个点。从而我们仅仅只能通过位置来区分一个点是不是同一个点,即位置相同,就是同一个点。我们可以看到,数学上的同一性判断,比我们日常生活中的同一性判断要严格得多,即,明确限定了什么算同一个,什么不算同一个。

不过需要注意,这种严格并不是绝对意义上的严格。因为你也可以争辩说,空间中的同一个位置,可以放下无数个点,他们的位置相同。在数学上,同一性判断是一种规定,只要这种规定不带来逻辑矛盾,我们就认为是可行的。而为了严格,我们往往会从若干可行的规定方案中选择一种进行规定,从而使我们可以明确地完成同一性的判断。

对于数学上的特指对象,即数学概念,我们如何进行规定呢?

首先,我们可以通过性质来进行规定,比如点的性质是:在空间中某处,自身没有部分,该处的点是同一个点。

其次,我们也可以通过结构来进行规定,比如,用线段连接相异三点所得的图形是一个三角形,且仅是一个三角形。在这里三角形的构成是:三个相异顶点、连接三个相异顶点的线段。

通常,这些规定在数学上是以定义或公理的形式给出的,它们是数学逻辑的基础,公理和定义是数学推导的基础,即逻辑的起点,而公理和定义本身,大家都公认,不需要证明。

理想情况下,从公理和定义出发,之后的数学推导和计算就仅仅依赖于这些定义和公理,假设推导没有错误,这些推导出来的引理、定理就是正确的,那么整个数学大厦就是无懈可击的,不依赖于任何外部因素。从这个角度说,数学仅仅依赖公理和定义,因此,数学是一种追求最少依赖的思维方式。

欧几里得五大公理:

  • 过相异两点,能作且只能作一直线。

  • 线段(有限直线)可以任意地延长。

  • 以任一点为圆心、任意长为半径,可作一圆。

  • 凡是直角都相等。

  • 如果一条直线与两条直线相交,且在同侧的内角和小于两个直角,则这两条直线在该侧必定相交于一点。(过直线外一点有且只有一条直线与已知直线平行。)

为了最小依赖,最后一条公理,也就是第五公理,即平行公理,历史上多位数学家先后进行了2000多年的研究,企图把它去掉,是否能去掉这个问题,直到 19 世纪才最终得到解决。

为叙述方便,我们给所有数学上的特指对象取个名字,叫做数学概念,这算一个非必要的约定。

范畴中的对象

现在我们提升特指对象为范畴对象,即将特指对象提升为一个数学概念。

在范畴论中,有个数学概念叫 对象 (Object)。它和特指对象非常类似,也有一个名字,然后,它还有个恒等箭头(Identity)。例如,对于苹果1对象我们有:

Figure 2. 最简单的范畴示例

如上图所示:

  • 每个对象都有一个不同的名字,除非特别说明

  • 每个对象都有一个恒等箭头且只有一个,在上图中就是 Identity苹果1,简称 Id苹果1,它从一个对象对应到该对象自身,没有任何其他操作

苹果1是对象,Id苹果1是恒等箭头,因为对于任何对象,恒等箭头存在且唯一,因此我们能画出的最简单的范畴有向图,就如上图所示(空范畴除外)。

恒等箭头的内部观点

这里特别要说明的是恒等箭头。我们从Id苹果1箭头的起点,也就是苹果1(源对象)出发,箭头就是求这个起点的对应对象(目标对象),这个起点的对应对象在箭头的终点,终点对象的名字叫苹果1,所以,源对象和目标对象同一,即源对象和目标对象是同一个对象。

然后我们再往深一层考虑,就说这个源对象,比如苹果1,它有组成部分,即结构;也有性质,比如可以吃等等。那么,你说苹果1经过恒等箭头,映射到苹果1,到底是个什么意思呢?这个操作怎么具体完成呢?在日常生活中,我们不去深究,但是在数学上,就必须明确定义。

从苹果1的内部看,我们可以列个表,把源对象和目标对象的结构和性质都列出来:

Table 2. 苹果1恒等箭头的内部观点
源:苹果1目标:苹果1

苹果皮的每一个细部

同样的该细部

苹果把的每一个细部

同样的该细部

苹果核的每一个细部

同样的该细部

除上述任何剩余的结构细部

同样的该细部

任何苹果1具备的结构

同样的该结构

很甜

同样的很甜

可以吃

同样的可以吃

任何苹果1具备的性质

同样的该性质

请原谅我不厌其烦地列了上述清单,简单说,就是将源苹果1的任何结构和性质,不差一丝一毫地、毫无遗漏地对应到该结构和该性质,这就是恒等箭头。

看起来这个要求太高了,但是世界上最难的事情,居然是最简单的事情,从操作上来说,就是什么也不做,苹果1就是苹果1自己。

恒等箭头的外部观点

在恒等箭头的内部观点中,我们是从苹果1的内部结构和性质,来把握苹果1是什么。当我们问苹果1到底是什么时,即当我们问一个范畴论中的对象到底是什么时,我们往往是在问,这个对象由什么构成,各部分之间什么关系,总体上具有什么性质,等等,这是一种从对象内部来把握对象的内部观点。

而范畴论的观点则完全不同。

Figure 3. 恒等箭头外部观点

如上图所示:

  • 从别的对象进入苹果1的箭头:小明和小丽逛街时,小丽发现了一个又大又圆的苹果,即苹果1,小丽非常喜欢这个苹果;于是小明就购买了苹果1

  • 从苹果1进入别的对象的箭头:苹果1可以称重;苹果1也可以做成苹果酱

  • 从苹果1进入苹果1的箭头:不改变苹果1的恒等箭头 Id苹果1;咬一口箭头,苹果1可以咬一口,为了严格起见,咬一口被定义为这样一种效果,每次咬,苹果1都会少些,但是如果咬3次后,再咬则苹果就不会再减少了,这样保证每次咬都还是苹果1

在上图中,我们可以再添加一些别的箭头,例如移动苹果1的位置等等。

在范畴论看来,一个对象到底是什么,或者一个对象是不是同一个对象,我们就看它和别的对象的关系就行,换一句话说,就是看从苹果1发出和进入苹果1的箭头就行。我们按这个思路试试:

按照上图,苹果1是一个小丽喜欢的苹果、苹果1是小明买的苹果、苹果1必须可以称重、苹果1必须可以做苹果酱、苹果1必须可以咬1口,这就是苹果1。也许您会举出一些反例,您可以试着给上图添加或者删除一些箭头,直到上图与你对于苹果1的理解匹配。

我们做个思维实验:

首先,忘掉苹果1具体是什么,现在,它就是一个范畴论里面的对象,我们把除了Id苹果1箭头之外的箭头全部擦掉。

然后我们连上箭头“喜欢”,嗯,这是个小丽喜欢的东西;

接着再连上箭头“购买”,这是个小丽喜欢的、小明购买的东西;

接着再连上箭头“称重”,这是个小丽喜欢的、小明购买的,可以称出重量的东西;

接着再连上箭头“做酱”,这是个小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的东西;

接着再连上箭头“咬一口”,这是个小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的东西

... ...

因此,苹果1是:小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的,…​东西

这就是范畴论的观点,一个从外部理解对象的观点。

自指箭头的等价展开图

注意,从一个对象出发,回到该对象的箭头,和普通箭头一样,也是一种对应,或映射。因此,我们可以得到下面这个等价的图:

恒等箭头外部观点等价图

Figure 4. 恒等箭头外部观点等价图

在上图中,两个 苹果1 节点是 一样的,是同一个对象。如果你从左侧的苹果1沿着箭头走到了右侧的苹果1,因为箭头有方向,你似乎走不回去了,但是因为上图的苹果1是同一个实体(对象),因此你可以直接跳回右侧的苹果1,继续走 Id苹果1 或 走 咬一口

如果单就上图的这个苹果1而言,世界上凡是符合上图约束的苹果都可以看成是苹果1。具体就是:“小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的东西”,这就是 苹果1 到底是什么。

需要特别说明的是,作为上图的 苹果1 对象,即使世界上没有符合要求的苹果存在,苹果1作为一个范畴论对象实体,仍然存在,即,苹果1是:小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的东西,这个结构仍然存在,即上面的图的含义仍然存在。

下面我们再看恒等箭头 Id苹果1 和 咬一口 箭头:

对于恒等箭头,它什么也不做,从左侧的苹果1不经任何变化,就到了右侧的苹果1,这个没问题。而对于 咬一口 这个箭头,它让苹果1少了一点点,也到了右侧的苹果1,那苹果1到底是变了还是没变?

这是学习范畴论最令人困惑的地方。范畴论的对象,作为一个实体,仅仅依赖于范畴的结构,对于苹果1,仅仅依赖于上面的图所表示的结构,也就是苹果1对象和和它发生连接的箭头。所以,上述的整个过程,苹果1还是苹果1,没有变。事实上,范畴论对象可以理解为一个静态的东西,对于苹果1,只要上图不变,苹果1对象就不变。

那么,咬一口这个箭头到底改变了什么呢?

咬一口这个箭头,不会改变这个结构,因此它不会改变苹果1这个范畴论对象。

但是,当你在上面的图中沿着箭头游走的时候,我们可以让它带上一个符合结构约束的具体的苹果1,即带上一个特定的“小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的东西”。

于是我们做一个真实的实验:

拿一个具体的苹果,我们设它符合:小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的要求,于是,对应到上图,它就是苹果1。

下面实验开始,您可以真的拿一个苹果实验。我们从上图的苹果1对象开始,在图上沿着箭头的方向游走,每走一步,都必须做箭头规定的操作,不能做箭头规定之外的操作。

  • 你可以对手里拿着的这个苹果,走恒等箭头,什么也不做,手里的苹果没变化;

  • 你咬一口,它还是苹果1,你可以接着咬(超过三口后不再咬),或者再走一次恒等箭头;

  • 你可以称重,得到了苹果1的重量,这下你被卡住了,因为从重量对象没有回苹果1对象的箭头了,好在你手里的苹果还在,那么这个苹果符合上图结构的要求么?嗯,我刚才只是称了下重量,这个苹果还是“小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的”,因此它还是苹果1对象,那么你可以回到苹果1对象,再次开始游走

  • 你也可以做苹果酱,这下手里的苹果变成苹果酱了,而且你被卡住了,苹果酱是““小丽喜欢的、小明购买的,可以称出重量,能做苹果酱的、能咬一口的”么?不是,苹果酱没有做苹果酱的操作,因此这个真实的实验结束了

实验结束,苹果1还是苹果1,但是你手里的苹果已经变成苹果酱了。

对于很多数学概念来说,它们就相当于你手里的苹果,而范畴论对象就相当于 苹果1 对象。苹果1对象依赖于和它发生连接的箭头,箭头不变,苹果1就不变,而手里的苹果,按照苹果1的要求发生行为,则可能改变。而苹果1,也就是范畴论对象,正好在更一般性的层面揭示了这种“改变”的结构,也就是对象间的连接关系,所以,从这个角度,范畴论是数学中的数学。

最后我们看一下恒等箭头Id苹果1,无论我们经过多少次Id苹果1,我们手里的苹果都不会发生任何变化,因此,从手里的苹果的角度,恒等箭头是一个完美的箭头,它可以保证在手里的苹果经过恒等箭头的时候不变。即,恒等箭头保证在任何情况下,都不会改变范畴对象携带的信息,因此叫做恒等箭头。作为对比,您可以将它和上图的 咬一口 箭头进行比较。

恒等箭头的性质

让我们进一步抽象,对于恒等箭头外部观点等价图,我们可以进一步简化,把对象名去掉,仅用一个点表示范畴论对象:

恒等箭头外部观点简化图

Figure 5. 恒等箭头外部观点简化图

在上图中,我们去掉了对象的名字,再次观察一下Id苹果1,因为它是恒等箭头,它就是完成连接工作,其他什么也不做,因此,一般地,我们可以将一个对象用恒等箭头来代替,如下图所示:

恒等箭头

Figure 6. 恒等箭头

如上图所示,当有箭头要连接某对象时,我们连接该箭头到 Id某对象 箭头的起点;当该某对象要连接其他对象时,我们将 Id某对象 的终点,连接那个目标对象。

一个箭头,连接Id某对象(的起点或终点),和直接连接某对象一样,即上图和下图是一个意思:

恒等箭头

Figure 7. 恒等箭头

你可能会问,恒等箭头什么也不做,对于其他箭头来说,可以直接连接对象,那么,为什么还要有恒等箭头呢?可以从多个方面理解:

  • 恒等箭头表示,一个对象就是它自己,即一个对象可以对应到自己

  • 一个对象对应一个恒等箭头,该恒等箭头对应该对象

就说在范畴论中,一个对象可以连接其他对象,但是具体怎么连接要看该对象和其他对象的具体关系,如之前举的苹果1的例子,假设把苹果1换成杯子1,则杯子1就无法连接苹果酱。但是,唯一不变的是,对于杯子1,以及任何其他对象,它们各自总是可以画一条指向自己的箭头,即恒等箭头。

因为一个对象总是可以对应到自身,该关系在任何情况下始终存在,所以叫做恒等箭头。

范畴论是一种外部观察,整体考虑的思维。因此,它往往考虑的是对象间“所有可能的箭头”,因此必须包含恒等箭头,因为这是一个无条件就存在的箭头。后面我们会逐步深入体会范畴论的这种魅力。

Last updated 2024-06-21 10:34:04 +0800

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RockTec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值