본문 바로가기
Computer Science

[Programming] Logical Equivalences

by Henry Cho 2020. 10. 15.
728x90

논리에 대한 부분을 기호로 표시하는 방법이 바로 Logical equivalences이다.

명제에 대한 논리가 맞는지를 확인할 수 있으며,

참과 거짓 둘로 구분하여 결과 값을 산출할 수 있다.

 

Logical equivalences에서 사용하는 부등호는 ≡이다.

≡는 논리적 항등식, =는 수학적 항등식이기 때문에 ≡를 사용하는 게 맞지만

공부할 때나 다른 사람과 소통만 된다면 사실 =를 사용해도 무방하다.

≡를 키보드에서 작성하기 매우 귀찮기 때문에 =를 실제로도 교수님들도 사용하는데

굳이 "저건 정확하지 않아요! 불편해요!"이라고 한다면 ≡를 사용하면 된다.

아무튼 필자는 미리 서로 이해만 된다면 둘다 상관없다고 본다.

프로그래밍만 잘하면 될 뿐.

 

¬

Logical equivalences에서는 NOT을 의미하는 기호로, 반대의 의미라고 보면 된다.

예를 들어 ¬p의 경우, p가 아닌 것을 의미한다.

따라서 p=1로 true일 경우에는 ¬p = 0으로 false 값에 해당한다.

 

·

·은 AND의 의미를 가지고 있다. ·말고 ^로 표시해주어도 같은 의미이다.

예를 들어, p^q와 p·q는 p AND q라는 같은 의미를 가지고 있다.

(·을 키보드로 작성하는 팁을 알려주자면, Alt+183을 순서대로 눌러주면 나온다.)

 

+

+은 OR의 의미를 가지고 있으며 ^와 반대 모양인 v를 사용하여 OR를 나타내주기도 한다.

p+q라는 말은 p OR q로 이해하면 된다.

 

Logical equivalences를 사용할때 기본적으로 알아야 하는 공식이다.

0(False)과 1(True)을 실제로 대입해보면 이해하기 쉽다.

이 공식을 통해서 우리가 바꾸고자 하는 명제에 대해서 적용할 수 있다.

1. p·1=p 11. p+(p·q) = p
2. p+1 = 1 12. p+¬p = 1
3. p+p = p 13. p+0 = p
4. ¬(¬p) = p 14. p·p = p
5. p+q = q+p 15. p·q = q·p
6. (p+q)+r = p+(q+r) 16. (p·q)·r = p·(q·r)
7. p+(q·r) = (p+q) 17. p·(q+r) = (p·q)+(p·r)
8. ¬(p+q) = ¬p·¬q 18. ¬(p·q) = ¬p+¬q
9. ¬(p+q+r) = ¬p·¬q·¬r 19. p·(p+q) = p
10.(p·q·r) = ¬p+¬q+¬r 20. p·¬p = 0

 

728x90

댓글