情報数学 I
第十三回:
証明の方法(2013年1月17日)
Martin J. Dürst
http://www.sw.it.aoyama.ac.jp/2012/Math1/lecture13.html
© 2006-12 Martin
J. Dürst 青山学院大学
今日の予定
これからの予定
- 1月18日 (金): 14回目の授業
- 1月25日 (金) 11:10-12:35: 期末試験
前回からの宿題
九去法の応用例:
次の二つの計算のうち、一つだけ正しいが、どちらでしょうか:
2485938 · 4962483 = 12336425064054
3 · 0 ≡(mod 9) 0 ⇒ 正しい可能性がある
(実際に正しい)
2354987 · 2498472 = 5883469079864
2 · 0 ≢(mod 9) 5 ⇒ 正しくない (正解は
5883869079864)
配布テキストについて
- (有名な) 言語理論の教科書から
言語理論やオートマトン理論についての語句は無視してよい
- 一般的で分かりやすいので配布
- たまに違う「方言」を使用
- 試験の範囲内
証明の大切さ
- 数学の重要な道具
- 情報テクノロジー
- データ構造の性質の証明
- アルゴリズムの正しさや性質の証明
- プログラムの正しさや性質の証明
- プログラムの変換の正しさの証明
どこまで証明すればよいか
証明の方法
- 演繹的証明 (deductive proof, proof
by deduction)
- 帰納的証明 (inductive proof, proof by induction)
- 背理法 (proof by contradiction)
- 反例による証明 (proof by counterexample)
- 集合についての証明 (proof about sets)
- 列挙による「証明」(proof by enumeration)
証明と記号論理
- 演繹的証明: (H ∧
(H→C)) ⇒ C など
- 帰納的証明: (S(b) ∧ ∀k≥b:
S(k)→S(k+1)) ⇒ ∀n≥b:
S(n) など
- 背理法: (S→¬S) ⇒ ¬S
- 反例による証明: ∃x: ¬P (x) ⇒ ¬∀x: P(x)
- 列挙による「証明」: 例: 真理表
演繹と帰納
演繹 (deduction): 一般の原理から特定な場合を推論
帰納 (induction): 少数の事実から一般の原理を推測
数学的帰納法 (mathematical induction)
目的: ある構造の部分の (殆ど)
全てについて何かを証明
「ある構造」は自然数が多いが、木なども
数学的帰納法は一般の分類では帰納ではなく演繹
情報テクノロジーでの数学的帰納法の応用
- アルゴリズムやデータ構造の設計や性質の証明
- プログラムについての証明
数学的帰納法の二つのステップ
- 基底 (basis (step))
- 帰納 (induction, inductive step)
自然数の場合:
- P(0) が成り立つことを証明する
- P(k) が成り立てば P(k+1)
も成り立つことを証明する
Simple Example of Mathematical Induction
Look at the following equations:
1 = 1
1 + 3 = 4
1 + 3 + 5 = 9
1 + 3 + 5 + 7 = 16
1 + 3 + 5 + 7 + 9 = 25
Express the general rule contained in the above additions as a
hypothesis.
Prove the hypothesis using Mathematical induction.
Hypothesis
- The right side of the equations is n2
- The left side is the equations is the sum of n consecutive odd
numbers, starting with 1
- Hypothesis: For n>0,
∑ni=1 2i-1 =
n2
Proof
Basis:
For n = 1, ∑1i=1
2i-1 = 1 = 12
Induction:
Inductive assumption: Assume that the hypothesis is true for some
k>0. Show that it follows that the hypothesis is true for
k+1:
This means we have to prove
∑(k+1)i=1 2i-1 =
(k+1)2 using
∑ki=1 2i-1 =
k2.
(k+1)2 = k2 + 2k + 1
=∑ki=1 (2i-1) +
2k + 1 = ∑ki=1
(2i-1) + 2(k+1) - 1 =
∑(k+1)i=1 2i-1
Q.E.D.
数学的帰納法の種類・変更
- 基底を P(0) ではなくて P(1) や P(2) などにする
- P(n+1) の証明に k≤n
の一部又は全てのP(k) を使う
- 一部の自然数に限る
(例えば偶数だけ、2n など)
- 自然数そのものではなく、自然数で整理できるものに応用する
- 枝分かれや他の構造を許す (条件: (半)順序)
演習問題
1.
次の証明のどこがおかしいのかを見つけてください。
- 全てのお互いに平行ではない平面上の直線 n
本は全て一つの点を共有する。
証明:
- 基底: n=2 の場合に明らかである。
- 帰納: n+1 本の場合、最初の n
本にも、最後の n
本にも共通点があるので全ての n+1
本に共通点がある。
2. ペアノの公理による足算の結合律を証明しなさい。
復習
次回の授業の後半にみなさんの希望に応じて復習を予定している
質問、疑問などなんでも結構
Glossary
- hypothesis
- 仮説
- equation
演算子方程式
- consecutive
- 連続的な
- odd (number)
- 奇数
- inductive assumption
- (帰納の) 仮定