数理逻辑
上QQ阅读APP看书,第一时间看更新

1 集合(不)是什么?

集合是数学和哲学的最重要的概念之一,集合论试图对集合概念做某种刻画,但严格来讲,我们迄今为止对这个概念还没有一个标准的共识,或许我们对它的一些深层性质理解得仍然不够清晰;然而,在基本的层面上,通行的集合论可以说已经对它做出了相对充分的描述。下面我们尝试按集合论创始人康托尔(Georg Cantor)的定义来介绍集合的一些基本性质。他说:

我们把一个“集合”理解为任意这样一个聚合M,它将我们的直观或思想的确定的、有明确分别的一些对象m(称为M的“元素”)聚为一个整体。

比如,把韩非和亚里士多德这两个“我们的直观或思想的确定的、有明确分别的对象”放在一起,就得到一个集合,我们把它记为{韩非,亚里士多德}。同理,我们有集合{1,2,3},甚至{1,亚里士多德}等等。有序对也是我们的“思想的对象”,所以,我们可以构造集合{〈1,2〉,3},{〈1,2〉,〈2,1〉},等等。这样的集合记法,是通过枚举其中的元素得到的。

x是集合A的元素,记为x∈A。比如,韩非∈{韩非,亚里士多德};〈1,2〉∈{〈1,2〉,〈2,1〉},等等。

特别而言,单独一个对象,也可以聚为一个集合,如{韩非}、{〈1,2〉}。注意,{韩非}不是韩非,前者是只有一个元素的集合,后者是前者包含的元素。只有一个元素的集合,称为单元集。

如果一个集合的元素太多,无法一一枚举出来,那么我们可以采取明确其共同性质的抽象表达法来标记它。比如,我们可以把所有自然数的集合N表为{x|x是自然数}。按前面的理解,这即是说,集合N是概念“……是自然数”的外延。抽象法不限于表达那些大的集合,如{x|x是地球的自然卫星}就是单元集。一般而言,如果φ(x)表示一个性质,则我们就用{x|φ(x)}表示所有具有此性质的元素的聚合;换言之:

任给x,x∈{x|φ(x)}当且仅当x满足φ(即φ(x)成立)。

枚举法是抽象法的特例,如{1,亚里士多德}可以表达为{x|x=1或x=亚里士多德}(这里的“x=1或x=亚里士多德”是一个“复合”性质)。因此,直观上看来,对任意一个集合,我们似乎可以设计一个概念来表述它;而任意一个概念,也似乎决定一个集合。这与弗雷格的观念(集合是概念的外延)吻合。但是,这个简单观念蕴涵着复杂的问题,我们稍后讨论这里的问题。

有些性质,没有任何对象具有它们,如性质“x≠x”,显然没有东西不与自身等同。因此,集合{x|x≠x}不含任何元素。不含任何元素的集合称为空集。空集A因此是这样的集合:

对任意的x,都有x∉A。

康托尔要求集合的元素彼此之间“有明确的分别”,其含义之一大概是,我们应该忽略重复出现的元素以及元素出现的顺序,比如集合{a,a,b,c,c,c}和{b,a,c}都应等于{a,b,c}。就是说,

给定集合A与B,如果对任意x,x∈A当且仅当x∈B,则A=B。

这即是前面说的外延性原则,它给出了集合的同一性条件。

外延性原则保证了空集是唯一的,“唯一”的意思是说,如果A和B都是空集,则A=B。下面给出一个证明:

假设A和B是空集。由A是空集知,对任意的x,都有x∉A。此时有:如果x∈A,则x∈B(注意,这里的“如果……则……”是实质蕴涵)。同理,由B是空集得到,如果x∈B,则x∈A。所以,x∈A当且仅当x∈B。根据外延性原则,A=B。

一个证明就是一个推理。下面用一个树形图表示这个推理的结构,以帮助我们熟悉树形图表示方法:

alt

这棵树有两个叶,即两个前提(“A是空集”和“B是空集”)。由此出发,经过中间步骤,得到根(结论):A=B。各个结点的来龙去脉层次分明。

所以,任何空集都等于{x|x≠x}。这使得我们可以用一个专名∅来标记空集。

