用布尔巴基的方式重学数学

用布尔巴基的方式重学数学

“理解”数学和”会算”数学,区别到底在哪里?本科学的电子信息工程,上过数学课,毕业之后这个问题越来越清楚:会解积分、会对角化矩阵,但说不出群为什么重要,也说不出拓扑到底是什么。计算能力有了,但整体脉络缺失。

布尔巴基学派提供了一种重建全局认识的方式:结构、公理、映射在先,计算在后。核心想法出奇简单:每一个数学对象都是一个带有额外结构的集合。这一个想法就能把所有东西重新组织起来。以下是尝试用这个想法重学数学的笔记。

集合是一切的底座

为什么几乎所有数学定义都以”设 SS 是一个集合”开头?因为在布尔巴基的视角下,集合不只是容器,而是承载一切结构的底座。线性空间是集合加上加法和数乘,群是集合加上二元运算,拓扑空间是集合加上一族开集。一旦看到这个模式,一下子就通了。

集合就是一些对象构成的整体。如果 xx 属于 AA,记作 xAx \in A。集合不关心顺序,也不重复计数:{1,2,3}={3,2,1}\{1,2,3\} = \{3,2,1\}{1,1,2}={1,2}\{1,1,2\} = \{1,2\}。子集 BAB \subseteq A 意味着 BB 的每个元素也属于 AA

AB    (x, xAxB)A \subseteq B \iff (\forall x,\ x \in A \Rightarrow x \in B)

这种”对所有元素施加条件”的定义模式在数学中到处都是。值得一提:空集 \varnothing 是任何集合的子集,因为”空集中的每个元素都属于 AA“这句话无法被违反,根本没有元素可以违反它。

映射到底是什么?

通常把函数理解成一个表达式,比如 f(x)=x2+1f(x) = x^2 + 1,把数字代进去就行。但这忽略了关键问题。g(x)=1/xg(x) = 1/x 是从 R\mathbb{R}R\mathbb{R} 的函数吗?不是,因为 x=0x = 0 时没有像。把定义域改成 R{0}\mathbb{R} \setminus \{0\} 才行。映射不是公式,而是两个集合之间的对应关系,在哪里有定义本身就是定义的一部分。

形式上说,映射 f:ABf: A \to B 对每个 xAx \in A 指定唯一的 f(x)Bf(x) \in B。三个分类性质很基本。单射:不同输入不会撞到同一个输出(f(x)=x2f(x) = x^2 就不是单射,因为 f(1)=f(1)f(1) = f(-1))。满射:陪域中每个元素都真正被映到。双射:既单又满。双射是”两个集合一样大”的结构基础,到这里,结构化的语言已经开始显示出它的作用。

等价:分类的机器

一个看似简单但其实很深的问题:什么时候两个东西应该被看成”一样的”?不是相等,而是在当前讨论中”一样”。在 Z\mathbb{Z} 上,如果只关心奇偶性,那么 2 和 4 是”一样的”,但 2 和 3 不是。关系 ab    aba \sim b \iff a - b 是偶数,恰好刻画了这一点。

等价关系需要三条性质:自反性(aaa \sim a)、对称性(abbaa \sim b \Rightarrow b \sim a)、传递性(aba \sim bbcacb \sim c \Rightarrow a \sim c)。看起来几乎是显然的,但这个定义承载着很多东西。同样的结构出现在模运算、商群、商拓扑背后。认出这一个模式,不同分支里的很多东西就豁然贯通了。

什么时候运算不是运算?

自然数 N\mathbb{N} 上的减法看起来很自然。但 25=32 - 5 = -3,而 3N-3 \notin \mathbb{N}。所以减法其实不是 N\mathbb{N} 上的运算,因为结果跑到集合外面去了。

结构化的视角是:集合 AA 上的二元运算是一个映射 :A×AA*: A \times A \to A。关键词是封闭性,结果必须留在 AA 里面。重新表述很简单,但思维方式变了。算术说”减法当然存在”。结构化数学先问”在哪个集合上?”

接下来的问题是:一个运算可以满足哪些性质?结合律(ab)c=a(bc)(a * b) * c = a * (b * c)交换律ab=baa * b = b * a单位元:某个 ee 使得 ea=ae=ae * a = a * e = a逆元:对每个 aa,存在 bb 使得 ab=ba=ea * b = b * a = e。整数加法全部满足。减法不满足结合律:(53)1=1(5 - 3) - 1 = 1,而 5(31)=35 - (3 - 1) = 3

用性质给结构命名

布尔巴基的做法不是逐个研究运算,而是按满足的性质组合来命名结构。半群:有结合律的运算。幺半群:加上单位元。:加上逆元。再加交换律,就是阿贝尔群

于是熟悉的对象有了干净的分类。(N,+)(\mathbb{N}, +) 是交换幺半群但不是群(33N\mathbb{N} 中没有加法逆元)。(Z,+)(\mathbb{Z}, +) 是阿贝尔群。(Z,×)(\mathbb{Z}, \times) 是交换幺半群但不是群(22Z\mathbb{Z} 中没有乘法逆元)。这些不是新事实,而是旧事实被一个统一的原则重新组织了。

为什么数系要不断扩张?

在标准教育中,NZQR\mathbb{N} \to \mathbb{Z} \to \mathbb{Q} \to \mathbb{R} 看起来像是每种数系就那样”出现”了。但从结构的视角看,每一次扩张都是被迫的。在 N\mathbb{N} 中,x+3=1x + 3 = 1 无解。为了让加法可逆,扩展到 Z\mathbb{Z}。在 Z\mathbb{Z} 中,2x=12x = 1 无解。为了让乘法(对非零元素)可逆,扩展到 Q\mathbb{Q}

