0%

实用抽代2

介绍范畴相关内容,包含原书第一章第3节内容。增补了关于NBG公理体系的内容。部分内容和名词翻译参考了https://zhuanlan.zhihu.com/p/364284965系列专栏。

abstract nonsense: 抽象废话,特指范畴论的语言。因为它只关注“结构”,而非关注“含义”,即具体的集合元素。

NBG Set Theory

von Neumann–Bernays–Gödel集合论公理体系是ZFC公理体系的一个保守拓展(conservative extension)。NBG体系的一个特点是可以区分(class)和集合(set)。类的概念比集合更为广泛,例如可以定义“所有集合所组成的类”。(根据正则公理,ZFC公理系统中不存在“所有集合所组成的集合”)。

事实上,保守拓展就是说:NBG可以谈论比集合更宽广的概念“类”,且关于集合的陈述在NBG中可证明当且仅当其在ZFC中可证明。

NBG的原始对象是类、一个表示“是集合”的谓词RR和成员关系\in

RR的定义是:类xx是集合(即R(x)R(x))当且仅当存在一个类XX,使得xXx\in X。不是集合的类称为真类(proper class)

(这种定义下)\in可以用在类与类之间。

注:这里有两种定义途径,以上显示的是Godel的叙述方法。另一种Bernays叙述方法则\in左侧只能是集合,但可以通过表示(representation)概念“圆”回去。

Category

以下注意区别用来表示范畴的正体C\mathrm{C}和表示对象等的斜体CC

