対象読者
- タイトルの件について納得できない方
- 高校数学の「論理と集合」を少しでもかじったことがある方
結論
タイトルの件は数学の定義を普通に追えば証明できる。本来は単純明快な話なのだが、ネット上には初学者を惑わすようないい加減な議論が多々見られる。
この証明に納得するためポイントは、数学の「ならば」と日常会話の「ならば」の違いを理解することにあるが、本記事ではこれを棚上げして、証明を示すにとどめる。
まずは、ネット上の議論をまとめる。その後、定義を確認し、証明を行う。
ネット上で見られる意見(参考※1)
「なぜ空集合が任意の集合に含まれるのか」について、ネット上のQ&Aで以下のような意見があった。
- 便宜上、そう決めれば都合がいいから
- 対偶で証明すればおk。
- 真理値表を使わずに理解したい。
それぞれに対して、以下のように思う。
- 誤りである。定義を追えば証明できる。余分な約束事など持ち出す必要はないし、有害ですらある。こういう考え方を「オッカムの剃刀」という。
- 対偶を使ってもいいが、回りくどいだけだ。
- 真理値表は避けて通れない。真理値表に当てはめただけ、という感じがモヤモヤに繋がったのだと思う。このモヤモヤは、数学の「ならば」と日常会話の「ならば」の違いを押さえることで解消できる。
以上、ネット上の意見をまとめた。以降、正々堂々と証明する準備に入る。
空集合の定義
空集合とは、要素を持たない空の集合であり、\(\phi\)と表す。
つまり、あらゆる要素\(x\)は空集合\(\phi\)には属さない。記号で書くと、
$$x \notin \phi$$
となる。ちょっと言い換えると次のようになる。
$$ x \in \phi は常に偽 \tag{1}$$
部分集合、含むの定義
集合\(A\)が集合\(B\)に含まれることは、\(A \subset B\)と表す。このとき、「\(A\)は\(B\)の部分集合である」と言う。要素\(x\)は\(A\)に属する“ならば”、\(B\)にも属する、という意味だ。数式で書き下すと以下になる。
\begin{eqnarray} &&A \subset B \\ \Leftrightarrow &&\forall x, x \in A \Rightarrow x \in B \\ \end{eqnarray}「\(\Leftrightarrow\)」は両辺とも同じ内容であることを意味する(同値という)。ここでは「含む」の定義を書くために使用した。
「\(\forall\)」は全称量化子といい、「全て」または「任意の」という意味だ。Allの”A”を逆さにしてできた記号だ。
「\(\Rightarrow\)」は「ならば」の数学・論理学での記号だ。記号として定義してある以上、日常会話のようにフワッとしたものではなく、四則演算のように厳密に定義されている。
「空集合が全ての集合に含まれる」の厳密な表現
あらゆる集合\(A\)について(\(A=\phi\)の場合でさえ)、
\begin{eqnarray*} &&\phi \subset A \\ \Leftrightarrow &&\forall x, x \in \phi \Rightarrow x \in A \tag{2} \end{eqnarray*}が常に成り立つのはなぜか問うことが本記事の目的だった。これを証明するためには、数学の「ならば」を押さえる必要がある。
数学の「ならば」の定義
数学における「ならば\(\Rightarrow\)」は、2つの真理値\(P\)、\(Q\)の入力に対して、1つの真理値を出力する2項演算子だ。足し算が2つの数値を受け取って、1つの数値を返すのと同じ感じだ。
\(P\)と\(Q\)を「命題」とする。命題とは、真か偽かのいずれかとして判断できる文のことだ。
\(\{1,2,\dots\}\)を自然数というのと同じで、\(\{真、偽\}\)を「真理値」という。
真理値は2通りある。よって、\(P\)と\(Q\)の演算の結果は2×2=4通りある。以下に「\(\Rightarrow\)」の入出力の対応表をまとめる(真理値表という)。
\(P\) | \(Q\) | \(P \Rightarrow Q\) | |
① | 真 | 真 | 真 |
② | 真 | 偽 | 偽 |
③ | 偽 | 真 | 真 |
④ | 偽 | 偽 | 真 |
これが数学における「ならば」の定義だ。
定石通りの証明
本記事の問題(式2)を表1に当てはめると、
- \(P\)が\(x \in \phi\)
- \(Q\)が\(x \in A\)
に対応する。「\(\forall\)」はどこにいった?って感じだが、無視しておkだ(補足)。
空集合の定義(式1)より、\(P\)は常に偽となる。つまり、この真理値表の③と④のみに着目すればよい。このとき、\(Q\)の真偽に関係なく、\(P \Rightarrow Q\)は真となる。
よって、本記事の問い(式2)は常に真、つまり、「空集合はあらゆる集合の部分集合である」は正しい。
例えば、\(A = \phi\)のとき、\(Q\)は偽となる。しかし、\(Q\)の真理値は何であれ、式2は真となって成り立つ。
故に、「あらゆる集合」には空集合も適用できることが分かる。空集合は空集合を含むのだ。これは直観的には納得できないが、迷うことはない。定義を追うだけだ。
アレンジ版の証明
いきなり「ならば」の真理値表を持ち出されて、「はい、証明完了♪」なんて言われても納得できねえよ!
ということで、定石通りの証明にアレンジを加える。
上記の証明が納得しがたい理由は、表1がただの真理値の羅列にしか見えないからだ。しかし、「ならば\(\Rightarrow\)」は日常会話の「ならば」の本質を抜き出すことで定義されたものだ。その詳細は棚上げするが、日常会話に色んな言い回しがあるのと同様に、「ならば\(\Rightarrow\)」も別の表現が可能であることを以下で確認する。その確認を通して、表1は無味乾燥した記号の羅列ではなく、日常会話の「ならば」が潜んでいることを感じてもらいたい。
「ならば」の別表現
日本語の「ならば」の言い換えを考える。
以下の文A, Bは同じ意味を持つので、互いに言い換えることができそうだ。
- 「テストの点数が良ければ、ゲームを買ってあげる」
- 「テストの点数が良いのに、ゲームは買ってあげない、ということはない」
ここで、
- \(P\)を「テストの点数が良い」
- \(Q\)を「ゲームを買ってあげる」
とおき、AとBを記号で表し直すと、
- \(P \Rightarrow Q\)
- \(\lnot (P \land \lnot Q)\)
と書ける。Bの「のに」が「かつ(\(\land\))」に対応しているのがちょっと分かりにくいかもしれない。しかし、Bは
- 「テストの点が良い状況」と「ゲームを買ってもらえない状況」が”同時”には起こりえない。
とも読み替えられる。”同時に”と「かつ」は同義なので、Bの記号化は妥当だろう。「かつ」は、「のに」、「にも関わらず」のように色んな言い回しが考えられる。
\(P\) | \(Q\) | \(P \land Q\) | |
① | 真 | 真 | 真 |
② | 真 | 偽 | 偽 |
③ | 偽 | 真 | 偽 |
④ | 偽 | 偽 | 偽 |
「\(\lnot\)」は否定を表す。真を偽に、偽を真に変換する。-1を掛けると符号が逆転することに似ている。
\(P\) | \(\lnot P\) | |
① | 真 | 偽 |
② | 偽 | 真 |
表2と表3を参考にし、B(\(\lnot (P \land \lnot Q)\))の真理値表を作成する(表4)。
\(P\) | \(Q\) | \(\lnot Q\) | \(P \land \lnot Q\) | \(\lnot(P \land \lnot Q)\) | \(P \Rightarrow Q\) |
真 | 真 | 偽 | 偽 | 真 | 真 |
真 | 偽 | 真 | 真 | 偽 | 偽 |
偽 | 真 | 偽 | 偽 | 真 | 真 |
偽 | 偽 | 真 | 偽 | 真 | 真 |
赤色の部分は一致していることが分かる。つまり、日常会話の感覚での言い換えが、数学上で通用したのだ。「ならば」の真理値は適当な羅列ではなく、日常通りの語感が表現されている。
証明
以上の文A,Bの言い換えを用いると、本記事の問題(式2)は以下のように変形できる。
\begin{eqnarray*} &&\forall x, x \in \phi \Rightarrow x \in A \\ \Leftrightarrow && \forall x, \lnot(x \in \phi \land x \notin A) \tag{3} \end{eqnarray*}命題(式3)の左辺\(x \in \phi\)は空集合の定義(式1)より、常に偽である。
\(P \land Q\)は片方が偽の時、もう片方の真偽を問わず、偽となる(表2)。常に偽である命題が否定されたものが命題(式3)である。よって、命題(式3)は常に真。
補足: 全称量化子による述語の束縛
実は、\(x \in X\)のような文は述語と呼ばれる。この文は「\(x\)は\(X\)に属する」というように、「主語+述語」、という構造で読める。\(x\)は主語に対応する。その真偽は\(x\)に何を代入するかで変わってくる。つまり、主語を確定しない限り、述語の真偽は確定しないので、述語は命題ではない。
しかし、主語を確定せずに述語の真偽を決定する道具がある。それが「任意の」という意味の全称量化子だ。全ての具体的な値(主語)の代入を一括で評価して、述語の真偽を確定することが「全称量化子」の作用だ。
では、一括で代入するにはどうすれば良いのだろうか。前提の一般的性質から、結論の一般的性質が導ければ、一括の代入は達成されたと言えるだろう。
例えば、「任意の自然数において、4の倍数(集合\(F\))は2の倍数(\(集合T\))に含まれる」という文を考える。「4は2の倍数、8も2の倍数、…」とひとつずつチェックせずとも、「前提を満たすようなテキトーな値は結論の性質を満たす」ことを示せばよい。
- 前提を満たす(任意の)値を\(n \in F\)とおく。
- すると、その性質より、\( m \in 自然数, n = 4m\)と言える
- すると、\(n = 2(2m)\)と言える。
- よって、\(n\)は2の倍数となり、\(n \in T\)
という感じで、まずは前提の性質から議論すればよい。よって、\(\phi \subset A\)も、まず、
- \(x \in \phi\)とおく
参考
- OKWAVE「空集合はすべての集合の部分集合である」の説明
- 論理学入門 [三浦 俊彦]
コメント