通用叫法为“德摩根定律”
发展历程与表达形式
奥古斯都·德·摩根首先发现了在命题逻辑中存在着下面这些关系:
非(p 且 q)=(非 p)或(非 q)
非(p 或 q)=(非 p)且(非 q)
德·摩根的发现影响了乔治·布尔从事的逻辑问题代数解法的研究,这巩固了德·摩根作为该规律的发现者的地位,尽管亚里士多德也曾注意到类似现象、且这也为古希腊与中世纪的逻辑学家熟知(引自bocheński《形式逻辑历史》)。
形式逻辑中此定律表达形式:
\neg(p\wedge q)=(\neg p)\vee(\neg q)
\neg(p\vee q)=(\neg p)\wedge(\neg q)
在集合论中:
(a\cap b)^c=a^c\cup b^c
(a\cup b)^c=a^c\cap b^c.
在经典命题逻辑的外延中,此二元性依然有效(即对于任意的逻辑运算符,我们都能找他它的对偶),由于存在于调节否定关系的恒等式中,人们总会引入作为一个算符的德·摩根对偶的另一个算符。这导致了基于传统逻辑的逻辑学的一个重要性质,即否定范式的存在性:任何公式等价于另外一个公式,其中否定仅出现在作用于公式中非逻辑的原子时。否定常型的存在推进了许多应用,例如在数字电路设计中该性质用于操纵逻辑门,以及在形式逻辑中该性质是寻找一个公式的合取范式和析取范式的必要条件;电脑程序员们则用它们将一个类似于if ... and (... or ...) then ... 这样的复杂语句转变为其对等形式;它们也同样经常用于初等概率论中的计算。
我们将基于基本命题p, q的任意命题算符p(p, q, ...)的对偶定义为:
\neg \mbox^d(\neg p, \neg q, ...).
该概念可以推广到逻辑量词上,例如全称量词和存在量词互为对偶:
\forall x \, p(x) \equiv \neg \exists x \, \neg p(x),
“对所有x,p(x)皆成立”等价于“不存在x,使p(x)不成立”;
\exists x \, p(x) \equiv \neg \forall x \, \neg p(x).
“存在x,使p(x)成立”等价于“并非对所有x,p(x)都不成立”。
为对德·摩根定律叙述这些量词的二元性,设置一个在其域d中具有少量元素的模型,例如
d = {a, b, c}.
则
\forall x \, p(x) \equiv p(a) \wedge p(b) \wedge p(c)
“对所有x,p(x)成立”等价于“p(a)成立”且“p(b)成立”且“p(c)成立”
以及
\exists x \, p(x) \equiv p(a) \vee p(b) \vee p(c).
“存在x,使p(x)成立”等价于“p(a)成立”或“p(b)成立”或“p(c)成立”
但,应用德·摩根定律,
p(a) \wedge p(b) \wedge p(c) \equiv \neg (\neg p(a) \vee \neg p(b) \vee \neg p(c))
“‘p(a)成立’且‘p(b)成立’且‘p(c)成立’”等价于“非(‘p(a)不成立’或‘p(b)不成立’或‘p(c)不成立’)”
以及
p(a) \vee p(b) \vee p(c) \equiv \neg (\neg p(a) \wedge \neg p(b) \wedge \neg p(c)),
“‘p(a)成立’或‘p(b)成立’或‘p(c)成立’”等价于“非(‘p(a)不成立’且‘p(b)不成立’且‘p(c)不成立’)”
检验模型中量词的二元性。
从而,量词的二元性可进一步延伸到模态逻辑中的方块和菱形算符:
\box p \equiv \neg \diamond \neg p,
\diamond p \equiv \neg \box \neg p.
在其用于可能性和必然性的真势模态的应用中,亚里士多德注意到该情况,以及在正规模态逻辑的情况中,这些模态算符对量化的关系可借助按关系语义设置模型来理解。