為您以 德·摩根律 為主題,撰寫了一份融合了 LaTeX 數學公式、Mermaid 邏輯圖、表格、高亮 等高級 Markdown 語法的完整筆記示例。您可以直接查看效果並參考其排版方式:


德·摩根律(De Morgan’s Laws)

摘要:德·摩根律是邏輯學、集合論和布林代數中的一組基本規則,它描述了邏輯運算符(與、或)和集合運算符(交、並)在取反(非、補集)時的轉換關係。1


1. 核心數學表達 (LaTeX)

德·摩根律在不同領域有不同的符號表示,但本質完全相同。

🔹 命題邏輯

在邏輯學中,它表示「與」和「或」在否定下的轉換:

¬(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 的補集)

🔹 布林代數 / 數位電路

在計算機科學和電路設計中,通常用上劃線表示非(NOT),點表示與(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)

我們可以透過真值表來嚴格證明邏輯學中的第一條定律:¬(P∧Q)  ⟺  (¬P)∨(¬Q)\neg (P \land Q) \iff (\neg P) \lor (\neg Q)。

輸入 PP輸入 QQP∧QP \land Q (與)¬(P∧Q)\neg (P \land Q) (與非)¬P\neg P (非P)¬Q\neg Q (非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)變加號(++),加號變乘號。
  • 「非(且) 變 或(非)」:把括號裡的「且(∧\land)」變成「或(∨\lor)」,並把否定符號(¬\neg)分配給括號裡的每一個元素。
  • 核心思想:「否定一個整體,等於分別否定個體,並反轉連接詞。」

5. 實際應用場景

  1. 程式編寫與條件判斷: 在編寫代碼時,複雜的 if 條件可以透過德·摩根律簡化。
    • 原始代碼:if (!(user.isLoggedIn() && user.hasPermission()))
    • 簡化後:if (!user.isLoggedIn() || !user.hasPermission()) (更易讀)
  2. 資料庫查詢優化: 在 SQL 中,NOT (A AND B) 可以轉換為 NOT A OR NOT B,有時能幫助資料庫引擎更好地利用索引。
  3. 日常語言邏輯:
    • 「我不喜歡(蘋果 且 香蕉)」 等價於 「我不喜歡蘋果 或 不喜歡香蕉」。

6. 歷史背景

德·摩根律以英國數學家、邏輯學家 奧古斯都·德·摩根(Augustus De Morgan, 1806–1871)的名字命名。他在 1847 年的著作《形式邏輯》(Formal Logic)中首次將這些規則引入了命題邏輯的嚴格表述中。2


📝 附:本筆記使用的 Markdown 擴充語法清單

如果您想在自己的編輯器中復刻此文檔,請確保開啟了以下支援:

  • LaTeX 數學公式 (MathJax / KaTeX):用於渲染行內 $...$ 和塊級 $$...$$ 公式。
  • Mermaid 圖表:用於渲染邏輯閘等效電路圖。
  • 表格語法:用於繪製真值表。
  • 文本高亮:使用 ==文本== 實現(部分編輯器如 Typora/Obsidian 支援)。
  • 註腳:使用 [^1] 和 [^1]: 內容 實現。
  • HTML 標籤:使用 <sub> 或 <sup> (本例中用 LaTeX 代替了上下標,但 HTML 標籤在 MD 中通用)。

Footnotes

  1. 德·摩根律不僅適用於兩個變數,還可以推廣到任意有限個甚至無限個變數的情況。 ↩

  2. 實際上,類似的思想在更早的時期(如中世紀邏輯學家奧卡姆的威廉)就已經被非正式地提出,但德·摩根是將其形式化的第一人。 ↩