_rqy's Blog

一只猫猫,想成为天才少女数学家!

0%

同调代数学习笔记 (2) 图追踪

翻过任意教材的人可能都知道大部分地方证明用到了一种叫做 diagram chasing(图追踪)的方法。这使得我们对任意的阿贝尔范畴证明蛇引理就像在 RR-模范畴(比如 R=ZR=\Z 时,阿贝尔群范畴)中证明一样简单。然而对于任意的阿贝尔范畴,我们是不能这样做的。本篇介绍的“图追踪”方法就是作为替代的一种理论。

一般的阿贝尔范畴就没办法这么简单。因为一些范畴并不由“基础的集合”加上一些代数结构给出,因而我们也没办法通过“对于 AA 的每一个元素都可以得到 BB 的一个元素”这样来得到一个态射。

虽然我们其实有 Freyd-Mitchell 嵌入定理,即任何一个小的(所有对象和态射构成集合)阿贝尔范畴都到某个 RR-模范畴有全的、忠实的、正合的函子。即,我们可以把它“嵌入”到一个 RR-模范畴中,并且任意 Hom(A,B)Hom(F(A),F(B))\Hom(A,B)\to\Hom(F(A),F(B)) 都是同构且这个函子保持正合性。 这个定理是一种解决方案,但是它本身不是那么显然。我们这里给出一个用来“图追踪”的替代方案。

广义元及对应的描述

广义元的定义

容易想到,在普通的集合范畴 Set\mathsf{Set} 中我们可以用 X*\to X 的态射来代表 XX 的一个元素;那么阿贝尔范畴怎么用类似的方法呢?

我们可以考虑将(阿贝尔范畴中,下同)XX 的一个元素定义为一个 (A,h)(A,h) 对,其中 AA 为任意对象而 hhAXA\to X 的态射。这样的元素称为广义元generalized element)。我们可以把两个对应的 AA 相同的元素加起来(即把两个态射加起来);还可以给它应用任何 XYX\to Y 的映射变成 YY 的一个元素。这样我们可以定义 f((A,h))=(A,fh)f((A,h))=(A,fh)。此时我们记做 x=(A,h)Xx=(A,h)\in X

但是还差一点:如果有一个满射 ZXZ\to X,我们期望可以找到一个 ZZ 的元素,通过这个满射之后变成我们指定的元素。这件事情是做不到的。为了做到这一点,我们允许对元素进行细化refinement):如果 e:MAe:M\to A 是一个满射,那么我们认为 (M,xe)(M,xe)(A,x)(A,x) 是同一个元素。

这样的话,如果 f:ZXf:Z\to X 是一个满射而 (A,x)(A,x)XX 的一个元素,那么记 MMx,fx,f 的拉回;则 ff 拉回成满射 f:MAf':M\to Axx 提升到 x:MZx':M\to Z;因此这时 (M,x)(M,x')ZZ 的一个元素、并且 f((M,x))=(M,xf)f((M,x'))=(M,xf'),根据前面的描述,这和 (A,x)(A,x) 被看做是同一个元素。

正合性

如何用广义元来说明正合性?

根据上一篇文章中的引理:若 AfBgCA\xrightarrow{f}B\xrightarrow{g}C 满足 gf=0gf=0,那么该序列正合当且仅当

  • 对任意的 h:DBh:D\to B,若 gh=0gh=0,那么存在同态 l:EAl:E\to A 以及满同态 k:EDk:E\to D 使得 hk=flhk=fl

可以看出这就是说:对于任意元素 x=(D,h)x=(D,h),如果 g(x)=0g(x)=0,那么存在 xx 的一个细化 x  [=(E,fl)]x'\;[=(E,fl)] 以及 AA 中一个变量 y  [=(E,l)]y\;[=(E,l)] 使得 f(y)=xf(y)=x'。这和我们直觉上的想法是相同的。

非满射上的提升

如果 f:ZXf:Z\to X 不是满射但是我们想通过 ximfx\in\im f 来把 x=(A,h)x=(A,h) 提升到 ZZ 上去应该怎么办?

这个问题本质在于:如何说明 “ximfx\in\im f”。对此只需要说明 xx 的某个细化会分解出 i:imfXi:\im f\hookrightarrow X 的态射(即,某个细化具有 (A,hi)(A',h'i) 的形式)。

这样,由于 f:Zimff:Z\to\im f 是满射,就可以把 imf\im f 上的元素 (A,h)(A',h') 细化成 ZZ 上的元素了。

怎么像在 RR-模上搞出 imf1+imf2\im f_1+\im f_2 来?我们可以把它变成一个映射 Y1×Y2XY_1\times Y_2\to X,这样就有 im[f1,f2]=imf1+imf2\im[f_1,f_2]=\im f_1+\im f_2。于是要把 XX 上的元素分解成 f1(a)+f2(b)f_1(a)+f_2(b) 的形式,就只要让它的细化分解出 [f1,f2][f_1,f_2] 即可。

态射的构造

如本文最初的例子,我们通过选取 XX 中任意一个元素,一番操作后得到了 YY 中的一个元素,最后说明这样的操作不依赖于“中间变量”的选取来构造出了 XYX\to Y 的态射。

利用广义元的细化,我们可以把它变成这样:首先选出任意一个满射 A0XA_0\to X(比如 idX{\rm id}_X),然后中间经过一系列的复合、提升、细化,得到了一系列满射(细化的时候出现的) AnAn1A0A_n\to A_{n-1}\to\dots\to A_0 以及态射 AnYA_n\to Y 。简单地说我们有满射 e:AnXe:A_n\to X 和态射 y:AnYy:A_n\to Y。如果我们能说明 yy 干掉了 kere\ker e,(即 ykere=0y\circ\ker e=0),那么就诱导了 y:XYy':X\to Y 使得 ey=yey'=y(这是因为 eekere\ker ecoker\coker。还记不记得阿贝尔范畴的定义里说明满射都是自己的 kernel 的 cokernel)。

怎么说明 yy 干掉了 kere\ker e?直观上来看,若对任意的 xAnx\in A_n 都有 e(x)=0    y(x)=0e(x)=0\implies y(x)=0,那么就有 ykere=0y\circ\ker e=0。事实上这是很显然的,取 x=(kere,i)x=(\ker e,i)iikereAn\ker e\to A_n 的内射)即可。

