본문으로 건너뛰기
김신건의 로그

명제 논리 (Propositional Logic)

· 수정 · 📖 약 4분 · 1,532자/단어 #discrete-math #logic #boolean #propositional
Propositional Logic, 명제 논리, 명제, 진리표, 논리 연산, 함의, 동치

정의

명제 (Proposition) 는 참 (T) 또는 거짓 (F) 값을 가지는 서술문입니다. 참/거짓을 판단할 수 없는 문장 (질문, 명령, 감탄) 은 명제가 아닙니다.

예 (명제):

  • “2 + 2 = 4” (참)
  • “지구는 정사각형이다” (거짓)
  • 은 소수이다” (변수 있음: 술어)

예 (명제 아님):

  • “안녕하세요?”
  • “문을 닫아라”
  • ""

논리 연산자

명제 를 결합해 새 명제 생성.

연산기호의미
부정not p
논리곱p 그리고 q
논리합p 또는 q (포함적 or)
배타적 논리합p 또는 q 이지만 둘 다는 아님
함의p 이면 q (implication)
동치p 이면 q 이고 q 이면 p

진리표

각 연산의 정의:

AND ()

TTT
TFF
FTF
FFF

OR ()

TTT
TFT
FTT
FFF

함의 ()

가장 헷갈리는 연산. “p 이면 q” 는 p 가 참인데 q 가 거짓일 때만 거짓, 나머지는 참.

TTT
TFF
FTT
FFT

직관: “비가 오면 우산을 든다” 라는 약속.

  • 비 O, 우산 O -> 약속 지킴 (T)
  • 비 O, 우산 X -> 약속 어김 (F)
  • 비 X, 우산 O -> 약속과 무관 (T, vacuously true)
  • 비 X, 우산 X -> 약속과 무관 (T)

전제가 거짓이면 함의는 항상 참 = vacuous truth.

동치 ()

는 두 명제의 진리값이 같음.

TTT
TFF
FTF
FFT

진리표로 논리 등식 검증

: 드모르간 법칙

TTTFFFF
TFFTFTT
FTFTTFT
FFFTTTT

4번째, 7번째 열이 일치 -> 등식 성립.

시각화: 진리표를 다이어그램으로

AND / OR 벤 다이어그램

flowchart LR
  subgraph "AND: p ∧ q (교집합)"
    A1["p 만"]:::p
    B1["q 만"]:::q
    AB1["p ∧ q"]:::and
  end

  classDef p fill:#fee2e2
  classDef q fill:#dbeafe
  classDef and fill:#a7f3d0

는 두 원의 교집합, 는 두 원의 합집합.

논리 동치 (주요 법칙)

법칙등식
항등,
지배,
멱등,
이중부정
교환,
결합
분배
드모르간
흡수
함의 재작성
대우
동치 재작성

함의의 관련 명제

에 대해:

  • 역 (converse):
  • 이 (inverse):
  • 대우 (contrapositive):

중요: 원 명제와 대우 는 논리적으로 동치. 역/이는 원 명제와 동치가 아님.

: 원 명제 “비가 오면 땅이 젖는다”

  • 대우: “땅이 젖지 않으면 비가 오지 않는다” (동치 O)
  • 역: “땅이 젖으면 비가 온다” (동치 X, 물뿌리개일 수도)
  • 이: “비가 오지 않으면 땅이 젖지 않는다” (동치 X)

항진명제와 모순

  • 항진명제 (tautology): 모든 진리 할당에서 참. 예:
  • 모순 (contradiction): 모든 진리 할당에서 거짓. 예:
  • 가능명제 (contingency): 참 또는 거짓 (진리 할당에 의존).

정규형

명제 논리식은 두 가지 표준형으로.

논리곱 정규형 (CNF, Conjunctive Normal Form)

절 (clause) 의 논리곱. 각 절은 리터럴의 논리합.

SAT solver 의 표준 입력. Boolean Algebra 참조.

논리합 정규형 (DNF)

항 (term) 의 논리합. 각 항은 리터럴의 논리곱.

추론 규칙

전제로부터 결론을 도출하는 규칙:

Modus Ponens (긍정 논법)

“p 이면 q, 그리고 p 이다. 따라서 q.”

Modus Tollens (부정 논법)

“p 이면 q, 그런데 q 가 아니다. 따라서 p 도 아니다.” (대우 활용)

삼단논법

분리 규칙

컴퓨터 과학 응용

프로그래밍 조건문

if (age >= 18) and (has_license):
    can_drive = True

이는 명제 논리의 AND. and, or, not.

회로 설계

  • AND 게이트, OR 게이트, NOT 게이트
  • 진리표 -> DNF/CNF -> 회로
  • 최소화: 카르노 맵

형식 검증

  • 프로그램의 사전조건 / 사후조건을 명제로 표현
  • 정리 증명기가 논리식 검사

SAT 문제

  • CNF 논리식이 만족 가능한 진리 할당이 있는가?
  • NP-완전. 많은 조합 최적화 문제가 SAT 로 환원.

함정

1. 함의의 vacuous truth

전제 가 거짓이면 는 자동으로 참. 이를 잊으면 오류.

: “5 > 10 이면 지구는 평평하다” 는 논리적으로 참 (전제 거짓).

2. 역과 원 명제 혼동

“모든 소수는 홀수이다” 의 역은 “모든 홀수는 소수이다” (거짓, 예: 9). 원 명제와 동치가 아님. (사실 원 명제도 거짓, 2 는 짝수 소수).

3. 배타적 or 와 포함적 or

일상 언어의 “or” 는 종종 배타적 (either-or). 논리 포함적 (둘 다 참이어도 참). SQL 의 OR 등도 포함적.

4. 드모르간 실수

로 착각. 부정하면 연산자도 뒤집힘.

다음 학습

명제 논리 이후:

  • 증명 기법: 명제 논리를 이용한 증명 방법
  • 부울 대수: 회로 설계로 확장
  • 술어 논리 (Predicate Logic): 양화사 () 추가

관련 위키

이 글의 용어 (5개)
부울 대수 (Boolean Algebra)discrete-math
정의 부울 대수 (Boolean Algebra) 는 두 값 (참/거짓, 1/0) 과 세 연산 (AND, OR, NOT) 을 다루는 대수 시스템입니다. 1854년 George Bo…
이산수학 (Discrete Mathematics)discrete-math
정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
조합론 기초 (Combinatorics)discrete-math
정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
증명 기법 (Proof Techniques)discrete-math
정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
집합, 관계, 함수 (Sets, Relations, Functions)discrete-math
정의 - 집합 (set): 서로 다른 원소들의 모음 - 관계 (relation): 두 집합 사이의 원소들의 대응 규칙 - 함수 (function): 정의역의 각 원소를 치역의 유…

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기