1 主張の形と証明の方法
示すべき主張の形ごとに、何を仮定して何を示せば証明が完成するのかをまとめます。
| 示すべき主張 |
方法 |
何を仮定するか |
何を示せば完成するか |
| P⇒Q |
直接証明 |
P |
Q |
| P⇒Q |
対偶による証明 |
¬Q |
¬P |
| P(形を問わない) |
背理法 |
¬P |
矛盾 |
| すべてのxでP(x) |
全称の証明 |
xが範囲に属すること(他は何も仮定しない) |
P(x) |
| あるxでP(x) |
存在の証明 |
なし |
具体的なx0を作り、P(x0) |
| 場合が分かれる主張 |
場合分け |
各場合の条件 |
各場合で結論、および場合が全体を覆うこと |
| 条件を満たす対象がただ一つ存在する |
存在と一意性の証明 |
一意性では、条件を満たす任意の二つの対象u,vを取る |
条件を満たす対象を一つ示し、さらにu=vを示す |
以下、それぞれの方法について要点を述べます。直接証明、対偶による証明、背理法の詳細は、
§A3.6 逆・裏・対偶と§A3.7 背理法で扱いました。
2 含意を示す三つの方法
P⇒Qを示す方法は三つあります。
- 直接証明では、Pを仮定してQを導きます。まずPが主張している内容を、式や条件として書き下すところから始めます。
- 対偶による証明では、¬Qを仮定して¬Pを導きます。結論を否定したほうが具体的な形を書き下しやすいときに、この方法を選びます。
- 背理法では、Pと¬Qの両方を仮定して矛盾を導きます。直接にも対偶にも手がかりが見つからないときに、この方法を選びます。
三つの方法のあいだに優劣はありません。Pと¬Qのどちらから具体的な情報を取り出すことができるかによって、用いる方法を選びます。
3 全称命題・存在命題の証明と否定
証明の進め方は、主張に含まれる量化子によって決まります。
- 「範囲内のすべてのxについてP(x)が成り立つ」を示すには、範囲からxを一つ取り、そのxについて、範囲に属すること以外は何も仮定せずにP(x)を示します。こうして書いた議論は、範囲内のどのxに対しても同じように通用します。途中で「xは正である」のような追加の条件を使ってしまうと、その条件を満たすxについてしかP(x)を示したことになりません。
- 「P(x)を満たすxが存在する」を示すには、条件を満たすx0を一つ作って示し、x0が範囲に属することとP(x0)が成り立つことを確かめます。
全称命題と存在命題を否定するときは、進め方が入れ替わります。全称命題を否定するには反例を一つ挙げれば足りるのに対して、存在命題を否定するには、範囲内のすべての対象について条件が成り立たないことを示します。存在命題は、証明するときには対象を一つ作れば済みますが、否定するときには範囲内のすべての対象を調べなければなりません。
4 存在と一意性
条件P(x)を満たす対象がただ一つ存在することを示すには、存在と一意性を別々に示します。
- 存在は、条件を満たす対象x0を一つ作って示します。
- 一意性は、範囲内の任意の二つの対象u,vがともに条件を満たすと仮定して、u=vを導きます。
一意性の証明では、はじめから対象が一つしかないと仮定しません。uとvが異なるとも仮定しません。条件P(u)とP(v)からu=vを導きます。
定理 4.1. 実数a=0と実数bについて、ax+b=0を満たす実数xがただ一つ存在する。
証明. 存在。x0=−abとおくとax0+b=−b+b=0となる。
一意性。aα+b=0とaβ+b=0を仮定する。辺々を引くとa(α−β)=0となり、a=0からα−β=0、すなわちα=βが従う。▨
a=0という仮定を落とすと一意性は成り立ちません。a=b=0のとき、0⋅x+0=0はすべての実数xについて成り立つからです。
5 場合分け
主張の対象が、いくつかの場合に分かれるときは、場合ごとに結論を示します。このとき、分けた場合の全体が、もとの範囲を覆っていることを必ず確かめます。覆っていなければ、証明されていない場合が残ります。分けた場合どうしが重複することは差し支えありません。
たとえば、すべての実数xについて∣x∣≥xが成り立つことを示すには、x≥0の場合とx<0の場合に分けます。前者では∣x∣=xなので∣x∣≥xが成り立ち、後者では∣x∣=−x>0>xが成り立ちます。この二つの場合は実数全体を覆っているので、証明が完成します。
6 証明の練習
問題 6.1. 次の各主張について、証明の方法を選び、証明せよ。
- 整数nについて、n2が3の倍数ならばnは3の倍数である。
- n2+n+1が素数でないような正の整数nが存在する。
- すべての実数xについてx2−2x+3>0である。
解答.
(1)では対偶を示す。整数nが3の倍数でなければ、ある整数kを用いてn=3k+1またはn=3k+2と表すことができる。前者ではn2=3(3k2+2k)+1、後者ではn2=3(3k2+4k+1)+1となる。いずれもn2は3の倍数でない。対偶律により、もとの主張も成り立つ。
(2)では正の整数n=4を取る。n2+n+1=21=3⋅7であり、21は1と自身以外の正の約数3を持つ。したがって、条件を満たす正の整数nが存在する。
(3)では実数xを任意に取る。x2−2x+3=(x−1)2+2≥2>0である。xに追加の条件を課していないので、すべての実数xについて主張が成り立つ。▨
閑話休題:人間が読み切ることのできない証明 場合分けは、分けた場合の全体がもとの範囲を覆っていれば、場合の数がいくつであっても正しい証明になります。では、場合が千を超えたらどうでしょうか。
1976年、アッペルとハーケンは四色定理——平面上のどのような地図も、隣り合う国が異なる色になるように4色で塗り分けることができる——を証明しました。その方法は、起こりうる地図の形を有限個の配置へ帰着させ、その一つひとつについて
4色で塗ることができることを確かめるというものです。確かめるべき配置は千を超え、検証はコンピュータによって行われました。人間が手で全部を読み切ることはできません。
この証明によって、数学の共同体に一つの問いが提起されました。証明とは、人間が読んで納得するものなのか、それとも規則に従って検証することができるものなのか、という問いです。証明の全体の構成(配置の一覧が起こりうる場合を覆っていること)は人間が組み立てたものですが、各配置の検証はプログラムが実行しています。そのため、そのプログラム自体に誤りがないことも確かめる必要があります。その後、確かめるべき配置の数を減らす改良が重ねられ、2005年にはゴンティエが、証明全体を証明支援系 Coq の上で形式化して機械的に検証しました。
証明とは何かという問いは、本記事で扱った場合分けという素朴な手順を、千を超える場合について行った四色定理の証明から生じたものです。
7 例題
次の命題を証明するとき、どの証明パターン(直接証明・対偶・背理法・場合分け・存在の構成・全称の任意元・数学的帰納法)が適切かを答え、その証明の第一歩を書け。
解法の型結論の形で型が決まる: 含意なら直接/対偶/背理法、全称なら任意元を取る、存在なら1つ構成する、否定形の主張なら背理法、整数の割り切れなら余りで場合分け
次の命題にはどの証明パターンが適切か答え、その証明の第一歩を書け。
例 7.1.
すべての ε>0 に対し ∣a∣<ε ならば a=0答
証明パターン第一歩背理法a=0 と仮定し、ε=2∣a∣>0 を取る。注意 なぜ背理法が楽か: 結論 a=0 を直接示す手がかりがない。a=0 と仮定すると |a| > 0 となり、εに自分自身から作った正の数(|a|/2)を代入できる。すると |a| < |a|/2 で矛盾。全称の仮定には「都合のよい値を代入する」のが常套手段。
例 7.2.
任意の自然数 n に対し 1+2+⋯+n=2n(n+1)答
証明パターン第一歩数学的帰納法n=1 で成立を確認し、n=k での成立を仮定する。注意 なぜ帰納法が楽か: 主張が「すべての自然数」についてであり、n から n + 1 へ左辺が「+ (n+1)」という単純な増え方をするから。自然数についての全称命題で、n と n + 1 の関係が見えるものは帰納法の型にはまる。
例 7.3.
任意の実数 x,y に対し x2+y2≥2xy答
証明パターン第一歩直接証明(x−y)2≥0 から出発し、展開して移項する。注意 なぜ直接が楽か: 結論の差 x² + y² − 2xy がちょうど (x − y)² という平方になっている。「差を取って平方にまとめる」が不等式の直接証明の第一手。等号成立は x=y のとき。
例 7.4.
n が 3 の倍数でないならば n2 を 3 で割った余りは 1(n は整数)答
証明パターン第一歩場合分けn=3k+1 の場合と n=3k+2 の場合に分ける。注意 なぜ場合分けが楽か: 「3 の倍数でない」は「3 で割った余りが 1 または 2」と言い換えられ、この2つで場合が尽きる。各場合で n² を展開すれば余りが 1 だと計算で出る。整数の主張は「割った余りで分類する」と機械的になる。
例 7.5.
x>0 ならば x+x1≥2答
証明パターン第一歩直接証明x>0 を仮定し、(x−x1)2≥0 から出発する。注意 なぜ直接が楽か: 実数の2乗は 0 以上、という手持ちの事実だけで結論に届く。展開すると x − 2 + 1/x≥0、すなわち x + 1/x≥2。x > 0 は √x が実数であることを保証するために効いている。等号成立は x=1。
例 7.6.
2 は無理数である答
証明パターン第一歩背理法2 が有理数と仮定し、2=qp (既約分数)とおく。注意 なぜ背理法が楽か: 「無理数である」=「どんな分数でも書けない」は否定形の主張なので、直接示そうとすると無限個の分数を相手にすることになる。否定して「書ける」と仮定すれば=p/q という等式が手に入り、計算の足場ができる。否定形の主張には背理法、が定石。
例 7.7.
任意の実数 x に対し ∣x∣≥x答
証明パターン第一歩場合分け(全称の任意元)実数 x を任意に取り、x≥0 の場合と x<0 の場合に分ける。注意 なぜ場合分けが楽か: 絶対値の定義自体が場合分け(x≥0 なら |x|=x、x < 0 なら |x|=−x)だから、定義を展開した瞬間に場合分けが現れる。x≥0 では |x|=x で等号成立、x < 0 では |x|=−x > 0 > x。分けた2つの場合で全体が尽くされていることの確認も忘れずに。
例 7.8.
和が有理数になる無理数の組 a,b が存在する答
証明パターン第一歩存在の構成a=2, b=−2 と取る。注意 なぜ構成が楽か: 存在命題「∃xP(x)」を示すには、条件を満たすものを1つ実際に作って見せれば終わり(全部を調べる必要はない)。ここでは a + b=0 が有理数であることを確認すればよい。存在の証明=実物を出す、が鉄則。
例 7.9.
n2 が偶数ならば n は偶数である(n は整数)答
証明パターン第一歩対偶n が奇数と仮定し、n=2k+1 (k は整数) とおく。注意 なぜ対偶が楽か: 仮定「n² が偶数」からは n²=2m としか言えず、n の形に降りられない。一方、対偶の仮定「n は奇数」は n=2k + 1 という具体形を与えるので、そのまま2乗して計算すれば n² が奇数だと出る。手がかりの多いほうを仮定に置くのが対偶法の使いどころ。
例 7.10.
2つの奇数の積は奇数である答
証明パターン第一歩直接証明m=2a+1, n=2b+1 (a,b は整数) とおいて積を計算する。注意 なぜ直接が楽か: 「奇数」の定義を展開すると 2a + 1 という具体形が両方に手に入り、あとは展開するだけ。mn=2(2ab + a + b) + 1 で奇数。定義を展開すれば残りは計算、の見本。
8 演習
次の命題を証明するとき、どの証明パターン(直接証明・対偶・背理法・場合分け・存在の構成・全称の任意元・数学的帰納法)が適切かを答え、その証明の第一歩を書け。
解法の型結論の形で型が決まる: 含意なら直接/対偶/背理法、全称なら任意元を取る、存在なら1つ構成する、否定形の主張なら背理法、整数の割り切れなら余りで場合分け
次の命題にはどの証明パターンが適切か答え、その証明の第一歩を書け。
問題 8.1.
n が 3 の倍数でないならば n2 を 3 で割った余りは 1(n は整数)解答.
答
証明パターン第一歩場合分けn=3k+1 の場合と n=3k+2 の場合に分ける。注意 なぜ場合分けが楽か: 「3 の倍数でない」は「3 で割った余りが 1 または 2」と言い換えられ、この2つで場合が尽きる。各場合で n² を展開すれば余りが 1 だと計算で出る。整数の主張は「割った余りで分類する」と機械的になる。▨
問題 8.2.
最大の素数は存在しない解答.
答
証明パターン第一歩背理法最大の素数 p が存在すると仮定する。注意 なぜ背理法が楽か: 「存在しない」という否定形の主張だから、存在を仮定して壊すのが最短。仮定すれば「p 以下の素数が全部」という有限のリストが手に入り、その積 + 1 を作って矛盾を導ける。否定形の主張=背理法、の典型。▨
問題 8.3.
任意の実数 x,y に対し x2+y2≥2xy解答.
答
証明パターン第一歩直接証明(x−y)2≥0 から出発し、展開して移項する。注意 なぜ直接が楽か: 結論の差 x² + y² − 2xy がちょうど (x − y)² という平方になっている。「差を取って平方にまとめる」が不等式の直接証明の第一手。等号成立は x=y のとき。▨
問題 8.4.
n2 が偶数ならば n は偶数である(n は整数)解答.
答
証明パターン第一歩対偶n が奇数と仮定し、n=2k+1 (k は整数) とおく。注意 なぜ対偶が楽か: 仮定「n² が偶数」からは n²=2m としか言えず、n の形に降りられない。一方、対偶の仮定「n は奇数」は n=2k + 1 という具体形を与えるので、そのまま2乗して計算すれば n² が奇数だと出る。手がかりの多いほうを仮定に置くのが対偶法の使いどころ。▨
問題 8.5.
和が有理数になる無理数の組 a,b が存在する解答.
答
証明パターン第一歩存在の構成a=2, b=−2 と取る。注意 なぜ構成が楽か: 存在命題「∃xP(x)」を示すには、条件を満たすものを1つ実際に作って見せれば終わり(全部を調べる必要はない)。ここでは a + b=0 が有理数であることを確認すればよい。存在の証明=実物を出す、が鉄則。▨
問題 8.6.
任意の実数 x に対し ∣x∣≥x解答.
答
証明パターン第一歩場合分け(全称の任意元)実数 x を任意に取り、x≥0 の場合と x<0 の場合に分ける。注意 なぜ場合分けが楽か: 絶対値の定義自体が場合分け(x≥0 なら |x|=x、x < 0 なら |x|=−x)だから、定義を展開した瞬間に場合分けが現れる。x≥0 では |x|=x で等号成立、x < 0 では |x|=−x > 0 > x。分けた2つの場合で全体が尽くされていることの確認も忘れずに。▨
問題 8.7.
n2 が 3 の倍数ならば n は 3 の倍数である(n は整数)解答.
答
証明パターン第一歩対偶n が 3 の倍数でないと仮定し、n=3k±1 とおく。注意 なぜ対偶が楽か: 仮定「n² が 3 の倍数」からは n の形が読めないが、対偶の仮定「n が 3 の倍数でない」は n=3k ± 1 という具体形を与える。あとは2乗して余りを計算するだけ(前項の場合分けがそのまま使える)。「割り切れる」系の命題は対偶で余りに持ち込むのが定石。▨
問題 8.8.
A⊆B かつ B⊆C ならば A⊆C解答.
答
証明パターン第一歩全称の任意元 + 直接証明x∈A を任意に取る(示すべきは x∈C)。注意 なぜこの型か: 結論 A⊆C は定義を展開すると∀x(x∈A⇒x∈C) という全称命題。全称を示すには「勝手な元を1つ取る」。取ったあとは仮定を2回使うだけの一本道(x∈A⇒x∈B⇒x∈C)。定義の展開と証明パターンは組で使う。▨
問題 8.9.
すべての ε>0 に対し ∣a∣<ε ならば a=0解答.
答
証明パターン第一歩背理法a=0 と仮定し、ε=2∣a∣>0 を取る。注意 なぜ背理法が楽か: 結論 a=0 を直接示す手がかりがない。a=0 と仮定すると |a| > 0 となり、εに自分自身から作った正の数(|a|/2)を代入できる。すると |a| < |a|/2 で矛盾。全称の仮定には「都合のよい値を代入する」のが常套手段。▨
問題 8.10.
任意の自然数 n に対し 1+2+⋯+n=2n(n+1)解答.
答
証明パターン第一歩数学的帰納法n=1 で成立を確認し、n=k での成立を仮定する。注意 なぜ帰納法が楽か: 主張が「すべての自然数」についてであり、n から n + 1 へ左辺が「+ (n+1)」という単純な増え方をするから。自然数についての全称命題で、n と n + 1 の関係が見えるものは帰納法の型にはまる。▨
問題 8.11.
x>0 ならば x+x1≥2解答.
答
証明パターン第一歩直接証明x>0 を仮定し、(x−x1)2≥0 から出発する。注意 なぜ直接が楽か: 実数の2乗は 0 以上、という手持ちの事実だけで結論に届く。展開すると x − 2 + 1/x≥0、すなわち x + 1/x≥2。x > 0 は √x が実数であることを保証するために効いている。等号成立は x=1。▨
問題 8.12.
実数 x に対し x2−x+1>0解答.
答
証明パターン第一歩直接証明(平方完成)x2−x+1=(x−21)2+43 と平方完成する。注意 なぜ直接が楽か: 平方完成すると「0 以上の量 + 正の定数」の形になり、正であることが一目で分かる。2次式の符号の主張は、場合分けも背理法も要らず平方完成で片が付く。▨
問題 8.13.
2つの奇数の積は奇数である解答.
答
証明パターン第一歩直接証明m=2a+1, n=2b+1 (a,b は整数) とおいて積を計算する。注意 なぜ直接が楽か: 「奇数」の定義を展開すると 2a + 1 という具体形が両方に手に入り、あとは展開するだけ。mn=2(2ab + a + b) + 1 で奇数。定義を展開すれば残りは計算、の見本。▨
問題 8.14.
2 は無理数である解答.
答
証明パターン第一歩背理法2 が有理数と仮定し、2=qp (既約分数)とおく。注意 なぜ背理法が楽か: 「無理数である」=「どんな分数でも書けない」は否定形の主張なので、直接示そうとすると無限個の分数を相手にすることになる。否定して「書ける」と仮定すれば=p/q という等式が手に入り、計算の足場ができる。否定形の主張には背理法、が定石。▨