情報数理A

6. 集合

ここまでに導入した命題論理と述語論理を用いると,集合に関する定義や証明を簡潔に記述できる.ここからは,集合どうしの含まれ方や,集合から新しい集合をつくる操作を,論理との対応を意識しながら扱う.

6.1 部分集合

定義 6.1(部分集合)

集合\(A,B\)について,\(A\)のすべての要素が\(B\)にも含まれるとき,\(A\)は\(B\)の部分集合 (subset) であるといい, \[A\subset B\] と書く.述語論理の記号を用いれば,これは \[A\subset B \quad\Longleftrightarrow\quad \forall x\in A\ (x\in B)\] という条件である.本書では\(A=B\)の場合も\(A\subset B\)に含める.

例えば,\(A=\{1,2\}\),\(B=\{1,2,3\}\)とすると\(A\subset B\)である.また\(1\in A\)であるが,\(1\)は集合ではないので\(1\subset A\)とは書かない.一方,\(\{1\}\subset A\)である.このように,\(\in\)と\(\subset\)は役割の異なる記号である.

命題 6.2(部分集合の基本的な性質)

任意の集合\(A,B,C\)について,次が成り立つ.

  1. \(\emptyset\subset A\)である.

  2. \(A\subset A\)である.

  3. \(A\subset B\)かつ\(B\subset C\)ならば\(A\subset C\)である.

命題 6.2 の証明

(1) \(\emptyset\)には要素が存在しないので,「すべての\(x\in\emptyset\)について\(x\in A\)」という全称命題に反する要素は存在しない.したがって\(\emptyset\subset A\)である.

(2) 任意の\(x\in A\)について\(x\in A\)であるから,部分集合の定義より\(A\subset A\)である.

(3) \(A\subset B\)かつ\(B\subset C\)とする.任意の\(x\in A\)をとると,\(A\subset B\)から\(x\in B\)であり,さらに\(B\subset C\)から\(x\in C\)である.したがってすべての\(x\in A\)について\(x\in C\)であり,\(A\subset C\)である.

代表的な数の集合の間には \[\mathbb{N}\subset\mathbb{Z}\subset\mathbb{Q}\subset\mathbb{R}\subset\mathbb{C}\] という包含関係がある.例えば整数は分母を\(1\)とすれば有理数とみなせる.

6.2 集合の等号と部分集合

集合についても,等号\(=\)はこれまでと同じ意味で用いる.すなわち\(A=B\)は,\(A\)と\(B\)が同じ集合を表すことを意味する.集合が等しいことを実際に確かめるときには,次の定理が基本となる.

定理 6.3(集合の等号の判定)

集合\(A,B\)について,次の条件は同値である.

  1. \(A=B\).

  2. \(A\subset B\)かつ\(B\subset A\).

  3. 任意の対象\(x\)について,\(x\in A\Longleftrightarrow x\in B\)である.

定理 6.3 の証明

(1)を仮定する.\(A\)と\(B\)は同じ集合なので,任意の対象\(x\)について\(x\in A\)と\(x\in B\)の真理値は一致する.したがって(3)が成り立つ.

(3)を仮定する.任意の\(x\in A\)について\(x\in A\)は真なので,\(x\in A\Longleftrightarrow x\in B\)から\(x\in B\)である.よって\(A\subset B\)である.同様に任意の\(x\in B\)について\(x\in A\)であるから\(B\subset A\)であり,(2)が成り立つ.

(2)を仮定する.\(A\subset B\)より\(A\)の要素はすべて\(B\)の要素であり,\(B\subset A\)より\(B\)の要素はすべて\(A\)の要素である.したがって\(A\)と\(B\)はまったく同じ要素を持ち,同じ集合である.よって\(A=B\)であり,(1)が成り立つ.

系 6.4(二重包含法)

集合\(A,B\)について\(A=B\)を示すには,\(A\subset B\)と\(B\subset A\)をそれぞれ示せばよい.

系 6.4 の証明

定理6.3の(1)と(2)の同値性から従う.

例えば,\[A:=\{x\in\mathbb Z:x^2=1\},\qquad B:=\{-1,1\}\] とする.\(x\in A\)なら\(x^2=1\)なので\(x=1\)または\(x=-1\)であり,\(x\in B\)である.逆に\(1,-1\)はいずれも2乗すると1になるので\(B\subset A\)である.したがって二重包含により\(A=B\)である.

定義 6.5(一元集合と真部分集合)

対象\(a\)だけを要素として持つ集合\(\{a\}\)を\(a\)の一元集合という.また,\(A\subset B\)かつ\(A\neq B\)であるとき,\(A\)を\(B\)の真部分集合といい,\(A\subsetneq B\)と書く.

