This lesson is only available in Korean for now.
Lesson 6 of 20
증명 — 우겨서 이기는 게 아니라 길을 놓는 일
직접증명 · 대우증명 · 귀류법 · 반례
증명은 이미 참인 것에서 보이고 싶은 것까지 디딤돌을 놓는 일입니다.
"짝수 두 개를 더하면 짝수다." 여러분은 이게 참이라는 걸 압니다. 그런데
왜 참인가요? 2 + 4 = 6, 10 + 8 = 18… 백 개를 확인해도 증명이 아닙니다.
101번째에서 깨지지 않는다고 누가 보장하죠?
증명(proof)은 이미 참이라고 인정된 것에서 출발해,
규칙을 어기지 않는 걸음으로 목표까지 가는 길입니다.
길이 한 번 놓이면 모든 경우에 대해 끝납니다 — 무한히 많아도요.
이산수학에서 쓰는 길은 네 가지면 충분합니다.
| 방법 | 언제 쓰나 | 하는 일 |
| 직접증명 | 대부분 | p 라고 치고, 계산해서 q 에 도착 |
| 대우증명 | 가정이 다루기 어려울 때 | ¬q 라고 치고 ¬p 에 도착 (3강의 대우) |
| 귀류법 | "없다 / 무한하다"를 보일 때 | 거짓이라고 치고 모순을 끌어냄 |
| 반례 | ∀ 명제를 깨뜨릴 때 | 어기는 예 하나를 제시 |
컴퓨터의 완전 탐색은 유한한 범위만 확인합니다.
Python
Runs in your browser
직접증명 — 정의를 펼쳐 쓰기
주장 : a와 b가 짝수이면 a + b도 짝수이다.
증명. 짝수의 정의는 "2로 나누어떨어지는 수", 즉 어떤 정수 k에 대해
a = 2k 로 쓸 수 있다는 뜻이다.
가정에 의해 a = 2k, b = 2m 인 정수 k, m이 있다.
그러면 a + b = 2k + 2m = 2(k + m) 이다.
k + m은 정수이므로 a + b는 2 × (정수) 꼴이다.
따라서 a + b는 짝수이다. ∎
대부분의 직접증명은 이렇게 정의를 문자로 펼쳐 쓰고, 정리해서, 다시 정의로 접는 모양입니다.
대우증명 — 뒤에서 접근하기
주장 : n²이 짝수이면 n도 짝수이다.
직접 하려면 "n²이 짝수다"에서 시작해야 하는데, 제곱근을 다루기가 성가십니다.
대우를 보면 훨씬 쉬워요 — "n이 홀수이면 n²도 홀수이다".
증명(대우). n이 홀수라 하자. 그러면 n = 2k + 1.
n² = (2k+1)² = 4k² + 4k + 1 = 2(2k² + 2k) + 1 — 2 × (정수) + 1 꼴,
즉 홀수이다.
대우가 참이므로 원래 명제도 참이다. ∎
대우가 참이면 원래도 참 — 3강에서 배운 그대로입니다.
Python
Runs in your browser
귀류법 — 아니라고 치고 모순을 끌어내기
보이고 싶은 것을 부정한 뒤, 그 가정에서 말이 안 되는 결론을 끌어내는 방법입니다.
말이 안 되는 결론이 나왔으니 출발점이 틀린 것이고, 따라서 원래 명제가 참이라는 거예요.
"~인 것은 없다", "~은 무한히 많다" 처럼 직접 구성하기 어려운 주장에 특히 강합니다.
목록이 유한하다고 치면 언제나 목록 밖의 소수가 만들어집니다.
Python
Runs in your browser
예시 40개는 증명이 아닙니다.
Python
Runs in your browser
🤔 Check yourself
"n이 홀수이면 n²도 홀수이다"를 증명해서 "n²이 짝수이면 n도 짝수이다"를 얻는 방법은?
Answer ¬q → ¬p 를 증명해 p → q 를 얻었으니 대우증명입니다. 3강에서 본 대로 원래 명제와 대우는 언제나 운명을 같이하므로, 다루기 쉬운 쪽을 골라 증명하면 됩니다.
🤔 Check yourself
"모든 홀수는 소수이다"가 거짓임을 보이는 가장 짧은 방법은?
Answer ∀ 명제는 반례 하나로 무너집니다. 9(또는 15, 21…)를 내놓으면 그것으로 끝이에요. 무한히 많은 것을 다 확인할 필요도, 거창한 방법을 쓸 필요도 없습니다.
🤔 Check yourself
귀류법의 뼈대를 바르게 말한 것은?
Answer 부정 → 모순 → 그러므로 참 이 귀류법입니다. ③은 11강에서 배울 수학적 귀납법이고, ④는 증명이 아니라 그저 확인이에요.