贡献者: 待更新
本文根据 CC-BY-SA 协议转载翻译自维基百科相关文章。
在数学基础中,冯·诺依曼–伯奈斯–哥德尔集合论(NBG)是一种公理化集合论,是泽梅洛–弗兰克尔–选择公理集合论(ZFC)的保守扩展。NBG 引入了 “类” 的概念,类是由公式定义的集合,其量词仅对集合进行量化。NBG 可以定义比集合更大的类,例如所有集合的类和所有序数的类。摩尔斯–凯利集合论(MK)允许通过量词对类进行量化的公式来定义类。NBG 是有限公理化的,而 ZFC 和 MK 则不是。
NBG 的一个关键定理是类存在定理,它声明,对于每个量词仅对集合进行量化的公式,都存在一个类,该类包含满足该公式的集合。这个类是通过用类逐步构造公式来构建的。由于所有集合论公式都是由两种原子公式(成员关系和相等性)和有限多的逻辑符号构成,因此只需要有限多的公理来构建满足这些公式的类。这就是为什么 NBG 是有限公理化的原因。类还用于其他构造、处理集合论悖论,并用于表述全局选择公理,该公理比 ZFC 的选择公理要强。
约翰·冯·诺依曼在 1925 年将类引入集合论。他的理论的原始概念是函数和参数。利用这些概念,他定义了类和集合。\(^\text{[1]}\) 保罗·伯奈斯通过将类和集合作为原始概念重新表述了冯·诺依曼的理论。\(^\text{[2]}\) 库尔特·哥德尔简化了伯奈斯的理论,用于他对选择公理和广义连续统假设相对一致性的证明。\(^\text{[3]}\)
在 NBG 中,类有几个用途:
一旦类被添加到 ZFC 的语言中,就可以轻松地将 ZFC 转换为一个包含类的集合论。首先,添加类理解的公理模式。这个公理模式声明:对于每个仅对集合进行量化的公式 \( \phi(x_1, \ldots, x_n) \),存在一个类 \( A \),由满足该公式的 \( n \)-元组组成——即: \[ \forall x_1 \cdots \forall x_n \left[ (x_1, \ldots, x_n) \in A \iff \phi(x_1, \ldots, x_n) \right].~ \] 然后,替换公理模式被替换为一个使用类的单一公理。最后,ZFC 的外延公理被修改以处理类:如果两个类有相同的元素,则它们是相同的。ZFC 的其他公理没有被修改。\(^\text{[8]}\)
这个理论不是有限公理化的。ZFC 的替换公理模式已被一个单一公理所替代,但类理解的公理模式被引入。
为了产生一个有限公理化的理论,首先将类理解的公理模式替换为有限多个类存在公理。然后,这些公理被用来证明类存在定理,该定理暗示公理模式的每个实例。\(^\text{[8]}\) 这个定理的证明只需要七个类存在公理,这些公理用于将公式的构造转换为满足该公式的类的构造。
NBG 有两种类型的对象:类和集合。直观上,每个集合也是一个类。公理化这一点有两种方式。[需要非主要来源] 伯奈斯使用了多种排序逻辑,包含两种排序:类和集合。\(^\text{[2]}\) 哥德尔通过引入原始谓词避免了排序问题:\( \mathfrak{Cls}(A) \) 表示 “A 是一个类”, \( \mathfrak{M}(A) \) 表示 “A 是一个集合”(在德语中,“集合” 是 “ Menge”)。他还引入了公理,声明每个集合都是一个类,并且如果类 \( A \) 是某个类的成员,则 \( A \) 是一个集合。\(^\text{[9]}\) 使用谓词是消除排序的标准方式。埃利奥特·门德尔森修改了哥德尔的方法,使得一切都是类,并将集合谓词 \( M(A) \) 定义为 \( \exists C (A \in C) \)。\(^\text{[10]}\) 这种修改消除了哥德尔的类谓词和他的两个公理。
伯奈斯的两排序方法可能一开始看起来更自然,但它创造了一个更复杂的理论。\(^\text{[b]}\) 在伯奈斯的理论中,每个集合有两种表示方式:一种作为集合,另一种作为类。此外,有两个成员关系:第一个,表示为 “∈”,用于两个集合之间;第二个,表示为 “η”,用于集合与类之间。\(^\text{[2]}\) 这种冗余是多种排序逻辑所需要的,因为不同排序的变量作用于论域的不同子域。
这两种方法之间的差异不会影响可证明的内容,但会影响如何编写命题。在哥德尔的方法中,\( A \in C \)(其中 \( A \) 和 \( C \) 是类)是一个有效的命题。在伯奈斯的方法中,这个命题没有意义。然而,如果 \( A \) 是一个集合,就有一个等效的命题:定义 “集合 \( a \) 表示类 \( A \)” 如果它们有相同的成员集合——即,\(\forall x (x \in a \iff x \eta A)\) 命题 \( a \eta C \)(其中集合 \( a \) 表示类 \( A \))等价于哥德尔的 \( A \in C \)。\(^\text{[2]}\)
本文采用的方法是哥德尔加上门德尔森的修改。这意味着 NBG 是一个基于一阶谓词逻辑的公理化系统,具有相等性,其唯一的原始概念是类和成员关系。
集合是至少属于一个类的类:\( A \) 是一个集合当且仅当 \( \exists C (A \in C) \)。不是集合的类称为适当类:\( A \) 是一个适当类当且仅当 \( \forall C (A \notin C) \)。\(^\text{[12]}\) 因此,每个类要么是一个集合,要么是一个适当类,且没有类既是集合又是适当类。
哥德尔引入了一个约定,即大写字母变量作用于类,而小写字母变量作用于集合。\(^\text{[9]}\) 哥德尔还使用以大写字母开头的名称来表示特定的类,包括定义在所有集合类上的函数和关系。本文采用了哥德尔的约定。这使得我们可以写作: \[ \exists x \, \phi(x)~ \] 代替 \[ \exists x \left( \exists C (x \in C) \land \phi(x) \right)~ \] \[ \forall x \, \phi(x)~ \] 代替 \[ \forall x \left( \exists C (x \in C) \implies \phi(x) \right)~ \] 以下公理和定义是证明类存在定理所需的。
外延性公理 如果两个类有相同的元素,则它们是相同的。
\[ \forall A \, \forall B \, \left[ \forall x \, (x \in A \iff x \in B) \implies A = B \right]^\text{[13]}~ \] 该公理将 ZFC 的外延性公理推广到类。
配对公理 如果 \( x \) 和 \( y \) 是集合,那么存在一个集合 \( p \),它的唯一成员是 \( x \) 和 \( y \)。
\[ \forall x \, \forall y \, \exists p \, \forall z \, \left[ z \in p \iff (z = x \lor z = y) \right]^\text{[14]}~ \] 与 ZFC 中一样,外延性公理暗示了集合 \( p \) 的唯一性,这使我们能够引入符号 \( \{x, y\} \)。
有序对通过以下方式定义: \[ (x, y) = \{\{x\}, \{x, y\}\}~ \] 元组通过有序对递归定义: \[ (x_1) = x_1,~ \] 对于 \( n > 1 \): \[ (x_1, \ldots, x_{n-1}, x_n) = ((x_1, \ldots, x_{n-1}), x_n).^\text{[c]}~ \]
类存在公理将用于证明类存在定理:对于每个仅对集合进行量化的包含 \( n \) 个自由集合变量的公式,都存在一个满足该公式的 \( n \)-元组类。以下示例从两个类(函数)开始,并构建一个复合函数。这个例子展示了证明类存在定理所需的技术,这些技术最终引出了需要的类存在公理。
示例 1:如果类 \( F \) 和 \( G \) 是函数,那么复合函数 \( G \circ F \) 由以下公式定义: \[ \exists t \left[ (x,t) \in F \land (t,y) \in G \right].~ \] 由于该公式有两个自由集合变量 \( x \) 和 \( y \),类存在定理构造了有序对的类: \[ G \circ F = \{ (x,y) : \exists t \left[ (x,t) \in F \land (t,y) \in G \right] \}.~ \] 由于该公式是通过使用合取 \( \land \) 和存在量化 \( \exists \) 从更简单的公式构造的,因此需要类操作,这些操作将表示简单公式的类结合起来,并生成表示含有 \( \land \) 和 \( \exists \) 的公式的类。为了生成表示含有 \( \land \) 的公式的类,可以使用交集,因为 \( x \in A \cap B \iff x \in A \land x \in B \)。
为了生成表示含有 \( \exists \) 的公式的类,可以使用域,因为 \( x \in \text{Dom}(A) \iff \exists t \left[ (x,t) \in A \right] \)。
在进行交集之前,必须给 \( F \) 和 \( G \) 中的元组添加一个额外的组件,以使它们有相同的变量。将变量 \( y \) 添加到 \( F \) 的元组中,将变量 \( x \) 添加到 \( G \) 的元组中: \[ F' = \{ (x,t,y) : (x,t) \in F \} \quad \text{和} \quad G' = \{ (t,y,x) : (t,y) \in G \}.~ \] 在 \( F' \) 的定义中,变量 \( y \) 不受 \( (x,t) \in F \) 语句的限制,因此 \( y \) 在所有集合的类 \( V \) 中取值。类似地,在 \( G' \) 的定义中,变量 \( x \) 在 \( V \) 中取值。因此,需要一个公理来将一个额外的组件(其值范围在 \( V \) 中)添加到给定类的元组中。
接下来,变量按照相同的顺序排列,以准备进行交集操作: \[ F'' = \{ (x, y, t) : (x, t) \in F \}~ \] 和 \[ G'' = \{ (x, y, t) : (t, y) \in G \}.~ \] 从 \( F' \) 到 \( F'' \) 和从 \( G' \) 到 \( G'' \) 需要两次不同的排列,因此需要支持元组组件排列的公理。
\( F'' \) 和 \( G'' \) 的交集处理了合取 \( \land \): \[ F'' \cap G'' = \{ (x, y, t) : (x, t) \in F \land (t, y) \in G \}.~ \] 由于 \( (x, y, t) \) 被定义为 \( ((x, y), t) \),对 \( F'' \cap G'' \) 取域处理了 \( \exists t \) 并生成了复合函数: \[ G \circ F = \text{Dom}(F'' \cap G'') = \{ (x, y) : \exists t ((x, t) \in F \land (t, y) \in G) \}.~ \] 因此,需要交集和域的公理。
类存在公理分为两组:一组处理语言原语,另一组处理元组。第一组有四个公理,第二组有三个公理。\(^\text{[d]}\)
处理语言原语的公理:
成员关系 存在一个类 \( E \),其中包含所有有序对,其第一个组件是第二个组件的成员。 \[ \exists E \, \forall x \, \forall y \, \left[ (x, y) \in E \iff x \in y \right]^\text{[18]}~ \]
交集(合取) 对于任意两个类 \( A \) 和 \( B \),存在一个类 \( C \),它恰好包含属于 \( A \) 和 \( B \) 的所有集合。 \[ \forall A \, \forall B \, \exists C \, \forall x \, \left[ x \in C \iff (x \in A \land x \in B) \right]^\text{[19]}~ \] 补集(否定) 对于任何类 \( A \),存在一个类 \( B \),它恰好包含不属于 \( A \) 的所有集合。 \[ \forall A \, \exists B \, \forall x \, \left[ x \in B \iff \neg (x \in A) \right]^\text{[20]}~ \] 域(存在量化) 对于任何类 \( A \),存在一个类 \( B \),它恰好包含 \( A \) 的有序对的第一个组件。 \[ \forall A \, \exists B \, \forall x \, \left[ x \in B \iff \exists y \, ((x, y) \in A) \right]^\text{[21]}~ \] 根据外延性公理,交集公理中的类 \( C \) 和补集与域公理中的类 \( B \) 是唯一的。它们分别表示为:\( A \cap B \),\( \complement A \),和 \( \text{Dom}(A) \)\(^\text{[e]}\)。
前三个公理暗示了空类和所有集合的类的存在:成员关系公理暗示存在一个类 \( E \)。 交集和补集公理暗示了存在 \( E \cap \complement E \),即空集。根据外延性公理,这个类是唯一的,它表示为 \( \emptyset \)。\( \emptyset \) 的补集是所有集合的类 \( V \),根据外延性公理,\( V \) 也是唯一的。集合谓词 \( M(A) \),最初定义为 \( \exists C (A \in C) \),现在重新定义为 \( A \in V \),以避免对类进行量化。
处理元组的公理:
由 \( V \) 生成的乘积 对于任何类 \( A \),存在一个类 \( B \),其元素是有序对,其中第一个组件属于 \( A \)。 \[ \forall A \, \exists B \, \forall u \, [u \in B \iff \exists x \, \exists y \, (u = (x, y) \land x \in A)]^\text{[23]}~ \] 圆形排列 对于任何类 \( A \),存在一个类 \( B \),其 3 元组是通过对 \( A \) 的 3 元组应用圆形排列 \( (y, z, x) \mapsto (x, y, z) \) 获得的。 \[ \forall A \, \exists B \, \forall x \, \forall y \, \forall z \, [(x, y, z) \in B \iff (y, z, x) \in A]^\text{[24]}~ \] 交换 对于任何类 \( A \),存在一个类 \( B \),其 3 元组是通过交换 \( A \) 的 3 元组中的最后两个组件得到的。 \[ \forall A \, \exists B \, \forall x \, \forall y \, \forall z \, [(x, y, z) \in B \iff (x, z, y) \in A]^\text{[25]}~ \] 根据外延性公理,由 \( V \) 生成的乘积公理暗示了唯一类的存在,记作 \( A \times V \)。 这个公理用于定义所有 \( n \)-元组的类 \( V^n \):\( V^1 = V \) 和 \( V^{n+1} = V^n \times V \)。如果 \( A \) 是一个类,外延性公理暗示 \( A \cap V^n \) 是包含 \( A \) 的所有 \( n \)-元组的唯一类。例如,成员关系公理产生一个类 \( E \),它可能包含非有序对的元素,而交集 \( E \cap V^2 \) 只包含 \( E \) 的有序对。
圆形排列和交换公理并不暗示唯一类的存在,因为它们仅指定类 \( B \) 的 3 元组。通过指定这些 3 元组,这些公理还指定了 \( n \)-元组,适用于 \( n \geq 4 \),因为: \[ (x_1, \ldots, x_{n-2}, x_{n-1}, x_n) = ((x_1, \ldots, x_{n-2}), x_{n-1}, x_n)~ \] 处理元组的公理和域公理暗示了以下引理,这在类存在定理的证明中得到了应用。
元组引理
证明
还需要一个公理来证明类存在定理:正则性公理:由于空类的存在已经被证明,通常给出的该公理的表述如下:\(^\text{[f]}\)
正则性公理:每个非空集合至少有一个与其没有共同元素的元素。 \[ \forall a \, [a \neq \emptyset \implies \exists u (u \in a \land u \cap a = \emptyset)]~ \] 这个公理意味着集合不能属于它自身:假设 \( x \in x \),且令 \( a = \{x\} \)。那么 \( x \cap a \neq \emptyset \),因为 \( x \in x \cap a \)。这与正则性公理矛盾,因为 \( x \) 是 \( a \) 中唯一的元素。因此,\( x \notin x \)。正则性公理还禁止集合的无限递降成员序列: \[ \cdots \in x_{n+1} \in x_{n} \in \cdots \in x_1 \in x_0~ \] 哥德尔在他的 1940 年专著中陈述了类的正则性,而不是集合的正则性,该专著基于 1938 年的讲座。\(^\text{[26]}\) 在 1939 年,他证明了集合的正则性意味着类的正则性。\(^\text{[27]}\)
类存在定理——设 \( \phi(x_1, \dots, x_n, Y_1, \dots, Y_m) \) 是一个仅对集合进行量化并且没有其他自由变量的公式(除了 \( x_1, \dots, x_n, Y_1, \dots, Y_m \) 外,可能并不包括这些所有变量)。那么对于所有的 \( Y_1, \dots, Y_m \),存在一个唯一的类 \( A \) 由 \( n \)-元组组成,使得: \[ \forall x_1 \cdots \, \forall x_n \, [(x_1, \dots, x_n) \in A \iff \phi(x_1, \dots, x_n, Y_1, \dots, Y_m)]~ \] 类 \( A \) 被表示为: \[ \{(x_1, \dots, x_n) : \phi(x_1, \dots, x_n, Y_1, \dots, Y_m)\}^\text{[g]}~ \] 定理的证明将分两步进行:
转换规则:在以下的规则 1 和规则 2 中,\( \Delta \) 和 \( \Gamma \) 表示集合或类变量。这两个规则消除了所有在 \( \in \) 前和所有等式中的类变量的出现。每次应用规则 1 或规则 2 到子公式时,选择 \( i \) 使得 \( z_i \) 与当前公式中的其他变量不同。三个规则会重复应用,直到没有子公式可以再应用它们为止。这样会得到一个仅由 \( \neg \)、\( \land \)、\( \exists \)、\( \in \)、集合变量和类变量 \( Y_k \) 组成的公式,其中 \( Y_k \) 在 \( \in \) 前不会出现。
示例 2:规则 4 应用于公式 \( \phi(x_1) \),该公式定义了由以下形式的所有集合组成的类:\(\{\emptyset, \{\emptyset, \dots\}, \dots\}\).即,包含至少 \( \emptyset \) 和一个包含 \( \emptyset \) 的集合的集合——例如,\(\{\emptyset, \{\emptyset, a, b, c\}, d, e\}\) 其中 \( a, b, c, d, e \) 是集合。 \[ \phi(x_1) = \exists u \left[ u \in x_1 \land \neg \exists v (v \in u) \right] \land \exists w \left(w \in x_1 \land \exists y \left[ (y \in w \land \neg \exists z (z \in y)) \right] \right)~ \] \[ \phi_r(x_1) = \exists x_2 \left[ x_2 \in x_1 \land \neg \exists x_3 (x_3 \in x_2) \right] \land \exists x_2 \left(x_2 \in x_1 \land \exists x_3 \left[ (x_3 \in x_2 \land \neg \exists x_4 (x_4 \in x_3)) \right] \right)~ \] 由于 \( x_1 \) 是唯一的自由变量,\( n = 1 \)。量化变量 \( x_3 \) 在公式 \( x_3 \in x_2 \) 中出现两次,且嵌套深度为 2。它的下标是 3,因为 \( n + q = 1 + 2 = 3 \)。如果两个量化范围在相同的嵌套深度上,它们要么是相同的,要么是互不相交的。两个 \( x_3 \) 的出现位于不相交的量化范围内,因此它们互不干扰。
类存在定理的证明。 证明从应用变换规则到给定公式开始,以产生一个变换后的公式。由于这个公式与给定公式等价,因此通过对变换后的公式证明类存在定理来完成证明。
展开引理——设 \( 1 \leq i < j \leq n \),并且设 \( P \) 是一个类,包含所有满足 \( R(x_i, x_j) \) 的有序对 \( (x_i, x_j) \),即 \(P \supseteq \{(x_i, x_j) : R(x_i, x_j)\}\).那么,\( P \) 可以扩展成唯一的类 \( Q \),该类包含所有满足 \( R(x_i, x_j) \) 的 \( n \)-元组。即,\(Q = \{(x_1, \ldots, x_n) : R(x_i, x_j)\}\).
证明:
类存在定理(变换公式版)——设 \(\phi(x_1, \dots, x_n, Y_1, \dots, Y_m)\) 是一个公式,满足以下条件:
那么,对于所有的 \(Y_1, \dots, Y_m\),存在一个唯一的类 \(A\),它包含所有满足以下条件的 \(n\)-元组: \[ \forall x_1 \cdots \forall x_n [(x_1, \dots, x_n) \in A \iff \phi(x_1, \dots, x_n, Y_1, \dots, Y_m)]~ \] 这表示,类 \(A\) 是由所有满足公式 \(\phi(x_1, \dots, x_n, Y_1, \dots, Y_m)\) 的 \(n\)-元组组成。
证明:基础步骤:
\(\phi\) 具有 0 个逻辑符号。定理的假设意味着 \(\phi\) 是一个原子公式,形式为 \(x_i \in x_j\) 或 \(x_i \in Y_k\)。
情况 1:如果 \(\phi\) 是 \(x_i \in x_j\),我们构建类 \(E_{i,j,n} = \{(x_1, \dots, x_n) : x_i \in x_j\}\),这是满足 \(x_i \in x_j\) 的唯一 \(n\)-元组类。
情况 a:\(\phi\) 是 \(x_i \in x_j\),其中 \(i < j\)。成员公理产生一个类 \(P\),包含所有满足 \(x_i \in x_j\) 的有序对 \((x_i, x_j)\)。应用扩展引理于 \(P\) 得到 \(E_{i,j,n} = \{(x_1, \dots, x_n) : x_i \in x_j\}\)。
情况 b:\(\phi\) 是 \(x_i \in x_j\),其中 \(i > j\)。成员公理产生一个类 \(P\),包含所有满足 \(x_i \in x_j\) 的有序对 \((x_i, x_j)\)。应用元组引理的第 4 条于 \(P\) 得到 \(P'\),包含所有满足 \(x_i \in x_j\) 的有序对 \((x_j, x_i)\)。应用扩展引理于 \(P'\) 得到 \(E_{i,j,n} = \{(x_1, \dots, x_n) : x_i \in x_j\}\)。
情况 c:\(\phi\) 是 \(x_i \in x_j\),其中 \(i = j\)。由于根据正则性公理此公式为假,因此没有 \(n\)-元组满足它,所以 \(E_{i,j,n} = \emptyset\)。
情况 2:如果 \(\phi\) 是 \(x_i \in Y_k\),我们构建类 \(E_{i,Y_k,n} = \{(x_1, \dots, x_n) : x_i \in Y_k\}\),这是满足 \(x_i \in Y_k\) 的唯一 \(n\)-元组类。
情况 a:\(\phi\) 是 \(x_i \in Y_k\),其中 \(i < n\)。应用乘积公理于 \(Y_k\),生成类 \(P = Y_k \times V = \{(x_i, x_{i+1}) : x_i \in Y_k\}\)。应用扩展引理于 \(P\),得到 \(E_{i,Y_k,n} = \{(x_1, \dots, x_n) : x_i \in Y_k\}\)。
情况 b:\(\phi\) 是 \(x_i \in Y_k\),其中 \(i = n > 1\)。应用乘积公理于 \(Y_k\),生成类 \(P = Y_k \times V = \{(x_i, x_{i-1}) : x_i \in Y_k\}\)。应用元组引理的第 4 条于 \(P\),得到 \(P' = V \times Y_k = \{(x_{i-1}, x_i) : x_i \in Y_k\}\)。应用扩展引理于 \(P'\),得到 \(E_{i,Y_k,n} = \{(x_1, \dots, x_n) : x_i \in Y_k\}\)。
情况 c:\(\phi\) 是 \(x_i \in Y_k\),其中 \(i = n = 1\)。则 \(E_{i,Y_k,n} = Y_k\)。
归纳步骤:\(\phi\) 有 \(k\) 个逻辑符号,其中 \(k > 0\)。假设归纳假设成立,即定理对所有具有少于 \(k\) 个逻辑符号的公式 \(\psi\) 都成立。现在,我们证明定理对于具有 \(k\) 个逻辑符号的公式 \(\phi\) 也成立。在这个证明中,类变量列表 \(Y_1, \dots, Y_m\) 简写为 \(\vec{Y}\),因此公式—例如 \(\phi(x_1, \dots, x_n, Y_1, \dots, Y_m)\)—可以写作 \(\phi(x_1, \dots, x_n,\vec{Y})\)。
情况 1: \(\phi(x_1, \dots, x_n, \vec{Y}) = \neg \psi(x_1, \dots, x_n,\vec{Y})\)。由于 \(\psi\) 具有 \(k - 1\) 个逻辑符号,归纳假设意味着存在一个唯一的类 \(A\) 的 \(n\)-元组,使得: \[ (x_1, \dots, x_n) \in A \iff \psi(x_1, \dots, x_n, \vec{Y}).~ \] 根据补集公理,存在一个类 \(\complement A\),使得:\(\forall u \, [u \in \complement A\iff \neg(u \in A)]\).然而,如果 \(n > 1\),\(\complement A\) 包含除了 \(n\)-元组之外的元素。为了消除这些元素,使用 \(\complement_{V^n} A = \complement A \cap V^n = V^n \setminus A, \) 这是相对于类 \(V^n\)(即所有 \(n\)-元组)的补集。然后,根据外延性,\(\complement_{V^n} A\) 是唯一的 \(n\)-元组类,使得: \[ \begin{aligned} (x_1, \dots, x_n) \in \complement_{V^n} A &\iff \neg [(x_1, \dots, x_n) \in A]\\ &\iff \neg \psi(x_1, \dots, x_n, \vec{Y})\\ &\iff \phi(x_1, \dots, x_n, \vec{Y}). \end{aligned}~ \] 情况 2:\(\phi(x_1, \dots, x_n, \vec{Y}) = \psi_1(x_1, \dots, x_n, \vec{Y}) \land \psi_2(x_1, \dots, x_n, \vec{Y})\)。由于 \(\psi_1\) 和 \(\psi_2\) 都具有少于 \(k\) 个逻辑符号,归纳假设意味着存在唯一的 \(n\)-元组类 \(A_1\) 和 \(A_2\),使得: \[ (x_1, \dots, x_n) \in A_1 \iff \psi_1(x_1, \dots, x_n, \vec{Y}),~ \] \[ (x_1, \dots, x_n) \in A_2 \iff \psi_2(x_1, \dots, x_n,\vec{Y}).~ \] 根据交集公理和外延性公理,\(A_1 \cap A_2\) 是唯一的 \(n\)-元组类,使得: \[ \begin{aligned} (x_1, \dots, x_n) \in A_1 \cap A_2 &\iff (x_1, \dots, x_n) \in A_1 \land (x_1, \dots, x_n) \in A_2\\ &\iff \psi_1(x_1, \dots, x_n, \vec{Y}) \land \psi_2(x_1, \dots, x_n, \vec{Y})\\ &\iff \phi(x_1, \dots, x_n, \vec{Y}). \end{aligned}~ \] 情况 3:\(\phi(x_1, \dots, x_n, \vec{Y}) = \exists x_{n+1} \psi(x_1, \dots, x_n, x_{n+1}, \vec{Y})\)。\(\psi\) 的量词嵌套深度比 \(\phi\) 多一级,且额外的自由变量是 \(x_{n+1}\)。由于 \(\psi\) 具有 \(k-1\) 个逻辑符号,归纳假设表明存在一个唯一的 \(n+1\) 元组类 \(A\),使得: \[ (x_1, \dots, x_n, x_{n+1}) \in A \iff \psi(x_1, \dots, x_n, x_{n+1},\vec{Y}).~ \] 根据领域公理和外延性公理,\(Dom(A)\) 是唯一的 \(n\) 元组类,使得: \[ \begin{aligned} (x_1, \dots, x_n) \in Dom(A) &\iff \exists x_{n+1} [(x_1, \dots, x_n, x_{n+1}) \in A]\\ &\iff \exists x_{n+1} [(x_1, \dots, x_n, x_{n+1}) \in A]\\ &\iff \exists x_{n+1} \psi(x_1, \dots, x_n, x_{n+1}, \vec{Y})\\ &\iff \phi(x_1, \dots, x_n, \vec{Y}). \end{aligned}~ \] Gödel 指出,类存在定理 “是一个元定理,即关于系统 [NBG] 的定理,而不是系统内部的定理……”。它是关于 NBG 的定理,因为它是通过在 NBG 公式上的归纳法在元理论中证明的。此外,它的证明——而不是通过调用有限数量的 NBG 公理——归纳地描述了如何使用 NBG 公理构造一个满足给定公式的类。对于每个公式,这个描述可以转化为一个构造性存在证明,这个证明在 NBG 内部。因此,这个元定理可以生成替代 NBG 类存在定理使用的 NBG 证明。
递归计算机程序简洁地捕捉了从给定公式构造类的过程。这个程序的定义并不依赖于类存在定理的证明。然而,需要证明该程序构造的类满足给定的公式并且是通过公理构建的。该程序用伪代码编写,使用了一种类似 Pascal 的 case 语句。
让 \(\phi\) 是例子 2 中的公式。函数调用 \(A = \text{Class}(\phi, 1)\) 生成类 \(A\),并将其与 \(\phi\) 进行比较。下文展示了类 \(A\) 的构造过程是如何反映其定义公式 \(\phi\) 的构造过程的。 \[ \phi = \exists x_2 (x_2 \in x_1 \land \neg \exists x_3 (x_3 \in x_2)) \land \exists x_2 (x_2 \in x_1 \land \exists x_3 (x_3 \in x_2 \land \neg \exists x_4 (x_4 \in x_3)))~ \] \[ A = \text{Dom}(E_{2,1,2} \cap \complement_{V^2} \text{Dom}(E_{3,2,3})) \cap \text{Dom}(E_{2,1,2} \cap \text{Dom}(E_{3,2,3} \cap \complement_{V^3} \text{Dom}(E_{4,3,4})))~ \]
Gödel 将类存在定理扩展到了包含类之间关系(例如 \( Y_1 \subseteq Y_2 \) 和一元关系 \( M(Y_1) \))、特殊类(例如 \( \text{Ord}\))和运算(例如 \( (x_1, x_2) \) 和 \( x_1 \cap Y_1 \))的公式 \(\phi\) [32]。为了扩展类存在定理,定义关系、特殊类和运算的公式必须仅对集合进行量化。然后,\(\phi\) 可以转换为一个等价的公式,满足类存在定理的假设。
以下定义指定了如何通过公式定义关系、特殊类和运算:
一个术语定义为:
以下转换规则消除了关系、特殊类和运算。每次规则 2b、3b 或 4 应用于子公式时,选择 \( i \) 使得 \( z_i \) 与当前公式中的其他变量不同。规则会重复应用,直到没有子公式可以再应用这些规则。\( \Gamma_1, \dots, \Gamma_k, \Gamma, \) 和 \( \Delta \) 表示术语。
示例 3: 转换 \( Y_1 \subseteq Y_2 \). \[ Y_1 \subseteq Y_2 \iff \forall z_1 (z_1 \in Y_1 \implies z_1 \in Y_2) \quad \text{(规则 1)}~ \]
示例 4: 转换 \( x_1 \cap Y_1 \in x_2 \). \[ \begin{aligned} x_1 \cap Y_1 \in x_2 &\iff \exists z_1 [z_1 = x_1 \cap Y_1 \land z_1 \in x_2] \qquad \text{(规则 3b)}\\ &\iff \exists z_1 [\forall z_2 (z_2 \in z_1 \iff z_2 \in x_1 \cap Y_1) \land z_1 \in x_2] \qquad \text{(规则 4)}\\ &\iff \exists z_1 [\forall z_2 (z_2 \in z_1 \iff z_2 \in x_1 \land z_2 \in Y_1) \land z_1 \in x_2] \qquad \text{(规则 3a)} \end{aligned}~ \] 这个例子展示了变换规则如何协同工作,以消除操作。
扩展版的类存在定理——令 \( \phi (x_1, \dots ,x_n, Y_1, \dots ,Y_m) \) 为一个公式,该公式仅对集合量化,且除了 \( x_1, \dots , x_n, Y_1, \dots , Y_m \) 之外没有自由变量,并且可以包含仅对集合量化的关系、特殊类和由公式定义的操作。那么,对于所有的 \( Y_1, \dots , Y_m \),存在一个唯一的 \( n \)-元组类 \( A \),使得: \[ \forall x_1 \dots \forall x_n \left[ (x_1, \dots , x_n) \in A \iff \phi (x_1, \dots , x_n, Y_1, \dots , Y_m) \right].~ \]
证明
对 \( \phi \) 应用变换规则,将其转化为一个不包含关系、特殊类或操作的等价公式。这个公式满足类存在定理的假设。因此,对于所有的 \( Y_1, \dots , Y_m \),存在一个唯一的 \( n \)-元组类 \( A \),满足: \[ \forall x_1 \dots \forall x_n \left[ (x_1, \dots , x_n) \in A \iff \phi (x_1, \dots , x_n, Y_1, \dots , Y_m) \right].~ \]
配对公理和正则性公理是证明类存在定理所需的,已经在上文中给出。NBG 还包含另外四个集合公理,其中三个公理处理对集合应用类操作。
定义:若满足以下条件,则称 \(F\) 是一个函数: \[ F \subseteq V^2 \land \forall x\, \forall y\, \forall z\, \big[(x, y) \in F \land (x, z) \in F \Rightarrow y = z\big]~ \] 在集合论中,函数的定义不要求指定其定义域或陪域(参见 “函数(集合论)”)。NBG 对函数的定义将 ZFC 中 “有序对集合” 的定义推广为 “有序对类”。
ZFC 中关于像、并集和幂集的集合运算定义,也被推广为类运算的定义。类 \( A \) 在函数 \( F \) 下的像定义为:\(F[A] = \{ y : \exists x\, (x \in A \land (x, y) \in F) \}\).这个定义不要求 \( A \subseteq \mathrm{Dom}(F) \)。类 \( A \) 的并集定义为:\(\cup A = \{ x : \exists y\, (x \in y \land y \in A) \}\). 类 \( A \) 的幂类定义为:\(\mathcal{P}(A) = \{ x : x \subseteq A \}\).类存在定理的扩展形式保证了这些类的存在。而当这些运算作用于集合时,替代公理、并集公理和幂集公理则保证其结果仍为集合。
替代公理:如果 \( F \) 是一个函数,且 \( a \) 是一个集合,那么 \( F[a] \) —— 即 \( a \) 在 \( F \) 下的像——是一个集合。 \[ \forall F \, \forall a \, [F \text{ 是一个函数} \implies \exists b \, \forall y \, (y \in b \iff \exists x \, (x \in a \land (x, y) \in F))].~ \] 在 \( F[A] \) 的定义中不要求 \( A \subseteq \mathrm{Dom}(F) \),从而得到一个更强的替代公理,这在下面的证明中将会用到。
定理(NBG 的分离公理)——如果 \( a \) 是一个集合,且 \( B \) 是 \( a \) 的一个子类,那么 \( B \) 也是一个集合。
证明
类存在定理构造了对 \( B \) 的恒等函数限制: \(I \upharpoonright B = \{(x_1, x_2) : x_1 \in B \land x_2 = x_1\}. \) 由于 \( a \) 在 \( I \upharpoonright B \) 下的像是 \( B \),替代公理意味着 \( B \) 是一个集合。这个证明依赖于图像定义中不要求 \( a \subseteq Dom(F) \),因为 \( Dom(I \upharpoonright B) = B \subseteq a \),而不是 \( a \subseteq Dom(I \upharpoonright B) \)。
联合公理.如果 \( a \) 是一个集合,则存在一个集合包含 \( \cup a \)。 \[ \forall a \, \exists b \, \forall x \, \left[ \exists y (x \in y \land y \in a) \implies x \in b \right].~ \] 幂集公理.如果 \( a \) 是一个集合,则存在一个集合包含 \( \mathcal{P}(a) \)。 \[ \forall a \, \exists b \, \forall x \, (x \subseteq a \implies x \in b)^\text{[k]}.~ \] 定理——如果 \( a \) 是一个集合,则 \( \cup a \) 和 \( \mathcal{P}(a) \) 是集合。
证明
联合公理指出 \( \cup a \) 是集合 \( b \) 的一个子集,因此分离公理意味着 \( \cup a \) 是一个集合。同样,幂集公理指出 \( \mathcal{P}(a) \) 是集合 \( b \) 的一个子集,因此分离公理意味着 \( \mathcal{P}(a) \) 是一个集合。
无限公理——存在一个非空集合 \( a \),使得对于集合 \( a \) 中的每个元素 \( x \),都存在一个 \( y \) 在 \( a \) 中,并且 \( x \) 是 \( y \) 的真子集。 \[ \exists a \left[ \exists u (u \in a) \land \forall x (x \in a \implies \exists y (y \in a \land x \subset y)) \right]~ \] 无限公理和替代公理证明了空集合的存在。在类存在公理的讨论中,我们已经证明了空类 \( \emptyset \) 的存在。现在我们证明 \( \emptyset \) 是一个集合。设函数 \( F = \emptyset \),并且让 \( a \) 为由无限公理给出的集合。通过替代,\( a \) 在 \( F \) 下的像,等于 \( \emptyset \),是一个集合。
NBG 的无限公理是由 ZFC 的无限公理蕴含的: \[ \exists a [ \emptyset \in a \land \forall x (x \in a \implies x \cup \{x\} \in a) ]~ \] ZFC 公理的第一个部分 \( \emptyset \in a \) 蕴含了 NBG 公理的第一个部分。ZFC 公理的第二个部分 \( \forall x (x \in a \implies x \cup \{x\} \in a) \) 蕴含了 NBG 公理的第二个部分,因为 \( x \subset x \cup \{x\} \)。从 NBG 的无限公理推导出 ZFC 的无限公理需要其他一些 NBG 公理(见弱无限公理)\(^\text{[l]}\)。
类的概念使得 NBG 拥有比 ZFC 更强的选择公理。选择函数是定义在非空集合 \( s \) 上的一个函数 \( f \),使得对于每个 \( x \in s \),都有 \( f(x) \in x \)。ZFC 的选择公理声明,存在一个选择函数适用于每个非空集合的集合。全球选择函数是定义在所有非空集合类上的函数 \( G \),使得对于每个非空集合 \( x \),都有 \( G(x) \in x \)。全球选择公理声明,存在一个全球选择函数。这个公理蕴含了 ZFC 的选择公理,因为对于每个非空集合的集合 \( s \),\( G|_s \)(即 \( G \) 在 \( s \) 上的限制)是 \( s \) 的一个选择函数。1964 年,William B. Easton 证明了全球选择比选择公理更强,他使用强迫法构造了一个模型,满足选择公理和 NBG 的所有公理,除了全球选择公理。全球选择公理等价于每个类都有一个良序,而 ZFC 的选择公理等价于每个集合都有一个良序。
全球选择公理:存在一个函数,它从每个非空集合中选择一个元素。 \[ \exists G\,[G \text{ 是一个函数} \land \forall x (x \neq \emptyset \implies \exists y (y \in x \land (x,y) \in G))]~ \]
冯·诺依曼在 1925 年发表了一篇关于他公理系统的入门文章,并在 1928 年提供了该系统的详细阐述。\(^\text{[39]}\) 他基于两个原始对象领域建立了他的公理系统:函数和参数。这些领域是重叠的——既属于这两个领域的对象被称为参数-函数。函数对应于 NBG 中的类,参数-函数对应于集合。冯·诺依曼的原始操作是函数应用,表示为 \([a, x]\),而不是 \(a(x)\),其中 \(a\) 是一个函数,\(x\) 是一个参数。这个操作生成一个参数。冯·诺依曼使用只取两个值 A 和 B 的函数和参数-函数来定义类和集合。他定义 \(x \in a\) 当且仅当 \([a, x] \ne A\) 时。[1]
冯·诺依曼在集合论方面的工作受到了乔治·康托尔的文章、恩斯特·策梅洛 1908 年关于集合论的公理以及 1922 年由亚伯拉罕·弗兰克尔和托拉尔夫·斯科伦独立提出的对策梅洛集合论的批评的影响。弗兰克尔和斯科伦都指出,策梅洛的公理无法证明集合{\(Z_0,Z_1,Z_2,\cdots\)}的存在,其中 \(Z_0\) 是自然数集合,\(Z_{n+1}\) 是 \(Z_n\) 的幂集。然后他们引入了替换公理,这将保证此类集合的存在。\(^\text{[40][n]}\) 然而,他们不愿意采纳这个公理:弗兰克尔表示 “替换对于‘一般集合论’来说是一个过强的公理”,而 “斯科伦仅仅写道‘我们可以引入’替换公理”。\(^\text{[42]}\)
冯·诺依曼在策梅洛集合论的问题上做了很多工作,并为其中一些问题提供了解决方案:
1929 年,冯·诺依曼发表了一篇文章,介绍了后来形成 NBG 公理系统的公理。该文章的动机是他对 “大小限制公理” 一致性的担忧。他指出,这个公理 “做了很多,实际上做得太多了”。除了暗示分离公理、替换公理和良序定理外,它还意味着任何类的基数小于 \(V\) 的类都是集合。冯·诺依曼认为,最后这一推论超出了康托尔的集合论范围,并得出结论:“因此,我们必须讨论它(该公理)的逻辑一致性,是否比一个不超出必要康托尔框架的集合论公理化更具问题性。”\(^\text{[57]}\)
冯·诺依曼通过引入他 1929 年的公理系统开始了他的逻辑一致性研究,该公理系统包含了他 1925 年公理系统中的所有公理,除了大小限制公理。他用该公理的两个后果来替代它,即替换公理和选择公理。冯·诺依曼的选择公理声明:“每个关系 \(R\) 都有一个子类,它是一个与 \(R\) 具有相同域的函数。”\(^\text{[58]}\)
设 \( S \) 为冯·诺依曼的 1929 年公理系统。冯·诺依曼引入了公理系统 \( S + \) Regularity(该系统由 \( S \) 和正则性公理组成),以证明他的 1925 年公理系统在相对于 \( S \) 时是一致的。他证明了:
这些结果意味着:如果 \( S \) 是一致的,那么冯·诺依曼的 1925 年公理系统在相对于 \( S \) 时是一致的。证明:如果 \( S \) 是一致的,那么 \( S + \) Regularity 是一致的(结果 1)。通过反证法,假设 1925 年公理系统是不一致的,或者等价地:1925 年公理系统推导出一个矛盾。由于 \( S + \) Regularity 推导出 1925 年公理系统的公理(结果 2),因此 \( S + \) Regularity 也推导出一个矛盾。然而,这与 \( S + \) Regularity 的一致性相矛盾。因此,如果 \( S \) 是一致的,那么冯·诺依曼的 1925 年公理系统是一致的。
由于 \( S \) 是他的 1929 年公理系统,冯·诺依曼的 1925 年公理系统在相对于他的 1929 年公理系统时是一致的,而该系统更接近坎托尔集合论。坎托尔集合论与 1929 年公理系统之间的主要区别在于类和冯·诺依曼的选择公理。公理系统 \( S + \) Regularity 被伯纳伊斯和哥德尔修改,产生了等价的 NBG 公理系统。
.
1929 年,保罗·伯奈斯开始通过将类和集合作为原始概念来修改冯·诺依曼的新公理体系。他的研究成果以一系列文章的形式于 1937 年到 1954 年间发布。\(^\text{[59]}\) 伯奈斯表示:
“修改冯·诺依曼体系的目的是尽量保持与原始泽尔梅洛体系的结构接近,同时利用一些已经为逻辑学家所熟悉的施罗德逻辑和《数学原理》中的集合论概念。正如所看到的,这种安排带来了相当的简化。”\(^\text{[60]}\)
伯奈斯在一个二分类逻辑中处理集合和类,并引入了两个成员关系原始概念:一个用于集合中的成员关系,一个用于类中的成员关系。通过这些原始概念,他重写并简化了冯·诺依曼 1929 年的公理。伯奈斯还在他的公理体系中加入了正则性公理。\(^\text{[61]}\)
1931 年,伯奈斯将他的集合论内容写信发送给了库尔特·哥德尔。\(^\text{[36]}\) 哥德尔通过将每个集合都视为一个类来简化了伯奈斯的理论,这使他能够只使用一种类型和一种成员关系原语。他还削弱了伯奈斯的一些公理,并用等价的全局选择公理替代了冯·诺伊曼的选择公理。\(^\text{[62][v]}\) 哥德尔在他 1940 年关于全局选择和广义连续统假设相对一致性的专著中使用了这些公理。\(^\text{[63]}\)
有几种原因被提出解释哥德尔选择 NBG 作为他专著的基础:\(^\text{[w]}\)
哥德尔的成就以及他展示的细节使得 NBG 在接下来的二十年里获得了显著的地位。\(^\text{[70]}\) 1963 年,保罗·科恩在哥德尔为 NBG 相对一致性证明所开发的工具的帮助下,证明了 ZF 的独立性证明。\(^\text{[71]}\) 后来,ZFC 变得比 NBG 更受欢迎。这一变化由多个因素引起,包括在 NBG 中处理强迫法所需的额外工作,\(^\text{[72]}\) 科恩 1966 年使用 ZF 的强迫法介绍,\(^\text{[73][y]}\) 以及证明 NBG 是 ZFC 的保守扩展。\(^\text{[z]}\)
NBG 在逻辑上并不等价于 ZFC,因为它的语言表达能力更强:它可以对类进行陈述,而 ZFC 无法做到这一点。然而,NBG 和 ZFC 对集合的陈述是等价的。因此,NBG 是 ZFC 的一个保守扩展。NBG 能够推导出 ZFC 无法推导的定理,但由于 NBG 是保守扩展,这些定理必然涉及到适当类。例如,NBG 的一个定理是,选择公理全球化意味着适当类 V 可以被良序化,并且每个适当类都可以与 V 建立一一对应关系。
保守扩展的一个后果是 ZFC 和 NBG 是等一致的。证明这一点使用了爆炸原理:从矛盾中可以推导出一切。假设 ZFC 或 NBG 不一致。那么,不一致的理论会推导出矛盾的陈述 \(\varnothing = \varnothing\) 和 \(\varnothing \ne \varnothing\),这些是关于集合的陈述。根据保守扩展性质,另一理论也会推导出这些陈述。因此,它也不一致。因此,尽管 NBG 表达能力更强,但它与 ZFC 是等一致的。这个结果与冯·诺依曼 1929 年相对一致性证明一起,意味着他 1925 年的公理系统与大小限制公理与 ZFC 是等一致的。这完全解决了冯·诺依曼对这一强大公理相对一致性的担忧,因为 ZFC 是在坎托尔框架内的。
即使 NBG 是 ZFC 的保守扩展,某些定理在 NBG 中可能比在 ZFC 中有更简洁和优雅的证明(或反之亦然)。有关这类已知结果的综述,请参见 Pudlák 1998。
Morse-Kelley 集合论有一个类理解的公理框架,包括量词范围覆盖类的公式。MK 是比 NBG 更强的理论,因为 MK 证明了 NBG 的一致性,\(^\text{[76]}\) 而 Gödel 的第二不完全性定理意味着 NBG 无法证明其自身的一致性。
有关 NBG 所提出的一些本体论和其他哲学问题的讨论,特别是与 ZFC 和 MK 对比时,请参见 Potter 2004 的附录 C。
ZFC、NBG 和 MK 都有可以用累积层次 \(V_\alpha\) 和构造层次 \(L_\alpha\) 来描述的模型。设 \(V\) 包含一个不可达基数 \(k\),设 \(X \subseteq V_k\),并且设 Def\((X)\) 表示 \(X\) 的所有可通过一阶定义的子集类,带有参数。符号中,"\((X, \in)\)"表示域为 \(X\)、关系为 \(\in\) 的模型,"\(\models\)"表示满足关系: \[ \text{Def}(X) := \left\{ \left\{ x \mid x \in X \text{ and } (X, \in) \models \varphi(x, y_1, \ldots, y_n) \right\} : \varphi \text{ 是一阶公式且 } y_1, \ldots, y_n \in X \right\}.~ \] 然后:
NBG 的本体论为讨论 “巨大对象” 提供了支撑,而不会引发悖论。例如,在某些范畴理论的发展中,“大范畴” 被定义为其对象和态射构成一个适当类。另一方面,“小范畴” 是指其对象和态射是集合的成员。因此,我们可以讨论 “所有集合的范畴” 或 “所有小范畴的范畴”,而不会引发悖论,因为 NBG 支持大范畴。
然而,NBG 不支持 “所有范畴的范畴”,因为大范畴将是它的成员,而 NBG 不允许适当类成为任何东西的成员。一个能够正式讨论这种 “范畴” 的本体扩展是 “集群”,即类的集合。那么,“所有范畴的范畴” 通过其对象来定义:所有范畴的集群;通过其态射来定义:所有从 A 到 B 的态射的集群,其中 A 和 B 是对象。\(^\text{[83]}\) 关于包含类和集合的本体论是否适合范畴理论,请参见 Muller 2001。
a.全球选择公理解释了为什么它被证明更强。
b.历史发展的表明,双排序方法起初似乎更为自然。在介绍他的理论时,Bernays 说:“根据冯·诺依曼集合论的主导思想,我们必须处理两种类型的个体,我们可以将它们区分为集合和类。”[11]
c.Gödel 定义了 \((x_1, x_2, \dots, x_n) = (x_1, (x_2, \dots, x_n))\)[15] 这影响了他的一些定义、公理和定理的陈述。本文采用 Mendelson 的定义。[16]
d.Bernays 的类存在公理指定了唯一的类。Gödel 通过将双条件替换为蕴涵,弱化了除三个公理(交集、公补、域)之外的所有 Bernays 公理,这意味着它们仅指定类的有序对或三元组。除了 Bernays 更强的由 V 定义的乘积公理外,本节中的公理是 Gödel 的,后者指定了唯一的有序对类。Bernays 的公理简化了类存在定理的证明。Gödel 的公理 B6 出现为元组引理的第四个陈述。Bernays 后来意识到他的一个公理是冗余的,这意味着 Gödel 的一个公理也是冗余的。使用其他公理,可以从公理 B8 推导出公理 B6,并且 B8 可以从 B6 推导出来,因此任何一个公理都可以被视为冗余公理。[17] 元组处理公理的名称来自法文维基百科文章:Théorie des ensembles de von Neumann。
e.本文使用了 Bourbaki 的补集符号 \(\complement A\) 和相对补集符号 \(\complement_X A = \complement A \cap X\) [22]。这种前缀相对补集符号被类存在定理使用,以镜像前缀逻辑非符号 (\(\neg\))。
f.由于 Gödel 在证明空类的存在之前就陈述了这个公理,他在陈述时并没有使用空类。[5]
g.本节和下一节的证明来自 Gödel 的证明,他在高级研究所提供了这些证明,在那里他 “可以指望听众对数学逻辑有很好的了解”[28]。为了让 Wikipedia 的读者更容易理解 Gödel 的证明,做了一些修改。本节和下一节的目标是证明 Gödel 的 M4,即他的第四个类存在定理。本节中的证明大多遵循 M1 的证明[29],但也使用了 M3 和 M4 证明中的一些技巧。该定理使用类变量而不是 M1 中针对特殊类的符号(对类变量的全称量化等价于对类变量的任何实例化都成立)。与 M1 证明的主要区别在于:在基础步骤和归纳步骤的末尾生成了唯一的 \(n\)-元组类(这需要 Bernays 更强的由 \(V\) 定义的乘积公理),并且绑定变量被替换为下标变量,这些变量继续编号自由集合变量。由于绑定变量在归纳的部分过程中是自由的,这保证了它们在自由时与原始自由变量被同等对待。这个证明的一个好处是它的函数 Class 的示例输出,展示了一个类的构造过程与其定义公式的构造过程是相似的。
h.这个证明中有一个细节被省略了。使用了 Gödel 的约定,因此 \(\exists x \, \phi(x)\) 被定义为:\(\exists x [\exists C (x \in C) \land \phi(x)]\).由于这个公式是对类的量化,它必须被替换为等价的形式:\(\exists x [x \in V \land \phi(x)]\).然后,证明中形式为 \(\exists x_{n+1} [x_{n+1} \land \dots]\) 的三个公式变为:\(\exists x_{n+1} [x_{n+1} \in V \land \dots]\),这产生了有效的证明。
i.在纯数学中,伪代码编写的递归计算机程序已经在其他地方使用。例如,它们已被用来证明 Heine-Borel 定理和其他分析学定理。[31]
j.这个定理是 Gödel 的定理 M4。他通过首先证明 M1,一个类存在定理来证明它,M1 使用的是特殊类的符号,而不是自由类变量。M1 产生了一个类,包含所有满足 \(\phi\) 的 \(n\)-元组,但它可能包含不是 \(n\)-元组的元素。定理 M2 将此定理扩展到包含关系、特殊类和操作的公式。定理 M3 是通过用自由变量替换特殊类的符号从 M2 得到的。Gödel 使用 M3 来定义
\[
A \times B = \{ x : \exists y \exists z [ x = (y, z) \land y \in A \land z \in B ] \},~
\]
它是通过外延性定义唯一的。他用 \(A \times B\) 来定义 \(V^n\)。定理 M4 是通过将 M3 产生的类与 \(V^n\) 交集,得到满足给定公式的唯一 \(n\)-元组类来从 M3 得到的。Gödel 的方法,特别是他用 M3 定义 \(A \times B\),消除了需要 Bernays 的更强形式的由 \(V\) 定义的乘积公理。[33]
k.Gödel 弱化了 Bernays 的并集和幂集公理,这些公理声明了这些集合的存在,变成了上述公理,这些公理声明存在一个包含并集的集合和一个包含幂集的集合。[35] Bernays 在 Gödel 之后发表了他的公理,但他在 1931 年已将它们发送给了 Gödel。[36]
l.由于 ZFC 的公理要求空集的存在,NBG 公理的一个优势是无需空集公理。Mendelson 的公理系统使用了 ZFC 的无限公理,并且也有空集公理。[37]
m.关于 \(V\) 拥有良序化从而意味着全球选择的讨论,见《大小限制公理的含义》。关于全球选择意味着任何类的良序化,见 Kanamori 2009,第 53 页。
n.在 1917 年,Dmitry Mirimanoff 发表了基于基数等价的替代公理形式。[41]
o.在 1928 年,冯·诺依曼表示:“与我处理序数的方式密切相关的处理方法在 1916 年就为 Zermelo 所知,我后来从一封私人信件中得知这一点。然而,基本定理,即每个良序集合都有一个类似的序数,无法严格证明,因为替代公理当时还未知。”[43]
p.冯·诺依曼 1923。冯·诺依曼的定义也使用了良序集合的理论。后来,他的定义被简化为现在的定义:序数是一个通过 \(\in\) 良序的传递集合。[44]
q,在引入累积层次后,冯·诺依曼能够证明 Zermelo 的公理无法证明序数 \(\alpha \geq \omega + \omega\) 的存在,这些序数包括不可数的许多遗传可数集合。这可以从 Skolem 的结果得出,即 \(V_{\omega + \omega}\) 满足 Zermelo 的公理[46],以及 \(\alpha \in V_{\beta}\) 暗示 \(\alpha < \beta\)[47]。
r.冯·诺依曼以等价的函数形式陈述了他的公理。[49]
s.Skolem 的方法隐含地涉及自然数,因为公理框架的公式是通过结构递归构建的,而结构递归是对自然数上的数学递归的广义化。
t.Mirimanoff 在 1917 年定义了良基集合。[53]
u.Akihiro Kanamori 指出,Bernays 在 1929-1930 年期间讲授了他的公理系统,并表示 “……他和 Zermelo 必定几乎同时产生了将基础(规律性)纳入公理系统的想法。”[55] 然而,Bernays 直到 1941 年才发表了包含规律性的公理系统部分。[56]
v.证明冯·诺依曼公理意味着全球选择:设 \(R = \{(x, y): x \neq \emptyset \land y \in x\}\).冯·诺依曼公理意味着存在一个函数 \(G \subseteq R\),使得 \(\text{Dom}(G) = \text{Dom}(R)\).函数 \(G\) 是一个全球选择函数,因为对于所有非空集合 \(x\),有 \(G(x) \in x\).证明全球选择意味着冯·诺依曼公理:设 \(G\) 是一个全球选择函数,设 \(R\) 是一个关系。对于 \(x \in \text{Dom}(R)\),定义 \(\alpha(x) = \text{least} \{\alpha : \exists y [(x, y) \in R \cap V_\alpha]\}\),其中 \(V_\alpha\) 是所有等级小于 \(\alpha\) 的集合。设 \(z_x = \{ y : (x, y) \in R \cap V_{\alpha(x)} \}\).然后,\(F = \{ (x, G(z_x)) : x \in \text{Dom}(R) \}\) 是一个满足冯·诺依曼公理的函数,因为 \(F \subseteq R\) 且 \(\text{Dom}(F) = \text{Dom}(R)\).
w.Gödel 在 1938 年宣布他的相对一致性定理时使用了冯·诺依曼 1929 年的公理,并表示:“如果 \(T\) 表示 *Principia Mathematica* 系统,则相应的定理成立。”[64] 他在 1939 年的证明概要是针对 Zermelo 集合论和 ZF 的。[65] 对于 Gödel 来说,在多个形式系统中证明定理并不罕见。例如,他证明了他的不完备性定理针对 *Principia Mathematica* 系统,但指出该定理 “适用于广泛的形式系统...”[66]
x.Gödel 的一致性证明构造了可构造宇宙。在 ZF 中构建这个宇宙需要一些模型理论。Gödel 在 NBG 中构建它时则不需要模型理论。有关 Gödel 构造的详细内容,参见 Gödel 1940 年,第 35–46 页或 Cohen 1966 年,第 99–103 页。
y.Cohen 还使用 ZF 给出了 Gödel 相对一致性定理的详细证明。[74]
z.在 1960 年代,这个保守扩展定理由 Paul Cohen、Saul Kripke 和 Robert Solovay 独立证明。在 1966 年的书中,Cohen 提到了这个定理,并表示其证明需要使用强制法。Ronald Jensen 和 Ulrich Felgner 也独立证明了这个定理,Felgner 于 1971 年发布了他的证明。[75]
aa.这两个结论都可以从以下结论推导出:每个适当类可以与所有序数的类建立一一对应关系。该证明的概要见 Kanamori 2009,第 53 页。
ab.Easton 构建了一个 Mendelson 版本的 NBG 模型,在这个模型中 ZFC 的选择公理成立,但全球选择失败。
ac.在累积层次 \(V_\kappa\) 中,\(V_\kappa\) 的子集在 \(V_{\kappa+1}\) 中。构造层次 \(L_\kappa\) 产生子集的速度较慢,这就是为什么 \(L_\kappa\) 的子集在 \(L_{\kappa+}\) 中而不是 \(L_{\kappa+1}\) 中的原因。[80]
 
 
 
 
 
 
 
 
 
 
 
友情链接: 超理论坛 | ©小时科技 保留一切权利