「ド・モルガンの法則って何?」「数式を見ても全然ピンとこない…」
そんな悩みを持っていませんか?
ド・モルガンの法則は、数学の集合論や論理学、そしてプログラミングでも使われる重要な法則です。一見難しそうに見えますが、ベン図を使えば誰でも直感的に理解できます。
この記事では、ド・モルガンの法則の基本から、ベン図を使った視覚的な理解方法、そして実生活での応用例まで、初心者にもわかりやすく解説します。
ド・モルガンの法則とは?

ド・モルガンの法則は、19世紀イギリスの数学者オーガスタス・ド・モルガン(Augustus De Morgan, 1806-1871)が定式化した論理法則です。
法則の基本的な考え方
簡単に言うと、ド・モルガンの法則は次のことを示しています。
「全体の否定は、個別の否定の組み合わせに変換できる」
これだけ聞いてもよくわからないと思うので、具体例で見ていきましょう。
日常生活での例
例えば、次のような文章を考えてみてください。
「私はコーヒーと紅茶の両方が好きだ」
この文章の否定(反対の意味)は何でしょうか?
多くの人は「私はコーヒーと紅茶の両方が嫌いだ」と答えたくなるかもしれませんが、これは間違いです。
正しい否定は次のようになります。
「私はコーヒーが好きではない、または紅茶が好きではない(あるいはその両方)」
つまり、次の3つのパターンが含まれます。
- コーヒーは好きだが紅茶は好きではない
- 紅茶は好きだがコーヒーは好きではない
- コーヒーも紅茶も両方好きではない
これがド・モルガンの法則の基本的な考え方です。
集合論でのド・モルガンの法則
数学の集合論では、ド・モルガンの法則は2つの公式で表されます。
第1法則:和集合の補集合
公式:
(A ∪ B)' = A' ∩ B'
意味:
「AまたはBに属する要素」以外の要素は、「Aに属さない要素」かつ「Bに属さない要素」と同じです。
第2法則:共通部分の補集合
公式:
(A ∩ B)' = A' ∪ B'
意味:
「AかつBに属する要素」以外の要素は、「Aに属さない要素」または「Bに属さない要素」と同じです。
記号の意味
集合論で使う記号を確認しておきましょう。
- A ∪ B : AとBの和集合(AまたはBに属する要素)
- A ∩ B : AとBの共通部分(AかつBに属する要素)
- A’ : Aの補集合(Aに属さない要素)
- ‘ : 補集合を表す記号
ベン図で視覚的に理解しよう
ド・モルガンの法則は、ベン図を使うと直感的に理解できます。
第1法則をベン図で確認
左辺: (A ∪ B)’
- まず、AとBの和集合(A ∪ B)を考えます
- これはAとBを合わせた部分全体です
- その補集合を取ります
- つまり、AとBの和集合以外の部分を指します
右辺: A’ ∩ B’
- Aの補集合(A’)を考えます
- A以外の部分です
- Bの補集合(B’)を考えます
- B以外の部分です
- その共通部分を取ります
- A以外かつB以外、つまりAにもBにも属さない部分です
結果:
ベン図で確認すると、左辺と右辺は同じ領域を指していることがわかります。
第2法則をベン図で確認
左辺: (A ∩ B)’
- まず、AとBの共通部分(A ∩ B)を考えます
- これはAとBが重なる部分です
- その補集合を取ります
- つまり、AとBの共通部分以外の部分を指します
右辺: A’ ∪ B’
- Aの補集合(A’)を考えます
- A以外の部分です
- Bの補集合(B’)を考えます
- B以外の部分です
- その和集合を取ります
- A以外またはB以外の部分です
結果:
こちらもベン図で確認すると、左辺と右辺は同じ領域を指しています。
具体的な数値例で確認
実際の数字を使って、ド・モルガンの法則が成り立つことを確認してみましょう。
問題設定
全体集合 U = {1, 2, 3, 4, 5, 6, 7, 8, 9}
集合 A = {1, 2, 3, 5, 7}
集合 B = {3, 4, 5, 9}
第1法則の確認
左辺: (A ∪ B)’
- A ∪ B = {1, 2, 3, 4, 5, 7, 9}
- (A ∪ B)’ = {6, 8}
右辺: A’ ∩ B’
- A’ = {4, 6, 8, 9}
- B’ = {1, 2, 6, 7, 8}
- A’ ∩ B’ = {6, 8}
結果:
左辺と右辺は同じ{6, 8}になりました!
第2法則の確認
左辺: (A ∩ B)’
- A ∩ B = {3, 5}
- (A ∩ B)’ = {1, 2, 4, 6, 7, 8, 9}
右辺: A’ ∪ B’
- A’ = {4, 6, 8, 9}
- B’ = {1, 2, 6, 7, 8}
- A’ ∪ B’ = {1, 2, 4, 6, 7, 8, 9}
結果:
こちらも左辺と右辺が一致しました!
論理学でのド・モルガンの法則

