到目前为止,我们唯一证明存在的集合是∅。我们希望继续构建更多集合,例如{∅}、{{∅}}、{∅, {∅}}等等,并定义重要的集合运算,例如并集和交集。非正式地说,要做到这一点,可以使用以下公式:
空集可以使用以下公式来匹配这种模式:
更一般地说,给定谓词P(x),我们希望使用以下公式:
表示包含P(x) 为真的所有x 的集合。然而,正如历史部分所见,随意使用任何谓词会导致悖论。因此,每次使用该公式时,都必须有一个定理说明存在这样的集合,以及一个定理说明这样的集合是唯一的。我们需要一些机制来简化这个过程。
虽然在 Zermelo-Fraenkel 集合论中没有正式定义类的概念,但非正式定义它仍然很有价值,因为它是一个有用的概念。具体来说,如果P(x) 是一个谓词,则定义类P 为:
在逻辑上,类只是一个谓词,其中是的简写。我们非正式地将类视为满足其定义公式的所有集合的集合。
关于集合的大部分内容也适用于类,只要记住存在限制。一方面,类只能出现在∈符号的右侧。此外,由于类不是我们话语宇宙中的对象,因此它们不能在量词中使用。最后,=符号仅在集合之间定义。我们可以对类进行类似的定义
- P=Q 当且仅当对于所有x,P(x) 与Q(x) 相同
但请记住,替换公理不适用于这种类型的相等性。
示例:如果Q(x) 表示谓词
- 非
那么Q 就是导致罗素悖论问题的“集合”。悖论得以避免,因为语句Q∈Q(它将Q 放在∈符号的左侧)甚至不能合法地形成。
如果a 是一个固定的集合,那么我们可以定义谓词A(x) 为:
那么类A 和集合a 具有相同的元素,换句话说:
从某种意义上说,你可以说A=a,但我们在这里踏入了不稳定的领域,因为A 和a 是不同类型;a 是一个集合,而A 技术上仍然是一个谓词。
与你可能的想法相反,这与 20 世纪初的苏联农业无关。谓词 被称为 **集体化**,当
- 对于某些 ,对所有 , 当且仅当 。
(这是一个二阶谓词的例子,这意味着一个谓词应用于谓词而不是对象。这种东西在我们目前使用的逻辑中不存在,但你可以将其视为对上面短语的简写。)用不太正式的语言, 是集体化,当存在一个集合 ,其元素是 ,对于这些 为真。
例如,谓词
- 对于所有 ,不
是集体化的,因为它适用于 ∅。另一方面
- 不
不能是集体化的,因为它会导致本章引言中讨论的罗素悖论。
为了了解它如何有用,定义谓词 ,表示
- 对于所有 , 当且仅当 。
然后 是集体化,与 的存在性质相同。此外,如果我们有唯一性属性,那么
- 对于 ,
是定义明确的。为了证明唯一性属性,我们需要
- 对于所有 ,, 和 意味着 。
展开来说,就是
- 定理 SO1:对于所有 ,,如果对于所有 , 当且仅当 ,并且对于所有 , 当且仅当 ,那么 。
这看起来可能很复杂,但证明它并不难。我们将开始一个提纲,并将细节留给读者。
Choose arbitrary and , we must now prove that if for all , iff and for all , iff , then . Assume for all , iff and for all , iff . So the new goal is to prove . Axiom S4 says we can do this by showing and . To prove we need to prove that for all x, implies . But for arbitrary we have iff and iff so implies by Prop. 9 in the Logical equivalence section.
我们现在可以做出以下定义
- 定义 SO2:如果 是集合化的,则定义
- 作为集合,其中
- 对于所有 , 当且仅当 。
由此产生的集合被称为通过理解定义的。在接下来的几个部分中,我们将遵循相同的计划;陈述一个公理或证明一个定理,使某个谓词成为集合化的,然后为相应的集合定义符号。
如果 不是集合化的,正如我们一直强调的那样,那么严格来说
是未定义的。但是,将它视为一个类似集合的对象很有用,称为类。
为了从单元素集和对集得到三元组,我们将使用一种更通用的方法来组合集合。通常情况下,从定义两个集合的并集开始,但这实际上是一个更基本操作的特殊情况,即在一个集合上的并集。
- 公理 SO3(并集公理): 对于所有 ,谓词
- 存在 ,使得 且
- 是集合化的。
非正式地说,这意味着,给定 ,存在一个集合 ,使得 当且仅当 是 中某个元素的元素。
这允许我们做出如下定义
- 定义 SO7:
表达式 读作 "关于 的并集"。
以下证明留作练习
- 定理 SO8: 对于所有 ,, 蕴含
- 定理 SO9: 对于所有 ,,,
非正式地说,包含的每个元素作为一个子集,并且是最小的这样的集合。
要得到两个集合的通常并集,将此并集与一对结合起来
- 定义 SO10:
然后我们可以证明通常的定义作为一个定理
- 定理 SO11: 对于所有 ,,
像往常一样,证明留作练习。
现在可以定义三元组、四元组等,以满足需要尽可能多的元素
- 定义 SO12:
- 定义 SO13:
等等。
以下证明留作练习
- 定理 SO14:
- 定理 SO15: 对于所有 ,
- 定理 SO16: 对于所有 ,,
- 定理 SO17: 对于所有 ,,,
这里, 是 和 的简写。
在讨论交集之前,我们需要另外一个公理来保证交集的存在。这是一个受限的理解公理,它认为任何谓词都能定义一个集合。这也是它被称为“受限理解公理”的原因。不受限,且不正确的版本,使用类的语言,认为任何类都是一个集合。受限版本,实际上说的是,任何集合的子类都是一个集合。更正式地说,对于谓词 和 ,如果对所有 蕴含 并且 是可收集的,那么 也是可收集的。更正式地说
- 公理 SO18(分离):对于所有 ,如果对所有 x, 蕴含 那么 是可收集的。
如果 是一个谓词,那么定义为 和 的 具有必要的性质,因此我们可以定义
对没有限制。任何谓词都可以在这里使用,这使得公理非常强大,但并非强大到足以导致矛盾(至少在目前为止没有人知道)。
尝试使用此公理来重现罗素悖论可能会有所帮助;由于避免矛盾的想法,这种尝试很可能失败。令为一个集合,并定义
现在假设。那么不满足不属于自身的条件,因此不属于自身,导致矛盾。另一方面,假设不属于自身。那么,或不属于自身中至少有一个必须为假。第二个可能性根据假设为真,因此为假。但这远非矛盾,这次没有悖论。
交集类似于并集,只是将“存在”替换为“对所有”。我们按照与并集相同的计划定义交集。然而,在这种情况下,我们可以使用分离公理来证明一个定理,该定理取代了并集公理。
- 定理 SO19(交集的存在性):对所有不等于∅,谓词
- 对所有,蕴含
- 是集合化的。
不太正式地说,这意味着,给定,存在一个集合,使得当且仅当是中每个元素的元素。在证明中将需要假设不等于∅。
- 证明(概述):令 为谓词
- 对于所有 , 意味着 。
- 从非 ,上一页的定理 S8 指出存在某个 。选择一个,比如 。现在可以证明 意味着 ,因此根据分离公理, 是集合化的。
这使我们能够在 不是 ∅ 时进行定义
- 定义 SO20:
表达式 读作“关于 的交集”。 未定义。
为了得到两个集合的通常交集,将这个交集与一对集合结合起来
- 定义 SO21:
然后我们可以证明通常的定义作为一个定理
- 定理 SO22: 对于所有 , ,
证明留作练习。
- 定义 SO23: 当 时, 和 是不相交的。一个集合 (通常被视为其他集合的集合)是成对不相交的,如果对于所有 , , 且 意味着 或 和 是不相交的。
换句话说,当 和 没有共同元素时,它们是不相交的,而 是成对不相交的,如果任何两个不同的元素都是不相交的。