為您以 德·摩根律 為主題,撰寫了一份融合了 LaTeX 數學公式、Mermaid 邏輯圖、表格、高亮 等高級 Markdown 語法的完整筆記示例。您可以直接查看效果並參考其排版方式:
德·摩根律(De Morgan’s Laws)
摘要:德·摩根律是邏輯學、集合論和布林代數中的一組基本規則,它描述了邏輯運算符(與、或)和集合運算符(交、並)在取反(非、補集)時的轉換關係。1
1. 核心數學表達 (LaTeX)
德·摩根律在不同領域有不同的符號表示,但本質完全相同。
🔹 命題邏輯
在邏輯學中,它表示「與」和「或」在否定下的轉換:
🔹 集合論
在集合論中,它表示「交集」和「並集」在補集下的轉換:
(其中 表示集合 的補集)
🔹 布林代數 / 數位電路
在計算機科學和電路設計中,通常用上劃線表示非(NOT),點表示與(AND),加號表示或(OR):
2. 真值表驗證 (Table)
我們可以透過真值表來嚴格證明邏輯學中的第一條定律:。
| 輸入 | 輸入 | (與) | (與非) | (非P) | (非Q) | (或非) |
|---|---|---|---|---|---|---|
| T | T | T | F | F | F | F |
| T | F | F | T | F | T | T |
| F | T | F | T | T | F | T |
| F | F | F | T | T | T | T |
💡 結論:觀察第 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. 記憶口訣與技巧
為了快速記住德·摩根律,可以使用以下技巧:
- 「斷開長橫線,符號變相反」:在布林代數中,把長非號(上劃線)斷開,中間的乘號()變加號(),加號變乘號。
- 「非(且) 變 或(非)」:把括號裡的「且()」變成「或()」,並把否定符號()分配給括號裡的每一個元素。
- 核心思想:「否定一個整體,等於分別否定個體,並反轉連接詞。」
5. 實際應用場景
- 程式編寫與條件判斷:
在編寫代碼時,複雜的
if條件可以透過德·摩根律簡化。- 原始代碼:
if (!(user.isLoggedIn() && user.hasPermission())) - 簡化後:
if (!user.isLoggedIn() || !user.hasPermission())(更易讀)
- 原始代碼:
- 資料庫查詢優化:
在 SQL 中,
NOT (A AND B)可以轉換為NOT A OR NOT B,有時能幫助資料庫引擎更好地利用索引。 - 日常語言邏輯:
- 「我不喜歡(蘋果 且 香蕉)」 等價於 「我不喜歡蘋果 或 不喜歡香蕉」。
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 中通用)。
