2.2. 集合运算
两个或多个集合可以以许多不同的方式结合在一起。
- 并集(union)
- 令A和B为集合,集合A和B的并集,用A∪B表示,是一个集合,它包含A或B中或同时在A和B中的元素。
一个元素x属于A和B的并集当且仅当x属于A或x属于B。这说明
A∪B={x∣x∈A∨x∈B}
- 交集(intersection)
- 令A和B为集合,集合A和B的交集,用A∩B表示,是一个集合,它包含同时在A和B中的那些元素。
一个元素x属于集合A和B的交集当且仅当x属于A并且x属于B。这说明
A∩B={x∣x∈A∧x∈B}
两个集合称为不相交的,如果它们的交集为空集。
集合基数的计算∣A∪B∣=∣A∣+∣B∣−∣A∩B∣。把这一结果推广到任意多个集合的并集就是所谓的包含排斥原理或简称容斥原理。容斥原理是枚举中的一项重要技术。
- 差集(difference)
- 令A和B为集合,集合A和B的差集,用A−B表示,是一个集合,它包含属于A而不属于B的元素。A和B的差集也称为B相对于A的补集。
集合A和B的差集有时也记为 A∖B
一个元素x属于A和B的差集当且仅当x∈A且x∈/B,这说明
A−B={x∣x∈A∧x∈/B}
- 对称差(symmetric difference)
- 集合A和B的对称差,用A⊕B表示,是属于A或属于B但不同时属于A与B的元素组成的集合。
A⊕B={x∣(x∈A∨x∈B)∧x∈/A∩B}A⊕B=A∪B∖A∩B
例:A={0,1,2,3},B={1,3,5,7,9}.A⊕B={0,2,5,7,9}
- 补集
- 令U为全集。集合A的补集,用A表示,是A相对于U的补集。所以集合A的补集是U−A。补集也可以写成∁UA
一个元素x属于A当且仅当x∈/A。这说明
∁UA=A={x∈U∣x∈/A}
{x∈U∣x∈/A}是一个真值集,意为满足 x∈/A并且 x∈U的所有元素的集合。
集合恒等式
恒等式 | 名称 |
---|
A∩U=A,A∪∅=A | 恒等率 |
A∪U=U,A∩∅=U | 支配率 |
A∩A=A,A∪A=A | 幂等率 |
(A) | 补率 |
A∩B=B∩A,A∪B=B∪A | 交换率 |
A∪(B∪C)=(A∪B)∪CA∩(B∩C)=(A∩B)∩C | 结合率 |
A∪(B∩C)=(A∪B)∩(A∪C)A∩(B∪C)=(A∩B)∪(A∩C) | 分配率 |
A∩B=A∪BA∪B=A∩B | 德摩根率 |
A∪(A∩B)=AA∩(A∪B)=A | 吸收率 |
A∪A=UA∩A=∅ | 互补率 |
分配率证明:
A∪(B∩C)=(A∪B)∩(A∪C)
此题证明主要用到了逻辑运算中的分配率p∨(q∧r)=(p∨q)∧(p∨r)
A∪(B∩C)={x∣x∈A∨x∈(B∩C)}={x∣x∈A∨(x∈B∧x∈C)}={x∣(x∈A∨x∈B)∧(x∈A∨x∈C)}={x∣x∈A∪B∧x∈A∪C}=(A∪B)∧(A∪C)
A∩(B∪C)=(A∩B)∪(A∩C)的证明与上面类似。
德摩根率证明:
A∩B={x∣x∈/A∩B}={x∣¬(x∈A∩B)}={x∣¬(x∈A∧x∈B)}={x∣¬(x∈A)∨¬(x∈B)}={x∣x∈/A∨x∈/B}={x∣x∈A∨x∈B}={x∣x∈A∪B}=A∪B补集的定义不属于符号的含义交集的定义逻辑等价式的第一德摩根率不属于符号的含义补集的定义并集的定义集合构造器记号的含义
扩展的并集和交集
由于集合的交集和并集满足结合律,所以只要A、B、C为集合,则A∪B∪C和A∩B∩C均有定义,即这样的记号是无二义性的。我们不需要用括号来指明哪个运算在前。
- A∪B∪C包含那些至少属于A、B、C为中一个集合的元素。
- A∩B∩C包含那些属于A、B、C全部3个集合中的元素。
- 多个集合的并集
- 一组集合的并集是包含那些至少是这组集合中一个集合成员的元素的集合。
我们用下列记号
A1∪A2∪...∪An=i=1⋃nAi
表示集合A1∪A2∪...∪An的并集。
- 多个集合的交集
- 一组集合的交集是包含那些属于这组集合中所有成员集合的元素的集合。
我们用下列记号
A1∩A2∩...∩An=i=1⋂nAi
表示集合A1∩A2∩...∩An的交集。
例题: 令 Ai={i,i+i,i+2,...},i=1,2,3,...。那么,
i=1⋃nAi=i=1⋃n{i,i+i,i+2,...}={1,2,3,...}
而
i=1⋂nAi=i=1⋂n{i,i+i,i+2,...}={n,n+1,n+2,...}=An
我们 可以将并集和交集的记号扩展到其他系列的集合。
A1∪A2∪...∪An∪...=i=1⋃∞AiA1∩A2∩...∩An∩...=i=1⋂∞Ai
更一般地,当I是一个集合时,可以用记号⋂i∈IAi和⋃i∈IAi分别表示对于i∈I 的集合Ai的交集和并集。注意我们有
⋂i∈IAi={x∣∀i∈I(x∈Ai)}和⋃i∈IAi={x∣∃i∈I(x∈Ai)}
例题: 假设对于i=1,2,3,...,集合 Ai={1,2,3,...,i}。那么,
i=1⋃∞Ai=i=1⋃∞{1,2,3,…,i}={1,2,3,…}=Z+
i=1⋂∞Ai=i=1⋂∞{1,2,3,…,i}={1}
集合的计算机表示
利用二进制的位运算可以快速对集合进行各种运算。
如U={1,2,3,4,5,6,7,8,9,10},集合A={1,3,5,7,9},B={2,4,6,8,10},将集合元素在全集中的位置标记为A,不在的位置标记为0,则
ABA∪BA∩BA=1010101010=0101010101=1010101010∨0101010101=1111111111=U=1010101010∧0101010101=0000000000=∅=¬1010101010=0101010101=B