冯诺伊曼-博内斯-哥德尔集合论

数学基础中,冯·诺伊曼-博内斯-哥德尔集合论(英语:von Neumann–Bernays–Gödel Set TheoryNBG)是设计生成同Zermelo-Fraenkel 集合论选择公理一起(ZFC)同样结果的集合论公理系统,但只有有限数目的公理,即是不使用公理模式

NBG首先由冯·诺伊曼在1920年代提出,从1937年开始由保罗·博内斯英语Paul Bernays作修改,在1940年由哥德尔进一步简化。

不像ZFC,NBG只有有限多个公理。Richard Montague在1961年证明,不可能找到在逻辑上等价于ZFC的有限数目的公理;因此NBG的语言有能力谈论真类同谈论集合一样,并且关于集合的陈述在NBG中是可证明的,当且仅当它在ZFC中是可证明的(就是说NBG是ZFC的保守扩展)。

理论

这个理论的标志特征是集合的区分。类可以非常大——实际上你可以谈论“所有集合的类”。但是有一个结构性限制以避免“所有类的类”或“所有集合的集合”这样的描述。

成员关系

 

只定义在   是集合而   是集合或类的条件下。

类的构建反映了朴素集合论的构建过程。由于给出了抽象原理,因此从任何带有成员关系的谓词逻辑的陈述,都可以形成相应的类。等于、序对、子类等等的概念都变成定义而不是公理的事情——这些定义都是从公式而来的抽象。

集合的构建跟ZF里的处理很相似。有一个谓词“Rp”定义如下:

 

就是说,一个集合 a 表示(represent)一个类 A,如果 a 的所有元素都是 A 的元素,反之亦然。有些类没有表示,比如不包含自身的所有集合的类。这样的类叫做真类

这种系统的优点是它搭建出一个框架,以允许谈论“大对象”,而不会有涉及佯谬的顾虑。比如,在范畴论的某些构建中,若然在一个范畴里,对象的搜集和态射的搜集可以被表示为真类,那这范畴便称为大范畴。在另一方面,如果一个范畴的对象和态射能“装进”集合,就称之为小范畴。因此我们可以容易的谈论“所有小范畴的范畴”而不会衍生问题。当然,这样得出的会是个大范畴。

NBG的公理化

在本节中会展示一个NBG的公理化(实际上有两个不同的公理化,第二个是第一个的改进)。可以把它跟Morse-Kelley集合论的公理化比较一下。

把NBG看作有两种类别(two-sorted)的理论,小写字母充当集合变量而大写字母充当类变量。成员关系的陈述需要是如下形式之一:   ,而等式的陈述需要是如下形式之一   。通过滥用符号,把   写为 a=A

这个理论也可以被表达为单一类别(one-sorted)的理论,通过如下定义来区分集合和类:一个类是集合,如果它是另一个类的元素。

公理如下,不带类字样的公理是关于集合的。

  • 类外延性公理: :有相同元素的类是相同的。
  • 外延性公理: :有相同元素的集合是相同的。
  • 类概括公理(模式):如果公式   不包含修饰类的量词(但 还是可以包含类和集合参数),则存在一个对应的类 A使得对于所有 x 

在朴素集合论里,使用非限定的公式构成集合,是产生佯谬的原因。在NBG系统里,限定了概括公理的适用情况,并借此有加以限制的公式构成一个类,从而避免了朴素集合论的佯谬。

若把这个公理模式强化,允许量词修饰类,这样它就不再是有限可公理化的,可由另一个理论叫做 Morse-Kelley 集合论来描述。

  • 配对公理 :对于任何集合 xy,有一个集合  ,它的元素精确地是 xy

注意这个公理允许有序对的定义,并与类概括一起,允许把在集合上的关系适用于类的情况(对于特定的类关系,也可以使用函数、单射或双射的术语了,只不过是“由类到类”而不是“由集合到集合”)。

  • 大小限制公理对于任何类 C,存在一个集合 x 使得   (谓 xC 的表示,即 Cx 所包含的元素一样),当且仅当没有在 C 和所有集合的类 V 之间的双射。

这个公理贡献自冯·诺伊曼,并一下实现了分离公理、替代公理和全局选择公理。如果需要的话,它可以被弱化为“若类函数的定义域被包含在一个集合中,则其值域亦为集合”;这将去除选择公理(如果需要可以把它替代为更加有用的局部形式的选择公理)。完全的大小限制公理蕴涵了全局选择公理,因为序数的类不是集合,所以有从序数到全集的双射。

  • 并集公理:对于任何集合 x,有一个集合精确的包含 x 的元素的元素。
  • 幂集公理:对于任何集合 x,有一个集合精确的包含 x 的子集。
  • 无穷公理:存在一个集合 y,空集是 y 的元素,且对每个 y 的元素 a 也是 y 的元素。
  • 类基础(正规)公理:若类 A 不是空类,则存在类 A 的元素 x,使得 xA 不具有共同元素(可以理解为不相交)。

与类概括公理(模式)等价的一组公理

我们可以用几个公理来取代 NBG 的类概括公理模式。 我们将用以下的公理作为例子,但不保证它跟正规的方法一样。

  • 集合公理:对于任何集合 x,有一个类 X 使得 x=X

这个公理给予我们某些东西作为起始(结合上第一个公理化中的关于集合存在的那些公理),并且使我们可以处理在公式中的集合参数(parameter)。

注意如果   ,则   。这些已经足够处理所有命题连结词。

  • 补类公理:对于任何类 A,补集   是类。
  • 交类公理:对于任何类 AB,交集   是类。

现在我们需要处理量化。为了处理多个变量,我们需要能够表示关系。有序对   被定义为平常的  (我们假定了其他 NBG 公理所以有配对)。

  • 积类公理:对于任何类 AB,类   是类(  实际上就是我们所需要的全部)。
  • 类逆转公理:对于任何类 R, 类    存在。
  • 类结合公理:对于任何类 R,类    存在。

通过这些公理,我们可以自由的增加哑变元(dummy argument)并在任意元数关系中重排变元的次序。看起来有点奇特的结合公理,它正是设计用来作调动,使得我们可以把任一变元提到列表前面(加上逆转公理的辅助)。我们把变元的列表   表示为  (它是第一个变元作为它的第一个投影,而列表的“尾部”作为它的第二个投影的有序对)。想法是一直应用 Assoc1 ,直到这个要提到前面的变元位于第二个投影,接着适当地应用 Conv1 或 Conv2 ,把第二个变元提到前面,接着应用 Assoc2 直到最初 Assoc1 一系列应用的效果(现在在被移动的变元之后)被改正。

现在我们观察到如果   存在,则集合   按关系考虑的话,就单纯是第一个集合的值域。全称量词可以通过存在量词和否定来定义。

  • 类值域公理:对于任何类 R,类   存在。可以使用前面的公理重排变元,把任何单一变元提到变元列表的前面来被量化。

现在我们需要专注于由原子公式表达的关系。

  • 类成员公理:  存在。
  • 类对角公理:  存在。

通过对角公理、加入哑变量,以及重排变量,可以构造断言它的参数中任意的两个变量相等这样的关系;这可以被用来处理重复的变量。

引用