\top는 최대원이 된다. 이때 최소원 \bot 은 거짓인 명제, 최대원 \top 은 참인 명제, 결합 ∪는 논리합 ∨, 교집합 ∩는 논리곱 ∧, 여집합 c는 부정 ¬을 나타낸다. 부울 대수에 관한 드 모르간의 일반 법칙으로부터 명제 논리에 관한 드 모르간의 법칙을 유도할 수 있다.
2. 1. 공식
논리합 \lor , 논리곱 \land , 부정 \neg 의 논리 기호를 사용하여 표시하면 아래와 같다. :\neg (P \lor Q) = \neg P \land \neg Q :\neg (P \land Q) = \neg P \lor \neg Q 동일한 뜻을 집합의 기호로 바꾸면 다음과 같이 된다. :\overline{(A\cap B)}=\overline{A}\cup \overline{B} :\overline{(A\cup B)}=\overline{A}\cap \overline{B} (다만,  ̄ 기호는 전체 집합에 대한 여집합 을 표현함)벤 다이어그램 을 사용하면 \neg (P \lor Q) \equiv \neg P \land \neg Q 로 표시한다. 여기에는 두 명제나 집합에 대한 법칙을 말하고 있지만, 더 많은 명제에서도 동일한 법칙이 성립한다. 일반화된 드 모르간의 법칙은 여러 항을 포함하는 결합 또는 분리의 부정에 대한 동치를 제공한다. 명제의 집합 P_1, P_2, \dots,P_n 에 대해, 일반화된 드 모르간의 법칙은 다음과 같다. :\begin{align} \lnot(P_1 \land P_2 \land \dots \land P_n) \leftrightarrow \lnot P_1 \lor \lnot P_2 \lor \ldots \lor \lnot P_n \\ \lnot(P_1 \lor P_2 \lor \dots \lor P_n) \leftrightarrow \lnot P_1 \land \lnot P_2 \land \ldots \land \lnot P_n \end{align} 이 법칙들은 결합과 분리의 부정에 대한 드 모르간의 원래 법칙을 일반화한 것이다. 임의의 명제 P, Q \in \{ \bot, \top \} (P와 Q는 참 또는 거짓 중 하나)에 대해 : “P 또는 Q”가 아닌 것은, “P가 아닌” 그리고 “Q가 아닌”과 같다. : “P 그리고 Q”가 아닌 것은, “P가 아닌” 또는 “Q가 아닌”과 같다. 가 성립한다. 여기서 \lor 는 논리합 , \land 는 논리곱 , \neg 는 부정 을 나타내는 연산자이다. C언어와 그 영향을 받은 프로그래밍 언어 에서 일반적인 논리식으로 나타내면 다음과 같다. : !(P || Q) == !P && !Q
: !(P && Q) == !P || !Q
여기서 ||
는 논리합, &&
는 논리곱, !
는 부정을 나타내는 논리 연산자이다. 보다 일반적인 법칙으로서, 임의의 n개의 명제 P_{1}, P_{2}, \cdots, P_{n}\in \{ \bot, \top \} (P₁부터 Pₙ는 참 또는 거짓 중 하나)에 대해 :\neg \left ( \bigvee_{i=1}^{n}P_{i} \right ) = \bigwedge_{i=1}^{n} \neg P_{i} \, , \quad \neg \left ( \bigwedge_{i=1}^{n}P_{i} \right ) = \bigvee_{i=1}^{n} \neg P_{i} 가 성립한다.
2. 2. 설명
논리합 \lor , 논리곱 \land , 부정 \neg 의 논리 기호를 사용하여 표시하면, 드 모르간의 법칙은 다음과 같다.\neg (P \lor Q) = \neg P \land \neg Q \neg (P \land Q) = \neg P \lor \neg Q 이것은 집합 기호로 다음과 같이 표현할 수 있다.\overline{(A\cap B)}=\overline{A}\cup \overline{B} \overline{(A\cup B)}=\overline{A}\cap \overline{B} (여기서 기호는 전체 집합에 대한 여집합 을 나타낸다.)벤 다이어그램 을 사용하면 \neg (P \lor Q) \equiv \neg P \land \neg Q 를 다음과 같이 시각적으로 표현할 수 있다. 위 설명은 두 명제나 집합에 대한 법칙을 보여주지만, 더 많은 명제에서도 동일한 법칙이 성립한다. 일반화된 드 모르간의 법칙은 여러 항을 포함하는 결합 또는 분리의 부정에 대한 동치를 제공한다. 명제의 집합 P_1, P_2, \dots,P_n 에 대해, 일반화된 드 모르간의 법칙은 다음과 같다.\lnot(P_1 \land P_2 \land \dots \land P_n) \leftrightarrow \lnot P_1 \lor \lnot P_2 \lor \ldots \lor \lnot P_n \lnot(P_1 \lor P_2 \lor \dots \lor P_n) \leftrightarrow \lnot P_1 \land \lnot P_2 \land \ldots \land \lnot P_n 이 법칙들은 결합과 분리의 부정에 대한 드 모르간의 원래 법칙을 일반화한 것이다. 드 모르간의 법칙은 논리식의 일부 또는 전체에서 합집합 의 부정 또는 논리곱 의 부정에 적용될 수 있다. 예를 들어 "A 또는 B 중 어느 것도 참이 아니다"라는 주장은 \neg(A\lor B) 로 쓸 수 있으며, 이는 A도 B도 참이 아니라는 의미이므로, (\neg A)\wedge(\neg B) 와 같이 표현할 수 있다. C언어와 그 영향을 받은 프로그래밍 언어 에서 일반적인 논리식으로 나타내면 다음과 같다.`!(P || Q) == !P && !Q` `!(P && Q) == !P || !Q` (여기서 `||`는 논리합, `&&`는 논리곱, `!`는 부정을 나타내는 논리 연산자이다.)
2. 3. 예시
"내 키는 160cm 이상이고, 몸무게는 50kg 이상"이라는 명제의 부정은 드 모르간의 법칙에 따라 "내 키는 160cm 미만이거나, 몸무게는 50kg 미만"이다. "이 공은 파랗거나, 빨갛다"라는 명제의 부정은 "이 공은 파랗지도, 빨갛지도 않다"이다.
3. 술어 논리에서의 드 모르간의 법칙
1차 술어 논리 에서 드 모르간의 법칙은 전칭 양화사(∀)와 존재 양화사 (∃)를 포함하는 식으로 확장된다. 핵심은 "모든 x에 대해 A(x)이다"의 부정은 "어떤 x에 대해 A(x)가 아니다"와 같고, "어떤 x에 대해 A(x)이다"의 부정은 "모든 x에 대해 A(x)가 아니다"와 같다는 것이다. 이러한 관계는 양상 논리 에서 □("필연적으로")와 ◊("가능하게") 연산자와의 관계로 확장될 수 있다.
3. 1. 공식
A(x)를 변수 x에 대한 서술자라고 할 때, 1차 술어 논리 에 대한 드 모르간의 법칙은 다음과 같다."모든 x에 대한 A(x)"의 부정은 "어떤 x가 존재시 ¬A(x)"이다. "어떤 x가 존재시 A(x)"의 부정은 "모든 x에 대한 ¬A(x)"이다. 예를 들어,"모든 사람은 냉장고를 가지고 있다"의 부정은 "어떤 사람은 냉장고를 가지고 있지 않다"(즉, "냉장고를 가지고 있지 않은 사람은 적어도 한 명 이상 있다")이다. "어떤 사람은 냉장고를 가지고 있다"(즉, "냉장고를 가지고 있는 사람이 적어도 한 명 이상 있다")의 부정은 "모든 사람이 냉장고를 가지고 있지 않다"이다. "모든 x에 대해~"나 "어떤 x에 대한~"을 양화자 기호로 \forall x, \exists x 를 사용하여 표기하면, 술어 논리에서 드 모르간의 법칙은 다음과 같이 쓸 수 있다. :\neg\forall x~A(x) \Leftrightarrow \exists x~\neg A(x) :\neg\exists x~A(x) \Leftrightarrow \forall x~\neg A(x) x가 1부터 100까지의 수를 나타내는 변수라고 할 때, "모든 x에 대한 A(x)"는 "A(1)와 A(2)와… A(100)"을 의미한다. 이것을 부정하면 ¬A(1) 또는 ¬"A(2)와... A(100)"처럼 되며, "A(2)와… A(100)"의 부정을 동일한 방법으로 반복하면 "¬A(1) 또는 ¬A(2) 또는 … ¬A(100)"가 된다. 이것은 "어떤 x에 대한 ¬A(x)"를 뜻한다. 반대로, "어떤 x에 대한 A(x)"와 "A(1) 또는 A(2) 또는 … A(100)"라고 하는 것의 부정은 ¬A(1)와 ¬"A(2)또는... A(100)"이고, 이것을 계속하면 "모든 x에 대한 ¬A(x)"가 된다. 전칭 양화사와 존재 양화사 는 이중성을 가지므로, 다음과 같이 표현할 수도 있다. : \forall x \, P(x) \equiv \neg [ \exists x \, \neg P(x)] : \exists x \, P(x) \equiv \neg [ \forall x \, \neg P(x)] 이러한 양화사 이중성은 양상 논리 로 더 확장되어, □("필연적으로")와 ◊("가능하게") 연산자를 관련지을 수 있다. : \Box p \equiv \neg \Diamond \neg p, : \Diamond p \equiv \neg \Box \neg p.
3. 2. 설명
1차 술어 논리 에서 드 모르간의 법칙은 다음과 같이 확장된다. A(x)를 변수 x에 대한 서술자라고 할 때,"모든 x에 대해 A(x)이다"의 부정은 "어떤 x에 대해 A(x)가 아니다"와 같다. "어떤 x에 대해 A(x)이다"의 부정은 "모든 x에 대해 A(x)가 아니다"와 같다. 예를 들어,"모든 사람은 냉장고를 가지고 있다"의 부정은 "어떤 사람은 냉장고를 가지고 있지 않다"(즉, "냉장고를 가지고 있지 않은 사람이 적어도 한 명 이상 있다")와 같다. "어떤 사람은 냉장고를 가지고 있다"(즉, "냉장고를 가지고 있는 사람이 적어도 한 명 이상 있다")의 부정은 "모든 사람은 냉장고를 가지고 있지 않다"와 같다. "모든 x에 대해~"나 "어떤 x에 대해~"를 양화자 기호 \forall x, \exists x 를 사용하여 표기하면, 술어 논리에서 드 모르간의 법칙은 다음과 같이 표현할 수 있다.\neg\forall x~A(x) \Leftrightarrow \exists x~\neg A(x) \neg\exists x~A(x) \Leftrightarrow \forall x~\neg A(x) 명제 논리 에서 드 모르간의 법칙을 이용하면, 위와 같은 술어 논리의 드 모르간의 법칙을 확인할 수 있다. x가 1부터 100까지의 수를 나타내는 변수라고 가정하고, "모든 x에 대한 A(x)"가 있다면, 이는 "A(1)와 A(2)와… A(100)"을 의미한다. 이것을 부정하면 ¬A(1) 또는 ¬"A(2)와... A(100)"이 되며, "A(2)와… A(100)"의 부정을 같은 방식으로 반복하면 "¬A(1) 또는 ¬A(2) 또는 … ¬A(100)"이 된다. 이것은 "어떤 x에 대한 ¬A(x)"를 의미한다. 반대로, "어떤 x에 대한 A(x)"와 "A(1) 또는 A(2) 또는 … A(100)"의 부정은 ¬A(1)와 ¬"A(2)또는... A(100)"이고, 이것을 계속하면 "모든 x에 대한 ¬A(x)"가 된다. 위의 설명에서 "모든 x에 대한 A(x)"를 "A(1)와 A(2)와…A(100)"로 정의하고 논의를 시작하였지만, 이는 변수 x가 유한할 경우에만 가능하다. x가 나타내는 것이 무한할 경우 위처럼 드 모르간의 법칙으로 기술할 수 없다. 보통 술어 논리 체계에서는 무한한 경우에 대한 드 모르간의 법칙에 해당되는 공리 로 인정되지만, 기호 논리학자 중 일부는 이를 인정하지 않을 경우에 대한 논리학 연구를 하기도 한다. 전칭 양화사와 존재 양화사 에도 이중성이 적용된다. : \forall x \, P(x) \equiv \neg [ \exists x \, \neg P(x)] : \exists x \, P(x) \equiv \neg [ \forall x \, \neg P(x)] 이러한 양화사 이중성을 드 모르간의 법칙과 관련짓기 위해, 영역 ''D''에 소수의 원소를 갖는 모델을 설정하면 (예: ''D'' = {''a'', ''b'', ''c''}), 다음과 같은 관계를 확인할 수 있다. : \forall x \, P(x) \equiv P(a) \land P(b) \land P(c) : \exists x \, P(x) \equiv P(a) \lor P(b) \lor P(c). 드 모르간의 법칙을 사용하면, : P(a) \land P(b) \land P(c) \equiv \neg (\neg P(a) \lor \neg P(b) \lor \neg P(c)) : P(a) \lor P(b) \lor P(c) \equiv \neg (\neg P(a) \land \neg P(b) \land \neg P(c)), 가 되어 모델에서 양화사 이중성이 성립함을 알 수 있다. 나아가, 양화사 이중성은 양상 논리 로 확장되어 □("필연적으로")와 ◊("가능하게") 연산자를 관련지을 수 있다. : \Box p \equiv \neg \Diamond \neg p, : \Diamond p \equiv \neg \Box \neg p. 아리스토텔레스 는 가능성과 필연성의 알레틱 양상에 대한 적용에서 이와 같은 관계를 관찰했으며, 정규 양상 논리의 경우, 이러한 양상 연산자와 양화의 관계는 크립케 의미론을 사용하여 모델을 설정함으로써 이해할 수 있다.
3. 3. 예시
1차 술어 논리 에서 드 모르간의 법칙을 설명하는 구체적인 예시는 다음과 같다."모든 사람은 냉장고를 가지고 있다"의 부정은 "어떤 사람은 냉장고를 가지고 있지 않다"(즉, "냉장고를 가지고 있지 않은 사람이 적어도 한 명 이상 있다")이다. "어떤 사람은 냉장고를 가지고 있다"(즉, "냉장고를 가지고 있는 사람이 적어도 한 명 이상 있다")의 부정은 "모든 사람이 냉장고를 가지고 있지 않다"이다.
3. 4. 전칭 명제와 존재 명제
전칭 명제와 존재 명제 에서의 드 모르간의 법칙은 전 부정과 부분 부정을 바꿔 말하는 것과 관련이 있다. 예를 들어 x가 책을 나타내는 변수이고, "책 x를 좋아한다"를 A(x)라고 할 때, "모든 책을 좋아한다"는 "모든 x에 대하여 A(x)"가 된다. 이 명제의 부분 부정인 "모든 책을 좋아하는 것은 아니다"는 "모든 x에 대하여 A(x)"의 부정이 되며, 드 모르간의 법칙에 따라 "어떤 x에 대하여 ¬A(x)", 즉 "좋아하지 않는 책도 있다"와 같다. 반대로, 전 부정인 "모든 책을 싫어한다"는 "모든 x에 대하여 ¬A(x)"를 의미하며, 드 모르간의 법칙에 따르면 "어떤 책을 좋아한다"의 부정이 된다. "모든 사람은 냉장고를 가지고 있다"의 부정은 "어떤 사람은 냉장고를 가지고 있지 않다"(즉, "냉장고를 가지고 있지 않은 사람이 최소한 한 명 있다")가 된다. [1]
4. 집합론에서의 드 모르간의 법칙
드 모르간의 법칙은 교집합 (∩), 합집합 (∪), 여집합 ( ̄) 연산 간의 관계를 나타내는 법칙이다.\overline{(A\cap B)}=\overline{A}\cup \overline{B} 임을 증명하는 과정은 다음과 같다. 먼저, x \in \overline{A \cap B} 라고 하면, x \not\in A \cap B 이다. A \cap B = \{\,y\ |\ y\in A \wedge y \in B\,\} 이므로, x \not\in A 이거나 x \not\in B 이어야 한다.x \not\in A 이면, x \in \overline{A} 이고, 따라서 x \in \overline{A} \cup \overline{B} 이다. 마찬가지로, x \not\in B 이면, x \in \overline{B} 이고, 따라서 x \in \overline{A}\cup \overline{B} 이다. 따라서, \forall x\Big( x \in \overline{A\cap B} \implies x \in \overline{A} \cup \overline{B}\Big) 이므로, \overline{A\cap B} \subseteq \overline{A} \cup \overline{B} 이다. 반대로, x \in \overline{A} \cup \overline{B} 라고 하고, x \not\in \overline{A\cap B} 라고 가정하면, x \in A\cap B 여야 한다. 따라서 x \in A 이고 x \in B 이며, x \not\in \overline{A} 이고 x \not\in \overline{B} 이다. 하지만 이는 x \not\in \overline{A} \cup \overline{B} 를 의미하며, x \in \overline{A} \cup \overline{B} 라는 가정과 모순된다. 따라서 x \not\in \overline{A\cap B} 라는 가정은 틀렸고, x \in \overline{A\cap B} 이다. 그러므로 \forall x\Big( x \in \overline{A} \cup \overline{B} \implies x \in \overline{A\cap B}\Big) 이고, 즉 \overline{A} \cup \overline{B} \subseteq \overline{A\cap B} 이다.\overline{A} \cup \overline{B} \subseteq \overline{A\cap B} 이고 \overline{A \cap B} \subseteq \overline{A} \cup \overline{B} 이면, \overline{A\cap B} = \overline{A} \cup \overline{B} 이다.\overline{A \cup B} = \overline{A} \cap \overline{B} 도 위와 비슷한 방식으로 증명할 수 있다.
4. 1. 공식
논리합 \lor , 논리곱 \land , 부정 \neg 의 논리 기호를 사용하여 표시하면 아래와 같다. :\neg (P \lor Q) = \neg P \land \neg Q :\neg (P \land Q) = \neg P \lor \neg Q 동일한 뜻을 집합의 기호로 바꾸면 다음과 같이 된다. :\overline{(A\cap B)}=\overline{A}\cup \overline{B} :\overline{(A\cup B)}=\overline{A}\cap \overline{B} (다만,  ̄ 기호는 전체 집합에 대한 여집합 을 표현함) 집합론에서 이는 종종 "여집합에 대한 합집합과 교집합의 교환 법칙"으로 표현되며, [5] 다음과 같이 공식적으로 표현할 수 있다. :\begin{align} \overline{A \cup B} &= \overline{A} \cap \overline{B}, \\ \overline{A \cap B} &= \overline{A} \cup \overline{B}, \end{align} 여기서:\overline{A} 는 A 의 여집합(보수)이며, overline는 부정할 항 위에 쓰여진다.\cap 는 교집합 연산자(AND)이다.\cup 는 합집합 연산자(OR)이다. 일반화된 형태는 다음과 같다. :\begin{align} \overline{\bigcap_{i \in I} A_{i}} &\equiv \bigcup_{i \in I} \overline{A_{i}}, \\ \overline{\bigcup_{i \in I} A_{i}} &\equiv \bigcap_{i \in I} \overline{A_{i}}, \end{align} 여기서 는 유한하거나, 셀 수 있거나, 셀 수 없을 정도로 무한한 색인 집합이다. 집합 기호를 사용하면 드 모르간의 법칙은 "선을 끊고, 부호를 바꾼다"라는 기억술 을 이용하여 기억할 수 있다. [6]
4. 2. 설명
논리합 \lor , 논리곱 \land , 부정 \neg 의 논리 기호를 사용하여 드 모르간의 법칙을 표시하면 아래와 같다. :\neg (P \lor Q) = \neg P \land \neg Q :\neg (P \land Q) = \neg P \lor \neg Q 동일한 뜻을 집합의 기호로 바꾸면 다음과 같이 된다. :\overline{(A\cap B)}=\overline{A}\cup \overline{B} :\overline{(A\cup B)}=\overline{A}\cap \overline{B} ( ̄ 기호는 전체 집합에 대한 여집합 을 표현한다.)벤 다이어그램 을 사용하면 \neg (P \lor Q) \equiv \neg P \land \neg Q 로 표시한다. 두 명제나 집합뿐만 아니라 더 많은 명제에서도 동일한 법칙이 성립한다. 집합론에서 "여집합에 대한 합집합과 교집합의 교환 법칙"으로 표현되며, [5] 다음과 같이 공식적으로 표현할 수 있다. :\begin{align} \overline{A \cup B} &= \overline{A} \cap \overline{B}, \\ \overline{A \cap B} &= \overline{A} \cup \overline{B}, \end{align} 여기서:\overline{A} 는 A 의 여집합(보수)\cap 는 교집합 연산자(AND)\cup 는 합집합 연산자(OR) 일반화된 형태는 다음과 같다. :\begin{align} \overline{\bigcap_{i \in I} A_{i}} &\equiv \bigcup_{i \in I} \overline{A_{i}}, \\ \overline{\bigcup_{i \in I} A_{i}} &\equiv \bigcap_{i \in I} \overline{A_{i}}, \end{align} 여기서 `I`는 유한하거나, 셀 수 있거나, 셀 수 없을 정도로 무한한 색인 집합이다. 집합 기호를 사용하면 드 모르간의 법칙은 "선을 끊고, 부호를 바꾼다"라는 기억술 을 이용하여 기억할 수 있다. [6]
4. 3. 벤 다이어그램
벤 다이어그램 을 사용하면 드 모르간의 법칙을 시각적으로 표현할 수 있다. 예를 들어 \neg (P \lor Q) \equiv \neg P \land \neg Q 는 다음과 같이 나타낼 수 있다. 일반적인 집합론 에서도 벤 다이어그램을 통해 드 모르간의 법칙을 확인할 수 있다.
5. 부울 대수에서의 드 모르간의 법칙
부울 대수는 논리 연산을 대수적으로 표현하는 방법으로, 드 모르간의 법칙은 부울 대수에서도 중요한 역할을 한다. 드 모르간의 법칙은 논리식의 일부 또는 전체에서 논리합 의 부정 또는 논리곱 의 부정에 적용될 수 있다.
5. 1. 공식
논리합 (''or''), 논리곱 (and), 부정 (not)의 논리 기호를 사용하여 드 모르간의 법칙을 표시하면 아래와 같다. :\neg (P \lor Q) = \neg P \land \neg Q :\neg (P \land Q) = \neg P \lor \neg Q 같은 의미를 집합 기호로 나타내면 다음과 같다. :\overline{(A\cap B)}=\overline{A}\cup \overline{B} :\overline{(A\cup B)}=\overline{A}\cap \overline{B} (단,  ̄ 기호는 전체 집합에 대한 여집합 을 표현한다.)벤 다이어그램 을 사용하면 \neg (P \lor Q) \equiv \neg P \land \neg Q 로 나타낼 수 있다. 드 모르간의 법칙은 두 명제나 집합뿐만 아니라 더 많은 명제에서도 동일하게 성립한다. 부울 대수(Boolean algebra)에서 드 모르간의 법칙을 표현하면 다음과 같다. :A = {0,1} , B = B' , \;\; ' 는 부정부울대수 결과값 비고 A + 0 A \cdot 0 A 0 일반 논리식 (A+B) (A \cdot B) A \cdot B A + B 드 모르간의 법칙
부울 대수에서 드모르간의 법칙은 다음과 같이 공식으로 표현할 수 있다. :\begin{align} \overline{A \land B} &= \overline{A} \lor \overline{B}, \\ \overline{A \lor B} &= \overline{A} \land \overline{B}, \end{align} 여기서:
\overline{A} 는 A 의 부정(negation)을 나타내며, 부정할 항 위에 overline가 표기된다.\land 는 논리곱 (logical conjunction) 연산자(AND)이다.\lor 는 논리합 (logical disjunction) 연산자(OR)이다. 이 법칙은 다음과 같이 일반화할 수 있다. :\begin{align} \overline{A_1 \land A_2 \land \ldots \land A_{n}} = \overline{A_1} \lor \overline{A_2} \lor \ldots \lor \overline{A_{n}}, \\ \overline{A_1 \lor A_2 \lor \ldots \lor A_{n}} = \overline{A_1} \land \overline{A_2} \land \ldots \land \overline{A_{n}}. \end{align} 임의의 명제 P, Q \in \{ \bot, \top \} (P와 Q는 참 또는 거짓 중 하나)에 대해:“P 또는 Q”가 아닌 것은, “P가 아닌 것”과 “Q가 아닌 것”이 모두 참인 것과 같다. “P 그리고 Q”가 아닌 것은, “P가 아닌 것” 또는 “Q가 아닌 것” 중 적어도 하나가 참인 것과 같다. 여기서 \lor 는 논리합 , \land 는 논리곱 , \neg 는 부정 을 나타내는 연산자이다. C언어와 그 영향을 받은 프로그래밍 언어 에서 드 모르간의 법칙은 다음과 같이 나타낸다. : `!(P || Q) == !P && !Q` : `!(P && Q) == !P || !Q` 여기서 `||`는 논리합, `&&`는 논리곱, `!`는 부정을 나타내는 논리 연산자이다. 더 일반적인 법칙으로서, 임의의 n개의 명제 P_{1}, P_{2}, \cdots, P_{n}\in \{ \bot, \top \} (P₁부터 Pₙ는 참 또는 거짓 중 하나)에 대해: :\neg \left ( \bigvee_{i=1}^{n}P_{i} \right ) = \bigwedge_{i=1}^{n} \neg P_{i} \, , \quad \neg \left ( \bigwedge_{i=1}^{n}P_{i} \right ) = \bigvee_{i=1}^{n} \neg P_{i} 가 성립한다. L을 임의의 부울 대수라 하고, 임의의 x,y \in L 에 대해서: :(x \cup y)^{c} = x^{c} \cap y^{c} \, , :(x \cap y)^{c} = x^{c} \cup y^{c} 가 성립한다.\{ a_{\lambda} | \lambda \in \Lambda \} 를 L의 임의의 부분집합 이라 하자. \textstyle \sup_{\lambda \in \Lambda} a_{\lambda} 가 존재할 때, \textstyle \inf_{\lambda \in \Lambda} a_{\lambda}^{c} 도 존재하며, :\left ( \sup_{\lambda \in \Lambda} a_{\lambda} \right )^{c} = \inf_{\lambda \in \Lambda} a_{\lambda}^{c} 가 성립한다. 또, \textstyle \inf_{\lambda \in \Lambda} a_{\lambda} 가 존재할 때, \textstyle \sup_{\lambda \in \Lambda} a_{\lambda}^{c} 도 존재하며, :\left ( \inf_{\lambda \in \Lambda} a_{\lambda} \right )^{c} = \sup_{\lambda \in \Lambda} a_{\lambda}^{c} 가 성립한다. 이를 드 모르간의 일반 법칙 이라고 한다.
5. 2. 설명
논리합 \lor , 논리곱 \land , 부정 \neg 의 논리 기호를 사용하여 드 모르간의 법칙을 표시하면 아래와 같다. :\neg (P \lor Q) = \neg P \land \neg Q :\neg (P \land Q) = \neg P \lor \neg Q 동일한 뜻을 집합의 기호로 바꾸면 다음과 같이 된다. :\overline{(A\cap B)}=\overline{A}\cup \overline{B} :\overline{(A\cup B)}=\overline{A}\cap \overline{B} (다만,  ̄ 기호는 전체 집합에 대한 여집합 을 표현함)벤 다이어그램 을 사용하면 \neg (P \lor Q) \equiv \neg P \land \neg Q 로 표시한다. 여기에는 두 명제나 집합에 대한 법칙을 말하고 있지만, 더 많은 명제에서도 동일한 법칙이 성립한다. 논리학이나 컴퓨터 과학 등에서 부울 대수(Boolean algebra)에 대한 드 모르간의 법칙의 예는 다음과 같다. :A = {0,1} , B = B' , \;\; ' 는 부정부울대수 결과값 A + 0 A \cdot 0 A 0 일반 논리식 (A+B) (A \cdot B) A \cdot B A + B 드 모르간의 법칙
부울 대수에서도 마찬가지로, 다음과 같이 공식적으로 표현할 수 있는 드 모르간의 법칙이 존재한다. :\begin{align} \overline{A \land B} &= \overline{A} \lor \overline{B}, \\ \overline{A \lor B} &= \overline{A} \land \overline{B}, \end{align} 여기서:
\overline{A} 는 A 의 부정(negation)을 나타내며, 부정할 항 위에 overline가 표기된다.\land 는 논리곱 (logical conjunction) 연산자(AND)이다.\lor 는 논리합 (logical disjunction) 연산자(OR)이다. 이는 다음과 같이 일반화할 수 있다. :\begin{align} \overline{A_1 \land A_2 \land \ldots \land A_{n}} = \overline{A_1} \lor \overline{A_2} \lor \ldots \lor \overline{A_{n}}, \\ \overline{A_1 \lor A_2 \lor \ldots \lor A_{n}} = \overline{A_1} \land \overline{A_2} \land \ldots \land \overline{A_{n}}. \end{align} C언어와 그 영향을 받은 프로그래밍 언어 에서 일반적인 논리식으로 나타내면 다음과 같다. :!(P || Q) == !P && !Q
:!(P && Q) == !P || !Q
여기서 ||
는 논리합, &&
는 논리곱, !
는 부정을 나타내는 논리 연산자이다.
6. 논리 회로에서의 드 모르간의 법칙
드 모르간의 법칙은 컴퓨터 공학 및 디지털 논리에서 회로 설계를 단순화하는 데 널리 사용된다. [12]
6. 1. 공식
논리합 \lor , 논리곱 \land , 부정 \neg 의 논리 기호를 사용하여 표시하면 아래와 같다. :\neg (P \lor Q) = \neg P \land \neg Q :\neg (P \land Q) = \neg P \lor \neg Q 동일한 뜻을 집합의 기호로 바꾸면 다음과 같이 된다. :\overline{(A\cap B)}=\overline{A}\cup \overline{B} :\overline{(A\cup B)}=\overline{A}\cap \overline{B} (다만,  ̄ 기호는 전체 집합에 대한 여집합 을 표현함)벤 다이어그램 을 사용하면 \neg (P \lor Q) \equiv \neg P \land \neg Q 로 표시한다. 여기에는 두 명제나 집합에 대한 법칙을 말하고 있지만, 더 많은 명제에서도 동일한 법칙이 성립한다. 아래 공식에서 *는 AND 연산자를, +는 OR 연산자를 뜻한다. :\overline{(A + B)} = \overline{A} * \overline{B} :\overline{(A * B)} = \overline{A} + \overline{B} 전기 공학 및 컴퓨터 공학에서 드 모르간의 법칙은 일반적으로 다음과 같이 표현된다. [12] :\overline{(A \cdot B)} \equiv (\overline {A} + \overline {B}) :그리고 :\overline{(A + B)} \equiv (\overline {A} \cdot \overline {B}), 여기서: \cdot 는 논리곱(AND)이다.+ 는 논리합(OR)이다.윗줄은 윗줄 아래의 논리 부정(NOT)을 나타낸다.
6. 2. 응용
드 모르간의 법칙은 컴퓨터 공학 및 디지털 논리에서 회로 설계를 단순화하는 데 널리 사용된다. [12] AND 연산은 \cdot , OR 연산은 + 로 표현하고, 윗줄은 윗줄 아래 식의 논리 부정(NOT)을 나타낼 때, 드 모르간의 법칙은 다음과 같이 표현된다. :\overline{(A \cdot B)} \equiv (\overline {A} + \overline {B}) :\overline{(A + B)} \equiv (\overline {A} \cdot \overline {B}) 드 모르간의 법칙을 이용하면 AND 게이트를 OR 게이트로, 또는 그 반대로 변환할 수 있다. 이를 통해 논리 회로를 단순화하여 성능을 향상시키고 비용을 절감할 수 있다.
7. 직관주의 논리에서의 드 모르간의 법칙
직관주의 논리는 배중률 (P ∨ ¬P)을 인정하지 않는 논리 체계이다. 따라서 직관주의 논리에서는 드 모르간의 법칙 중 일부만 성립한다. 드 모르간의 법칙과 관련된 네 가지 함의 가운데 세 가지는 직관주의 논리에서도 성립한다. 예를 들어 앨리스와 밥 두 사람 모두 데이트에 나오지 않았다는 것이 사실이 아니라고 하더라도, 둘 중 누가 나오지 않았는지는 알 수 없다. 이러한 원리는 약한 배중률(WPEM)과 동등하며, 중간 논리의 기초로 사용될 수 있다. 소전지의 제한된 원리(LLPO)는 존재 명제와 관련하여 실패하는 법칙의 개선된 버전이지만, WLPO와는 다르다. 부정을 임의의 상수 술어 C에 대한 함의로 대체하여도 다른 세 가지 드 모르간 법칙은 여전히 유효하며, 최소 논리에서도 참이다. 또한, 다음 법칙들은 여전히 성립한다. :(P\lor Q)\,\to\,\neg\big((\neg P)\land(\neg Q)\big), :(P\land Q)\,\to\,\neg\big((\neg P)\lor(\neg Q)\big), :\forall x\,P(x)\,\to\,\neg\exists x\,\neg P(x), :\exists x\,P(x)\,\to\,\neg\forall x\,\neg P(x), 하지만 이 명제들의 역은 배중률 을 의미하기 때문에 직관주의 논리에서는 성립하지 않는다.
7. 1. 성립하는 법칙
직관주의 논리에서는 드 모르간의 법칙 중 일부가 성립하지 않지만, 다음 법칙들은 성립한다. :\neg(P\lor Q)\,\leftrightarrow\,\big((\neg P)\land(\neg Q)\big), :\big((\neg P)\lor(\neg Q)\big)\,\to\,\neg(P\land Q). 위 식에서 첫 번째 법칙은 ¬(P ∨ Q)와 (¬P ∧ ¬Q)가 서로 동치임을 의미하고, 두 번째 법칙은 (¬P ∨ ¬Q)이면 ¬(P ∧ Q)임을 의미한다. 또한, 다음과 같은 양화사 법칙도 성립한다. :\forall x\,\neg P(x)\,\leftrightarrow\,\neg\exists x\,P(x) :\exists x\,\neg P(x)\,\to\,\neg\forall x\,P(x). 위 식에서 첫 번째 법칙은 "모든 x에 대해 P(x)가 아니다"라는 명제와 "P(x)인 x가 존재하지 않는다"라는 명제가 서로 동치임을 의미하고, 두 번째 법칙은 "P(x)가 아닌 x가 존재한다"라는 명제가 "모든 x에 대해 P(x)이다"라는 명제의 부정을 함의한다는 것을 의미한다. 직관주의 논리에서는 다음의 시퀀트 계산 도 증명 가능하다.\, \neg (\mathfrak{A} \lor \mathfrak{B}) \, \rightarrow \, \neg \mathfrak{A} \land \neg \mathfrak{B} \, \neg \mathfrak{A} \land \neg \mathfrak{B} \, \rightarrow \, \neg (\mathfrak{A} \lor \mathfrak{B}) \, \neg \mathfrak{A} \lor \neg \mathfrak{B} \, \rightarrow \, \neg (\mathfrak{A} \land \mathfrak{B}) \, \neg \, \exists x \, \mathfrak{F}(x) \, \rightarrow \, \forall x \, \neg \, \mathfrak{F}(x) \, \forall x \, \neg \, \mathfrak{F}(x) \, \rightarrow \, \neg \, \exists x \, \mathfrak{F}(x) \, \exists x \, \neg \, \mathfrak{F}(x) \, \rightarrow \, \neg \, \forall x \, \mathfrak{F}(x)
8. 역사
드 모르간의 법칙은 공식적인 형태의 법칙을 고전 명제 논리 에 도입한 오거스터스 드 모르간 (1806–1871)의 이름을 따 명명되었다. [7] 드 모르간의 공식화는 조지 불 이 수행한 논리의 대수화의 영향을 받았는데, 이는 나중에 드 모르간의 발견에 대한 주장을 확고히 했다. 그럼에도 불구하고, 비슷한 관찰은 아리스토텔레스 에 의해 이루어졌으며, 그리스와 중세 논리학자들에게 알려져 있었다. [8] 예를 들어, 14세기에 윌리엄 오컴은 이 법칙들을 읽어내면 나오는 말을 적어 놓았다. [9] 장 부리당 또한 그의 Summulae de Dialectica|숨물라이 데 디알렉티카la 에서 드 모르간의 법칙과 일치하는 변환 규칙을 설명한다. [10] 그럼에도 불구하고, 드 모르간은 현대 형식 논리의 용어로 이 법칙들을 진술하고 논리의 언어에 통합한 공로를 인정받는다. 드 모르간의 법칙은 쉽게 증명될 수 있으며, 심지어 사소해 보일 수도 있다. [11] 그럼에도 불구하고, 이 법칙들은 증명과 연역적 추론에서 타당한 추론을 하는 데 도움이 된다.
9. 활용 사례
드 모르간의 법칙은 텍스트 검색, 디지털 회로 설계, 컴퓨터 프로그래밍, 형식 논리 등 다양한 분야에서 활용된다.논리 게이트를 사용한 회로로 나타낸 드 모르간의 법칙 (국제전기기술위원회 다이어그램) 고전 명제 논리의 확장에서도 이중성은 여전히 유지된다. 즉, 모든 논리 연산자에 대해 항상 그 이중 연산자를 찾을 수 있다. 이는 부정을 지배하는 항등식이 존재하면 항상 다른 연산자의 드 모르간 이중 연산자를 도입할 수 있기 때문이다. 이는 고전 논리 에 기반한 논리의 중요한 특성, 즉 부정 정규 형식의 존재로 이어진다. 모든 공식은 부정이 공식의 비논리적 원자에만 적용되는 다른 공식과 동등하다. 부정 정규 형식은 디지털 회로 설계에서 논리 게이트 유형을 조작하고, 형식 논리에서 공식의 합취 정규 형식과 분리 정규 형식을 찾는 데 사용되는 등 여러 응용 분야에서 활용된다. [1] 기본 명제 ''p'', ''q'', ...에 따라 달라지는 임의의 명제 연산자 P(''p'', ''q'', ...)의 이중 연산자는 다음과 같이 정의한다. :\mbox{P}^d(p, q, ...) = \neg P(\neg p, \neg q, \dots).
9. 1. 텍스트 검색
드 모르간의 법칙은 불리언 연산자 AND, OR, NOT을 사용하는 텍스트 검색에 일반적으로 적용된다. "고양이"와 "개"라는 단어를 포함하는 문서 집합을 가정해 보자. 드 모르간의 법칙에 따르면 다음 두 검색은 동일한 문서 집합을 반환한다. [1]검색 A: NOT (고양이 OR 개) 검색 B: (NOT 고양이) AND (NOT 개) "고양이" 또는 "개"를 포함하는 문서 집합은 다음 네 개의 문서로 나타낼 수 있다. [1]문서 1: "고양이"라는 단어만 포함한다. 문서 2: "개"라는 단어만 포함한다. 문서 3: "고양이"와 "개" 모두 포함한다. 문서 4: "고양이"와 "개" 모두 포함하지 않는다. 검색 A를 평가해 보면, "(고양이 OR 개)" 검색은 문서 1, 2, 3에 적중한다. 따라서 해당 검색의 부정(즉, 검색 A)은 나머지 문서, 즉 문서 4에 적중한다. [1] 검색 B를 평가해 보면, "(NOT 고양이)" 검색은 "고양이"를 포함하지 않는 문서, 즉 문서 2와 4에 적중한다. 마찬가지로 "(NOT 개)" 검색은 문서 1과 4에 적중한다. 이 두 검색에 AND 연산자를 적용하면(즉, 검색 B) 두 검색에 공통으로 존재하는 문서, 즉 문서 4에 적중한다. [1] 다음 두 검색이 모두 문서 1, 2, 4를 반환한다는 것을 보여주는 유사한 평가를 적용할 수 있다. [1]검색 C: NOT (고양이 AND 개) 검색 D: (NOT 고양이) OR (NOT 개)
9. 2. 컴퓨터 프로그래밍
컴퓨터 프로그래머는 드 모르간의 법칙을 사용하여 복잡한 논리 조건을 단순화하거나 적절하게 부정할 수 있다. [1] 이는 기본적인 확률론 계산에도 유용하다. [1]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com