每一步背后都是同一种结构压力:需要给每个元素补上逆元。负数和分数不是随意发明的,而是被逼出来的。

Z\mathbb{Z} 还展示了两种运算共存时会发生什么。加法构成阿贝尔群,乘法构成交换幺半群,分配律 a(b+c)=ab+aca(b + c) = ab + ac 把它们绑在一起。这种组合本质上就是的定义。

什么样的映射值得研究?

并非所有映射都有意义。f:(Z,+)(Z,+)f: (\mathbb{Z}, +) \to (\mathbb{Z}, +)f(n)=2nf(n) = 2n。验证:f(m+n)=2(m+n)=2m+2n=f(m)+f(n)f(m + n) = 2(m + n) = 2m + 2n = f(m) + f(n)。运算在映射中被保持了。再试 g(n)=n+1g(n) = n + 1g(m+n)=m+n+1g(m + n) = m + n + 1,而 g(m)+g(n)=m+n+2g(m) + g(n) = m + n + 2。不一致。看起来简单不等于保持结构。

同态是满足 f(ab)=f(a)f(b)f(a * b) = f(a) \circ f(b) 的映射。先运算再映射,和先映射再运算,结果一样。仅凭这一个条件就能推出很多:单位元必须被送到单位元,逆元必须被送到逆元。

也许最漂亮的例子是指数映射 φ(x)=ex\varphi(x) = e^x,从 (R,+)(\mathbb{R}, +)(R>0,×)(\mathbb{R}_{>0}, \times)。因为 ex+y=exeye^{x+y} = e^x e^y,加法被变成了乘法。两个看似完全不同的世界,被一个保持结构的映射联系起来了。

像、核,以及关于奇偶性的意外发现

每个同态 f:GHf: G \to H 产生两个自然的对象。 Im(f)\operatorname{Im}(f)HH 中真正被映到的部分。 ker(f)={xGf(x)=eH}\ker(f) = \{x \in G \mid f(x) = e_H\} 是被压到单位元的元素集合。

这里有一个小惊喜。定义 ε:(Z,+)({1,1},×)\varepsilon: (\mathbb{Z}, +) \to (\{1, -1\}, \times)ε(n)=(1)n\varepsilon(n) = (-1)^n。这是同态(验证:(1)m+n=(1)m(1)n(-1)^{m+n} = (-1)^m(-1)^n)。它的核是 2Z2\mathbb{Z},即所有偶数。所以”奇偶性”这个看起来像算术小性质的东西,其实是一个同态的核。这正是结构化数学的特点:在熟悉的事实背后发现深层的结构。

一个干净的定理把这些联系起来:同态是单射当且仅当核只含单位元。核控制着映射中是否有信息丢失。

什么时候两个结构”一样”?

同态加上双射就是同构,记作 GHG \cong H。意思是两个群在结构上完全相同,即使表面看起来完全不同。

(Z,+)(2Z,+)(\mathbb{Z}, +) \cong (2\mathbb{Z}, +),通过 f(n)=2nf(n) = 2n。这两个是不同的集合(1Z1 \in \mathbb{Z}12Z1 \notin 2\mathbb{Z}),但结构相同。指数映射给出 (R,+)(R>0,×)(\mathbb{R}, +) \cong (\mathbb{R}_{>0}, \times):加法世界和乘法世界其实是同一个群换了个面目。反过来,(Z,+)≇(N,+)(\mathbb{Z}, +) \not\cong (\mathbb{N}, +),因为前者是群而后者不是,而同构保持所有结构性质。

同构本身是一个等价关系(恒等映射给出自反性,逆映射给出对称性,复合给出传递性)。所以数学对象可以按同构来分类。这正是现代代数在做的事情:不研究单个对象,而研究同构类。

商:系统性地遗忘

最后一个基础概念是。当只有部分区别是重要的,其余的就可以被压缩掉。如果只关心奇偶性,Z\mathbb{Z} 压缩成 {[0],[1]}\{[0], [1]\}:两个等价类,一个偶数,一个奇数。模 3 给出三个类。模 12 给出时钟。

给定等价关系 \simAA 上,xx 的等价类是 [x]={yAyx}[x] = \{y \in A \mid y \sim x\}商集 A/A/{\sim} 是所有等价类组成的集合。注意:这是一个新集合,不是子集。它的元素是类,不是原来的元素。子集是从原集合中选取,商集是把原集合压缩成新东西。这个区别很重要。

自然投影 π:AA/\pi: A \to A/{\sim} 定义为 π(x)=[x]\pi(x) = [x],忘掉类内部的差异。任何映射 f:ABf: A \to B 都会诱导一个等价关系(xy    f(x)=f(y)x \sim y \iff f(x) = f(y)),其等价类就是 ff纤维。对群同态来说,这直接和核联系起来:ab    abker(f)a \sim b \iff a - b \in \ker(f)。核精确地告诉你什么被等同了。这就是商群出现的动机,一旦看到就到处都是。

骨架

一条线索贯穿了所有这些内容:

集合结构同态同构分类\text{集合} \longrightarrow \text{结构} \longrightarrow \text{同态} \longrightarrow \text{同构} \longrightarrow \text{商} \longrightarrow \text{分类}

从集合开始。装上结构。研究保持结构的映射。辨认什么时候两个结构一样。压缩掉非本质差异。对剩下的东西分类。群、环、向量空间、拓扑空间:对象不同,方法论相同。

这就是布尔巴基视角的力量。不在于任何单独的定义,而在于它为整个数学提供了统一的语言。直觉和计算的血肉早就有了。缺的是骨骼。