どうも、木村(@kimu3_slime)です。
今回は、集合論における補集合、差集合とはどういうものか、例や性質、証明などの扱い方を紹介します。
補集合、差集合の例、定義
例えば、\(X=\{1,2,3,4,5\}\)という有限集合と、その部分集合\(A=\{1,3,5\}\)を考えましょう。
ここで\(A\)の補集合(complement set)とは、\(A\)の要素でない\(X\)の要素からなる集合のことです。
\[ \begin{aligned}A^c := \{x \in X \mid x \not \in A\}\end{aligned} \]
上の具体例で言えば、\(X\)の要素であるが\(A\)に属していないものは\(2,4\)なので、\(A^ c = \{2,4\}\)ですね。補集合は\(\overline {A}\)と書くこともあります。
\(A\)の補集合を考えるときに、ベースとしている\(A\)を含む集合\(X\)のことを、全体集合、普遍集合(universal set)と呼びます。
何を全体集合と考えているかは、\(A\)によってただ一つに定まるわけではなく、文脈によります。
例えば、\(X=\mathbb{R} \)と実数の集合を考えて、\(B=\{x \in \mathbb{R} \mid 0 \leq x \leq 5\}\)という区間を考えましょう。\(X\)を全体集合とするならば、\(A^c = \{x\in \mathbb{R} \mid x \neq 1,3,5\}\)です。\(B\)を全体集合とするならば、\(A^c =\{x \in \mathbb{R} \mid 0 \leq x \leq 5 , x \neq 1,3,5\}\)です。
このように、単に補集合といって\(A^c\)と書いても、「どこにおける」補集合なのかに気をつけないと意味を間違って取ってしまう可能性があるわけです。
(余談ですが、補集合に限らず、集合を使った議論全般で、何が議論領域:スコープなのか、変数\(x\)が現れたらそれはどんな集合の要素なのか、と考えるのは大事です。例えば\(\forall \varepsilon >0\)という記法があれば、\(\varepsilon\)は暗黙に実数\(\mathbb{R}\)の要素と仮定されています。)
どこにおける補集合なのかを意識しやすい記法として、差集合があります。
\[ \begin{aligned}B \setminus A := \{x\in B \mid x \not \in A\}\end{aligned} \]
と定義し、これを\(B\)から\(A\)を引いた差集合(set difference)、相対補集合(relative complement)と呼びます。全体集合を\(B\)とする\(A\)の補集合、\(B\)における\(A\)の補集合と言って良いでしょう。差集合は\(B-A\)と書くこともあります。
\(B\)が全体集合と考えるときは、この集合を単に\(A^c :=B \setminus A\)と呼ぶわけです。
一方の集合\(B\)に含まれていて、かつもう一方\(A\)には含まれていない要素の集合、差集合というのは広い概念です。その特別な場合として、含まれていると考える集合\(B\)を全体集合と考える場合には、それを補集合と呼びます。
僕はこのことを初めて知ったとき、「ならば何でも差集合として書いておけば誤解がないのではないか」と思いましたが、\(B \setminus A\)と書くのは若干面倒くさいときがあります。どこで補集合を考えるのかは決まっていて明らかなときは、単に補集合を取る操作を\(A ^c\)と書きたいです。要は厳密さと簡単さによって、差集合と補集合の記号は使い分けられているのでしょう。
差集合の記法は、全体集合から特定の点を除外した集合を考えるときに便利です。
例えば、\(f(x)= \frac{1}{x}\)という関数は、\(x \neq 0\)で定義されたものとして考えます。その定義域を\(\{x\in \mathbb{R} \mid x \neq 0\}\)や\((-\infty,0)\cup (0,\infty)\)と書くとややまだるっこしいです。そこで、\(\mathbb{R} \setminus \{0\}\)と書くと簡単ですね。
ドーナツのような形、円盤の中心から小さな円盤を取り除いた集合:アニュラスを考えるのにも差集合の考え方は使えます。中心が\(a\)半径\(R\)の円盤\(B(a,R)\)から、小さな半径\(r\)の円盤\(B(a,r)\)を取り除いた集合\(B(a,R) \setminus B(a,r)\)を考えれば良いわけです。ある点の近くを含むがその点そのものを含まない集合は、除外近傍と呼ばれるもので、解析学全般でしばしば見かけます。
幾何学では射影平面というものを考えますが、そこでベースになっているのは原点を除いた平面や空間の集合で、\(\mathbb{R}^2 \setminus \{0\}\)や\(\mathbb{R}^3 \setminus \{0\}\)といった記法で書かれます。
性質
補集合、差集合の性質をいくつか紹介しましょう。
ド・モルガンの法則
\(X\)を全体集合、\(A,B\)をその部分集合とするとき
\[ \begin{aligned}(A\cap B)^c = A^c \cup B^ c\end{aligned} \]
\[ \begin{aligned}(A\cup B)^c = A^c \cap B^ c\end{aligned} \]
これは高校数学でも扱うものなので、証明は少しだけ。
\(x\in (A\cap B)^c\)を任意のものとします。補集合の定義から、\(x\not \in A \cap B\)です。\(A\cap B\)の要素でないということは、\(x\not \in A \)または\(x\not \in B \)が成立することと同値です。補集合の定義より、\(A^c \cup B^ c\)となります。この過程は逆にも辿ることができます。もう一方の証明も同様です。
証明の根本的な部分には、論理に関するド・モルガンの法則\(\lnot (p \land q )= \lnot p \lor \lnot q\)があります。「\(p,q\)が両方正しいというわけではない=\(p,q\)いずれかが間違っている」は、直観的に考えても納得できるとは思いますが、真理値をチェックして証明できます。集合に関するド・モルガンの法則は、そこから導かれているわけです。
参考:論理に関するド・モルガンの法則を真偽値の計算(プログラミング)で確かめる
相補性の規則
補集合が補う集合と呼ばれるゆえんが、この相補性の規則(complementary law)です。光と陰の関係です。
\(X\)を全体集合、\(A\)をその部分集合とする。
\[ \begin{aligned}A\cup A^c = X\end{aligned} \]
\[ \begin{aligned}A \cap A^c = \emptyset\end{aligned} \]
感覚的には、\(X\)という全体集合があり、その部分集合として\(A\)があるなら、\(A^c\)は\(X\)の\(A\)でない部分すべてを補っている、という主張です。ほぼ明らかですが、証明しましょう。
\(x\in A\cup A^c \)とします。場合分けします。\(x\in A\)のときは、\(A \subset X\)より\(x \in X\)です。\(x \not \in A\)のときは、\(x \in A^c\)で、補集合の定義より\(x \in X\)です。これで\(A\cup A^c \subset X\)が言えました。逆に、\(x \in X\)とすると、\(x \in A\)か\(x \not \in A\)のいずれかが成り立ちます(排中律)。よって\(x\in A\cup A^c \)で、結論が言えました。
もう一方も示しましょう。\(x \in A \cap A^c\)を満たす\(x\)が存在したとすると、\(x \in A\)と\(x \not \in A\)の両方が成り立つことになります。一方、それらは一方しか成立しない(排中律)ので、矛盾を導きました。よってそのような\(x\)は存在せず、\(A \cap A^c = \emptyset\)です。
一般に、集合\(A,B\)が共通部分を持たないとき\(A\cap B = X\)、その和集合\(A \cup B\)を(集合的)直和(direct sum)、非交和(disjoint union)と呼びます。その前提を込めた和集合を\(A+B\)と表記することがあります。
相補性の規則からは、\(A\)と\(A^c\)は必ず共通部分を持たず(互いに素)、直和の関係にあることがすぐにわかります。測度論の加法性では、このような直和の形は計算に便利でよく使うものです。
参考:高校数学から始める公理的確率論:標本空間、事象、確率とは
相補性の規則において、特に\(A\)が全体集合\(X\)または空集合\(\varnothing\)のケースを考えると
\[ \begin{aligned}X^c = \varnothing\end{aligned} \]
\[ \begin{aligned}\varnothing^c = X\end{aligned} \]
となっています。差集合の言葉で書けば、\(X \setminus X = \varnothing\)、\(X \setminus \varnothing =X\)です。全体集合から全体集合を除けば空集合で、全体集合から何も除かない(空集合を除く)ならば全体集合ということ。
言葉にすれば当たり前のようですが(実際当たり前)、大事な性質です。
例えば、開集合系による位相の定義や、測度論における加法族を考えるときに、この性質は基本的なものとして採用されています。\(X\)を開集合と呼び、開集合の補集合を補集合と呼ぶことにすれば、必然的に\(\varnothing\)も開集合となります。加法族についても、\(\mathcal {F}\)という\(X\)の集合族があって、\(\varnothing \in \mathcal{F}\)で、\(\mathcal {F}\)が補集合を取るという操作について閉じているとすれば、必然的に\(X \in \mathcal {F}\)です。
要素の個数
最後に、有限集合の要素の個数と差集合について触れておきましょう。
有限集合\(A\)に対し、その要素の個数を\(\mathrm{card}(A)\)と表すことにします。\(A,B\)を有限集合とし、\(A \subset B\)とするとき、差集合の要素の個数は
\[ \begin{aligned}\mathrm{card}(B\setminus A) = \mathrm{card}(B) – \mathrm{card}(A)\end{aligned} \]
となります。
冒頭の例を持ってきて、\(X=\{1,2,3,4,5\}\)、\(A=\{1,3,5\}\)について考えましょう。差集合は\(X \setminus A= \{2,4\}\)です。したがって、\(\mathrm{card}(B\setminus A) =2\)、\(\mathrm{card}(X) – \mathrm{card}(A)=5 -3 =2\)と一致しています。
証明は概略を示しましょう。示したい式は、移項すれば\(\mathrm{card}(A) +\mathrm{card}(B\setminus A) = \mathrm{card}(B) \)です。\(x\)を\(B\)の要素とすれば、\(A\subset B\)より、\(x \in A\)または\(x \in B\setminus A\)のいずれか一方にのみ属します。つまり、\(B\)の要素は「\(A\)の要素か\(B\setminus A\)の要素」に一対一に対応するので、結論が言えました。
要素数が引き算になるという議論は、差集合を「差」と呼んだり、\(B-A\)と書くのにもっともらしい理由を与えてくれますね。
ただ、僕個人としては\(B-A\)という記法はあまりおすすめしません。抽象代数学で\(+,\cdot\)といった集合の上で演算を考えるようになると、和の逆演算として\(-\)が意味を持つからです。差集合という概念を考える分には演算は関係ないので、紛らわしくないバックスラッシュ\(B \setminus A\)を使っています。
また、要素数が引き算で計算できるのは、\(A,B\)が有限集合という前提があるからに過ぎないことに注意しましょう。例えば、整数の集合から偶数の集合を引けば、それぞれが可算無限集合で、\(\aleph _0 = \aleph _0 -\aleph _0\)という式が出来上がり、通常の数のようには扱えません。(そのため、無限濃度の集合では、差を考えずに、計算の整合性が取れやすい和のみ考えることが多いかと思います)
詳しくは:無限集合の濃度とは? 写像の全単射、可算無限、カントールの対角線論法
木村すらいむ(@kimu3_slime)でした。ではでは。
岩波書店 (2018-11-07T00:00:01Z)
¥4,248 (中古品)
日本評論社 (2008-12-10T00:00:00.000Z)
¥2,717
こちらもおすすめ
論理に関するド・モルガンの法則を真偽値の計算(プログラミング)で確かめる
ユークリッド空間における開集合、閉集合の性質:実数の区間を例に
無限集合の濃度とは? 写像の全単射、可算無限、カントールの対角線論法