闭包 (数学)

数学中,若对某个集合的成员进行一種运算,生成的仍然是这个集合的成员,则该集合被称为在這个运算下闭合。 例如,实数减法下闭合,但自然数不行:自然数 3 和 7 的减法 3 − 7 的结果不是自然数。

类似的,一个集合被称为在某些运算的搜集下闭合,如果它在每个运算之下都闭合。

一个集合在某个运算或某些运算的搜集下闭合被称为满足闭包性质。闭包性质经常作为公理,通常叫做闭包公理。现代集合论通常这样定义:运算为在集合间的映射。所以向一个结构增加闭包性質作为公理是多余的,尽管它对于子集是否闭合的问题仍有意义。

当一个集合 S 在某个运算下不闭合的时候,我们通常可以找到包含 S 的最小的闭合集合。这个最小闭合集合被称为 S 的(关于这个运算的)闭包。例如,若把自然数集看作实数集的子集,它在减法下的闭包就是整数集。一个重要的例子是拓扑闭包。闭包的概念推广为伽罗瓦连接,进一步为單子。 注意集合 S 必须是闭合集合的子集,這樣才能定义闭包算子。在前面的例子中,实数在减法下闭合是重要的,减法不总是在自然数的定义域中有定义的。

闭包这个词的两种用法不应混淆。前者用来提及闭合的性质,而后者提及包含不闭合集合的最小闭合集合。简要的说,一个集合的闭包满足闭包性质。

闭包集合

如果对一个集合的成员进行某种运算时,返回值總是这个集合的成员,那么称这个集合在这种运算下闭合。有时會明確要求运算的返回值位於某个集合中,在这种情况下它叫做闭包公理。例如,例如,被定义为满足一些公理的带有一个二元運算的一个集合,包括了群的任何两个元素的結合再次是一个元素的公理。但是现代的运算定义使这个公理多余了,在 S 上 n 元算子只是 Sn+1 的子集。通过这种定义,在一个集合上的算子不能有在这个集合之外的值。

雖然如此,算子的闭包性质仍有某些用处。在一个集合上闭合不必然蕴涵在所有子集上闭合。所以群的子群被定義為在其上二元乘法和一元运算满足闭包公理的子集。

一类不同的运算是找到拓扑空间的子集的极限点(如果这个空间是第一可数空间,只考虑收敛序列就足夠了,但一般而言至少要考虑的极限)。拓扑学中通常稱在这个运算下闭合的集合为闭集。如果没有其他說明的話,一般而言閉集就是指閉合的性質。闭区间如 [1,2] = {x: 1 ≤ x ≤ 2} 就是在这种意义上闭合。

偏序集合是向下闭合的(也叫做下闭集合),如果对于这个集合的所有元素,所有更小的元素也都在其中;这适用于实数区间 (-∞, p) 和 (-∞, p] 的例子。

向上闭合上闭集合也类似的定义。

闭包算子

给定在集合 X 上的一个算子,可以對 X 中的一个子集 S 定义闭包 C(S),C(S)是在 X 中包含S 且在运算下閉合的最小子集。例如,群的子集的闭包是这个集合所生成的子群。

关于某个运算的集合的闭包定义了在 X 的子集上的 闭包算子。闭合集合可以确定自闭包算子;一个集合是闭合的如果它等于自己的闭包。所有闭包算子都有以下的典型结构性特征:

  • 闭包是递增的或扩大的: 一个对象的闭包包含这个对象。
  • 闭包是幂等的: 闭包的闭包等于闭包。
  • 闭包是单调的,就是说,如果 X 包含在 Y 中,则 C(X) 也包含在 C(Y)。

若一对象等同於自身的閉包,就稱之為闭合。根據幂等性,一个对象是闭合的,当且仅当它是某个对象的闭包。

这三个性质定义了所謂抽象闭包算子。一般的,一个抽象闭包作用于一個集合的所有子集的类上。