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

증명 기법 (Proof Techniques)

· 수정 · 📖 약 5분 · 1,693자/단어 #discrete-math #proof #induction #logic
Proof Techniques, 증명 기법, 수학적 귀납법, 귀류법, 직접 증명, 구조 귀납법, 존재 증명

정의

증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수.

이 문서는 주요 증명 기법을 정리합니다.

1. 직접 증명 (Direct Proof)

“if then 를 증명하려면:

  1. 를 가정
  2. 논리 규칙과 이미 알려진 사실로부터
  3. 를 도출

예: 두 홀수의 합은 짝수

증명: 를 홀수라고 하자. , ().

이므로 는 짝수. QED.

2. 대우 증명 (Proof by Contrapositive)

를 증명하려면 대우 를 증명.

예: 가 짝수이면 도 짝수

증명: 대우로 ” 이 홀수이면 도 홀수” 를 증명.

이 홀수 -> -> . 홀수. QED.

3. 귀류법 (Proof by Contradiction, Reductio ad Absurdum)

명제 를 증명하려면 를 가정하고 모순을 유도.

예: 는 무리수

증명: 가 유리수라 가정. (기약분수, ).

가 짝수 -> 짝수 -> .

짝수 -> 짝수.

모두 짝수 -> . 기약분수 가정과 모순. QED.

예: 소수는 무한하다

증명 (유클리드): 소수가 유한하다고 가정. 이 모든 소수.

을 고려.

을 어떤 로 나누면 나머지 1. 따라서 은 모든 로 나누어떨어지지 않음.

두 경우:

  1. 이 소수 -> 목록에 없는 새 소수 -> 모순
  2. 이 합성수 -> 목록에 없는 소인수 존재 -> 모순

QED.

4. 존재 증명 (Existence Proof)

를 증명.

구성적 (Constructive)

실제로 를 찾음.

: “짝수인 소수가 존재한다”

  • 증명: 를 제시. 짝수이고 소수. QED.

비구성적 (Non-constructive)

존재를 논리적으로 보이지만 실제 는 제시 안 함.

: ” 가 유리수인 무리수 가 존재한다”

  • 후보: .
  • 가 유리수라면: 로 완료.
  • 아니면 무리수. . 유리수. QED.

두 경우 중 어느 것이 성립하는지 몰라도 존재 확인 가능.

5. 반례 증명 (Proof by Counterexample)

거짓 임을 보이려면 하나의 반례를 제시.

예: “모든 소수는 홀수” 는 거짓

반례: 2 는 소수이지만 짝수.

6. 수학적 귀납법 (Mathematical Induction)

이 모든 에 대해 참임을 증명.

단계:

  1. 기저 (base): 참 증명.
  2. 귀납 단계 (inductive step): 참 -> 참 증명.

결론: 이 모든 에 대해 참.

시각화

flowchart LR
  Base["기저: P(n₀) 참"] --> Step1["P(n₀) → P(n₀+1)"]
  Step1 --> Step2["P(n₀+1) → P(n₀+2)"]
  Step2 --> Step3["P(n₀+2) → P(n₀+3)"]
  Step3 --> Dots["..."]
  Dots --> Concl["모든 n ≥ n₀"]

도미노 비유: 첫 도미노를 넘어뜨리면 (기저), 그리고 각 도미노가 다음을 넘어뜨리면 (귀납 단계), 모든 도미노가 넘어짐.

예:

기저: . 좌변 = 1, 우변 = . 성립.

귀납 단계: 참이라 가정, 증명.

(귀납 가정)

성립. QED.

예: 2^n 개의 조합 (부분집합 수)

원소 집합의 부분집합 수 = .

기저: . 공집합 의 부분집합은 하나. . 성립.

귀납 단계: 인 집합의 부분집합이 라 가정.

인 집합 (). 의 부분집합은:

  • 를 포함 X: 의 부분집합 =
  • 를 포함 O: 의 부분집합에 추가 =

. QED.

7. 강귀납법 (Strong Induction)

증명 시 모두 를 가정.

기저 + 강한 귀납 가정.

