{{위키데이터 속성 추적}}
[[파일:Demorganlaws.svg|섬네일]]
'''드 모르간의 법칙'''({{llang|en|De Morgan's laws}}), 또는 '''드 모르간의 정리'''<ref>조현준. "복소수를 이용한 삼각함수 공식들의 증명." 국내석사학위논문 고려대학교 교육대학원, 2008. 서울 -http://www.riss.kr/search/detail/DetailView.do?p_mat_type=be54d9b8bc7cdb09&control_no=5a00f2b3cf0de744ffe0bdc3ef48d419&outLink=K</ref>는 [[수리 논리학]]이나 [[집합론]], [[컴퓨터 과학]] 등에서 논리곱(집합의 공통 부분), 논리합(집합의 모든 부분), 부정(여집합) 연산간의 관계(드 모르간의 상대성이라고 부름)를 기술하여 정리한 것으로, 수학자 [[오거스터스 드 모르간]]의 이름을 따서 드 모르간의 법칙이라고 한다.

전기, 전자 공학적으로는 논리 회로에서 응용되기도 하는데, AND 연산과 OR 연산을 이용한다.

== 개요 ==
[[논리합]]<math>\lor</math>, [[논리곱]]<math>\land</math>, [[부정]]<math>\neg</math>의 논리 기호를 사용하여 표시하면, 아래와 같다.
: <math>\neg (P \lor Q) = \neg P \land \neg Q</math>
: <math>\neg (P \land Q) = \neg P \lor \neg Q</math>
동일한 뜻을 집합의 기호로 바꾸면 다음과 같이 된다.
: <math>\overline{(A\cap B)}=\overline{A}\cup \overline{B}</math>
: <math>\overline{(A\cup B)}=\overline{A}\cap \overline{B}</math>

(다만, ￣ 기호는 전체 집합에 대한 [[여집합]]을 표현함) [[벤 다이어그램]]을 사용하면 <math>\neg (P \lor Q) \equiv \neg P \land \neg Q</math>로 표시한다：
<gallery>
파일:Venn-Diagram-OR.png|부정합 (OR) <math>P \lor Q</math>혹은 <math>P\cup Q</math>
파일:Venn-Diagram-NOR.png|논리 부정<math>\neg (P \lor Q)</math>혹은 <math>\overline{(P\cup Q)}</math>
</gallery>
<gallery>
파일:Venn-Diagram-NOT-P.png|한쪽의 논리 부정 (NOT-P) <math>\neg P</math>혹은 <math>\overline{P}</math>
파일:Venn-Diagram-NOT-Q.png|다른 한쪽의 논리 부정 (NOT-Q) <math>\neg Q</math>혹은<math>\overline{Q}</math>
파일:Venn-Diagram-NOR.png|부정 두 개의 논리곱<math>\neg P \land \neg Q</math>혹은 <math>\overline{P} \cap \overline{Q}</math>
</gallery>
여기에는 두 명제나 집합에 대한 법칙을 말하고 있지만, 더 많은 명제에서도 동일한 법칙이 성립한다. [[여집합]]의 기록을 참조할 것.

=== 논리 회로에서의 드 모르간의 법칙 ===
아래 공식에서 *는 AND 연산자를, +는 OR 연산자를 뜻한다.
: <math>\overline{(A + B)} = \overline{A} * \overline{B}</math>
: <math>\overline{(A * B)} = \overline{A} + \overline{B}</math>

=== 예시 ===
「내 키는 160 cm 이상이고, 몸무게는 50 kg 이상」의 부정은
「내 키는 160 cm 미만이고, 몸무게는 50 kg 미만」이 아니다.
드 모르간의 법칙에 따르면 「내 키는 160 cm 미만이거나, 몸무게는 50 kg 미만」이다.
같은 식으로,
「이 공은 파랗거나, 빨갛다.」
의 부정은
「이 공은 파랗지도, 빨갛지도 않다.」
가 된다.

== 술어 논리에서 드 모르간의 법칙 ==
드 모르간의 법칙을 확장한 것으로 [[1차 논리|1차 술어 논리]]에 대한 드 모르간의 법칙이 있다 : A(x)를 변수 x에 대한 서술자라고 할 때
* 「모든 x에 대한 A(x)」의 부정은 「어떤 x가 존재시 ￢A(x)」
* 「어떤 x가 존재시 A(x)」의 부정은「모든 x에 대한 ￢A(x)」
구체적인 예를 들면,
* 「모든 사람은 냉장고를 가지고 있다」의 부정은「어떤 사람은 냉장고를 가지고 있지 않다」（즉, 「냉장고를 가지고 있지 않은 사람은 적어도 한 명이상 있다」）
* 「어떤 사람은 냉장고를 가지고 있다」（즉, 「냉장고를 가지고 있는 사람이 적어도 한 명 이상 있다」)의 부정은 「모든 사람이 냉장고를 가지고 있지 않다」.
「모든 x에 대해〜」나 「어떤 x에 대한〜」을 양화자 기호로 <math>\forall x, \exists x</math>를 사용하여 표기하며, 술어 논리에서 드 모르간의 법칙은 다음과 같이 쓸 수 있다：
* <math>\neg\forall x~A(x) \Leftrightarrow \exists x~\neg A(x)</math>
* <math>\neg\exists x~A(x) \Leftrightarrow \forall x~\neg A(x)</math>
명제 논리에서 드 모르간의 법칙을 이용하면, 아래와 같은 술어 논리의 드 모르간의 법칙을 확인할 수 있다.

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가 나타내는 것이 무한할 경우 위처럼 드 모르간의 법칙으로 기술할 수 없다. 보통 술어 논리 체계에서는 무한한 경우에 대한 드 모르간의 법칙에 해당되는 [[공리]]로 인정되지만, [[기호 논리학]]자 중 일부는 이것을 인정하지 않을 경우에 대한 논리학 연구를 하기도 한다.

=== 전 부정과 부분 부정 ===
[[전 부정]]이나 [[부분 부정]]을 변경하는 방법은 (술어 논리에서) 드 모르간의 법칙과 관련이 있다. 예를 들어 x가 책을 나타내는 변수라고 하고, 「책 x를 좋아한다」를 A(x)라고 하면, 「모든 책을 좋아한다」는 「모든 x에 대하여 A(x)」가 된다

이것의 부분 부정 「모든 책을 좋아하는 것은 아니다」는 「모든 x에 대하여 A(x)」의 부정이며, 드 모르간의 법칙에 따라 「어떤 x에 대하여 ￢A(x)」, 즉 「좋아하지 않는 책도 있다」라고 하면 된다. 반면에 전 부정 「모든 책을 싫어한다」는 「모든 x에 대하여 ￢A(x)」를 가리키는 드 모르간의 법칙에 따르면 「어떤 책을 좋아한다」의 부정이 된다.

==부울 대수==
논리학이나 컴퓨터 과학등에서 [[부울 대수]](Boolean algebra)에 대한 드 모르간의 법칙의 예
:<math>A = {0,1} , B = B' ,  \;\; '</math>는 부정
{| class="wikitable"
|-
| 부울대수 || 결과값 ||
|-
| <math>A + 0 </math><br> <math> A \cdot 0 </math>
  ||<math> A </math> <br><math> 0 </math>
 || 일반 논리식
|-
| <math>(A+B)'</math><br> <math>(A \cdot B)'</math> || <math> A' \cdot B'</math><br> <math> A' + B'</math>  || 드 모르간의 법칙
|}

== 같이 보기 ==
* [[이중부정의 법칙]]

== 각주 ==
{{각주}}

{{집합론}}

[[분류:불 대수]]
[[분류:쌍대성이론]]
[[분류:추론 규칙]]
[[분류:명제 논리 정리]]