第3章 集合 本章将用谓词逻辑表达集合论中的基本概念及其运算,并根据命题演算与集合运算之间的联系,构成一种集合代数。它类似于命题代数,同时还将给出数学中常用的重要证明方法——数学归纳法。最后讨论多重序元与笛卡儿乘积等重要概念,以便为学习后续理论知识打下基础。 3.1集合的基本概念 集合是不能严格定义的原始概念,对它只能给予直观的描述。一般来说,把具有共同性质的一些东西或客体汇成一个整体,就形成了一个集合(set)。 举例如下。 (1) 全体中国人的集合。 (2) 全体素数的集合。 (3) 方程x2+x+1=0的实根的集合。 (4) 直线y=2x-5上的点的集合。 上述4种集合中的客体(或称为元素)均具有共同的“性质”。但是,一支钢笔、一只老鼠汇成一个整体也可以看成一个集合,而这种集合中的客体就不具有共同“性质”了。一般来说,研究这种集合没有实际意义。 属于集合的任何客体称为该集合的成员(member)或元素(element)。 通常用大写英文字母表示一个集合,用小写英文字母表示集合中的客体或元素。若元素a属于集合A,记作a∈A,读为“a属于A”; 反之,若元素a不属于集合A,记作aA,读为“a不属于A”。 例如,令A={a,b,d},则a∈A,b∈A,d∈A,常简记为a,b,d∈A,但cA,eA或c,eA。 为叙述方便,给出几种常见的集合,以后遇到此类集合不再重述。 Q——有理数(rational number)集合; N——自然数(natural number)集合(包括0); I——整数(integer)集合; R——实数(real number)集合; Nm——小于m的自然数集合; I+——正整数集合; I-——负整数集合。 定义3.1.1设A为任意集合。 (i) 集合A含有的元素个数,称为基数(cardinality),记为card(A)或|A|。 (ii) 若|A|=0,即A中不包含任何元素,则称A为空集(empty set),记为。 (iii) 若|A|为某个自然数,则称A为有限集(finite set)。 (iv) 若|A|为无穷大,则称A为无限集(infinite set)。 (v) 若|A|≠0,则称A为非空集(nonempty set)。 集合与元素的关系是从属关系,即一个元素属于或不属于某集合。为此,对集合中所含元素必须给予直观、确切的描述,其常用方法有下列3种。 1. 枚举法(或称列举法,list notation) 依照任意一种次序,不重复地列举出集合中的全部元素,并用一对花括号括起来,元素间用逗号分开。 例如,A={1,3,5,7},B={a,a2,a3,a4},这种方法比较直观。 2. 部分列举法(partially list notation) 依照任意一种次序,不重复列出集合中的部分元素,元素间用逗号分开。但这部分元素充分体现出该集合的元素在上述次序下的构造规律,从而能够容易地得出该集合中的任意一个未列出的元素。未列举出的元素用“…”表示,然后用一对花括号{}括起来。例如, N={0,1,2,3,…} I={…,-3,-2,-1,0,1,2,3,…} 3. 构造法(或称谓词公式法,set builder notation) 如果P(x)是表示元素x具有某种性质P的谓词,则所有具有性质P的元素就构成一个集合,记为A={x|P(x)}。显然,元素a∈AP(a)为真。例如: A={x|x∈R∧x2-3x+2=0}={1,2} B={x|(x=1)∨(x=3)∨(x=a)}={1,3,a} C={x|x是正偶数}={2,4,6,…} 对集合必须注意以下几点。 (1) 集合中的元素必须是确定的,即对集合A,任一元素a或者属于A或者不属于A,两者必具其一,且仅具其一。 (2) 集合中的每个元素均不相同,如{a,b,b,c,c,d}与{a,b,c,d}表示同一个集合。 (3) 对集合中的元素不做任何限制,甚至一个集合可作为另一个集合的元素。例如,A={1,2,{a,b}},其中集合{a,b}是集合A的一个元素。显然,有{a,b}∈A,但a,bA。 公理3.1.1给定两个集合A和B,当且仅当A和B具有同样的成员或元素,A和B是相等的(equal),记为A=B; 否则,称为A和B不相等,记为A≠B。 集合A和B相等这个公理可用谓词公式描述如下。 A=B(x)(x∈Ax∈B) 或 A=B(x)(x∈A→x∈B)∧(x)(x∈B→x∈A) 举例如下。 (1) {a,b,c}={c,a,b}={a,a,b,c}。 (2) 设P={{a,b},c},Q={a,b,c},则P≠Q。 (3) 设A={x|x(x-1)=0},B={0,1},则A=B。 (4) {1,3,5,…}={x|x是正奇数}。 (5) {a}≠{{a}}。 定义3.1.2设A和B是两个任意集合。如果A的每个元素均属于B,则称A是B的子集(subset),或A包含于B,或B包含A,记为AB或BA。 A是B的子集的定义也可用谓词公式描述为AB(x)(x∈A→x∈B)。 例如,令A={1,2,3},B={1,2},C={1,2,4},则BA但CA。 根据子集的定义立即可以得出下面两个性质。 ① 自反性: AA。 ② 传递性: (AB)∧(BC)(AC)。 定理3.1.1集合A和B相等的充要条件是它们互为子集,即A=BAB∧BA。 证(充分性)若AB,BA,证明A=B。现假设A≠B,则A和B的元素不完全相同,至少有一个元素x∈A,但xB,这与AB矛盾; 或至少有一个元素x∈B,但xA,这又与BA相矛盾。故A和B必然相等。 (必要性)若A=B,证明AB,且BA。因为A和B相等,所以它们的元素相同,即(x)(x∈A→x∈B)为真,且(x)(x∈B→x∈A)也为真,故AB,且BA成立。■ 此定理建立了集合间的相等与包含关系,当证明两个集合是否相等时,常常使用这个定理,即不直接证明A=B,而是证明AB,且BA。 在证明此定理的充分性时,使用了反证法(proof by contradiction),这是数学中经常使用的重要证明方法。有些证明直接求证困难较大,这时可考虑使用反证法,甚至有些问题不使用反证法便不能得到证明。 定义3.1.3如果集合A的每个元素均属于B,但集合B中至少有一个元素不属于A,则称A为B的真子集(proper subset),记为AB。 A是B的真子集的定义可用谓词逻辑描述如下。 ① AB(x)(x∈A→x∈B)∧(x)(x∈B∧xA)。 ② ABAB∧A≠B。 例如,自然数集合N是整数集合I的真子集。 定理3.1.2对任意集合A,有A,即空集是任意集合的子集。 证明(方法1) 使用反证法。假设A是假,则至少有一个元素x∈,且xA,而空集不包含任何元素,所以这种假设不成立。因此,必有A。 (方法2) 设x是集合A中的任意元素,由空集的定义可知,x∈为假,由逻辑联结词“→”的定义可知,x∈→x∈A为真。由x的任意性,根据全称推广规则有(x)(x∈→x∈A)为真,故A。■ 定理3.1.3空集是唯一的。 证利用反证法。假设有两个不同的空集1和2,因为1是空集,所以必有12; 又因为2是空集,所以又必有21。即1和2互为子集,由定理3.1.1可知,1=2。因此假设不成立,即空集是唯一的。■ 定义3.1.4如果有一个集合包含所要讨论的全部元素,则把该集合称为全集(universal set),记为U或E。 全集是一个相对的概念,它随所要研究的范围不同而不同。如统计全国人口,则可以把全国的人的集合看作全集,而各省、市范围内的人的集合都是E的子集。但是,若统计全省人口,则可以把该省的人的集合看作全集。在任何一个集合论的应用中,所研究集合的元素总是属于某个大集合,它就被称为全集或论域。 有了全集的概念,元素与集合间关系的意义就更明显了,如对于元素a,可能有a∈A或aA,但必有a∈E。 显然,空集和全集可分别用谓词公式描述为 ={x|P(x)∧瘙綈P(x)},E={x|P(x)∨瘙綈P(x)} 定义3.1.5完全以集合为元素的集合,称为集类或集合族(family of sets)。 例如,设A={a,b,c,d},令A*是A的含3个元素的那些子集构成的集类,则 A*={{a,b,c},{a,b,d},{a,c,d},{b,c,d}} 根据定理3.1.2,空集是任意集合的子集,即A; 对任意集合A,AA。一般来说,任意非空集合A至少有两个子集,一个是空集,另一个是它本身A。 【例3.1.1】设A={a,b,c},试求集合A的所有子集。 解共有8个子集: A0=,A1={a},A2={b},A3={c},A4={a,b},A5={a,c},A6={b,c},A7=A={a,b,c}。 定义3.1.6由集合A的全部子集所组成的集类,称为A的幂集( power set),记为ρ(A),即ρ(A)={Ai|AiA}。 例如,设A={a,b,c},则ρ(A)={,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}}。 定理3.1.4如果有限集A有n个元素,则其幂集ρ(A)有2n个元素,即|ρ(A)|=2n。 证在A中任取一个元素构成的子集共有C1n个,任取两个元素构成的子集共有C2n个,以此类推,直至从A中取n个元素构成的子集共有Cnn个。此外,空集也是A的一个子集,因此,全部子集的数目为 |ρ(A)|=1+C1n+C2n+…+Cnn 由二项式定理,有 (x+y)n=xn+C1nxn-1y+C2nxn-2y2+…+Cnnyn 令x=y=1,得2n=1+C1n+C2n+…+Cnn,故|ρ(A)|=2n成立。■ 下面引进一种编码用来唯一地表示一个有限集合幂集的元素,这种方法称为子集的编码表示法,它将为求一个有限集的幂集带来极大方便。众所周知,一个集合中的元素的排列次序是无关紧要的,但是为了便于在计算机上表示集合,可以给元素编定次序,从而可以用二进制数为下标来确定集合中每一元素的位置。显然,对一个含有n个元素的集合A,则需要n位二进制数作为下标,对A的每个子集B,若第i位上记入1,则该位置对应的元素属于该子集; 否则,该元素不属于该子集。设集合A={a1,a2,a3,…,an},再令 J=i|00…0n个≤i≤11…1n个 则ρ(A)={Ai|i∈J}。例如,A={a,b,c},则J={i|000≤i≤111},ρ(A)={Ai|i∈J},其中 A0=A000=, A1=A001={c}, A2=A010={b}, A3=A011={b,c}, A4=A100={a}, A5=A101={a,c}, A6=A110={a,b}, A7=A111={a,b,c}。 把集合J叫作加标集合(indexed set)。显然,可用这种编码方法确定具有n个元素的集合的各子集。实际上,这种方法与1.8节中介绍的求极大项和极小项的方法很相似。 习题3.1 (1) 列出下列集合的全部元素。 ① A={x|x∈N,3n0,若对k∈N,且n0≤km时,P(n)为真。 【例3.4.4】斐波那契(Fibonacci)数列定义为 F0=0; F1=1; Fn+1=Fn+Fn-1,n∈I+ 证明: 若n∈I+,则 1+52n-2≤Fn≤1+52n-1 证(用第二数学归纳法) 基础步: 当n=1时,F1=1,显然有下式成立 1+52-1≤F1≤1+520 归纳步: 对任意m>1,假设k∈N且1≤k