德摩根定律

德摩根定律
定理、​推理规则
得名自奧古斯塔斯·德摩根 编辑
研究学科邏輯學 编辑
公式定義、​ 编辑
有效於邏輯系統经典逻辑 编辑

在命题逻辑和逻辑代数中,德摩根定律(英語:De Morgan's laws,又称德摩根定理、第摩根定律、对偶律等)是关于命题逻辑规律的一对法则。[1]所述规则允许通过否定将一个合取与析取互相表达——否定合取等价于各部分的否定析取,否定析取等价于各部分的否定合取。

用自然语言表达就是:

  • 「A且B的否定」等价于「非A或非B」
  • 「A或B的否定」等价于「非A且非B」

19世纪英国数学家奥古斯塔斯·德摩根首先发现了在命题逻辑中存在着下面这些关系:

德摩根定律在数理逻辑的定理推演中,在计算机的逻辑设计中以及数学的集合运算中都起着重要作用。[1]德摩根的发现影响了乔治·布尔从事的逻辑问题代数解法的研究,这巩固了德摩根作为该规律的发现者的地位。亚里士多德亦曾注意到类似的现象、且这也为古希腊与中世纪的逻辑学家熟知。[2]

形式表示

命题逻辑

在命题逻辑中,德摩根定律可用矢列记法、推理规则或永真式三种方式表达。

矢列记法:[3]

作为永真式:[4]

广义德摩根定律将规则推广到多个项:对于命题 ,

替换形式则强调在替换时需同时反转输入与输出并更换运算符:[5]

集合论

在集合论中,德摩根定律表述为「并集与交集在补运算下互换」:[5]

广义形式为:

记忆口诀:「断开横线,改变符号」。[6]

布尔代数

在布尔代数中:

广义形式:

在工程领域,常用乘法表示与、加法表示或:,。

用语言举例

德摩根定律在布尔运算符文本搜索中非常直观。假设文档集合按是否包含「猫」和「狗」分为四类:

文档1:只含「猫」
文档2:只含「狗」
文档3:同时含「猫」和「狗」
文档4:两者都不含

则以下两组搜索等价:[3]

  • 搜索A:NOT (猫 OR 狗) → 只返回文档4
  • 搜索B:(NOT 猫) AND (NOT 狗) → 两个否定结果的交集同样是文档4

同样:

  • 搜索C:NOT (猫 AND 狗) → 返回文档1、2、4
  • 搜索D:(NOT 猫) OR (NOT 狗) → 两个否定结果的并集也是文档1、2、4

实例演示

考虑语句:「并非一个数既是偶数又是正数」。根据德摩根定律,可改写为:「这个数要么不是偶数,要么不是正数」。[7]

逐步变换如下:[3]

这种逐步骤的变换在简化逻辑表达式、编写清晰的条件判断时尤其有用。

对偶性

在经典命题逻辑的推广中,二元性依然有效(即对任意逻辑运算符都能找到它的对偶)。由于存在调节否定关系的恒等式,人们总会引入作为一个运算符的德摩根对偶的另一个运算符。这导致了基于传统逻辑的逻辑学的一个重要性质,即否定范式的存在性:任何公式等价于另外一个公式,其中否定仅出现在作用于公式中非逻辑的原子时。

定义命题运算符 的对偶 为:

否定范式的存在推进了许多应用,例如在数字电路设计中该性质用于操控逻辑门,以及在形式逻辑中该性质是寻找一个公式的合取范式和析取范式的必要条件;电脑程式设计家们则用它们将一个类似于「如果...那么...否则...」这样的复杂语句转变为其对等形式;它们也同样经常用于初等概率论中的计算。

量词的对偶

对偶性可推广到量词,全称量词和存在量词互为对偶:[2]

设论域 ,则全称量词可表达为各例的合取:

存在量词表达为各例的析取:

应用德摩根定律:

这验证了量词在模型中的对偶性。

模态逻辑中的对偶

量词的对偶可进一步延伸到模态逻辑中的方块和菱形算子:[2]

在其用于可能性和必然性的真势模态的应用中,亚里士多德注意到该情况,以及在正规模态逻辑的情况下,这些模态算子对量化的关系可借助按关系语义设置模型来理解。

在直觉主义逻辑中的表现

德摩根定律的四条蕴含式中有三条在直觉主义逻辑中成立:[3]

但上述第二条的逆蕴含在纯直觉主义逻辑中不成立。即,联合命题 的不成立不能必然分解为两个合取支中某一支的失败。例如知道「并非Alice和Bob都赴约」并不能推出谁没有赴约。后一原则等价于弱排中律 :

关于存在语句的失败法则的细化版本可参见较少有穷原则(LLPO)。将否定 替换为蕴含 (其中 为任意固定常量谓词)后,上述德摩根定律仍在最小逻辑中成立。

类似地,量词情形:

即使在将否定替换为蕴含固定 的最小逻辑中也是永真式,但最后一条的逆一般不成立。

历史

德摩根定律以19世纪英国数学家奥古斯塔斯·德摩根(1806–1871)命名,他将形式化版本引入经典命题逻辑。[8]德摩根的表述受到乔治·布尔代数化逻辑的工作的影响,这后来巩固了德摩根作为该定律发现者的地位。

然而,类似的现象此前已被亚里士多德注意到,且为古希腊和中世纪的逻辑学家熟知。[2]14世纪的奥卡姆的威廉曾写下将定律读出的文字表述。[9]让·布里丹在其《辩证纲要》(Summulae de Dialectica)中也描述了遵循德摩根定律路线的转换规则。[10]尽管如此,德摩根仍因以现代形式逻辑的术语表述定律并将其融入逻辑语言而受到公认。德摩根定律容易证明,甚至可能看上去平凡,[11]但这些定律在证明和演绎论证中对于做出有效推断仍然非常有用。

计算机工程中的应用

德摩根定律广泛应用于计算机工程和数字逻辑中,以简化电路设计。[12]在现代编程语言中,编译器和解释器使用德摩根定律来优化布尔表达式,因此逻辑等价的表达式之间通常不存在性能差异——或差异极小。程序员利用它们将类似「如果...那么...否则...」这样的复杂条件语句转变为其对等形式,以提高代码可读性。[3]

参见

  • 布尔代数主题列表
  • 同构

注释与参考资料

引用

  • “应注意到一个析取命题的对立命题是由该析取命题各部分的对立内容构成的一个合取命题” ——奥卡姆的威廉著,《逻辑学论文》

参考文献

  1. ^ 1.0 1.1 《数学辞海》编辑委员会 (编). 德·摩根定律. 数学辞海 第六卷. 太原: 山西教育出版社 等: 543. 2002. ISBN 7-5440-2401-6. 
  2. ^ 2.0 2.1 2.2 2.3 Bocheński, I. M. A History of Formal Logic. Notre Dame, Indiana: University of Notre Dame Press. 1961: 207. LCCN 58014183. 
  3. ^ 3.0 3.1 3.2 3.3 3.4 Copi, Irving M.; Cohen, Carl; McMahon, Kenneth. Introduction to Logic. 2016. ISBN 9781315510880. doi:10.4324/9781315510897. 
  4. ^ Hurley, Patrick J., A Concise Introduction to Logic 12th, Cengage Learning, 2015, ISBN 978-1-285-19654-1 
  5. ^ 5.0 5.1 Goodstein, R. L. Boolean Algebra. ISBN 0-486-45894-6. 
  6. ^ Bali, S. P. 2000 Solved Problems in Digital Electronics. 
  7. ^ Weisstein, Eric W. de Morgan's Laws. mathworld.wolfram.com. [2026-04-15]. 
  8. ^ DeMorgan's Theorems. Middle Tennessee State University. (原始内容存档于2008-03-23). 
  9. ^ William of Ockham, Summa Logicae, part II, sections 32 and 33.
  10. ^ Jean Buridan, Summula de Dialectica. Trans. Gyula Klima. New Haven: Yale University Press, 2001. See especially Treatise 1, Chapter 7, Section 5. ISBN 0-300-08425-0
  11. ^ Robert H. Orr. Augustus De Morgan (1806–1871). Indiana University–Purdue University Indianapolis. (原始内容存档于2010-07-15). 
  12. ^ Wirth, Niklaus, Digital Circuit Design for Computer Science Students: An Introductory Textbook, Springer: 16, 1995, ISBN 9783540585770 

外部链接