命題 6.6(一元集合と要素)

集合\(A\)と対象\(a\)について, \[a\in A\quad\Longleftrightarrow\quad \{a\}\subset A\] が成り立つ.

命題 6.6 の証明

\(a\in A\)とする.\(\{a\}\)の要素は\(a\)だけなので,\(\{a\}\)のすべての要素は\(A\)に含まれる.よって\(\{a\}\subset A\)である.逆に\(\{a\}\subset A\)ならば\(a\in\{a\}\)なので,部分集合の定義から\(a\in A\)である.

要素を一つも持たない集合は空集合\(\emptyset\)だけである.実際,集合\(A\)が要素を一つも持たないなら,任意の対象\(x\)について\(x\in A\)と\(x\in\emptyset\)はいずれも偽なので,定理6.3(3)より\(A=\emptyset\)である.

命題 6.7(真部分集合の特徴づけ)

集合\(A,B\)について,\(A\subsetneq B\)であることと,次の二つが同時に成り立つことは同値である.

  1. \(A\subset B\).

  2. \(B\)の要素であって\(A\)の要素ではないものが少なくとも一つ存在する.

命題 6.7 の証明

\(A\subsetneq B\)とする.定義より\(A\subset B\)かつ\(A\neq B\)である.もし\(B\)のすべての要素が\(A\)にも含まれるならば\(B\subset A\)となり,定理6.3から\(A=B\)となってしまう.したがって(2)を満たす要素が存在する.

逆に(1),(2)を仮定する.(2)より\(B\subset A\)ではない.したがって(1)と定理6.3から\(A\neq B\)である.よって\(A\subsetneq B\)である.

6.3 集合の演算

定義 6.8(合併,共通部分,差集合)

集合\(A,B\)に対して,任意の対象\(x\)について次の論理同値が成り立つように集合\(A\cup B\),\(A\cap B\),\(A\setminus B\)を定める. \[\begin{aligned} x\in A\cup B&\Longleftrightarrow (x\in A)\lor(x\in B),\\ x\in A\cap B&\Longleftrightarrow (x\in A)\land(x\in B),\\ x\in A\setminus B&\Longleftrightarrow (x\in A)\land\lnot(x\in B). \end{aligned}\] \(A\cup B\)を\(A\)と\(B\)の合併または和集合,\(A\cap B\)を共通部分または積集合,\(A\setminus B\)を差集合という.

例えば,\(A=\{1,2,3\}\),\(B=\{3,4\}\)とすると, \[A\cup B=\{1,2,3,4\},\qquad A\cap B=\{3\},\qquad A\setminus B=\{1,2\}.\]

集合を平面上の領域で表す図をベン図という.集合演算もベン図で表すことができる.次の図では,灰色の部分がそれぞれの集合を表している.

和集合,共通部分,差集合のベン図

定義 6.9(互いに素な集合)

\(A\cap B=\emptyset\)であるとき,\(A\)と\(B\)は互いに素 (disjoint) であるという.

命題 6.10(合併と共通部分の基本法則)

任意の集合\(A,B,C\)について,次が成り立つ.

  1. \(A\cup A=A\),\(A\cap A=A\).

  2. \(A\cup B=B\cup A\),\(A\cap B=B\cap A\).

  3. \((A\cup B)\cup C=A\cup(B\cup C)\),\((A\cap B)\cap C=A\cap(B\cap C)\).

  4. \(A\cap(B\cup C)=(A\cap B)\cup(A\cap C)\).

  5. \(A\cup(B\cap C)=(A\cup B)\cap(A\cup C)\).

  6. \(A\cap(A\cup B)=A\),\(A\cup(A\cap B)=A\).

命題 6.10 の証明

任意の対象\(x\)を一つとる.集合演算の定義により,集合への所属は命題論理の\(\lor,\land\)に翻訳できる.例えば交換法則について, \[\begin{aligned} x\in A\cup B &\Longleftrightarrow (x\in A)\lor(x\in B)\\ &\Longleftrightarrow (x\in B)\lor(x\in A)\\ &\Longleftrightarrow x\in B\cup A \end{aligned}\] である.中央の論理同値は定理3.3の交換法則である.定理6.3(3)から\(A\cup B=B\cup A\)を得る.\(A\cap B=B\cap A\)も同様である.

