※小説ではない※専門書 要約資料集 為替(換算)3.9万円でもらう 紐解集生成 専門 初入門 資料 作:{作者名}
> 学問の宇宙・形式科学の恒星群 数学冠・派生第1巻。ガイド役: Fable 5 監修 / Sonnet 5 執筆(脚本班)
> トーン規約: GAKUMON_UNIVERSE.md準拠。専門用語は初出で必ず説明する。
> 重複回避の方針: →BOOK-0002『算術』第1冊・→BOOK-0025『幾何学』第1冊は、数や図形という「対象そのもの」を主役に据えてきた。本冊(集合と論理)はそれらとは視点が異なる。数えられるもの・測れるものを研究するのではなく、**「ものの集まりをどう区切るか」と「主張が正しいかどうかをどう判定するか」**という、あらゆる数学の土台を支える"文法"そのものを主役に据える。算術が惑星の材料を、幾何学が惑星の形を扱うなら、本冊は惑星と惑星をどう区分けし、どう関係づけるかという、宇宙の測量規則そのものを扱う。
> 接続先: →BOOK-0002『算術』第1冊(整数の集まりを扱う場面で、集合の記法が自然に顔を出す)、→BOOK-0025『幾何学』第1冊(点の集合として図形を捉える視点は、集合論と幾何学が地続きであることを示す)、→BOOK-0067『代数』第1巻(方程式の「解の集合」という発想は、本冊の集合の考え方をそのまま流用する)、→BOOK-0066『アルゴリズムとデータ構造』第1巻(条件分岐やブール型変数は、本冊で扱う論理演算がプログラムの世界に実装されたものである)、→BOOK-0074『数論』第1巻(素数全体・偶数全体のような「無限に続く整数の集まり」を考える場面は、本冊の集合論の応用そのものである)、→DIC-0001『数学・算術 用語辞典』(本冊で扱う用語の多くはこの辞典にも相互参照が可能)。
> 水準: 一〜四(基礎と歴史・現在のフロンティアの手前まで)。カントールの対角線論法による無限集合の濃度比較・公理的集合論(ZFC)の詳細は、後半の巻(水準五以降)で扱う「後半への窓」として、本冊では概略のみ紹介する。
---
# BOOK-0075 集合と論理 — 境界線を引く技術、判定を下す技術(数学派生 第1巻)
> 学問の宇宙・形式科学の恒星群 数学冠・派生第1巻。ガイド役: Fable 5 監修 / Sonnet 5 執筆(脚本班)
> トーン規約: GAKUMON_UNIVERSE.md準拠。専門用語は初出で必ず説明する。
> 重複回避の方針: →BOOK-0002『算術』第1冊・→BOOK-0025『幾何学』第1冊は、数や図形という「対象そのもの」を主役に据えてきた。本冊(集合と論理)はそれらとは視点が異なる。数えられるもの・測れるものを研究するのではなく、**「ものの集まりをどう区切るか」と「主張が正しいかどうかをどう判定するか」**という、あらゆる数学の土台を支える"文法"そのものを主役に据える。算術が惑星の材料を、幾何学が惑星の形を扱うなら、本冊は惑星と惑星をどう区分けし、どう関係づけるかという、宇宙の測量規則そのものを扱う。
> 接続先: →BOOK-0002『算術』第1冊(整数の集まりを扱う場面で、集合の記法が自然に顔を出す)、→BOOK-0025『幾何学』第1冊(点の集合として図形を捉える視点は、集合論と幾何学が地続きであることを示す)、→BOOK-0067『代数』第1巻(方程式の「解の集合」という発想は、本冊の集合の考え方をそのまま流用する)、→BOOK-0066『アルゴリズムとデータ構造』第1巻(条件分岐やブール型変数は、本冊で扱う論理演算がプログラムの世界に実装されたものである)、→BOOK-0074『数論』第1巻(素数全体・偶数全体のような「無限に続く整数の集まり」を考える場面は、本冊の集合論の応用そのものである)、→DIC-0001『数学・算術 用語辞典』(本冊で扱う用語の多くはこの辞典にも相互参照が可能)。
> 水準: 一〜四(基礎と歴史・現在のフロンティアの手前まで)。カントールの対角線論法による無限集合の濃度比較・公理的集合論(ZFC)の詳細は、後半の巻(水準五以降)で扱う「後半への窓」として、本冊では概略のみ紹介する。
---
## 入口の物語 — 宇宙に境界線を引く仕事
学問の宇宙を旅していると、ある素朴な疑問にぶつかる。無数の恒星や惑星がひしめくこの宇宙で、私たちはどうやって「これはここまで」「あれはあそこから」という境界線を引いているのだろうか。惑星探査船が「生命が存在しうる惑星」を探すとき、まず必要になるのは、宇宙に散らばる無数の天体を「候補になる集まり」と「候補にならない集まり」へと仕分ける作業だ。この**仕分けそのものを数学の対象にする**という発想から生まれたのが、本冊の主役である**集合(しゅうごう、水準一: ものの集まりを、範囲がはっきりと定まる形でひとまとめにしたもの)**である。
そしてもう一つ、探査船には欠かせない装備がある。「この惑星には水がある」「この恒星は寿命が近い」といった観測結果を、正しいか正しくないか、白か黒かで判定する仕組みだ。この判定の技術を数学的に磨き上げたものが、本冊のもう一人の主役、**論理(ろんり、水準一: 主張が正しいかどうかを、根拠にもとづいて筋道立てて判定する考え方の体系)**である。
集合と論理は、一見すると別々の道具に見えるかもしれない。しかし本冊を読み進めると、この二つが実は**同じ構造を二つの言葉で語ったもの**であることが見えてくる。集合の「かつ・または・でない」という演算は、論理の「かつ・または・でない」という演算と、驚くほど正確に対応している。これは偶然の一致ではない。境界線を引く技術(集合)と、判定を下す技術(論理)は、宇宙を理解可能な形に整理するという、同じ根っこから生まれた双子の学問なのである。
```
集合: ものの集まりに境界線を引く(この惑星は「候補」の集まりに入るか)
論理: 主張に真偽の判定を下す(この観測結果は「真」か「偽」か)
→ 実は同じ文法を、対象(もの)と主張(ことば)という別の材料で書いている
```
### なぜ集合と論理を最初に学ぶ価値があるのか
数学の他の分野——算術、幾何学、代数、微分積分——は、いずれも「何を対象として扱うか」がはっきりしている。数を扱うか、図形を扱うか、方程式を扱うか、という具合だ。しかし集合と論理は違う。これらは特定の対象を持たず、**あらゆる数学的な主張を組み立てるための、共通の骨格そのもの**を提供する。方程式を解くときも、図形の性質を証明するときも、「かつ」「または」「ならば」といった論理の接続詞と、「〜の集合」という集合の言葉を、私たちは無意識に使っている。
本冊は数学派生シリーズの中でも、他のどの巻よりも「材料」に依存しない、もっとも抽象的で、もっとも基礎的な巻である。しかしこの抽象性こそが強みだ。集合と論理という文法を一度身につければ、算術・幾何学・代数・微分積分・数論のすべての巻で使われている暗黙の作法が、はっきりと目に見えるようになる。
---
## 第一章: 集合とは何か — ものの集まりに境界線を引く(水準一)
### 集合の定義と要素
**集合(しゅうごう、水準一: ものの集まりを、範囲がはっきりと定まる形でひとまとめにしたもの)**とは、簡単に言えば「これはこの中に入る」「これはこの中に入らない」がはっきりと判定できる、ものの集まりのことである。たとえば「1から5までの整数の集まり」は集合である。`3`はこの集まりに入るし、`7`は入らない。この判定に迷いが生じない、というのが集合であるための条件だ。
集合を作っている一つ一つのものを、**要素(ようそ、水準一: 集合を構成する、一つ一つのもの)**と呼ぶ。集合`A`が要素`x`を含んでいることを`x ∈ A`(`x`は`A`の要素である)と書き、含んでいないことを`x ∉ A`と書く。集合はしばしば、要素を波括弧`{}`で囲んで書き表す。たとえば「1から5までの整数の集合」は`A = {1, 2, 3, 4, 5}`と書ける。
なぜ「範囲がはっきりと定まる」ことが重要なのか。たとえば「背の高い人の集まり」は集合とは呼べない。「背が高い」の基準が人によって曖昧だからだ。しかし「身長180cm以上の人の集まり」であれば、ある人がこの中に入るかどうかは誰が判定しても一致する。集合とは、この**判定の客観性**を数学の土台に据えるための道具である。
### 部分集合という入れ子構造
ある集合の要素が、すべてもう一つの集合の要素にもなっているとき、前者を後者の**部分集合(ぶぶんしゅうごう、水準一: ある集合の要素がすべて、もう一つの集合の要素にもなっている場合の、前者の集合)**と呼ぶ。`A`が`B`の部分集合であることを`A ⊆ B`と書く。
たとえば`A = {1, 2}`、`B = {1, 2, 3}`とすると、`A`の要素`1`も`2`もすべて`B`に含まれているので、`A ⊆ B`である。惑星探査の比喩で言えば、「生命が存在しうる惑星の集合」は「太陽系に属する惑星の集合」よりもさらに絞り込まれた、いわば入れ子構造の内側にある集まりだと考えることができる。
**部分集合の個数を数える**という問題は、集合論の基本的な検算の一つである。ある集合の要素の個数が`n`個であるとき、その部分集合(何も含まない集合や、元の集合自身も含む)の総数は`2ⁿ`個になる。
**検算1**: `3`要素からなる集合`{a, b, c}`の部分集合をすべて書き出してみよう。
```
何も含まない: {}
1要素: {a}, {b}, {c}
2要素: {a,b}, {a,c}, {b,c}
3要素: {a,b,c}
```
数え上げると`1 + 3 + 3 + 1 = 8`個である。そして`2³ = 8`。確かに一致する。この`2ⁿ`という関係は、それぞれの要素について「含む・含まない」の2択が独立に`n`回選べることに由来する(`2`を`n`回掛け合わせる、という掛け算の構造そのものである)。
何も要素を持たない集合には特別な名前がついている。**空集合(くうしゅうごう、水準一: 要素を一つも持たない集合。記号`∅`で表す)**である。空集合は、どんな集合に対しても部分集合になる、という性質を持つ(「何も含まない」という条件は、どんな集合に対しても矛盾なく成り立つためだ)。
---
## 第二章: 集合の演算 — 和・積・補集合とベン図(水準一〜二)
### 和集合と積集合
複数の集合を組み合わせる基本的な演算が二つある。**和集合(わしゅうごう、水準一: 二つの集合のどちらか一方、または両方に属する要素すべてを集めた集合。記号`∪`で表す)**と、**積集合(せきしゅうごう、水準一: 二つの集合の両方に共通して属する要素だけを集めた集合。記号`∩`で表す。共通部分とも呼ぶ)**である。
たとえば`A = {1, 2, 3}`、`B = {2, 3, 4}`という二つの集合を考えよう。
**検算2**: 積集合`A ∩ B`は、両方に共通する要素だけを集めるので`{2, 3}`となる。和集合`A ∪ B`は、どちらか一方にでも属する要素をすべて集めるので`{1, 2, 3, 4}`となる。要素の個数を数えると、`A`は3個、`B`は3個、`A ∩ B`は2個、`A ∪ B`は4個。ここで`|A| + |B| - |A ∩ B| = 3 + 3 - 2 = 4`となり、これは`|A ∪ B|`の値と一致する(`|A|`は集合`A`の要素の個数を表す記法)。これは「両方に数えた重複分を一度だけ引く」という、包除の原理と呼ばれる考え方の入り口である。
### 補集合という「外側」の発想
もう一つ重要な演算が**補集合(ほしゅうごう、水準一: ある集合に含まれない要素すべてを集めた集合。記号`¬A`や`Aᶜ`で表す)**である。ただし補集合を考えるには、あらかじめ「考える対象の全体」を決めておく必要がある。この全体を**全体集合(ぜんたいしゅうごう、水準一: 議論の対象とする、すべての要素を含む集合。しばしば`U`で表す)**と呼ぶ。
たとえば全体集合を`U = {1, 2, 3, 4, 5}`とし、`A = {1, 2, 3}`とすると、`A`の補集合`¬A`は、`U`のうち`A`に含まれない要素、つまり`{4, 5}`である。惑星探査の比喩で言えば、「候補となる惑星の集合」の補集合は、「探査対象となっているすべての惑星のうち、候補にならなかった惑星の集合」である。全体という枠組みなしに「候補にならない惑星」を語ることはできない——これが全体集合を先に決めておく理由だ。
### ベン図で目に見える形にする
集合どうしの関係を視覚的に捉える道具が**ベン図(ベンず、水準一: 集合を円で表し、円の重なりによって集合どうしの関係を視覚的に示す図。19世紀のイギリスの論理学者ジョン・ベンにちなむ)**である。二つの集合`A`、`B`の和集合・積集合・補集合は、次のような円の重なりで表現できる。
```
全体集合 U を表す大きな枠の中に、円Aと円Bが重なっている
┌─────────────U─────────────┐
│ ┌───────┐ ┌───────┐ │
│ │ A │ │ B │ │
│ │ ┌────┼─┼────┐ │ │
│ │ │ A∩B│ │ │ │ │
│ │ └────┼─┼────┘ │ │
│ └───────┘ └───────┘ │
│ (円の外側 = ¬A∩¬B) │
└────────────────────────────┘
A∪B = 両方の円をあわせた領域全体
A∩B = 円が重なる中央の領域
¬A = Aの円の外側すべて
```
この図があるだけで、和集合が「円をあわせた面積」、積集合が「円が重なる面積」に対応することが直感的に理解できる。ベン図は本冊全体を通じて、集合の演算とその後で紹介する論理の演算を橋渡しする、共通の視覚言語として何度も登場する。
---
## 第三章: 命題と論理演算 — 真偽を判定する道具(水準一〜二)
### 命題とは何か
論理の世界の出発点は**命題(めいだい、水準一: 内容が正しいか正しくないかが、客観的にはっきりと定まる主張や文)**である。「2は素数である」は命題である(正しい、すなわち真である)。「3は偶数である」も命題である(正しくない、すなわち偽である)。しかし「今日は天気がいい」は命題ではない。「いい天気」の基準が人によって異なり、客観的に真偽が定まらないからだ。
命題が正しいか正しくないかを示す値を**真理値(しんりち、水準一: 命題が真であるか偽であるかを示す値。「真」または「偽」の二値をとる)**と呼ぶ。集合の要素が「その集合に入るか入らないか」の二択で判定されたのと同じように、命題もまた「真か偽か」の二択で判定される——この対応関係こそが、本冊の中盤で明らかになる集合と論理の深いつながりの伏線である。
### かつ・または・否定という三つの基本操作
複数の命題を組み合わせる基本操作が三つある。
**論理積・かつ(ろんりせき、水準一: 二つの命題`P`と`Q`がともに真であるときだけ真となる結合。記号`∧`で表す。「PかつQ」と読む)**は、両方が真であって初めて真になる。「2は素数である、かつ、2は偶数である」は、両方とも真なので全体として真である。
**論理和・または(ろんりわ、水準一: 二つの命題`P`と`Q`の少なくとも一方が真であれば真となる結合。記号`∨`で表す。「PまたはQ」と読む)**は、どちらか一方でも真であれば真になる。「3は偶数である、または、3は素数である」は、前半は偽だが後半が真なので、全体としては真である。
**否定・でない(ひてい、水準一: ある命題`P`の真偽を反転させる操作。記号`¬`で表す。「Pでない」と読む)**は、真を偽に、偽を真にひっくり返す。「3は偶数である」の否定は「3は偶数でない」であり、元の命題が偽だったので、否定は真になる。
これらの関係を一覧できるようにした表を**真理値表(しんりちひょう、水準二: 命題の組み合わせと、それに対する論理演算の結果をすべて書き出した表)**と呼ぶ。`P`、`Q`という二つの命題について、真(`T`)・偽(`F`)のすべての組み合わせと、`P∧Q`・`P∨Q`の結果を並べると次のようになる。
```
P Q | P∧Q | P∨Q
---------|-------|------
真(T) 真(T) | 真(T) | 真(T)
真(T) 偽(F) | 偽(F) | 真(T)
偽(F) 真(T) | 偽(F) | 真(T)
偽(F) 偽(F) | 偽(F) | 偽(F)
```
この表を眺めると、`P∧Q`が真になるのは4通り中1通りだけ(両方真のとき)、`P∨Q`が偽になるのは4通り中1通りだけ(両方偽のとき)であることがわかる。「かつ」は厳しい条件、「または」は緩い条件だという直感が、この表からそのまま裏付けられる。
---
## 第四章: 全称と存在 — 「すべて」と「ある」を数式にする(水準二)
### 量化という発想
命題の中には、集合の要素すべてについて何かを主張するものと、少なくとも一つの要素について何かを主張するものがある。この違いを扱う道具が**量化(りょうか、水準二: 「すべての」や「存在する」といった言葉によって、命題が集合のどの範囲について主張しているかを明示する仕組み)**である。
**全称記号(ぜんしょうきごう、水準二: 「すべての」を意味する記号。`∀`で表す)**を使うと、「すべての整数`x`について、`x`は`x+1`より小さい」という主張は`∀x, x < x+1`と書ける。この主張は、対象となる集合のどの要素を選んでも例外なく成り立つ、という強い主張である。
**存在記号(そんざいきごう、水準二: 「存在する」「あるものが存在して」を意味する記号。`∃`で表す)**を使うと、「ある整数`x`が存在して、`x`は偶数である」という主張は`∃x, xは偶数`と書ける。こちらは対象となる集合の中に、少なくとも一つ条件を満たすものがあればよい、という緩い主張である。
### 全称と存在の否定 — ひっくり返すと相手が変わる
量化された命題を否定するときには、興味深い規則が働く。「すべての`x`について`P(x)`が成り立つ」を否定すると、「ある`x`が存在して、`P(x)`が成り立たない」になる。逆に「ある`x`が存在して`P(x)`が成り立つ」を否定すると、「すべての`x`について`P(x)`が成り立たない」になる。
```
¬(∀x, P(x)) ≡ ∃x, ¬P(x) 「全員がPを満たす」の否定は「Pを満たさない者が(少なくとも一人)いる」
¬(∃x, P(x)) ≡ ∀x, ¬P(x) 「Pを満たす者がいる」の否定は「全員がPを満たさない」
```
これは日常の直感とも一致する。「クラス全員がテストに合格した」という主張の否定は、「クラス全員が不合格だった」ではなく、「合格しなかった生徒が(少なくとも)一人はいる」である。この全称と存在の入れ替わりは、次章で扱うド・モルガンの法則と同じ構造を持つ、論理の世界のもう一つの対称性である。
---
## 第五章: 「ならば」と対偶 — 条件文の論理(水準二〜三)
### 「ならば」という結合
数学の証明でもっとも頻繁に使われる結合が**ならば・条件文(じょうけんぶん、水準二: 「PならばQ」という形の命題。`P`が真であるときに`Q`も真であることを主張する。記号`P → Q`で表す)**である。「雨が降るならば、地面が濡れる」という主張を考えよう。
条件文`P → Q`の真理値表は、直感に反する部分がある。
```
P Q | P→Q
---------|------
真(T) 真(T) | 真(T)
真(T) 偽(F) | 偽(F)
偽(F) 真(T) | 真(T)
偽(F) 偽(F) | 真(T)
```
前提`P`が偽であるとき、`P → Q`は`Q`の真偽にかかわらず真になる、という規則に驚く人は多い。これは「雨が降っていない」という状況では、「雨が降るならば地面が濡れる」という主張そのものが、地面が濡れていようがいまいが、嘘をついたことにはならない、という考え方に対応する。前提が成立しない場合、主張は「空虚に真」——検証のしようがなく、反証もできないので真として扱う、という数学の約束事である。
### 逆・裏・対偶 — 四つ子の命題
条件文`P → Q`には、関連する三つの命題がある。**逆(ぎゃく、水準二: 条件文`P→Q`の`P`と`Q`を入れ替えた`Q→P`)**、**裏(うら、水準二: 条件文`P→Q`の両方を否定した`¬P→¬Q`)**、そして**対偶(たいぐう、水準二: 条件文`P→Q`の`P`と`Q`を入れ替えたうえで両方を否定した`¬Q→¬P`)**である。
```
元の命題: P → Q 「雨が降るならば地面が濡れる」
逆: Q → P 「地面が濡れるならば雨が降る」(水やりでも濡れるので必ずしも真とは限らない)
裏: ¬P → ¬Q 「雨が降らないならば地面は濡れない」(同じく必ずしも真とは限らない)
対偶: ¬Q → ¬P 「地面が濡れていないならば雨は降っていない」(これは元の命題と常に同じ真偽)
```
ここで重要な事実は、**元の命題と対偶は、常に真偽が一致する**という点である(一方、逆や裏は、元の命題とは独立に真偽が変わりうる)。この「元の命題と対偶が同値である」という性質は、次章で扱う証明技法の中心的な土台になる。
**検算3**: 具体例で対偶の同値性を確かめよう。命題「`x`が4の倍数ならば、`x`は偶数である」(`P: xは4の倍数`、`Q: xは偶数`)を考える。この命題は真である(4の倍数は必ず2でも割り切れるため)。対偶は「`x`が偶数でないならば、`x`は4の倍数でない」となる。`x = 7`(奇数、すなわち偶数でない)を試すと、`7`は確かに4の倍数ではない。`x = 9`でも同様に、奇数であり、4の倍数でもない。逆に、もし対偶が偽になる例(偶数でないのに4の倍数である数)が一つでも見つかれば、元の命題も偽でなければならないはずだが、そのような数は存在しない。真理値表(前掲)で`¬Q→¬P`の列を作って`P→Q`の列と見比べても、両者はすべての`P`,`Q`の組み合わせで一致する。これが「対偶をとっても真偽は変わらない」ことの一般的な裏付けである。
### 背理法 — 対偶の親戚
→BOOK-0074『数論』第1巻で紹介した**背理法(はいりほう、水準二: 証明したい主張の反対を一旦正しいと仮定し、そこから矛盾を導くことで、もとの主張が正しいと結論づける論法)**は、対偶を使った証明と近い親戚関係にある。対偶による証明が「`¬Q`から`¬P`を直接導く」のに対し、背理法は「`P`かつ`¬Q`(結論の否定)を仮定し、そこから矛盾——たとえば`¬P`のような、前提と両立しない事実——を導く」という、より一般的な戦略である。実際、対偶による証明は「`¬Q`を仮定して`¬P`を導く」という意味で、背理法の特殊な一形態と見ることもできる。→BOOK-0074で見たユークリッドの「素数は無限にある」証明も、この背理法の典型例であった。
### 必要条件と十分条件
条件文`P → Q`が真であるとき、`P`を`Q`であるための**十分条件(じゅうぶんじょうけん、水準二: `P`が成り立てば、それだけで`Q`が成り立つことが保証される、という関係における`P`)**と呼び、`Q`を`P`であるための**必要条件(ひつようじょうけん、水準二: `Q`が成り立たなければ、`P`は決して成り立たない、という関係における`Q`)**と呼ぶ。
「`x`が4の倍数である」ことは、「`x`が偶数である」ための十分条件である(4の倍数であるとわかれば、それだけで偶数だと保証できる)。逆に、「`x`が偶数である」ことは、「`x`が4の倍数である」ための必要条件である(偶数でなければ、4の倍数には決してなれない。ただし偶数であるからといって、4の倍数だとは限らない——`6`は偶数だが4の倍数ではない)。両方が同時に成り立つ場合、すなわち`P → Q`と`Q → P`がどちらも真である場合には、`P`と`Q`は互いの**必要十分条件(ひつようじゅうぶんじょうけん、水準二: 二つの命題が、互いに他方であるための必要条件でもあり十分条件でもある関係。同値であるとも言う)**であるという。
---
## 第六章: 集合と論理の対応 — ド・モルガンの法則(水準二〜三)
### 二つの言葉、一つの構造
ここまで読んできた読者は、集合の演算(和集合・積集合・補集合)と、論理の演算(または・かつ・否定)が、驚くほどよく似た顔つきをしていることに気づいているかもしれない。この対応は偶然ではなく、次のように正確に対応づけられる。
```
集合の言葉 論理の言葉
───────────────────────────
和集合 (A∪B) ⇔ または (P∨Q)
積集合 (A∩B) ⇔ かつ (P∧Q)
補集合 (¬A) ⇔ 否定 (¬P)
部分集合 (A⊆B) ⇔ ならば (P→Q)
```
「`x`が`A∪B`に属する」という主張は、「`x`が`A`に属する、または`x`が`B`に属する」という命題とまったく同じ内容を述べている。集合の演算は、実は「その集合に属するかどうか」という命題についての論理演算を、要素の集まりという形で言い換えたものに過ぎない——これが集合論と論理学が双子である理由の正体である。
### ド・モルガンの法則
この対応がもっとも鮮やかに現れるのが、**ド・モルガンの法則(ドモルガンのほうそく、水準三: 「かつ」「または」と「否定」の関係を示す法則。イギリスの数学者オーガスタス・ド・モルガンにちなむ。集合では`¬(A∪B) = ¬A∩¬B`、`¬(A∩B) = ¬A∪¬B`、命題論理では`¬(P∨Q) ≡ ¬P∧¬Q`、`¬(P∧Q) ≡ ¬P∨¬Q`という形をとる)**である。
まず集合の言葉で確認しよう。「`A`または`B`のどちらでもない」ことは、「`A`でもなく、かつ`B`でもない」ことと同じである。これがベン図で見ると直感的に理解できる。
```
¬(A∪B) の領域 ¬A∩¬B の領域
(円AとBを合わせた (Aの外側 かつ Bの外側、
領域の、さらに外側) つまり両方の外側が重なる領域)
┌────U────┐ ┌────U────┐
│ ┌──┐┌──┐ │ │ ┌──┐┌──┐ │
│ │ A ││ B │ │ │ │ A ││ B │ │
│ └──┘└──┘ │ │ └──┘└──┘ │
│ ここが │ │ ここが │
│ ¬(A∪B) │ │ ¬A∩¬B │
└──────────┘ └──────────┘
↑ 両者はまったく同じ領域を指している
```
次に命題論理の言葉で、真理値表を使って検証しよう。`P`、`Q`のすべての組み合わせについて`¬(P∨Q)`と`¬P∧¬Q`を計算する。
**検算4**: ド・モルガンの法則`¬(P∨Q) ≡ ¬P∧¬Q`を真理値表で検証する。
```
P Q | P∨Q | ¬(P∨Q) | ¬P ¬Q | ¬P∧¬Q
---------|-----|--------|--------|-------
真(T) 真(T) | 真(T) | 偽(F) | 偽(F) 偽(F) | 偽(F)
真(T) 偽(F) | 真(T) | 偽(F) | 偽(F) 真(T) | 偽(F)
偽(F) 真(T) | 真(T) | 偽(F) | 真(T) 偽(F) | 偽(F)
偽(F) 偽(F) | 偽(F) | 真(T) | 真(T) 真(T) | 真(T)
```
`¬(P∨Q)`の列と`¬P∧¬Q`の列を見比べると、4行すべてで完全に一致している(上から`偽,偽,偽,真`と`偽,偽,偽,真`)。これで`¬(P∨Q) ≡ ¬P∧¬Q`がすべての場合について成り立つ、正真正銘の同値であることが機械的に確認できた。もう一方の`¬(P∧Q) ≡ ¬P∨¬Q`も、同様の手順で真理値表を作れば同じように検証できる(`P∧Q`が真になるのは両方真の1行だけなので、`¬(P∧Q)`はそれ以外の3行で真になり、`¬P∨¬Q`もちょうど同じ3行で真になることが確かめられる)。
ド・モルガンの法則は、単なる数学的なパズルではない。プログラミングの条件分岐(→BOOK-0066『アルゴリズムとデータ構造』第1巻で扱う`if`文の条件式)を書くときにも、「`A`でなく、かつ`B`でもない」という条件を「`A`または`B`ではない」という一つの否定にまとめて簡潔に書き換える、という形で日常的に使われている、実務的にも重要な法則である。
---
## 第七章: 歴史の物語 — 楽園を作った男と、楽園を揺るがした逆説(水準三〜四)
### ブールの記号論理(1815年 - 1864年)
論理を数式のように操作するという発想を切り開いたのは、イギリスの数学者**ジョージ・ブール(George Boole、1815年 - 1864年、イギリスの数学者・論理学者)**である。ブールは、それまで哲学の一分野として言葉で語られてきた論理学を、`0`と`1`(偽と真)の二値だけで演算できる代数の体系として書き改めた。この体系は後に**ブール代数(ブールだいすう、水準三: 真・偽の二値と、かつ・または・否定の演算からなる代数の体系)**と呼ばれるようになり、20世紀に入ってコンピュータの回路設計(電流が流れる・流れないという二値の切り替え)にそのまま応用されることになる。本冊で見た`∧`・`∨`・`¬`の演算体系は、このブールの仕事に直接由来している。
### カントールと集合論の創始(1845年 - 1918年)
集合を数学の厳密な対象として確立したのは、ドイツの数学者**ゲオルク・カントール(Georg Cantor、1845年 - 1918年、ドイツの数学者。集合論の創始者とされる)**である。カントールは1870年代から、「ものの集まり」という素朴な発想を、無限集合どうしの大きさを比較するという、当時としては極めて大胆な領域にまで押し広げた。「自然数全体の集合と、実数全体の集合は、どちらも無限だが、その"無限の大きさ"は同じではない」というカントールの発見は、当時の数学者たちに強い衝撃を与えたとされる。
この無限集合の大きさを比較する手法として、カントールが編み出した**対角線論法(たいかくせんろんぽう、水準五: 無限集合どうしの要素の個数(濃度)を比較するために、カントールが考案した証明technique。ある無限集合のすべての要素を並べたとしても、その並びのどれとも異なる新しい要素を、対角線上の値をずらすことで機械的に作り出せることを示す論法)**は、本冊の範囲を超える、後半の巻(水準五以降)へと続く扉である。ここでは深入りせず、「無限にも大きさの違いがあり、それを証明する巧妙な手法が存在する」という事実だけを、次への窓として記しておく。ドイツの数学者**ダフィット・ヒルベルト(David Hilbert)**は、このカントールの集合論を評して「誰もわれわれをカントールが作り出した楽園から追い出すことはできないだろう」と述べたとされる。それほどまでに、集合論は当時の数学者たちに新しい可能性を開いた理論だったのである。
### ラッセルのパラドックス(1901年ごろ)
しかし、この「楽園」には見過ごせない亀裂が見つかる。イギリスの哲学者・数学者**バートランド・ラッセル(Bertrand Russell)**が**1901年ごろ**に指摘したとされる**ラッセルのパラドックス(ラッセルのパラドックス、水準四: 「自分自身を要素として含まない集合すべての集合」を考えると、矛盾が生じるという逆説)**は、素朴な集合の定義そのものに潜む危険性を明らかにした。
この逆説は、平易な形で「床屋のパラドックス」として語られることが多い。ある村に、たった一人の床屋がいて、彼は「自分で自分のひげを剃らない、村のすべての人のひげを剃る」というルールを守っているとしよう。では、この床屋自身のひげは、いったい誰が剃るのか。
```
もし床屋が「自分でひげを剃る」なら
→ ルール「自分で剃らない人のひげだけを剃る」に反する(自分で剃っているのに剃った、はおかしい)
もし床屋が「自分でひげを剃らない」なら
→ ルール「村のすべての人のひげを剃る」から、床屋自身のひげも剃らねばならない
→ つまり自分でひげを剃ることになり、これも矛盾する
→ どちらに転んでも矛盾する。このルールを満たす床屋は存在しえない。
```
この逸話は、「自分自身を含まない集合をすべて集めた集合は、自分自身を含むか含まないか」という、ラッセルが指摘した数学的な逆説を、日常の言葉に置き換えたものだ。この逆説の発見は、カントールが切り開いた「どんな条件を書いてもそれに応じた集合を作ってよい」という素朴な集合論の枠組みに、根本的な限界があることを突きつけた。この危機への対応として、20世紀の数学者たちは、集合を作ってよい条件そのものに厳密な制約を課す**公理的集合論(こうりてきしゅうごうろん、水準五: 集合が満たすべき性質を、あらかじめ公理として厳密に定めることで、逆説の発生を防ごうとする集合論の体系。代表的なものにZFC公理系がある)**を築き上げていくことになる。この体系の詳細もまた、後半の巻へ引き継ぐ「窓」の一つである。
---
## 出口の物語 — 文法を手に入れた旅人
本冊の旅を振り返ろう。ものの集まりに境界線を引く「集合」という道具から出発し、部分集合・和集合・積集合・補集合という基本演算を、ベン図という視覚言語とともに手に入れた。次に、主張の真偽を判定する「論理」という道具に移り、命題・かつ・または・否定・全称・存在・ならば・対偶・必要条件と十分条件という一連の概念を積み上げた。そして両者が実は同じ構造の二つの現れであることを、ド・モルガンの法則という具体的な橋を通して確認した。最後に、この学問を築いた人々——記号論理を創始したブール、集合論という楽園を開いたカントール、その楽園に亀裂を入れたラッセル——の物語をたどった。
冒頭で述べた「宇宙に境界線を引く仕事」を思い出してほしい。集合は「もの」に境界線を引き、論理は「主張」に判定を下す。この二つの技術は、算術が扱う数にも、幾何学が扱う図形にも、代数が扱う方程式にも、数論が扱う整数にも、例外なく染み込んでいる、学問の宇宙のもっとも深い層にある文法である。カントールの対角線論法が明かす「無限にも大きさの違いがある」という驚異、ラッセルのパラドックスが突きつけた「素朴な定義には限界がある」という教訓、そしてその先に築かれた公理的集合論という新しい足場——これらの続きは、後半の巻での探検に委ねることにしよう。文法を手に入れた旅人は、これから訪れるどの惑星でも、その土地の言葉を読み解く鍵をすでに手にしている。
---
## 補章: 検算総覧と練習問題(水準一〜四)
本冊で埋め込んだ検算を、ここで一覧にして振り返っておく。読者自身の手でもう一度なぞってみることを勧める。
1. 部分集合の個数: `3`要素の集合`{a,b,c}`の部分集合をすべて書き出すと`8`個 → `2³ = 8`と一致することを確認。
2. 和集合・積集合: `A={1,2,3}`、`B={2,3,4}`について`A∩B={2,3}`、`A∪B={1,2,3,4}` → `|A|+|B|-|A∩B| = 3+3-2 = 4 = |A∪B|`と一致することを確認。
3. 対偶の同値性: 「`x`が4の倍数ならば偶数」の対偶「偶数でないなら4の倍数でない」を`x=7,9`(奇数)で確認 → いずれも4の倍数でなく矛盾なし。
4. ド・モルガンの法則: `¬(P∨Q) ≡ ¬P∧¬Q`を真理値表の4行すべてで検証 → 両列とも`偽,偽,偽,真`で完全一致。
最後に、読者への小さな挑戦を残しておく。全体集合`U = {1,2,3,4,5,6,7,8,9,10}`、`A = {2,4,6,8,10}`(偶数の集合)として、`¬A`(奇数の集合)を書き出してみてほしい(答えは`{1,3,5,7,9}`になるはずである)。さらに、命題「`x`が9の倍数ならば、`x`は3の倍数である」の対偶を作り、それが正しいかどうかを`x=3,6,12`のいくつかの数で確かめてみてほしい(ヒント: 対偶は「`x`が3の倍数でないならば、`x`は9の倍数でない」となる。`3`は3の倍数だが9の倍数ではないので対偶の対象外、`6`も同様。9の倍数でない数はすべて3の倍数でもない、という反例が見つからないことを確認するとよい)。この「自分の手で境界線を引き、真理値表を埋める」という地道な作業こそが、集合と論理という学問の面白さを実感する一番の近道である。
# BOOK-0075 集合と論理 — 境界線を引く技術、判定を下す技術(数学派生 第1巻)