来源、目标,以及为什么箭头不只是公式
目标: 为什么只写 f(x)=x²,还不足以判断另一个箭头能否与 f 复合?
表达式 x↦x² 还没有说明允许哪些输入、输出落在哪里。范畴论拒绝隐藏这些类型信息。 先看具体映射、方程、核、商或提升问题;只有在对象类型都写清以后,才给同一模式使用范畴语言命名。
复合前逐条读出箭头。本章使用的准确定义是:态射 f:A→B 由箭头名 f、来源对象 A 与目标对象 B 组成,并且三者位于一个已声明范畴 C 中。当这些箭头构成集合时,记为 Hom_C(A,B)。 必须写出每个态射的来源、目标、所在范畴,以及复合采用的书写方向。
本章的定理或刻意限定结论是:两个态射只有在来源和目标分别相同,并且按所在范畴的相等规则相等时,才可能相等。 完整证明路线是:1. 把 f 放入带类型集合 Hom_C(A,B),把 g 放入 Hom_C(A′,B′)。 2. 若 f=g 作为态射相等,对来源与目标运算作代入便得到 A=A′、B=B′。 3. 类型一致以后,再使用范畴特定的相等检验,例如函数的逐点相等。 等号、同构、自然同构、范畴等价、拟同构,以及只在局部化后成立的相等,绝不能混用。
重建准确模型“设 A={0,1}、B={0,1,2},且 f:A→B 满足 f(0)=0、f(1)=1。判断同一取值表是否定义箭头 A→A,以及该箭头是否等于 f。”。计算依次为:1. 两个值 0 与 1 都属于 A,所以该表定义 g:A→A。 2. f 与 g 的来源都是 A,但目标分别为 B 与 A。 3. 由于带类型相等包含目标,尽管显示的每个取值一致,f 与 g 仍不是相等态射。 核验结果是:该表定义 g:A→A,但作为带类型箭头 g≠f,因为它们的目标 A 与 B 不同。 最近的失效边界是:定义域或陪域改变后,同一公式可以定义不同态射;公式本身不能确定带类型箭头。
交换图是带类型的一族方程,不是装饰。有限表格、算出的同调群、退化谱序列页或软件轨迹,只证明已声明例子;除非另有定理,不能外推。诊断题是“为什么只写 f(x)=x²,还不足以判断另一个箭头能否与 f 复合?”;答案是:复合许可取决于 f 的目标是否等于下一箭头的来源,而公式本身没有给出这两个对象。
两个态射只有在来源和目标分别相同,并且按所在范畴的相等规则相等时,才可能相等。
把 f 放入带类型集合 Hom_C(A,B),把 g 放入 Hom_C(A′,B′)。
若 f=g 作为态射相等,对来源与目标运算作代入便得到 A=A′、B=B′。
类型一致以后,再使用范畴特定的相等检验,例如函数的逐点相等。
设 A={0,1}、B={0,1,2},且 f:A→B 满足 f(0)=0、f(1)=1。判断同一取值表是否定义箭头 A→A,以及该箭头是否等于 f。
- 两个值 0 与 1 都属于 A,所以该表定义 g:A→A。
- f 与 g 的来源都是 A,但目标分别为 B 与 A。
- 由于带类型相等包含目标,尽管显示的每个取值一致,f 与 g 仍不是相等态射。
结果: 该表定义 g:A→A,但作为带类型箭头 g≠f,因为它们的目标 A 与 B 不同。