同じ方法で,定理3.3の冪等律,結合律,分配律,吸収律をそれぞれ用いると,(1),(3)–(6)の各等式について,左辺に\(x\)が属することと右辺に\(x\)が属することが論理同値になる.例えば分配法則(4)では \[\begin{aligned} x\in A\cap(B\cup C) &\Longleftrightarrow (x\in A)\land\bigl((x\in B)\lor(x\in C)\bigr)\\ &\Longleftrightarrow \bigl((x\in A)\land(x\in B)\bigr) \lor\bigl((x\in A)\land(x\in C)\bigr)\\ &\Longleftrightarrow x\in(A\cap B)\cup(A\cap C). \end{aligned}\] したがって定理6.3(3)によりすべての等式が従う.

命題 6.11(合併・共通部分と包含関係)

集合\(A,B,C\)について,次が成り立つ.

  1. \(A\cap B\subset A\)かつ\(A\cap B\subset B\).

  2. \(A\subset A\cup B\)かつ\(B\subset A\cup B\).

  3. \(A\subset B\)ならば,\(A\cap C\subset B\cap C\)かつ\(A\cup C\subset B\cup C\).

命題 6.11 の証明

(1) \(x\in A\cap B\)ならば,定義から\(x\in A\)かつ\(x\in B\)である.したがって両方の包含が成り立つ.

(2) \(x\in A\)ならば\(x\in A\cup B\)であり,\(x\in B\)ならば\(x\in A\cup B\)である.

(3) \(A\subset B\)とする.\(x\in A\cap C\)ならば\(x\in A\)かつ\(x\in C\)であり,\(A\subset B\)から\(x\in B\)なので\(x\in B\cap C\)である.よって\(A\cap C\subset B\cap C\)である.また\(x\in A\cup C\)ならば\(x\in A\)または\(x\in C\)である.前者なら\(A\subset B\)から\(x\in B\)なので,いずれの場合も\(x\in B\cup C\)である.よって\(A\cup C\subset B\cup C\)である.

命題 6.12(差集合の基本法則)

集合\(A,B,C\)について,次が成り立つ.

  1. \(A\setminus B\subset A\).

  2. \(A\setminus A=\emptyset\).

  3. \(A\setminus\emptyset=A\).

  4. \((A\setminus B)\setminus C=A\setminus(B\cup C)\).

命題 6.12 の証明

(1) \(A\setminus B\)の要素は定義によって\(A\)の要素である.

(2) \(A\setminus A\)に属する要素があるとすると,その要素は\(A\)に属し,しかも\(A\)に属さないことになる.したがってそのような要素は存在せず,\(A\setminus A=\emptyset\)である.

(3) \(x\in A\)ならば\(x\notin\emptyset\)なので\(x\in A\setminus\emptyset\)である.逆に\(x\in A\setminus\emptyset\)ならば定義から\(x\in A\)である.よって等しい.

(4) \(x\in(A\setminus B)\setminus C\)であることは,\(x\in A\)であり,\(x\notin B\)かつ\(x\notin C\)であることを意味する.これは\(x\in A\)であり,\(x\notin B\cup C\)であることと同値なので,\(x\in A\setminus(B\cup C)\)である.逆も同じ説明で従う.

命題 6.13(包含関係の集合演算による特徴づけ)

集合\(A,B\)について,次の4条件は同値である.

  1. \(A\subset B\).

  2. \(A\cap B=A\).

  3. \(A\cup B=B\).

  4. \(A\setminus B=\emptyset\).

命題 6.13 の証明

(1)を仮定する.\(x\in A\cap B\)なら\(x\in A\)であるから\(A\cap B\subset A\)である.逆に\(x\in A\)なら\(A\subset B\)より\(x\in B\)でもあるので\(x\in A\cap B\)である.よって\(A\cap B=A\)であり,(2)が成り立つ.

(2)を仮定する.\(x\in A\cup B\)とする.\(x\in A\)なら,\(A=A\cap B\)より\(x\in B\)である.\(x\in B\)ならもちろん\(x\in B\)である.したがって\(A\cup B\subset B\)である.逆の包含\(B\subset A\cup B\)は命題6.11から成り立つので\(A\cup B=B\)であり,(3)が成り立つ.

(3)を仮定する.もし\(x\in A\setminus B\)なら\(x\in A\)なので\(x\in A\cup B=B\)であるが,差集合の定義から\(x\notin B\)でもあり不可能である.したがって\(A\setminus B\)は要素を持たず,(4)が成り立つ.

(4)を仮定する.\(x\in A\)をとる.もし\(x\notin B\)なら\(x\in A\setminus B\)となるが,\(A\setminus B=\emptyset\)に反する.よって\(x\in B\)であり,\(A\subset B\)である.したがって(1)が成り立つ.

