为您以 德·摩根律 为主题,撰写了一份融合了 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. 实际上,类似的思想在更早的时期(如中世纪逻辑学家奥卡姆的威廉)就已经被非正式地提出,但德·摩根是将其形式化的第一人。 ↩