부울대수의 AND·OR·NOT과 진리표로 논리식의 동치를 어떻게 확인하나요?
부울대수는 참과 거짓을 1과 0으로 다루는 계산 규칙입니다. AND·OR·NOT으로 논리식을 읽고, 같은 결과를 내는 더 간단한 식인지 진리표로 확인합니다.
적용 조건·범위: Boolean 입력 전체를 검사한 표이므로 이 식의 동치를 확인합니다. 실제 JavaScript 조건에 함수 호출·부작용·비 Boolean 값이 섞이면 평가 순서와 반환값까지 따로 검토해야 합니다.
공식 문서 참고: MIT 명제의 대수와 진리표·드모르간 법칙(3.4절)
핵심 정의와 기호
부울 변수는 0 또는 1 두 값을 갖습니다. 여기서는 0을 거짓, 1을 참으로 읽습니다. ∧는 AND, ∨는 OR, ¬는 NOT이며 일반 정수 덧셈·곱셈과 구분합니다.
| 법칙 | 식 |
|---|---|
| 항등 | A∧1=A, A∨0=A |
| 멱등 | A∧A=A, A∨A=A |
| 드모르간 | ¬(A∧B)=¬A∨¬B |
| 드모르간 | ¬(A∨B)=¬A∧¬B |
| 흡수 | A∨(A∧B)=A |
AND 게이트는 두 입력이 모두 1일 때, OR 게이트는 하나 이상 1일 때 1을 냅니다. NOT 게이트는 한 입력을 반전합니다. 여기서는 게이트의 논리 기능까지만 다룹니다.
가장 작은 예제
‘관리자이고 활성 상태인 것은 아니다’를 ¬(A∧B)로 나타내면 ‘관리자가 아니거나 활성 상태가 아니다’인 ¬A∨¬B와 같습니다.
| A | B | ¬(A∧B) | ¬A∨¬B |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
두 변수의 전체 입력 네 조합에서 같으므로 두 식은 동치입니다.
헷갈리는 반례
¬(A∧B)를 ¬A∧¬B로 바꾸면 틀립니다. A=1,B=0일 때 왼쪽은 1, 잘못 바꾼 식은 0입니다. 괄호 안 연산도 AND↔OR로 바꿔야 합니다.
손으로 풀어보기
흡수법칙 A∨(A∧B)의 결과를 네 조합으로 계산합니다.
| A | B | A∧B | A∨(A∧B) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
결과 열은 A와 같습니다. A=0이면 A∧B도 0, A=1이면 바깥 OR가 1이라는 두 경우로도 설명할 수 있습니다.
선택: JavaScript로 검산하기
코드 직접 실행
본문 예제를 선택하고 실제 계산 결과를 확인합니다.
예제 크게 보기 (새 탭)손풀이 뒤 선택해서 실행하는 짧은 전체 코드입니다. 브라우저 Console 또는 Node.js가 준비된 환경의 check.mjs에서 실행할 수 있으며 수학 학습에 설치는 필수가 아닙니다.
const values = [false, true];
for (const A of values) {
for (const B of values) {
console.log(A, B, A || (A && B), A);
}
}
기대 결과: 각 행 A,B에 대해 세 번째 값 A||(A&&B)와 네 번째 A가 같습니다. 순서는 false false false false / false true false false / true false true true / true true true true입니다.
Boolean 입력 전체를 검사한 표이므로 이 식의 동치를 확인합니다. 실제 JavaScript 조건에 함수 호출·부작용·비 Boolean 값이 섞이면 평가 순서와 반환값까지 따로 검토해야 합니다.
자주 발생하는 오해와 교정
괄호 전체를 부정할 때 변수만 부정하고 AND/OR를 그대로 두지 않습니다. 부울식의 동치가 부작용 있는 코드의 평가 순서까지 같음을 뜻하지도 않습니다. 식의 길이보다 의미와 읽기 쉬움을 우선합니다.
직접 풀어볼 문제와 해설
쉬운 개념
부울식의 동치는 결과를 특정 입력 하나에서만 비교하지 않고, 가능한 입력 조합 전체에서 비교합니다. A∨(¬A∧B)는 A∨B로 줄일 수 있습니다.
단계별 예제
- A=0이면 A∨(¬A∧B)=B입니다.
- A=1이면 바깥 OR 때문에 항상 1입니다.
- A∨B도 두 경우에 같은 결과이므로 두 식이 동치입니다.
직접 풀 문제
A,B의 네 조합 (0,0),(0,1),(1,0),(1,1)에 대해 A∨(¬A∧B)의 결과를 쓰고 A∨B와 비교하세요.
정답·해설 보기
- 결과는 차례로 0,1,1,1입니다.
- A∨B의 진리표도 0,1,1,1이어서 동치입니다.
- 분배법칙으로 (A∨¬A)∧(A∨B)=1∧(A∨B)=A∨B라고 확인할 수도 있습니다.
다음 학습
7회차에서는 조건을 만족하는 선택과 나열의 경우의 수를 셉니다. 다음 글 읽기
학습 완료 체크리스트
- 정의의 적용 범위와 기호를 말로 설명할 수 있습니다.
- 위 손풀이를 답을 가린 상태에서 다시 계산합니다.
- 반례가 어떤 조건을 어기는지 설명합니다.
알고리즘 수학 노트
누적 이전 체크포인트: discrete-step-05-function. 아래는 이번 회차의 완성 예시입니다. 자신의 다른 예제 하나를 덧붙여도 좋습니다.
조건식 단순화에서는 동일한 참·거짓을 유지하는지 먼저 확인하고 읽기 쉬운 의미를 남깁니다. 명제의 표를 부울식 변형의 근거로 연결하고 드모르간 표, 잘못 바꾼 반례, 흡수법칙 네 행을 저장합니다.
완료 체크포인트
discrete-step-06-boolean
다음 학습
순열·조합 구분법: 차이와 공식, 예제로 이해하기에서 다음 개념을 이어갑니다.
글 소개·학습 준비·전체 목차

이산수학 · 6 / 13
부울대수 쉽게 이해하기: 진리표와 논리게이트 간소화 기준
부울대수는 참과 거짓을 0과 1처럼 다루며 논리식을 계산하고 단순화하는 규칙입니다. 1회차의 명제 논리를 다시 반복하기보다 논리식을 어떻게 같은 의미의 더 단순한 형태로 바꾸는지 살펴봅니다.
이번 글에서 배우는 내용
- 항등·멱등·흡수법칙을 구분합니다.
- 드모르간 변형에서 연산자도 바꿉니다.
- 전체 진리표와 일부 표본 검사를 구별합니다.
선수 지식
1회차의 NOT·AND·OR 진리표를 알고 있어야 합니다.
목차
이 글이 도움이 되었나요?
읽음 기록
읽음 — / 전체 13개 · 필수 13개
새 글 받아보기
RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.