命題 6.14(差集合による分解)

集合\(A,B\)について, \[A=(A\cap B)\cup(A\setminus B)\] が成り立ち,さらに\(A\cap B\)と\(A\setminus B\)は互いに素である.

命題 6.14 の証明

\(x\in A\)をとる.\(x\in B\)なら\(x\in A\cap B\)であり,\(x\notin B\)なら\(x\in A\setminus B\)である.したがって\(A\subset (A\cap B)\cup(A\setminus B)\)である.逆に\(A\cap B\)の要素も\(A\setminus B\)の要素も\(A\)に含まれるので,逆の包含も成り立つ.よって等号が成り立つ.

また,\(x\)が\((A\cap B)\cap(A\setminus B)\)に属するとすると,\(x\in B\)かつ\(x\notin B\)となり不可能である.したがって二つの集合は互いに素である.

命題 6.15(差集合と集合演算)

集合\(A,B,C\)について, \[A\setminus(B\cup C)=(A\setminus B)\cap(A\setminus C),\] \[A\setminus(B\cap C)=(A\setminus B)\cup(A\setminus C)\] が成り立つ.

命題 6.15 の証明

\(x\in A\setminus(B\cup C)\)であることは,\(x\in A\)であり,かつ\(x\)が\(B\)にも\(C\)にも含まれないことを意味する.これは\(x\in A\setminus B\)かつ\(x\in A\setminus C\)であることと同値なので,第1の等式が成り立つ.

同様に\(x\in A\setminus(B\cap C)\)であることは,\(x\in A\)であり,かつ\(x\)が\(B\)と\(C\)の少なくとも一方に含まれないことを意味する.これは\(x\in A\setminus B\)または\(x\in A\setminus C\)であることと同値なので,第2の等式が成り立つ.

6.4 全体集合と補集合

定義 6.16(全体集合と補集合)

ある議論で考える対象の範囲をあらかじめ一つの集合\(U\)に定めるとき,\(U\)をその議論における全体集合という.普遍集合と呼ぶこともある.\(A\subset U\)に対して,\(U\)に含まれるが\(A\)には含まれない要素全体の集合を\(A\)の補集合 (complement) といい,\(A^c\)と書く.すなわち, \[A^c:=U\setminus A\] である.

例えば,全体集合を\(U=\{1,2,3,4,5\}\),\(A=\{1,3,5\}\)とすると, \[A^c=\{2,4\}.\] 補集合は,どの全体集合の中で考えているかによって変わることに注意する.

補集合はベン図では次のように表される.長方形が全体集合\(U\),円が\(A\)を表し,灰色の部分が\(A^c\)である.

補集合のベン図

命題 6.17(補集合の基本法則)

全体集合を\(U\)とし,\(A\subset U\)とする.このとき,次が成り立つ.

  1. \(A\cup A^c=U\).

  2. \(A\cap A^c=\emptyset\).

  3. \((A^c)^c=A\).

  4. \(U^c=\emptyset\),\(\emptyset^c=U\).

  5. \(A\cup\emptyset=A\),\(A\cap U=A\),\(A\cup U=U\),\(A\cap\emptyset=\emptyset\).

命題 6.17 の証明

(1) \(x\in U\)をとる.\(x\in A\)であれば\(x\in A\cup A^c\)である.\(x\notin A\)であれば補集合の定義から\(x\in A^c\)なので,やはり\(x\in A\cup A^c\)である.よって\(U\subset A\cup A^c\)である.逆の包含は\(A,A^c\subset U\)から従う.

(2) \(x\in A\cap A^c\)とすると,\(x\in A\)かつ\(x\notin A\)が同時に成り立つことになるが,そのような\(x\)は存在しない.したがって共通部分に要素はなく,空集合である.

(3) \(x\in(A^c)^c\)であることは,\(x\in U\)かつ\(x\notin A^c\)であることを意味する.\(A^c\)は\(U\)のうち\(A\)に含まれない要素全体なので,これは\(x\in A\)であることと同値である.よって\((A^c)^c=A\)である.

(4) \(U\)の要素でありながら\(U\)に属さない要素は存在しないので\(U^c=\emptyset\)である.一方,\(U\)の要素はどれも\(\emptyset\)には属さないので\(\emptyset^c=U\)である.

(5) いずれも定義から確かめられる.例えば,\(A\cup\emptyset\)の要素は\(A\)または\(\emptyset\)に属する要素であるが,\(\emptyset\)には要素がないので,これはちょうど\(A\)の要素である.したがって\(A\cup\emptyset=A\)である.残りも同様に,両辺に属する要素が同じであることから従う.

