논리에 대한 부분을 기호로 표시하는 방법이 바로 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 |
'Computer Science' 카테고리의 다른 글
[Programming] Logical equivalence examples (0) | 2020.10.15 |
---|---|
[Programming] Propositional Logic (0) | 2020.10.15 |
[Programming] Axiomatic Semantics examples (0) | 2020.10.08 |
[Programming] Denotational semantics examples (0) | 2020.10.08 |
[Programming] 십진법의 소수점자리를 삼진법 소수점으로 변환하기 (0) | 2020.09.17 |
댓글