예: 모든 는 소인수 분해 가능

기저: 는 소수. 성립.

귀납 단계: 가 모두 소인수 분해 가능이라 가정. 도 가능 증명.

두 경우:

  1. 이 소수. 완료.
  2. (). 강귀납 가정으로 각각 소인수 분해 가능. 그 곱이 의 분해.

QED.

8. 구조 귀납법 (Structural Induction)

트리, 리스트, 문자열 등 재귀적 구조에 대한 귀납.

예: 이진 트리의 잎 수

주장: 정점이 개인 이진 트리의 잎 수 … (사실은 더 정확한 결과 있음)

구조 귀납:

  • 기저: 정점 1 개 -> 잎 1 개.
  • 귀납: 뿌리 + 왼쪽 부트리 + 오른쪽 부트리. 각 부트리에 귀납 가정 적용.

9. 반대칭 원리 (Well-Ordering Principle)

자연수의 공집합이 아닌 부분집합은 최소 원소를 가짐.

귀납법과 논리적으로 동치.

예: 나눗셈 정리

주장: 정수 와 양의 정수 에 대해 유일한 이 존재해 , .

증명: 집합 .

는 공집합 아님. 최소값 존재. . 를 보이면 완료.

귀류: 라 가정. . 이면서 에 속함. 최소성 모순.

컴퓨터 과학 응용

알고리즘 정확성

루프 불변식 (loop invariant): 루프의 각 반복마다 유지되는 성질.

귀납법으로 증명:

  • 초기화: 첫 반복 전에 성립
  • 유지: 한 반복 후에도 성립
  • 종료: 종료 시 원하는 성질 함의

자료구조 불변식

  • AVL 트리: 각 정점의 두 부트리 높이 차 .
  • B-tree: 모든 잎이 같은 깊이.

각 연산이 불변식을 유지함을 귀납법으로 증명.

형식 검증

  • 모델 검사: 상태 공간 모든 경로 확인
  • 정리 증명기 (Coq, Lean): 대화형 증명

재귀 알고리즘

  • 분할 정복: 강귀납법으로 정확성
  • 트리 순회: 구조 귀납

함정

1. 기저 오류

또는 이 실제 기저인지 확인. 특수 케이스 잊기 쉬움.

2. 귀납 가정의 잘못된 적용

를 가정하고 증명해야. 순환 논증 (증명하려는 것을 가정) 주의.

3. 무한 케이스 오류

“모든 유한 케이스에 대해 성립하므로 무한 케이스에도” 는 오류. 귀납법으로 명시적 증명.

4. 존재 vs 유일

(유일 존재) 는 다름. 유일성은 별도 증명.

관련 위키

이 글의 용어 (6개)
그래프 이론 기초 (Graph Theory)discrete-math
정의 그래프 (Graph) $G = (V, E)$ 는 정점 (vertex) 의 집합 $V$ 와 간선 (edge) 의 집합 $E$ 로 이루어진 이산 구조입니다. 간선은 정점의 쌍 …
명제 논리 (Propositional Logic)discrete-math
정의 명제 (Proposition) 는 참 (T) 또는 거짓 (F) 값을 가지는 서술문입니다. 참/거짓을 판단할 수 없는 문장 (질문, 명령, 감탄) 은 명제가 아닙니다. 예 (…
이산수학 (Discrete Mathematics)discrete-math
정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
점화식 (Recurrence Relations)discrete-math
정의 점화식 (Recurrence Relation) 은 수열 $(an)$ 의 $n$ 번째 항을 앞선 항 (또는 몇 개) 로 표현하는 관계식입니다. 초기 조건 과 점화식이 함께 있…
조합론 기초 (Combinatorics)discrete-math
정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
집합, 관계, 함수 (Sets, Relations, Functions)discrete-math
정의 - 집합 (set): 서로 다른 원소들의 모음 - 관계 (relation): 두 집합 사이의 원소들의 대응 규칙 - 함수 (function): 정의역의 각 원소를 치역의 유…

💬 댓글

사이트 검색 / 명령어

검색

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