我们画一个例子来说明。注意下图中每个 AiA_i 都是一个拉回;不妨设 Y=U3Y=U_3

假设构造态射的过程中出现了三次细化,如图所示。那么对任意的 xA3x\in A_3,它事实上记录了 U1,U2,U3U_1,U_2,U_3 等每个“选择一个变量 zz 使得 f(z)=xf(z)=x ”的 zz;换句话说 A3A_3 记录了所有的中间变量。因此设这些变量分别为 u1,u2,u3=yu_1,u_2,u_3=y,那么我们只需要证明:若 f1(u1)=0,f2(u2)=h2(u1),f3(u3)=h3(u2)f_1(u_1)=0,f_2(u_2)=h_2(u_1),f_3(u_3)=h_3(u_2),则 u3=0u_3=0

例子:再次证明蛇引理

首先我们构造 δ\delta 外的序列并且说明它正合。

由于 b(f1ia)=0b(f_1i_a)=0,因此 f1iaf_1i_a 通过 ibi_b 分解出 p1:kerakerbp_1:\ker a\to\ker b。同样可以构造出 p2,q1,q2p_2,q_1,q_2。然后需要说明上下这两行正合。

对任意的 xkerbx\in\ker b 使得 p2(x)=0p_2(x)=0,都有 f2(ib(x))=ic(p2(x))=0f_2(i_b(x))=i_c(p_2(x))=0,因此由 ABCA'\to B'\to C' 的正合性,存在 uAu\in A' 使得 f1(u)=ib(x)f_1(u)=i_b(x)。此时由于 g1(a(u))=b(ib(x))=0g_1(a(u))=b(i_b(x))=0g1g_1 单,就有 a(u)=0a(u)=0,因此 ukerau\in\ker a。这样就证明了 kerakerbkerc\ker a\to\ker b\to\ker c 正合;coker\coker 那一边是对偶的。

注意这里的细化操作我们省略掉了;因为除了在构造态射的时候,我们都完全可以直接把 xx 和它的细化当做等同的、并且不难验证这样之后提升、复合等操作也是良定义的。

接下来定义 δ\delta。从 P0=kerc,h0=idkercP_0=\ker c,h_0={\rm id}_{\ker c} 出发,我们首先有 z=(P0,h0)kercz=(P_0,h_0)\in\ker c;由于 f2f_2 满,存在 uBu\in B' 使得 f2(u)=zf_2(u)=z;此时取 y=b(u)y=b(u)g2(y)=c(z)=0g_2(y)=c(z)=0,因此存在 xAx\in A 使得 g1(x)=yg_1(x)=y。我们取 ea(x)e_a(x)δ(z)\delta(z)

这里我们具体发生的事情(这一段只是在解释上面的构造,事实上可以省略):z=(kerc,idkerc)kerc;ic(z)=(kerc,ic)Cz=(\ker c,{\rm id}_{\ker c})\in\ker c;i_c(z)=(\ker c,i_c)\in C';然后在 CBC'\to B' 有一次细化:P1=B×CkercP_1=B'\times_{C'}\ker c,此时记 f2,icf_2,i_c 的拉回为 f2,icf_2',i_c',则有 u=(P1,ic)Bu=(P_1,i_c')\in B'。然后 y=(P1,bic)By=(P_1,bi_c')\in B。接下来沿 g1g_1 提升的时候由于 g1g_1 单,所以事实上不需要细化。因此存在 x=(P1,k)Ax=(P_1,k)\in A 使得 g1(x)=yg_1(x)=y,即 g1k=bicg_1k=bi_c'。然后我们取 ea(x)=(P1,eak)cokerae_a(x)=(P_1,e_ak)\in\coker aδ(z)\delta(z)

接下来需要证明这个 δ\delta 是良定义的。根据上面的描述,我们只需要说明:若 f2(u)=0,g1(x)=b(u)f_2(u)=0,g_1(x)=b(u),则 ea(x)=0e_a(x)=0。这很显然,因为如果 f2(u)=0f_2(u)=0,则存在 tAt\in A' 使得 f1(t)=uf_1(t)=u;因此 g1(a(t))=b(u)=g1(x)g_1(a(t))=b(u)=g_1(x)。由于 g1g_1 为单射,就有 a(t)=xa(t)=x,因而 ea(x)=0e_a(x)=0

我们注意到这段证明里也忽略了细化操作。这是因为一旦 δ\delta 构造完成剩下的证明部分就不需要还原每一步了。

至于证明 δ\delta 两边的正合性也完全可以如此来证明。因此我们就像 RR-模里一样证明了 Snake Lemma。你完全可以把它和前一篇的证明对比,会发现我们隐式用到的各种推出和拉回都是一样的。