본문 바로가기

명제와 논리 연산

진릿값과 조건명제의 의미를 진리표로 확인하고 논리적 동치를 구합니다.

접근 조건이 '로그인했고 관리자이거나 작성자이다'라면 괄호가 없을 때 해석이 달라질 수 있습니다. 논리는 참·거짓을 정하는 문장을 기호와 연산으로 정확히 적는 도구입니다. 이 절의 목표는 명제를 구분하고, 합성명제를 진리표로 계산하는 것입니다.

참인지 거짓인지 정할 수 있는 문장

'7은 소수다'는 참인 명제이고 '7은 짝수다'는 거짓인 명제입니다. '문을 닫아라'는 명령, '이 프로그램은 멋지다'는 기준이 정해지지 않은 평가이므로 여기서 명제로 다루지 않습니다. 'x는 짝수다'는 x의 값과 정의역을 정하기 전에는 참·거짓이 확정되지 않는 술어입니다.

명제 PP의 부정 ¬P\neg P는 진릿값을 뒤집습니다. P∧QP\land Q는 둘 다 참일 때, P∨QP\lor Q는 적어도 하나가 참일 때 참입니다. 논리합은 둘 다 참인 경우도 포함합니다. '둘 중 하나만'은 배타적 논리합 P⊕QP\oplus Q입니다.

PQP∧QP∨QP→QP↔Q
참참참참참참
참거짓거짓참거짓거짓
거짓참거짓참참거짓
거짓거짓거짓거짓참참

조건명제를 계약처럼 읽기

P→QP\to Q는 'P이면 Q'입니다. 약속을 위반하는 경우는 P가 참인데 Q가 거짓인 경우뿐입니다. P가 거짓인 경우는 그 약속의 반례가 아니므로 조건명제는 참으로 계산합니다. 이 논리적 정의는 P가 Q의 원인이라는 주장과 다릅니다.

P→QP\to Q에서 P는 Q의 충분조건, Q는 P의 필요조건입니다. '4의 배수이면 짝수'에서 4의 배수라는 조건은 짝수임을 보이기에 충분하지만, 짝수라고 해서 4의 배수는 아닙니다. 6이 반례입니다.

원명제의 역은 Q→PQ\to P, 이는 ¬P→¬Q\neg P\to\neg Q, 대우는 ¬Q→¬P\neg Q\to\neg P입니다. 원명제와 대우는 항상 진릿값이 같지만 역·이는 원명제와 같다고 보장되지 않습니다. P↔QP\leftrightarrow Q는 양방향 조건이 모두 참인 동치 조건입니다.

동치는 모든 행에서 같아야 한다

두 식의 진릿값이 모든 조합에서 같으면 논리적으로 동치입니다. P→QP\to Q와 ¬P∨Q\neg P\lor Q는 위 표를 통해 같습니다. 드모르간 법칙은 ¬(P∧Q)≡¬P∨¬Q\neg(P\land Q)\equiv\neg P\lor\neg Q, ¬(P∨Q)≡¬P∧¬Q\neg(P\lor Q)\equiv\neg P\land\neg Q입니다.

접근 조건을 L∧(A∨W)L\land(A\lor W)로 쓰면 로그인 L이 반드시 필요합니다. (L∧A)∨W(L\land A)\lor W로 쓰면 W만 참이어도 통과합니다. L=거짓, A=거짓, W=참을 대입하면 두 식이 다르므로 동치가 아닙니다. 이처럼 입력 하나로 비동치를 보일 수 있지만 동치를 확인하려면 모든 조합이나 동치 법칙이 필요합니다.

항진명제는 모든 행에서 참인 식이고 P∨¬PP\lor\neg P가 예입니다. 모순명제는 모든 행에서 거짓인 식이고 P∧¬PP\land\neg P가 예입니다.

스스로 풀어보기

문제 1. ¬(P∨Q)\neg(P\lor Q)를 P,Q의 부정만으로 나타내고 P=참, Q=거짓일 때 계산하세요.

힌트: '적어도 하나가 참'을 부정하면 둘 다 거짓이어야 합니다.

풀이: ¬P∧¬Q\neg P\land\neg Q입니다. 원식은 참의 부정이므로 거짓이고, 변형한 식도 거짓∧참이라 거짓입니다. 한 행 확인만으로 법칙 전체를 증명한 것은 아니므로 나머지 세 행도 같음을 표로 확인해 보세요.

문제 2. 'nn이 6의 배수이면 3의 배수다'의 대우와 역을 쓰고 역의 참·거짓을 판단하세요.

풀이: 대우는 '3의 배수가 아니면 6의 배수가 아니다'입니다. 역은 '3의 배수이면 6의 배수다'이고 n=3에서 거짓입니다. 원명제는 n=6k이면 n=3(2k)라 참입니다. 역의 반례가 원명제까지 부정하지는 않습니다.

괄호를 빼서 읽지 말고 작은 진리표부터 계산하세요. 변수와 '모든'·'어떤'은 술어와 양화사로 이어집니다.