这本书基本上算是第一本关于范畴逻辑的教材, 所以非常温和. 可以看到Steve Awodey的Category Theory对于本书的写法也有不少借鉴.
无人能够将我们从Cantor创造的天堂中驱离.
——David Hilbert
以集合论为人所知的领域所坐落于的基本概念是集合成员资格(set membership). 一个集合最初可以想成是一个对象的合集, 这些对象被称为该合集的元素. 成员资格为一个对象由于是某个集合的元素而与该集合之间存在的一种关系. 这个关系的符号化是希腊字母 (epsilon). {译注: 虽然集合论最初会使用这个符号, 但是如今已标准化为了, 我们之后也将使用.} 的含义是为一个对象合集, 而其中之一的对象为, 即是的一个成员 (元素). 当不是的一个元素时, 这记作. 如果, 我们也称属于.
根据这些基础想法, 我们可以构建一个定义和构造的名录, 其允许我们刻画特定集合以及由给定的集合构造新的集合. 以下是两种会用到的技术.
(a) 表格形式: 这种方法在于通过显式陈述其所有的元素来描述一个集合. 给出的是这些元素的列表, 以括号封闭. 因而代表这样的合集, 其元素是到为止的所有完全数.
(b) 集合构建器形式: 这是一种远为强大的设备, 其通过陈述一个由集合的所有元素拥有而其他的对象并不具备的性质来刻画某个集合. 因此, 性质是一个小于四的完全数
确定了其上以表格形式所给出的集合. 使用性质来定义集合升华为了以下的
概括原理. 如果是一个与对象 (复数) 有关的性质或者条件, 那么存在一个集合, 其元素恰是具有性质 (或者满足条件) 的对象.
对应于性质的集合记作这个表达式读作由所有之于为真的那些对象构成的集合
.
且, 那么我们就得到了集合其由所有既属于又属于的对象构成, 即和所共有的对象之集合. 这被称为集合和的交, 简记作.
或所产生的集合由所有的元素连带着所有的元素构成, 而别无其他. 其被称为和之并, 记作.
这些例子都是从已有的集合产生新的集合. 我们也可以使用条件直接定义集合而不诉诸于任何特定的集合. 因而通过我们得到了集合其由所有那些不等于的对象构成. 既然没有对象与自身相异, 所以没有可以满足性质的对象, 即没有成员. 出于这个原因被称为空集. 注意到我们已经拓宽了我们的本体论
, 从集合作为有着一些成员的原始概念过渡到了承认压根没有任何成员的集合. 空合集的概念往往最初是难以接受的. 人们最初总是倾向于将集合想成是由组成部分 (或者元素) 以相当具体的方式建造而成的对象. 的引入迫使我们将集合考虑为抽象的自成存在
. 我们可以将对于的引用想成是自然语言的替代形式, 例如是和没有共同元素
的缩略方式. 经验和熟悉最终将会表明接纳作为实际的对象可以增强并简化理论. 称为the空集是由只可能存在一个没有成员的集合这一事实所澄清的. 这是由集合相等的定义所推出的, 而集合相等的定义则体现在以下的
外延原理. 两个集合相等当且仅当它们拥有相同的元素.
从这条原理可以推出如果两个集合要是相异的, 那么必然存在一个对象, 其是其中一个的成员而不是另一个的成员. 既然空集没有元素, 那么它们就不能由此区分, 因而外延原理推出了只存在一种空集.
集合相等性的定义可以另外通过子集的概念传达. 集合是集合的一个子集, 记作, 如果每个的成员也是的一个成员.
使用这一最新概念我们可以看到, 对于任意的集合和, 我们有如果但是, 我们可以记作 (是的一个真子集).
在陈述和使用概况原理的过程中我们并没有给出对于什么是与对象 (复数) 的条件
的精确解释, 当然也没有给出对于字母所引用的是何种实体 (entity) 的精确解释. 我们集合所意图的元素是诸如桌子, 人, 埃菲尔铁塔之类的物理对象, 抑或是抽象的东西, 还是说其他集合本身呢? 下面这个合集是什么东西?所有等于自身的东西都满足这个集合的定义条件. 那么, 应该囊括世界万物 (包括自身) 吗? 抑或是, 其应该被限制于特定的一类对象或者一个特定的论域 (universe of discourse) 吗?
为了刻画这些问题的重要性, 我们考虑条件.
...理解在于将一种类型的现实归约为另一种.
——Claude Lévi-Strauss
我们刚刚在识别范畴概念过程中所经历的, 正是纯数学的基本运作方式之一. 这种方式被称为抽象. 它始于通过经验和对若干具体情形的考察而产生的认识: 某些现象反复出现, 存在若干共同特征, 不同实体的行为之间存在形式上的类比. 随后才是抽象的实际过程, 即将这些共同特征单独提取出来加以呈现, 形成对某个抽象
概念的公理化描述. 这正是我们如何通过考察一系列特定范畴, 从而得到范畴的一般定义的方式. 数学所研究的一切抽象结构 (群, 向量空间, 拓扑空间等) 也都是通过同样的过程得到的.
获得抽象概念之后, 我们便发展其一般理论, 并寻求它的更多实例. 这些实例被称为该概念的例子, 或定义该概念的公理的模型. 任何属于该概念一般理论的命题 (即可从公理推导出的命题) 在所有模型中都成立. 寻找新模型的过程是一种特殊化, 是抽象的逆过程. 理解上的进步, 既来自于认识到某个新的特定结构是某种更一般现象的一个实例, 也来自于认识到若干不同结构具有共同的核心. 我们对数学现实的认识, 正是通过这两个过程的交互作用而不断深化的, 即在特殊与一般之间来回移动. 我们将会看到, 这一程序将会在topos理论的发展中得到很好的刻画.
特殊化的一个重要方面涉及所谓的表示定理. 这类定理断言, 某一抽象结构的公理的任何模型都必定是 (或者说等价于) 某一特定具体模型列表中的一个. 它们度量
了原初的启发性例子在多大程度上涵盖了该一般概念的所有可能模型. 例如, 我们知道(根据Cayley定理)任何群都可以被视为某个集合的置换群, 而任何布尔代数本质上都是某个集合的子集代数. 粗略地说, 抽象程度越强, 即我们在抽象概念中加入的内容越多, 其可能的例子就越少. 极端情形是只有唯一的模型, 其经典例子是公理化呈现的完备有序域的概念. 事实上, 只存在唯一一个这样的域, 即实数域. {译注: 当然了, 这个唯一也是在同构意义下唯一.}
范畴论的公理代表了一种非常弱的抽象. 基于我们最初的列表而言, 并不存在与之相关的表示定理. 我们一开始讨论的是数学论述的一般宇宙 (复数)
. 然而, 我们仅仅选取了我们最初例子的骨头, 血肉存留是如此之少以至于这些公理容许各种各样与, , 等大相径庭的病态
例子. 人们很容易发现许多压根就不能算是论述宇宙的例子, 其对象并非集合, 其箭头和函数全然不同, 而运算也和函数复合毫无关系. 以下的列表包含了诸多这种范畴的例子. 读者压根仔细检视它们, 填充定义的细节, 并且检查每种情况下结合性公理和恒元公理的确得到了满足.
思想的世界并不会一下子就向我们敞开. 我们必须持续不断地在我们的意识之中重新创造它.
——René Thom
本章我们将会检视诸多标准的集合论构造, 然后将其重新以箭头的语言表述. 正如引论中所言, 一般的主题在于诉诸于成员资格的内部
结构的概念定义要通过诉诸于集合之间的联系从外部
进行刻画, 而这些联系是通过函数建立的. 分析将会逐步引导我们抵达泛性质和极限的概念, 其涵盖了几乎所有范畴论中的构造.
一个集合函数被称为是单射的, 或者一对一的, 如果不存在两个不同的输入能够给出相同的输出, 即对于输入, 有现在让我们取一个单射和两个平行
函数满足交换, 即.
然后对于, 我们有, 即. 但是, 既然是单射的, 这意味着. 因此, 和对于每个输入都会给出相同的输出, 也就是说它们是相同的函数. 我们表明了一个单射是左可消去的, 即从另一方向来说, 如果具有此左可消去性质, 其必然是一个单射. 为了看出这点, 取中的和使得.指令和建立了一对从 (即序数) 到的函数和, 并且我们有. 根据左消去性质, , 于是, 即.
因此, 我们看到中的单射箭头恰是左可消去的箭头. 所有这些的要义在于后一种性质全然仅需诉诸于箭头而表述, 这产生了以下的抽象定义:
一个范畴中的一个箭头在中是单态的(monic), 如果对于任意的平行-箭头, 等式可以推出. 符号用来指明是单态的. 这个名字来源于单射的代数同态 (代数同态即诸如和这样的范畴中的箭头) 被称为单态射 (monomorphism)
.
一个集合函数是映上的, 或者说满射的, 如果陪域是的值域, 即对于每个, 存在某个满足, 也就是的每个成员都是的一个输出. 这个概念的仅箭头
定义来源于将单态
的定义调转箭头方向, 形式化地说:
一个范畴中的一个箭头是满态的(epic) (右可消去的), 如果对于任意的一对-箭头, 等式可以推出, 即每当图表交换, 就有. 记号用于满态箭头.
在之中, 满态箭头恰是满射函数 (留给读者作为联系, 或者参见Arbib和Manes, p. 2). 满射的同态被称为满态射(epimorphsim).
满态射将会指的是epic arrow而非surjective homomorphism. 如今的epimorphsim在文献中仅指epic arrow, 并且epic arrow和surjective homomorphism并不等价.
在范畴中, 每个箭头都是满态射, 因为可以推出. 在任何预序里, 所有的箭头都是满态的.
在我们原本所列的范畴列表里, 这些箭头都是函数, 并且作为函数是满射的箭头总是满态射. 相反的方向在中为真, 但在中不是. 自然数到整数的嵌入是一个幺半群同态 (相对于), 这显然并非满射, 然而其在中是右可消去的 (Arbib和Manes p. 57).
既是单射又是满射的函数被称为双射的. 如果是一个双射, 那么之下从到的路径可以被逆转或者说反转
. 我们可以将想成是对于的重新贴标签
.
中的对象和是同构的, 记作, 如果存在一个-箭头, 其在中是一个同构, 即.
在中, 当且仅当和之间存在一个双射, 在这种情况下其中每个集合都可以想成是另一个集合的重新贴标签
版本. 作为一个具体的例子, 取一个集合, 然后置
什么箭头性质可以突显中的空集呢? 对于一个集合, 我们可以找到什么函数呢? 回忆一下, 我们将函数刻画为了三元组, 其中 (第2.1节). 仔细检查这个定义的细节之后我们发现是一个从到的函数. 的图为空, 而这被人称为的空函数. 既然为空, 那么是唯一的子集, 因而是从到的唯一函数. 这种观察带我们抵达了以下定义:
任意两个始-对象在中必然是同构的. 这是因为如果和是始对象, 那么存在唯一的箭头和. 但是, 如此就有必然为, 因为是唯一的箭头, 鉴于是始对象. 类似地, 因为是始对象, 是. 因此, 有一个逆, 而.
我们已经观察到满态的概念是通过单态的概念反转箭头
得到的. 同样的手法也适用于终对象和始对象. 这是范畴论中的对偶性概念的两个例子, 现在我们会将其描述得更为精确.
如果是以基本的范畴语言写成的一句陈述, 那么的对偶(dual)是由将中的替换为, 替换为, 替换为所得到的陈述. 因此, 由所提及的所有箭头和复合都在中得到了反转. 由所描述的概念或者构造被称为是对偶于由所描述的概念或者构造. 因此, 满态箭头的概念对偶于单态箭头, 始对象
的对偶是终对象
, 诸如此类.
根据一个给定的范畴我们可以按照以下方式构造其对偶或者说相反范畴:
和拥有相同的对象. 对于每个-箭头, 我们引入一个中的箭头, 这些就是中全部的箭头了. 恰当在中有定义时, 在中有定义, 并且. 注意到, 而.
由所表达的构造的对偶可以解释为应用于相反范畴的原本构造. 如果对于而言为真, 那么对于为真. 因此, 中的始对象在中是终对象. 现在如果是一个范畴论的定理, 即可从范畴论的公理中推导出来, 那么将会在所有的范畴中为真. 因此, 将会在所有具有形式的范畴之中成立. 但是, 任意的范畴都具有这种形式 (置), 于是在所有范畴之中都成立. 因此, 根据任何对于范畴论的真陈述我们立即就可以得到另一个真陈述, 此即所谓的对偶原理.
对偶原理将要证明的东西的数目削减了一半. 例如, 首先我们注意到同构箭头的概念是自对偶的.
现在我们开始考虑赋予两个集合和的积集合一个基于箭头的刻画. 不了解范畴论的人或许很难相信这的确可以在不诉诸于有序对的情况下做到. 但是实际上的确可以, 在同构的意义下, 并且其完成的方式会将我们引向对于什么是范畴中的构造
的一般刻画.
与相关联的是两个特殊的映射, 即投影(projection)和其由下列规则给出现在设我们给定了某个其他的集合连带着一对映射和, 那么我们根据规则定义.于是, 我们有对于每个, 且成立. 也就是说, 且, 即上述图表交换. 并且, 这样定义的是能够使得上述图表交换的唯一箭头. 这是因为如果, 那么知道告诉我们. 类似地, 如果, 那么我们必然有.
与和相关联的映射通常记作, 即和的积映射.
积
的对偶概念是对象的余积, 或者说和, 根据对偶原理我们可以将其直接定义如下.
被称为和相对于嵌入(injection)和的余积箭头.
在之中, 和的余积是其无交并. 这是两个看起来和和一样的集合的并, 即它们分别同构于和, 但是两个新的集合之间又是无交的, 即没有共同元素. 我们置而(为什么?) 然后定义嵌入是由规则给出的, 而则是
在一个预序里, 是由以下性质定义的:
上界;
小于任何其他的和的上界.
换言之, 是和的最小上界. 在一个偏序集里, 最小上界若是存在则唯一, 并且会记作. 对于一个偏序集而言, 若其任意两个元素都具有最小上界和最大下界 (第3.8节), 那么其会被称为一个格(lattice).
用范畴的语言来说, 一个格是一个骨架预序, 其任意两个元素都有一个积和一个余积.
两个分别具有和个元素的有限集合的无交并是一个具有(加)个元素的集合. 的确在里, 和的余积是序数 (这里的是相当字面意思的加法
). 相对于序数和, 在骨架范畴里下列陈述为真:而在或者之中, 更准确来说是(余积是在同构意义下定义的.)
我们之后在第5.4节里将会看到存在范畴在某种合理的解释下, 这上面最后一条陈述为假.
对于中的一对平行函数, 令是使得和相合的的子集, 即那么嵌入函数被称为和的等化子(equaliser). 之所以取这个名字, 是因为在其与的复合下我们发现, 即两个函数被等化 (equalised)
了. 而且, 是和的标准 (canonical)
等化子——如果任意其他这样的和的等化子, 即那么可以通过进行唯一分解
, 即存在唯一的函数使得. 换言之, 给定了之后, 只存在唯一的方式填充虚线箭头以使得上述图表交换.
对于两个对象之积和两个箭头的等化子而言, 其定义有着相同的基本形式. 在每种情形下, 待定的实体都以标准
的方式具有一个特定的性质, 也就是说任何其他具有该性质的实体都能按照之前指出的方式通过它进行分解
. 在等化子的情形中, 这个性质是能够等化
原本的两个箭头. 在和的情形之中, 这个性质是作为以和为陪域的一对箭头的定义域. 这种情况叫做泛构造(universal construction). 待定的实体在所有具有某个特定性质的东西里是泛的(universal).
我们可以通过考虑图表以使得这个想法更加精确, 但希望不会太过学究琐碎. 当我们言称某个范畴中的一个图表时, 我们指的不过是一个-对象的合集连带着一些图表的特定对象之间的-箭头. (一对对象之间可能存在多于一个箭头, 也可能没有箭头.)
图表中的一个锥(cone)由一个-对象和连带着对于每个中的对象的一个-箭头构成, 其满足每当是图表里的一个箭头, 则有图表交换. 我们使用符号来表示的一个锥.
图表的一个极限是一个-锥, 其满足对于任意其他的-锥, 恰存在唯一的箭头使得对于中的每个对象有图表交换.
这个极限锥若存在则被称为具有相对于-锥的泛性质. 其在这样的锥中是泛的——任何其他的-锥都可以如上图所示那样通过它进行唯一分解. 图表的极限在同构下是唯一的: 如果
一对具有共同陪域的-箭头的一个拉回(pullback)是中图表的一个极限.
简要解释什么是逻辑并不简单, 甚至可能并不有用.
——E. J. Lemmon
在任何对于集合论的系统性建立过程之中, 最初要被检视的主题之一即是所谓的类的代数(algebra of classes).
既然新的范式是从旧的范式中诞生的, 它们通常会融入诸多旧范式之前所采用的术语和机制, 不论是概念性的还是操作性的. 不过, 它们很少以传统的方式来运用这些借来的元素.
——Thomas Kuhn
让那些我之后的人思考为什么我建立这些心智构造以及它们如何可以在某种哲学中得到解释; 我满足于建立它们, 以着其在某种意义上将会有助于澄清人类思想的信念.
——L. E. J. Brouwer
在Newton和Leibnitz于17世纪末发现微积分之后相当长的一段时间里, 人们对其基本概念存在争议和分歧. 无穷小量的概念以及无穷序列的极限仍笼罩在神秘之中, 其中一些表述在今天看来也颇为奇异 (例如J. Bernoulli所说的无穷小地增加或者减少的量既未增加也未减少
). 这一学科在19世纪才获得了严格的基础, 最初是通过Cauchy对极限与收敛概念给出精确定义来实现的. 此后, Weierstrass等人推进了分析的算术化
, 给出了实数系统的纯代数处理. 其重要后果之一是, 分析学开始与其物理直觉的根基相分离 (参见Weierstrass关于(反直觉的?)连续但处处不可微函数存在性的证明). 这一点, 连同非欧几何的发展等其他因素, 共同促成了人们认识到: 数学结构具有一种抽象的概念实在性, 完全独立于物理世界之外.
同样重要的是这一时期Dedekind和Peano在数系方面的工作. 实数由有理数构造而来, 有理数由整数构造而来, 整数则由自然数构造而来. 而后, Peano公理对自然数本身的性质给出了抽象的刻画. 这种归约方式推动了一种思想的发展, 即整个数学可以被纳入一个宏大的公理体系之中, 而该体系本身建立在少数几个基本概念和原理之上. 这一构想此后始终是数学基础研究的核心. 它在Frege和Russell的逻辑主义
论题中达到了极端的形式——数学是逻辑的一部分, 数学真理可以从纯粹的逻辑原理中推导出来. 这一构想也体现在Hilbert的工作中, 他试图将数学公理化, 并用有穷方法证明这些公理的一致性.
当Cantor登上历史舞台时, 人们已经认识到涉及无穷的表述, 例如当趋于无穷时, 序列也趋于无穷
, 可以视为关于实数性质的精确但复杂的命题的形象化表述 (对于所有的, 存在一个...
, 诸如此类). Cantor的集合论超越了这一点, 将实无穷作为数学研究的对象加以处理. 无穷集合成为一种自成存在
, 可以作为某个其他集合的元素. 数的概念通过建立超限
基数和序数的理论而从有穷延伸到了无穷, 其算术涉及对无穷集合的运算. Cantor的态度是: 只要命题在语法上正确, 演绎在逻辑上可靠 (sound), 这样的命题就具有概念上的意义, 即便它们超越了我们关于有穷数与有穷集合的基本直觉.
集合论取得了巨大的成功, 但也并非没有批评者. Leopold Kronecker以上帝创造了整数, 其余一切皆是人的工作
这句名言而广为人知, 他拒绝承认无穷集合与无理数的概念, 认为它们是神秘主义的, 而非数学的. 他坚持认为, 一个理论在逻辑上的正确性并不意味着它所声称描述的那些实体的存在性. 除非这些实体能够被实际地构造出来, 否则它们就毫无意义. Kronecker说, 数及其运算必须具有直觉的基础
. 定义和证明必须在相当字面的意义上是构造性的
. 定义必须明确地展示如何利用已知存在的对象来构造所定义的对象. 在古典数学中, 存在性证明
往往通过证明某类实体不存在的假设会导致矛盾来进行. 而从构造主义的立场来看, 这根本不是存在性证明, 因为合法的存在性证明必须明确地展示出所讨论的那个具体对象. Kronecker相信自然数可以被给予这样一种基础, 但实数则不然. 他实际上曾试图从这一立场出发重写数学的某些部分.
将事物视为由已知实体建造而成
的这一观念, 也体现在Henri Poincaré对集合论悖论的回应之中. 他认为矛盾的根源在于使用了非直谓(impredicative)定义. 这类定义是循环和自指的, 对于其描述一个对象所需要引用的集合, 这些集合自身的存在性都依赖于的存在性. Poincaré坚持认为此类定义是不可接受的, 一个集合在其每个元素被刻画之前是无法被刻画的. 因此, Russell悖论 (第1.1节) 一半的问题在于需要表明(是否). 以这种观点, 那么的定义是循环性的, 因为其只能在已经被定义的情况下才能给出. 这样一来Russell类甚至无法作为合法的研究对象出现. 实际上将会消失的东西远不止于此, 因为实数系统的古典分析的很大一部分都依赖于非直谓定义.
构造主义态度在Kronecker和Poincaré的观点中均有所体现, 而其最为激进的表达则见于直觉主义哲学——这一哲学由荷兰数学家L. E. J. Brouwer于本世纪初所开创. Brouwer拒绝非构造性论证, 也拒绝将无穷集合视为自成存在的观念. 但他更进一步, 否认传统逻辑是数学推理的有效表示. 我们已经指出, 所谓的反证法
(为真是因为否则会推出矛盾) 在存在性证明中从构造主义角度来看是不可接受的. 但是对于Brouwer而言, 其压根就不是一条可以接受的论证原理. 他对于排中律的态度也是一样的.
首先应该观察到整个范畴的概念本质上是辅助性的; 我们的基本概念本质上是关于函子和自然变换的.
——S. Eilenberg和S. MacLane
一个函子是一个从某个范畴到另一个范畴的变换, 其保持
它的源头的范畴结构. 正如范畴论的创立者的引言所指出的, 函子的概念恰恰是范畴论的本质. 原初的视角已经发生了某种意义上的改变, 因而至少在本书中函子并不比范畴本身更加重要. 诚然如此, topos作为数学基础的可行性很大程度上建立在其可以不用诉诸于函子而定义. 然而, 我们现在也已经到了无法忽略函子的阶段了. 函子提供了描述topos和Kripke模型之间以及topos和集合论模型之间的关系的必要语言.
从范畴到范畴的一个函子是一个函数, 其赋
这最后一个条件所陈述的是两个箭头的复合的-像是其-像的复合, 即每当在中交换 (), 就有在中交换. 我们记或者以指示是一个从到的函子. 既已有了函子的定义, 简而言之, 函子就是保持
, , 恒等箭头, 以及复合的变换. {译注: 换言之, 就是函子与这些操作在某种意义上都是交换的, 例如和.}