集合・述語論理とは(全体像)
集合は、ものの「集まり(仲間)」をきちんと扱う考え方。「数字の集まり」「会員の集まり」のように、要素のグループを和や積で組み合わせる。データベースの検索(条件に合うデータの集まりを取り出す)の土台だ。
述語論理は、「正しい/正しくない(真偽)」を論理式で表す考え方。「かつ」「または」に加えて、「すべての〜」「ある〜が存在する」という言い回しを記号で扱えるのが特徴だ。
押さえるのはこの2つ。
- 集合 … 和・積・差などで仲間を組み合わせる。
- 述語論理 … ∀(すべて)・∃(ある)で「どの範囲に当てはまるか」を表す。
詳しく:集合演算と量化子だけ覚えれば戦える
ここが記事の心臓部。まずは集合の基本演算。
集合の基本演算
| 演算 | 意味 |
|---|---|
| 和集合 A∪B | AかBのどちらかに属する |
| 積集合 A∩B | AとBの両方に属する |
| 差集合 A−B | Aだけにある(Bを除く) |
| 補集合 | Aに属さないもの全部 |
ここで注意したいのが差集合の向き。`A−B`と`B−A`は別もの(非対称)。`A−B`は「Aだけ」、`B−A`は「Bだけ」で、引く順番で結果が変わる。
そして頻出のド・モルガンの法則。
「AかBのどちらかに属する」の否定 = 「Aにも属さず、Bにも属さない」
つまり「(A∪B)の補集合」は「Aの補集合 ∩ Bの補集合」になる。「どちらかに属するの否定=どちらにも属さない」と言葉で覚えるのがコツだ。
次に、述語論理の主役2つの量化子。
2つの量化子
| 記号 | 読み方 | 意味 |
|---|---|---|
| ∀ | 全称量化子 | すべての〜について成り立つ |
| ∃ | 存在量化子 | ある〜が(少なくとも1つ)存在する |
たとえば「∀x(学生xはスマホを持つ)」は「すべての学生がスマホを持つ」、「∃x(学生xは犬を飼う)」は「犬を飼う学生が少なくとも1人いる」。なお、述語論理は「かつ・または・ならば」だけの命題論理に、この量化子を加えて拡張したものだ。
わかりやすく言い換えると
要するに、集合は「仲間分けの計算」、述語論理は「どの範囲に当てはまるかの言い方」だ。
集合演算は名簿の操作にたとえられる。
①和(∪) … 2つの名簿を合体(どちらかに載っていればOK)
②積(∩) … 両方の名簿に載っている人だけ
③差(−) … 片方の名簿から、もう片方の人を消す(順番が大事)
量化子は、∀が「全員に当てはまる」、∃が「1人でもいればOK」。この「全部か・1つでもか」の違いがいちばん問われる。
試験のツボ
🔴 一番出る:集合演算と差の向き
①和=どちらか/積=両方/差=片方だけ
②A−BとB−Aは別もの(順番で結果が変わる)
🔴 次に出る:量化子∀と∃
①∀=すべての〜について成り立つ
②∃=ある〜が(少なくとも1つ)存在する
🟡 押さえると安定:ド・モルガンの法則
①「どちらかに属する」の否定=「どちらにも属さない」
②(A∪B)の補集合=(Aの補集合)∩(Bの補集合)
よくある間違い
①「A−BとB−Aは同じ結果になる」→ ✗ 差集合は非対称。引く順番で結果が変わる。
②「∀(すべて)と∃(ある)は同じ意味である」→ ✗ ∀は全部に当てはまる、∃は1つでもあればよい。まったく別。
③「述語論理と命題論理は完全に同じものである」→ ✗ 述語論理は命題論理に∀・∃の量化子を加えて拡張したもの。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(集合演算)
集合の基本演算に関する次の記述のうち、正しいものはどれか。
- 和集合A∪BはAとBの両方に属する要素だけを集めたもののことである
- 積集合A∩BはAかBのどちらか一方にだけ属する要素を集めたものである
- 差集合A−BとB−Aはつねに等しく、引く順番を変えても結果は同じである
- 和集合A∪Bはどちらかに属する、積集合A∩Bは両方に属する要素である
解答は 4 だぜ。
和集合A∪Bはどちらかに属する、積集合A∩Bは両方に属する要素の集まりだ。「和=どちらか/積=両方」とセットで覚えとけ。
選択肢1は和を「両方」とする誤り(それは積)。選択肢2は積を「どちらか一方」とする誤り。選択肢3は差集合を「順番を変えても同じ」とする誤りで、差は非対称だぜ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 両方は積集合 |
| 2 | ✗ | どちらか一方は和集合の側 |
| 3 | ✗ | 差集合は非対称(順番で変わる) |
| 4 | ✓ | 和=どちらか・積=両方で正しい |
オリジナル問題2(量化子)
述語論理の量化子に関する次の記述のうち、正しいものはどれか。
- 量化子∀はある要素が1つでも存在すれば成り立つことを表している記号である
- 量化子∀はすべての要素について、量化子∃はある要素の存在を表す記号だ
- 量化子∃はすべての要素について成り立つことを表す記号のことである
- 量化子∀と∃はまったく同じ意味で、どちらを使っても結果は変わらない
解答は 2 だぜ。
∀はすべての要素について、∃はある要素の存在(少なくとも1つ)を表す。「∀=すべて/∃=ある」の対比が試験の狙い目だ。
選択肢1は∀を「1つでも存在」としているが、それは∃。選択肢3は∃を「すべて」としているが逆。選択肢4は「同じ意味」が誤りだぜ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 1つでも存在は∃ |
| 2 | ✓ | ∀=すべて・∃=ある で正しい |
| 3 | ✗ | すべては∀ |
| 4 | ✗ | ∀と∃は別の意味 |
オリジナル問題3(ド・モルガン)
ド・モルガンの法則に関する次の記述のうち、正しいものはどれか。
- 「AかBのどちらかに属する」の否定は、「AとBの両方に属する」と等しくなる
- ド・モルガンの法則は集合には使えず、数の足し算だけに成り立つ法則である
- 「AかBのどちらかに属する」の否定は、「AにもBにも属さない」と等しい
- 「Aに属さない」の否定は、つねに「Bに属する」と等しくなるという法則である
解答は 3 だぜ。
ド・モルガンの法則は「どちらかに属するの否定=どちらにも属さない」。(A∪B)の補集合は(Aの補集合)∩(Bの補集合)になる、というわけだ。
選択肢1は否定を「両方に属する」とする誤り。選択肢2は「集合に使えない」が誤り。選択肢4はAとBが無関係なのに結びつけた誤りだぜ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 否定は「どちらにも属さない」 |
| 2 | ✗ | 集合(や論理)で成り立つ法則 |
| 3 | ✓ | どちらかの否定=どちらにも属さない |
| 4 | ✗ | AとBを不当に結びつけている |
まとめ
押さえどころ
- 🔴 集合演算 = 和(どちらか)・積(両方)・差(片方だけ)。A−BとB−Aは別もの。
- 🔴 量化子 = ∀(すべての)・∃(ある=1つでも)。「全部か1つでもか」を区別する。
- 🟡 ド・モルガンの法則 = 「どちらかに属する」の否定=「どちらにも属さない」。
次に学ぶ
- 論理回路(半加算器・全加算器・FF) ── AND・ORといった論理を電気のON/OFFで実装したもの。論理の考え方が回路として形になる。
- データベース(SQL) ── 集合の和・積・差は、SQLでデータを取り出すしくみの土台。検索条件の理解に直結する。
執筆: SikakuQuest編集部