ド・モルガンの法則 をテーマに、LaTeX 数式、Mermaid 論理回路図、真理値表、マーカー強調 など高度な Markdown 記法を統合した本格ノートのサンプルです。組版の参考にしてください:


ド・モルガンの法則(De Morgan’s Laws)

要約:ド・モルガンの法則は、論理学・集合論・ブール代数における基本定理であり、論理演算子(AND, OR)や集合演算子(積集合, 和集合)の否定(NOT, 補集合)における双対変換関係を記述します。1


1. コア数式表現 (LaTeX)

分野によって記号は異なりますが、本質的な構造は完全に同一です。

🔹 命題論理

論理学において、「かつ (AND)」と「または (OR)」の否定による双対性を表します:

¬(P∧Q)  ⟺  (¬P)∨(¬Q)\neg (P \land Q) \iff (\neg P) \lor (\neg Q) ¬(P∨Q)  ⟺  (¬P)∧(¬Q)\neg (P \lor Q) \iff (\neg P) \land (\neg Q)

🔹 集合論

集合論において、積集合と和集合の補集合に関する関係を表します:

(A∩B)C=AC∪BC(A \cap B)^C = A^C \cup B^C (A∪B)C=AC∩BC(A \cup B)^C = A^C \cap B^C

(ここで XCX^C は集合 XX の補集合を表します)

🔹 ブール代数・デジタル回路

コンピュータ設計では、否定を上線(オーバーライン)、ANDをドット、ORをプラス記号で表記します:

A⋅B‾=A‾+B‾\overline{A \cdot B} = \overline{A} + \overline{B} A+B‾=A‾⋅B‾\overline{A + B} = \overline{A} \cdot \overline{B}

2. 真理値表による検証 (Table)

真理値表を用いて、命題論理の第1法則 ¬(P∧Q)  ⟺  (¬P)∨(¬Q)\neg (P \land Q) \iff (\neg P) \lor (\neg Q) を厳密に検証します:

入力 PP入力 QQP∧QP \land Q (AND)¬(P∧Q)\neg (P \land Q) (NAND)¬P\neg P (NOT P)¬Q\neg Q (NOT Q)¬P∨¬Q\neg P \lor \neg Q
TTTFFFF
TFFTFTT
FTFTTFT
FFFTTTT

💡 結論:第4列と第7列の真理値が全パターンで完全一致しており、論理等価性が証明されました。


3. 論理ゲート等価回路 (Mermaid)

デジタル回路設計において、ド・モルガンの法則は回路の素子削減に利用されます。以下は NANDゲート と Negative-ORゲート の等価変換を表すダイアグラムです:

graph LR
    subgraph 左: NANDゲート
        A[P] --> C((AND))
        B[Q] --> C
        C --> D((NOT))
        D --> E["Output: ¬(PQ)"]
    end

    subgraph 右: 負論理和 Negative-OR
        F[P] --> G((NOT))
        H[Q] --> I((NOT))
        G --> J((OR))
        I --> J
        J --> K["Output: ¬P∨¬Q"]
    end

    E -. "論理等価" .-> K

    style E fill:#f9d0c4,stroke:#333,stroke-width:2px
    style K fill:#d0f9c4,stroke:#333,stroke-width:2px

ド・モルガンの法則 論理回路図


4. 覚え方のコツ

  • 「長い否定線を割り、演算子を反転」:ブール代数では、全体のバーを分割し、積(⋅\cdot)を和(++)へ、和を積へ切り替えます。
  • 「全体を否定することは、各要素を否定して結合子を反転することと同値」。

5. 実践的な応用シーン

  1. プログラミングにおける条件分岐の簡潔化:
    • 元のコード:if (!(user.isLoggedIn() && user.hasPermission()))
    • 簡潔化後:if (!user.isLoggedIn() || !user.hasPermission()) (可読性向上)
  2. データベースクエリの最適化: SQL で NOT (A AND B) を NOT A OR NOT B へ書き換えることで、オプティマイザのインデックス活用を促進できます。

6. 歴史的背景

イギリスの数学者・論理学者 オーガスタス・ド・モルガン(Augustus De Morgan, 1806–1871)にちなんで名付けられました。彼は 1847 年の著書『形式論理学』(Formal Logic)でこれらの関係を記号論理学として初めて定式化しました。2


📝 補足:本ノートで使用した Markdown 拡張構文

  • LaTeX 数式 (KaTeX):インライン $...$ およびブロック $$...$$数式。
  • Mermaid ダイアグラム:論理ゲート等価回路の描画。
  • テーブル構文:真理値表の作成。
  • ハイライト強調:==テキスト== による重要箇所の強調。
  • 脚注:[^1] による詳細解説の配置。

Footnotes

  1. ド・モルガンの法則は2つの変数にとどまらず、任意の有限個・無限個の論理命題や集合へ一般化されます。 ↩

  2. 中世のオッカムのウィリアムなどにより同様の概念は以前から言及されていましたが、数学的記号体系として厳密に形式化したのはド・モルガンが初です。 ↩