集合的相等关系,有两方面的蕴涵,减弱一方面,就得到子集概念。

1.1定义 集合A是集合B的子集,记为A⊆B,当且仅当对任意的x,如果x∈A,则x∈B。


例 {韩非,亚里士多德}⊆{x|x是人};

  {〈刘禅,刘备〉,〈曹植,曹操〉}⊆{〈x,y〉|x是y的儿子};

  {x|x是素数}⊈{x|x是奇数}。

我们现在不知道哥德巴赫猜想,即

  {x|x>2并且x是偶数}⊆{x|存在素数y和z,使得x=y+z}是否为真。


如果A⊆B且A≠B,则称A是B的真子集,记为A⊂B。

1.2 习题 证明:

1)对任意集合A和B,如果A⊆B,且B⊆A,则A=B。

2)对任意集合A,B和C,如果A⊆B,且B⊆C,则A⊆C。

3)对任意集合A,∅⊆A且A⊆A。(提示:子集定义中的“如果……则……”是实质蕴涵。)

4)对不同的个体a和b,

{a}∈{a,{a}},{a}⊆{a,{a}}。

{a}∉{b,{a,{a}}},{a}⊈{b,{a,{a}}}


康托尔所说的元素的“确定性”,一般认为是要求一个给定的对象和一个给定的集合之间,有确定的关系。这似乎规定了关于集合的确定性原则:

对任意的对象x和任意的集合A,x∈A或x∉A。

这是排中律在集合的属于关系上的应用。我们可能没有能行的方法判定,甚至根本不知道x∈A还是x∉A,但x∈A和x∉A必定有一个且只有一个成立。确定性原则要求在集合论里使用经典逻辑进行推理。如上例中提到的哥德巴赫猜想,按照确定性原则,这个命题或者为真,或者为假(直觉主义逻辑不承认这一点)。

关于一个集合的元素,康托尔要求它们是“直观的”或“思想的”对象。按后来的某种理解,直观的对象指个体,而思想的对象指集合。因此,一个集合也可以是另一个集合的元素,属于关系不仅是前面所说的个体(和个体序列)与集合之间的关系,也可以是集合之间的关系。正如有性质的性质,也有集合的集合。“勇敢是一种美德”这个命题是对“勇敢”——或“……是勇敢的”——这个性质的述说,表示这个性质有“……是一种美德”的性质。“……是勇敢的”是个体的性质(一阶性质),而“……是一种美德”则是个体的性质的性质(二阶性质)。相应地,令集合A={x|x是勇敢的},B={X|X是一种美德},则命题“勇敢是一种美德”就对应于A∈B。A是个体的集合,B是个体的集合的集合。当然,还有个体的性质的性质的性质等等;相应地,也有个体的集合的集合的集合等等。

在一个语言里,如果不仅允许量词使用在个体之上,而且允许它们使用在个体的性质和关系之上,则这个语言就不仅能谈论个体有什么性质(关系),而且能谈论个体的性质或关系有什么性质或关系。这称为二阶语言,研究其中推理的,称为二阶逻辑。二阶语言的论域里面不仅有个体,还有个体的集合。比如,上一章提到,一阶算术语言L2可用来描述N={x|x是自然数}这个论域。但二阶算术语言描述的论域里不但有自然数,还有自然数的集合,如{1,2,3},{2,3,5,14,2798},{x|x是偶数},等等——就是说,任意的N的子集。这些子集也构成一个集合,称为N的幂集。

1.3 定义 设A是集合,称集合{X|X⊆A}为A的幂集,记为alt(A)。


直观上说,一个集合的幂集就是这个集合的所有子集的集合。根据习题1.2-3,任何集合A的幂集都不是空集,它至少包含∅和A。


例 {a,b,c}的幂集是

  {{a,b,c},{a,b},{a,c},{b,c},{a},{b},{c},∅}。

由于∅⊆∅,且没有其他集合是空集的子集,所以alt(∅)={∅}(注意,单元集{∅}不等于空集∅)。

1.4 习题

1)列出{a,{b,c}}的幂集的所有元素。

2)设集合A有n(n是某个自然数)个元素。证明alt(A)有2n个元素。