ド・モルガンの法則は、論理学でも同様に成り立ちます。
論理演算での表現
第1法則:
¬(P ∧ Q) = (¬P) ∨ (¬Q)
「PかつQではない」は「Pでない、またはQでない」と同じ意味です。
第2法則:
¬(P ∨ Q) = (¬P) ∧ (¬Q)
「PまたはQではない」は「Pでない、かつQでない」と同じ意味です。
記号の意味
- ¬ : 否定(NOT)
- ∧ : 論理積(AND、かつ)
- ∨ : 論理和(OR、または)
日常言語での例
例1: 「今日は晴れていて暑い」の否定
元の文: 今日は晴れている かつ 暑い
否定: 今日は晴れていない または 暑くない
可能性としては次の3つがあります。
- 晴れていないが暑い(曇りで蒸し暑い)
- 晴れているが暑くない(晴れているが涼しい)
- 晴れてもいないし暑くもない
例2: 「成人または男性」の否定
元の文: 成人 または 男性
否定: 成人でない かつ 男性でない
つまり「未成年の女性」となります。
プログラミングでの応用
ド・モルガンの法則は、プログラミングでも頻繁に使われます。
プログラミング言語での表現
多くのプログラミング言語では、次のように書きます。
第1法則:
!(A && B) = !A || !B
第2法則:
!(A || B) = !A && !B
記号の意味:
- ! : 否定(NOT)
- && : AND(かつ)
- || : OR(または)
実用例
条件式を簡略化する時に便利です。
元のコード:
if (!(age >= 18 && hasLicense)) {
console.log("運転できません");
}
ド・モルガンの法則を適用:
if (age < 18 || !hasLicense) {
console.log("運転できません");
}
後者の方が読みやすく、理解しやすいコードになります。
論理回路設計での応用
デジタル回路の設計でも、ド・モルガンの法則は非常に重要です。
NAND回路とNOR回路の関係:
- NANDゲート = 入力を反転したORゲート
- NORゲート = 入力を反転したANDゲート
この関係性を利用して、回路を簡略化したり、特定のゲートだけで回路を構成したりできます。
覚え方のコツ
ド・モルガンの法則を簡単に覚える方法を紹介します。
「否定が分配される」イメージ
否定(NOT)がカッコの中に分配されると考えましょう。
その際、演算子が逆転します。
- AND(∩) → OR(∪)
- OR(∪) → AND(∩)
ステップで覚える
- 外側の否定を中に入れる
- 各要素に否定を付ける
- ANDとORを入れ替える
具体例で確認
元の式: (A ∩ B)’
- 否定を中に入れる → A’ と B’
- ∩(AND) を ∪(OR) に変える → A’ ∪ B’
結果: A’ ∪ B’
3つ以上の集合でも成り立つ
ド・モルガンの法則は、3つ以上の集合でも成り立ちます。
3つの集合の場合
第1法則:
(A ∪ B ∪ C)' = A' ∩ B' ∩ C'
第2法則:
(A ∩ B ∩ C)' = A' ∪ B' ∪ C'
一般化
実は、集合がいくつあってもド・モルガンの法則は成り立ちます。
n個の集合の場合:
(A₁ ∪ A₂ ∪ ... ∪ Aₙ)' = A₁' ∩ A₂' ∩ ... ∩ Aₙ'
(A₁ ∩ A₂ ∩ ... ∩ Aₙ)' = A₁' ∪ A₂' ∪ ... ∪ Aₙ'
練習問題
理解を深めるために、いくつか練習問題にチャレンジしてみましょう。
問題1
全体集合 U = {1, 2, 3, 4, 5, 6, 7, 8}
A = {2, 4, 6, 8}
B = {1, 2, 3, 4}
このとき、(A ∩ B)’ を求めてください。
解答:
方法1: 直接計算
- A ∩ B = {2, 4}
- (A ∩ B)’ = {1, 3, 5, 6, 7, 8}
方法2: ド・モルガンの法則を使う
- A’ = {1, 3, 5, 7}
- B’ = {5, 6, 7, 8}
- A’ ∪ B’ = {1, 3, 5, 6, 7, 8}
どちらの方法でも同じ答えになります。
問題2
次の論理式を簡単にしてください。
¬(¬P ∨ Q)
解答:
ド・モルガンの法則を適用します。
- ¬(¬P ∨ Q)
- = ¬(¬P) ∧ ¬Q (ド・モルガンの法則)
- = P ∧ ¬Q (二重否定の除去)
答え: P ∧ ¬Q
問題3
次の日本語の文章を、ド・モルガンの法則を使って否定してください。
「すべての本が好きだ」
解答:
これは「すべてのxについてA(x)」という形の文章です。
否定すると、ド・モルガンの法則により「あるxについて¬A(x)」となります。
答え: 「好きではない本もある」
間違いやすい答え:
「すべての本が嫌いだ」は否定ではなく、反対の意味になるので注意してください。
実生活での応用例
ド・モルガンの法則は、意外と日常生活でも役立ちます。
検索エンジンでの応用
インターネット検索で「NOT」を使う時、ド・モルガンの法則が関係しています。
例:
検索A: NOT(猫 OR 犬) → 猫も犬も含まない
検索B: (NOT 猫) AND (NOT 犬) → 猫を含まず、かつ犬を含まない
この2つの検索は、ド・モルガンの法則により同じ結果を返します。
条件判断での応用
「少なくとも1つ」や「すべて」といった条件を否定する時に使えます。
例:
「すべての人が冷蔵庫を持っている」の否定は?
→ 「冷蔵庫を持っていない人が少なくとも1人いる」
(「誰も冷蔵庫を持っていない」ではありません)
まとめ:ド・モルガンの法則をマスターしよう
ド・モルガンの法則は、一見難しそうに見えますが、実はとてもシンプルで強力な法則です。
要点のおさらい
2つの基本法則:
- (A ∪ B)’ = A’ ∩ B’ : 和集合の否定は、否定の共通部分
- (A ∩ B)’ = A’ ∪ B’ : 共通部分の否定は、否定の和集合
覚え方のコツ:
- 否定が中に分配される
- ANDとORが入れ替わる
活用シーン
- 数学: 集合の証明問題を簡単に解ける
- プログラミング: 条件式を読みやすく簡略化できる
- 論理回路: 回路設計を効率化できる
- 日常生活: 複雑な条件の否定を正しく理解できる


コメント