一个范畴C\mathrm{C}由以下两份东西构成:

  1. 一个包含了C\mathrm{C}所有对象的类(记为Obj(C)Obj(\mathrm{C})

  2. C\mathrm{C}中任意两个对象A,BA,B,都存在一个态射(morphism)的类HomC(A,B)Hom_C(A,B)满足以下性质(结合律、幺元律):

    • C\mathrm{C}中的任意对象AA,都至少存在一个“恒同”(identity)态射1AHomC(A,A)1_A\in Hom_C(A,A)

    • 态射可以“复合”(composition),即两个如下形式的态射fHomC(A,B),gHomC(B,C)f\in Hom_\mathrm{C}(A,B),g\in Hom_\mathrm{C}(B,C)可以决定一个新态射gfHomC(A,C)gf\in Hom_\mathrm{C}(A,C)。等价地说,即任意三个对象A,B,CA,B,C,都存在一个函数:

      HomC(A,B)×HomC(B,C)HomC(A,C)Hom_\mathrm{C}(A,B)\times Hom_\mathrm{C}(B,C)\rightarrow Hom_\mathrm{C}(A,C)

      (f,g)gf(f,g)\mapsto gf

    • "复合"可结合。(fg)h=f(gh)(fg)h=f(gh)

    • "恒同"映射的特点体现在”复合“中。即fHomC(A,B)f\in Hom_\mathrm{C}(A,B),则f1A=1Bf=ff1_A=1_Bf=f

    • 除非A=C,B=DA=C,B=D,否则HomC(A,B)HomC(C,D)=Hom_\mathrm{C}(A,B)\cap Hom_\mathrm{C}(C,D)=\empty

    可以形象化地把HomHom想成函数集。

    另外,在范畴C\mathrm{C}已经明确后,可以把fHomC(A,B)f\in Hom_\mathrm{C}(A,B)简写为f:ABf:A\rightarrow B。由此即可画(diagram)。

    示例:集合和集合上定义的函数可以构成一个范畴。这个重要的范畴没有统一的记法,通常写成Set的某种花体(以下写成SET\mathbb{SET})。

    示例2:设SS为集合,\simSS上满足自反性传递性的一个关系,则可以定义:

    • ”对象“为SS的元素;

    • ”态射“集Hom(a,b)=(a,b)Hom(a,b)=(a,b)aba\sim b,否则Hom(a,b)=Hom(a,b)=\empty

    • 态射的合成就定义为\sim的传递性:(a,b)(b,c)=(a,c)(a,b)(b,c)=(a,c)

    用这对”对象“和”态射“也可以构造出一个范畴。

    特别地,\sim可以取为==\le\sub等等。这种范畴总是可交换的(概念见下,这是因为这种范畴的态射只和”起点“和”终点“有关),在代数几何之类的地方很有用。

endomorphism

自同态即形同HomC(A,A)Hom_\mathrm{C}(A,A)(记为EndC(A)End_\mathrm{C}(A))的态射集中的态射。

根据对范畴的定义有1AEndC(A)1_A\in End_\mathrm{C}(A)。同时,f,gEndC(A)f,g\in End_\mathrm{C}(A)fgEndC(A)fg\in End_\mathrm{C}(A)

commutative diagram

若图上任意两个对象间的任意路径的合成都相等,则这个图是可交换的

discrete

当所有态射都是恒同态射时,称该范畴离散

上述”示例2“中\sim取”==“时就可以得到离散范畴。

slice category

切片范畴特指一种由范畴构造范畴的方法。

C\mathrm{C}是范畴,AObj(C)A\in Obj(\mathrm{C}),则将新范畴CA\mathrm{C}_A定义如下:

有的地方将切片范畴CA\mathrm{C}_A记成C/A\mathrm{C}/A,而将共切片范畴CA\mathrm{C}^A(见后)记成A/CA/\mathrm{C}

  1. Obj(CA)Obj(\mathrm{C}_A)就是所有(从Obj(C)Obj(\mathrm{C})中任意元素)指向AA态射的集合。

  2. 对任意f1,f2Obj(CA)f_1,f_2\in Obj(\mathrm{C}_A),若存在C\mathrm{C}的一个态射σ\sigma使得f1=f2σf_1=f_2\sigma,则称含有σ,f1,f2\sigma,f_1,f_2子图CA\mathrm{C}_A中的f1f2f_1\rightarrow f_2的态射。参考下图(图源原书pp23):

    注意:这里的要求不只是态射σ\sigma存在,还要求f1=f2σf_1=f_2\sigma,也就是说下图是可交换图时,这个子图才是CA\mathrm{C}_A的一个态射!

    image-20220912141643775

  3. CA\mathrm{C}_A态射的复合,就是C\mathrm{C}中对应态射的复合所得到的子图。参考下图(pp23):

    image-20220912142409791

可以验证,这样定义的切片范畴CA\mathrm{C}_A满足范畴的定义。事实上,切片范畴是逗号范畴(comma category,谁起的鬼名字……)(逗号范畴还没定义)的一种。

当然,这个概念还可以进行拓展,例如我们可以定义两个元素构造出的切片范畴。设A,BObj(C)A,B\in Obj(\mathrm{C}),则切片范畴CA,B\mathrm{C}_{A,B}可以定义为:

  1. Obj(CA,B)Obj(\mathrm{C}_{A,B})的元素就是(从Obj(C)Obj(\mathrm{C})的同一元素出发)分别到达AABB的一对映射(f,g)(f,g)所组成的图,见下(pp25):

    image-20220912194636279
  2. (f1,g1)(f2,g2)(f_1,g_1)\rightarrow (f_2,g_2)的态射的定义:若存在函数σ\sigma同时满足f1=f2σf_1=f_2\sigmag1=g2σg_1=g_2\sigma,则称σ,f1,g1,f2,g2\sigma,f_1,g_1,f_2,g_2组成的可交换子图是态射,即下图应当是可交换子图(pp25):

    image-20220912195158311

当然,我们还可以拓展到两个同终点的态射构造出的切片范畴

设我们在范畴C\mathrm{C}选定两个这样的态射α:AC\alpha:A\rightarrow Cβ:BC\beta:B\rightarrow C。则新范畴Cα,β\mathrm{C}_{\alpha,\beta}定义为:

  1. Obj(Cα,β)Obj(\mathrm{C}_{\alpha,\beta})的元素是(从Obj(C)Obj(\mathrm{C})的同一元素出发)分别到达AABB的一对映射(f,g)(f,g)α,β\alpha,\beta构成的子图,且是可交换子图(即αf=βg\alpha f=\beta g),见下(pp25):

    image-20220912201006255
  2. 态射是和σ\sigma相关联的如下图,且该图可交换(pp26):

    image-20220912201122475

coslice category

共切片范畴可以看成切片范畴的一种”对偶“。切片范畴定义里面所有箭头反过来,就是共切片范畴的定义。具体而言,就是说:

  1. Obj(CA)Obj(\mathrm{C}^A)就是所有从AA出发的态射(指向Obj(C)Obj(\mathrm{C})中任意元素)的集合。

  2. 对任意f1,f2Obj(CA)f_1,f_2\in Obj(\mathrm{C}^A),若存在C\mathrm{C}的一个态射σ\sigma使得σf1=f2\sigma f_1=f_2,则称含有σ,f1,f2\sigma,f_1,f_2可交换子图CA\mathrm{C}^A中的f1f2f_1\rightarrow f_2的态射。参见下图:

    image-20220912144942805

    仿照前面的说法,我们同样可以定义两个元素构造的共切片范畴两个同终点的态射构造出的共切片范畴等。

pointed set (category)

C=SET\mathrm{C}=\mathbb{SET}A={}A=\{*\}(即某个固定的单元素集),则有点集范畴(记为SET\mathbb{SET}^*)定义为共切片范畴A/C={}/SETA/\mathrm{C}=\{*\}/\mathbb{SET}

有点集范畴的对象就是函数f:{}Sf:\{*\}\rightarrow S(注意SET\mathbb{SET}的态射就是集合上定义的函数),其中SS是集合。因此f()Sf(*)\in S,即有点集范畴的每个对象可以从每个集合中选择一个元素。因此,对象f:{}Sf:\{*\}\rightarrow S也可以用一个二元组等价地表示为(S,s)(S,s),其中SSff的值域,s=f()Ss=f(*)\in S

因此,有点集范畴的态射(S,s)(T,t)(S,s)\rightarrow (T,t)(可以等价地)指某个集合上的函数σ:ST\sigma :S\rightarrow T,且σ(s)=t\sigma (s)=t

有点集范畴的对象集Obj({}/SET)Obj(\{*\}/\mathbb{SET})中的各个对象(形同(S,s)(S,s))就是有点集(pointed set,或based set,rooted set)。

有点集和普通集合的区别在于,每个有点集都存在一个被选出的、特殊的、可辨的特殊元。例如,这个特殊元在群论中就是指单位元

subcategory

C\mathrm{C}子范畴C\mathrm{C}'定义为:

  1. Obj(C)Obj(\mathrm{C}')Obj(C)Obj(\mathrm{C})的子类。
  2. A,BObj(C)\forall A,B\in Obj(\mathrm{C}')HomC(A,B)Hom_{\mathrm{C}'}(A,B)HomC(A,B)Hom_{\mathrm{C}}(A,B)的子类。
  3. C\mathrm{C}'恒同态射、态射的复合和C\mathrm{C}相同。

子范畴是的(full),若上述第二条改为HomC(A,B)=HomC(A,B)Hom_{\mathrm{C}'}(A,B)=Hom_{\mathrm{C}}(A,B)

和图论的子图,导出子图可以类比。

subobject classifier

有时可以像讨论集合的子集一样讨论对象(未必是集合)的子对象(subobject)。对范畴C\mathrm{C}和其中一个对象AA而言,AA子对象和态射AΩA\rightarrow \Omega之间一一对应,其中Ω\OmegaC\mathrm{C}的一个固定的对象。这个Ω\Omega就是子对象分类器

对范畴SET\mathbb{SET}而言,Ω={0,1}\Omega = \{0,1\}就是一个子对象分类器,此时子对象就是子集。

欢迎关注我的其它发布渠道