给出一个集合,预设了它的元素已经先行确定。因此,给定任意两个集合,我们可以把它们的元素聚在一起,构成一个新的集合。同样,这两个集合共同的元素,既然已经确定,也可以构成一个集合。另外,在其中一个集合里,去掉两个集合共同的元素,剩下的那些元素还可以构成一个新集合。这三种形成新集合的运算分别称为并、交和差。

1.5 定义 给定集合A和B,

称集合{x|x∈A或x∈B}为A和B的并集,记为A∪B。

称集合{x|x∈A且x∈B}为A和B的交集,记为A∩B。

称集合{x|x∈A且x∉B}为A和B的差集,记为A-B。


例 {a,b,c,d}∪{c,d,e}={a,b,c,d,e};

  {a,b,c,d}∩{c,d,e}={c,d};

  {a,b,c,d}-{c,d,e}={a,b};

偶数集与奇数集的并集是自然数集,其交集是空集;

偶数集与自然数集的并是自然数集,其交是偶数集。

根据定义1.5,显然有


A∪∅=A;

A∩∅=∅;以及

A∪A=A∩A=A(幂等律)。


再考虑一个稍微复杂点的例子:


如果B⊆A且C⊆A,则B∪C⊆A。


证明:给定B⊆A且C⊆A。考虑任意的x,假设x∈B∪C。根据定义1.5,我们首先有如下推理:


x∈B或x∈C。(前提)

由x∈B推出x∈A(因为B⊆A);

由x∈C推出x∈A(因为C⊆A)。

总之(根据分情况证明规则),x∈A。(结论)


这一推理片段的结构,我们也用树形图表示一下:

alt

(注意:“x∈B”和“x∈C”虽然出现在前提的位置上,但并不是这段推理的最后结论的前提。它们只是临时引进的假设,目的是得到“由x∈B推出x∈A”和“由x∈C推出x∈A”这两个条件。这两个条件一旦得到,“x∈B”和“x∈C”就应该从原位置上抹去。所以,我们把它们用方括号标记出来,以区别于最后结论的真正前提:“x∈B或x∈C”,以及B⊆A和C⊆A。)

从上面这段推理,我们得到:

(在前提B⊆A和C⊆A之下)若(x∈B或x∈C),则x∈A。

再由x的任意性,得到最后的全称结论:

(在前提B⊆A和C⊆A之下)任给x,若x∈B∪C,则x∈A——即B∪C⊆A。


两个集合的并集和交集运算可以推广到任意多集合上。其元素都是集合的集合叫集合族。设A是一个集合族,

我们称集合{x|存在集合B∈A,使得x∈B}为A的并,记作∪A,它是A中所有元素的并;

称集合{x|对所有B∈A,都有x∈B}为A的交,记作∩A,它是A中所有元素的交。

1.6 习题

1)X,Y,Z是任意集合。证明集合运算∪和∩满足交换律、结合律和分配律:

i)X∪Y=Y∪X(交换律);

ii)X∩Y=Y∩X(交换律);

iii)X∪(Y∪Z)=(X∪Y)∪Z(结合律);

iv)X∩(Y∩Z)=(X∩Y)∩z(结合律);

v)X∩(Y∪Z)=(X∩Y)∪(X∩Z)(分配律);

vi)X∪(Y∩Z)=(X∪Y)∩(X∪Z)(分配律)。

2)证明(德摩根律):对任意集合X,Y和Z,

i)X-(Y∪Z)=(X-Y)∩(X-Z);

ii)X-(Y∩C)=(X-Y)∪(X-Z)。

3)证明:设A是集合族。

i)A的任意元素是∪A的子集。

ii)∩A是A的任意元素的子集。


我们回到康托尔的集合定义上来。它最后要求集合是对象聚合成的“整体”,这似乎意味着,集合是某种统一体,是由“多”聚成的“一”。按照一种朴素的哲学观念,当我们用一个概念(谓词)“把握”了多个东西之后,这多就同时成了作为思想对象的一。例如我们用“人”或“自然数”等概念把某类的许多个体在思想上“统观”成一。用上述观念解释康托尔,就似乎有以下结论:第一,每个集合都有一个定义它的谓词;第二,每个谓词都决定一个集合(其元素是所有满足这个谓词的对象)。这似乎是一种自然的想法,也是集合概念之所以出现的原始动机之一。

