付録B 証明テンプレート集

1. 直接証明

対象: P -> Q

P を仮定する。
[定義を展開する]
[必要な変形を行う]
したがって Q が成り立つ。

2. 対偶証明

対象: P -> Q

対偶 ¬Q -> ¬P を示す。
¬Q を仮定する。
[定義を展開する]
[必要な変形を行う]
したがって ¬P が成り立つ。
よって対偶が成り立つので、元の命題 P -> Q も成り立つ。

3. 背理法

示したい命題が偽であると仮定する。
[仮定から推論する]
矛盾が生じる。
したがって、最初の仮定は誤りである。
よって示したい命題は真である。

4. 両包含による集合等号

対象: A = B

まず A ⊆ B を示す。
任意の x∈A を取る。
[推論]
したがって x∈B。
よって A⊆B。

次に B ⊆ A を示す。
任意の x∈B を取る。
[推論]
したがって x∈A。
よって B⊆A。

両包含より A=B。

5. 存在命題の証明

対象: ∃x P(x)

候補 x = ... を取る。
この x について P(x) が成り立つことを確認する。
したがって ∃x P(x) が成り立つ。

6. 普遍命題の証明

対象: ∀x P(x)

任意の x を取る。
[任意の x について成り立つ推論を行う]
したがって P(x) が成り立つ。
よって任意の x について P(x) が成り立つ。

7. 反例

対象: ∀x P(x) の否定

x = ... を取る。
この x について P(x) は成り立たない。
したがって ∀x P(x) は偽である。

8. 数学的帰納法

対象: 自然数 n に関する命題 P(n)

基底部:
  P(0) または P(1) を示す。

帰納ステップ:
  任意の k について P(k) が成り立つと仮定する。
  この仮定のもとで P(k+1) を示す。

結論:
  数学的帰納法により、すべての n について P(n) が成り立つ。

9. 強い帰納法

基底部:
  必要な初期ケースを示す。

帰納ステップ:
  P(0), P(1), ..., P(k) がすべて成り立つと仮定する。
  この仮定から P(k+1) を示す。

結論:
  強い帰納法により、すべての n について P(n) が成り立つ。

10. 構造帰納法

対象: 再帰的に定義された対象

基底ケース:
  最小の構造について性質を示す。

構成ケース:
  小さい構造で性質が成り立つと仮定する。
  構成規則で作った大きい構造でも性質が成り立つことを示す。

結論:
  構造帰納法により、再帰的に作られるすべての対象で性質が成り立つ。

11. 同値関係の証明

反射律:
  任意の a について aRa を示す。

対称律:
  aRb を仮定し、bRa を示す。

推移律:
  aRb かつ bRc を仮定し、aRc を示す。

以上より R は同値関係である。

12. 半順序の証明

反射律:
  任意の a について aRa を示す。

反対称律:
  aRb かつ bRa を仮定し、a=b を示す。

推移律:
  aRb かつ bRc を仮定し、aRc を示す。

以上より R は半順序である。

13. O記法の証明

対象: f(n)=O(g(n))

n ≥ n0 とする。
[低次項を高次項で上から抑える]
f(n) ≤ c g(n)
よって、定数 c と n0 が存在するので f(n)=O(g(n))。

14. ループ不変条件による正しさ

不変条件 I を定める。

初期化:
  ループ開始前に I が成り立つことを示す。

保存:
  反復開始時に I が成り立つと仮定し、反復後にも I が成り立つことを示す。

終了:
  ループ終了条件と I から、事後条件が成り立つことを示す。

停止性:
  ループが有限回で終了することを別途示す。