命題 6.18(差集合と補集合)

全体集合を\(U\)とし,\(A,B\subset U\)とする.このとき, \[A\setminus B=A\cap B^c\] である.

命題 6.18 の証明

\(x\in A\setminus B\)であることは,\(x\in A\)かつ\(x\notin B\)であることを意味する.補集合の定義から\(x\notin B\)であることと\(x\in B^c\)であることは同値である.したがって\(x\in A\setminus B\)であることと\(x\in A\cap B^c\)であることは同値であり,両集合は等しい.

命題 6.19(補集合の一意性)

全体集合を\(U\)とし,\(A,B\subset U\)とする.もし \[A\cup B=U,\qquad A\cap B=\emptyset\] ならば\(B=A^c\)である.

命題 6.19 の証明

\(x\in B\)とする.\(A\cap B=\emptyset\)なので\(x\notin A\)であり,\(x\in A^c\)である.よって\(B\subset A^c\)である.逆に\(x\in A^c\)とする.\(A\cup B=U\)かつ\(x\in U\)なので,\(x\in A\)または\(x\in B\)である.しかし\(x\notin A\)なので\(x\in B\)である.したがって\(A^c\subset B\)であり,\(B=A^c\)である.

6.5 補集合の包含関係

命題 6.20(補集合と包含関係)

全体集合を\(U\)とし,\(A,B\subset U\)とする.このとき, \[A\subset B\quad\Longleftrightarrow\quad B^c\subset A^c\] が成り立つ.

命題 6.20 の証明

\(A\subset B\)とする.\(x\in B^c\)をとると\(x\notin B\)である.もし\(x\in A\)ならば\(A\subset B\)から\(x\in B\)となり,\(x\notin B\)と同時には成り立たない.したがって\(x\notin A\)であり,\(x\in A^c\)である.よって\(B^c\subset A^c\)である.

逆に\(B^c\subset A^c\)とする.\(x\in A\)をとる.もし\(x\notin B\)なら\(x\in B^c\)であり,仮定から\(x\in A^c\)となる.すると\(x\in A\)と\(x\notin A\)が同時に成り立つことになり不可能である.したがって\(x\in B\)である.よって\(A\subset B\)である.

6.6 ド・モルガンの法則

定理 6.21(集合のド・モルガンの法則)

全体集合を\(U\)とし,\(A,B\subset U\)とする.このとき, \[(A\cup B)^c=A^c\cap B^c, \qquad (A\cap B)^c=A^c\cup B^c\] が成り立つ.

定理 6.21 の証明

任意の\(x\in U\)をとる.補集合と合併の定義,および論理のド・モルガンの法則から, \[\begin{aligned} x\in(A\cup B)^c &\Longleftrightarrow \lnot(x\in A\cup B)\\ &\Longleftrightarrow \lnot\bigl((x\in A)\lor(x\in B)\bigr)\\ &\Longleftrightarrow \lnot(x\in A)\land\lnot(x\in B)\\ &\Longleftrightarrow (x\in A^c)\land(x\in B^c)\\ &\Longleftrightarrow x\in A^c\cap B^c. \end{aligned}\] したがって定理6.3(3)から\((A\cup B)^c=A^c\cap B^c\)である.同様に, \[\begin{aligned} x\in(A\cap B)^c &\Longleftrightarrow \lnot\bigl((x\in A)\land(x\in B)\bigr)\\ &\Longleftrightarrow \lnot(x\in A)\lor\lnot(x\in B)\\ &\Longleftrightarrow x\in A^c\cup B^c \end{aligned}\] であるから,第2の等式も成り立つ.

系 6.22(差集合のド・モルガン型公式)

全体集合\(U\)の部分集合\(A,B,C\)について, \[(A\cup B)\setminus C=(A\setminus C)\cup(B\setminus C),\] \[(A\cap B)\setminus C=(A\setminus C)\cap(B\setminus C)\] が成り立つ.

系 6.22 の証明

命題6.18より,任意の集合\(D\subset U\)について\(D\setminus C=D\cap C^c\)である.したがって分配法則を用いると \[(A\cup B)\setminus C=(A\cup B)\cap C^c=(A\cap C^c)\cup(B\cap C^c) =(A\setminus C)\cup(B\setminus C)\] を得る.第2の等式も同様に, \[(A\cap B)\setminus C=(A\cap B)\cap C^c =(A\cap C^c)\cap(B\cap C^c) =(A\setminus C)\cap(B\setminus C)\] である.