但是,现在人们意识到,这两点恐怕都错了,且都不是康托尔的原义。我们着重谈第二点,因为这是弗雷格关于每个性质决定一个集合的想法的另一种表述。文献上称这个想法为一般概括原则,它说的是:

对任意性质词φ,存在一个集合S,它的元素是所有满足这个性质的对象,即S={x|φ(x)}。

1902年,罗素给弗雷格写了一封信,说明当φ表达某种集合的性质时,这个原则导致矛盾。其推论如下:

1.7 罗素悖论 令φ为X∉X.根据上述原则,存在集合S={X|X∉X},即对任意X,X∈S当且仅当X∉X。特别地,S∈S当且仅当S∉S.矛盾。


直观上看,这里的φ表达性质“……不属于自身”,而S相当于所有不属于自身的集合的“集合”。如果S∈S,则根据S的定义,S有“……不属于自身”这个性质,即S∉S;另一方面,如果S∉S,则S具有“……不属于自身”这个性质,再根据S的定义,S∈S。所以,S∈S当且仅当S∉S。矛盾。

因此,S不可能是一个集合。这意味着,并非任意一类“多”都能聚为“一”,即使你能用某个概念或谓词把握或理解这类“多”。换言之,不能简单地说集合是概念或谓词的外延,有的概念的外延不是集合,有的性质不对应任何集合,这是集合概念深藏不显的特性之一。康托尔早就指出,有“不一致的聚合”,也许他的意思就是,有些聚合不是集合。这个例子也表明,我们直观的哲学观念不是那么可靠的,精确的分析可能揭示其中的矛盾,而哲学分析要达到精确的程度,就需要借助逻辑和数学的方法。

罗素悖论是历史上出现的几个集合论悖论之一,它不表示集合概念本身有矛盾,而只说明人们对集合概念的初始的、朴素的理解有误差。通过把集合概念的直观内容阐述为一系列确定的原则或公理,限制集合的构造方式,人们避免了迄今为止所发现的所有集合论悖论。既然概念的外延不全是集合,一种处理方式是把概念的外延统称为类。有的类是集合,有的不是,不是集合的类(如罗素悖论里的S),叫作真类。真类不是一个统一体,因而不能成为其他类的元素。虽然我们对于有关集合的许多问题还不能回答,但经过一百余年的数学研究,人们对集合概念已经有了相当深刻的理解。

遗憾的是,我们在哲学上对于什么是概念、什么是性质理解得还相当肤浅。比如,我们仍然无法解决关于性质的罗素悖论:有的性质能例示自身,如“……是抽象的”(“……是抽象的”这个性质是抽象的),有的不能,如“……是人”(“……是人”这个性质不是人)。性质“……是不能例示自身的”本身是一个(性质的)性质,令它为S。现在问:S能否例示自身?如果S能例示自身,则由S的定义,S不能例示自身;如果S不能例示自身,则S具有S这个性质,即它能例示自身。所以,S能例示自身,当且仅当S不能例示自身。矛盾。

一切好像顺理成章。我们无法断定这里面是否存在对“性质”这个概念的误解问题,因为我们不知道都有什么原则制约着它。情形似乎是,我们对概念、性质的外延方面(类、集合)有了相当了解,但对它们的内涵方面所知不多。哥德尔认为,逻辑不但要研究外延,也要研究内涵,不但要有集合论,也要发展一种概念论。这种逻辑观念,与我们前面所讲的逻辑观念显然不同。我们不打算讨论概念的本质问题以及由此带出的广泛的逻辑观念问题,但在这个广泛的观念之下,本书介绍的,可以叫做某种狭义的外延逻辑。

这里需要说明,上一章讨论一阶语言的语义的时候,我们曾把集合理解为概念的外延,但那里谈的是个体的性质和关系,个体和个体序列的集合,不牵涉高阶的性质和任意集合,特别是不出现一个集合是否属于自身的问题,因而我们前面提到的,是最低层次的集合,它们不受集合论悖论的影响,我们所有先前的讨论,仍然可以在那个范围里成立。