対象読者
- タイトルの件について納得できない方
- 約束事として納得できない方
結論
ネット上にはこの件に関する誤った意見が散見される。 しかし、これは定義を普通に追えば証明できる。
ただし、その形式的な証明に納得するためには 数学と日常会話の「ならば」の違いを理解する必要がある。 その詳細は他記事に譲る。
本記事では、ネット上の議論をまとめた後に定義に沿って証明する。 また、証明の別表現を補足し、数学の論理記号がただの空虚な形式ではないことを示す。
ネット上で見られる意見(参考※1)
「なぜ空集合が任意の集合に含まれるのか」について、ネット上のQ&Aで以下のような意見があった。
- そう決めれば都合がいいから
- 対偶で証明すればおk。
- 真理値表を使わずに理解したい。
それぞれに対して、以下のように思う。
- 定義を追えば証明できる。余分な約束事など持ち出す必要はない
- 対偶を使ってもいいが回りくどいだけ
- 真理値表は避けて通れない。真理値表がただの羅列に見えるのががモヤモヤに繋がったのだと思う。 これは、数学と日常会話の「ならば」の違いを押さえることで解消できる
ということで、正々堂々と証明するために定義を確認する。
数学の「ならば」の定義
数学における「ならば \(\Rightarrow\)」は2つの真理値 \(P\)、\(Q\) の入力に対して、 1つの真理値を出力する2項演算子だ。
\(P\) と \(Q\) を「命題」とする。 命題とは真か偽かのいずれかとして判断できる文のことだ。
\({1, 2, \dots}\) を自然数というのと同じで、真や偽を「真理値」という。
真理値は2通りある。 よって、\(P\) と \(Q\) の演算は \(2 \times 2 = 4\) 通りある。 以下に \(\Rightarrow\) の入出力の対応表をまとめる。これを真理値表という。
| \(P\) | \(Q\) | \(P \Rightarrow Q\) | |
|---|---|---|---|
| ① | 真 | 真 | 真 |
| ② | 真 | 偽 | 偽 |
| ③ | 偽 | 真 | 真 |
| ④ | 偽 | 偽 | 真 |
これが数学における「ならば」の定義だ。
空集合の定義
空集合とは、要素を持たない空の集合であり、\(\phi\)と表す。
つまり、あらゆる要素\(x\)は空集合\(\phi\)には属さない。記号で書くと、
$$x \notin \phi$$
こうとも書ける。
$$ x \in \phi は常に偽 \tag{1}$$
部分集合、含むの定義
集合\(A\)が集合\(B\)に含まれることは、\(A \subset B\)と表す。 「\(A\)は\(B\)の部分集合である」と読んだりする。
これは「あらゆる要素\(x\)は\(A\)に属する ならば \(B\)にも属する」という意味であり、数式で以下のように書く。
$$ \forall x, x \in A \Rightarrow x \in B $$
「\(\forall\)」は全称量化子という。Allの"A"を逆さにしてできた記号であり、「全て」や「任意の」という意味だ。
「空集合が全ての集合に含まれる」の厳密な表現
さて、定義が出揃った。
あらゆる集合\(A\)について(\(A=\phi\)の場合でさえ)、
$$ \emptyset \subset A $$
つまり、
$$ \forall x, x \in \emptyset \Rightarrow x \in A \tag{2} $$
が常に成り立つのはなぜか問うことが本記事の目的だった。 では、式2が真であることを示す。
定石通りの証明
本記事の問い(式2)を「ならば」の真理値表(表1)に当てはめると、
- \(P\)は \(x \in \phi\)
- \(Q\)は \(x \in A\)
となる。
「\(\forall\)」はどこにいった?って感じだが、無視しておkだ(補足)。
空集合の定義(式1)より、\(P\)は常に偽である。つまり、表1の③と④の状況に絞られる。 このとき、\(Q\)の真偽に関係なく、\(P \Rightarrow Q\)は真だと分かる。
\(A = \phi\) のとき、\(Q\)は偽となる。表1の④の状況である。このときでも式2は真。 空集合は空集合をも含む。
よって、空集合は「あらゆる集合」に含まれる。証明終わり。
これは直観的には納得できないかもしれないが、迷うことはない。定義を追うだけだ。
アレンジ版の証明
いきなり「ならば」の真理値表を持ち出されて、「はい、証明完了♪」なんて言われても納得できねえよ!
ということで、定石通りの証明にアレンジを加える。
上記の証明が納得しがたい理由は、表1がただの真理値の羅列にしか見えないからだ。 しかし、「ならば\(\Rightarrow\)」は日常語の「ならば」の本質を抜き出すことで定義されたものだ。
詳細は棚上げするが、日常会話に色んな言い回しがあるのと同様に、 「ならば\(\Rightarrow\)」も別の表現が可能であることを以下で確認する。
その確認を通して、表1は無味乾燥した記号の羅列ではなく、日常会話の「ならば」が潜んでいることを感じてもらいたい。
「ならば」の別表現
日本語の「ならば」の言い換えを考える。
以下の文A, Bは同じ意味を持つので、互いに言い換えることができそうだ。
- 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)は以下のように変形できる。
$$ \forall x, \lnot(x \in \emptyset \land x \notin A) \tag{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\) とおく。
- すると、その性質より、\(n = 4m (m \in 自然数)\) と言える
- すると、\(n = 2(2m)\) と言える。
- よって、\(n\) は2の倍数となり、\(n \in T\)
という感じで、まずは前提を満たす主語を置けばよい。
よって、\(\phi \subset A\)も、まず、
- \(x \in \phi\)とおく
というように議論を始めればよかったのだ。
参考
- OKWAVE「空集合はすべての集合の部分集合である」の説明
- 論理学入門 [三浦 俊彦]