This lesson is only available in Korean for now.
Lesson 2 of 20

진리표 — 모든 경우를 빠짐없이 적는 표

그리고 · 또는 · 아니다

진리표 — 모든 경우를 빠짐없이 적는 표
명제 2개면 경우의 수는 4가지. 진리표는 그 넷을 하나도 빠뜨리지 않고 적은 표입니다.

명제 하나로는 할 수 있는 일이 별로 없습니다. 재미는 명제를 붙일 때 시작돼요.

이름기호파이썬참이 되는 때
부정¬pnot pp 가 거짓일 때
논리곱 (그리고)p ∧ qp and q둘 다 참일 때
논리합 (또는)p ∨ qp or q하나라도 참일 때
배타적 논리합p ⊕ qp != q둘이 서로 다를 때

여기서 꼭 짚고 갈 것 하나. 수학의 또는(∨)은 일상어와 다릅니다. "커피 또는 홍차"라고 하면 보통 둘 중 하나만 고르라는 뜻이지만, 논리의 ∨는 둘 다여도 참입니다. 둘 중 하나만 참일 때만 참인 것은 따로 이름이 있어요 — 배타적 논리합 ⊕입니다.

경우가 4개뿐이니 전부 적어 볼 수 있습니다 — 이것이 진리표입니다.
Python Runs in your browser

진리표란

진리표(truth table)는 명제들이 가질 수 있는 모든 참·거짓 조합과 그 결과를 적은 표입니다. 명제가 n개면 줄 수는 2n개예요. 1개면 2줄, 2개면 4줄, 3개면 8줄, 10개면 1024줄.

이 "2의 거듭제곱"은 이 강의 내내 따라다닙니다. 컴퓨터가 비트 n개로 2n가지를 표현하는 것과 정확히 같은 이유예요.

진리표 만들기 — 식을 고르면 모든 경우를 채워 줍니다
Loading…

같은 뜻인 두 식 — 동치

겉모습이 달라도 진리표가 완전히 같으면 두 식은 같은 명제입니다. 이것을 논리적 동치(logically equivalent)라 하고 ≡로 씁니다.

가장 유명한 동치가 드모르간 법칙(De Morgan's laws)입니다.

  • ¬(p ∧ q) ≡ ¬p ∨ ¬q — "둘 다는 아니다" = "하나는 아니거나 다른 하나가 아니다"
  • ¬(p ∨ q) ≡ ¬p ∧ ¬q — "둘 다 아니다" = "이것도 아니고 저것도 아니다"

말로 들으면 헷갈리지만 진리표로 확인하면 1초입니다.

네 줄이 모두 같으면 증명 끝입니다. 이것이 '진리표에 의한 증명'이에요.
Python Runs in your browser

항상 참, 항상 거짓

  • 항진명제(tautology) — 어떤 경우에도 참. 예: p ∨ ¬p ("비가 오거나 안 오거나")
  • 모순명제(contradiction) — 어떤 경우에도 거짓. 예: p ∧ ¬p

프로그램에서 조건이 항진명제가 되면 그 if는 있으나 마나이고, 모순명제가 되면 그 안의 코드는 영원히 실행되지 않습니다. 컴파일러가 "이 코드는 도달할 수 없습니다"라고 경고하는 것이 바로 이 계산의 결과예요.

식을 하나 더 만들어 넣어 보세요.
Python Runs in your browser
🤔 Check yourself
p가 참, q가 거짓일 때 p ∨ q 와 p ⊕ q 의 값은?
🤔 Check yourself
명제 3개로 만든 진리표의 줄 수는?
🤔 Check yourself
not (재고있음 and 결제완료) 와 같은 뜻인 것은?