Lemma数学ロードマップ

00 数学の言葉:論理・集合・写像 · 第 1 章

命題と論理

目安 5〜9 時間定理など 9演習 10 問実験 2

この章の目標

  • 命題と論理結合子の意味を真理値表で説明でき、「ならば」が前提が偽のときに真となる理由を理解する
  • 量化子 ∀\forall, ∃\exists を含む命題を正しく読み書きし、量化子の順序による意味の違いを説明できる
  • 量化子を含む命題の否定を機械的に作れる
  • 直接証明・対偶・背理法・場合分け・数学的帰納法・存在証明・反例を使い分けられる
  • 「何を仮定し、何を示せば終わりか」を意識して証明を書き、答案の誤りを自分で見つけられる

前提:高校数学(「集合と命題」「数学的帰納法」を一度学んでいれば十分)

高校までの数学では、計算して答えを出すことが中心であった。大学の数学では主役が証明 (proof) に移る。証明とは、仮定・定義・すでに正しいとわかっている事実から、誰が読んでも納得せざるをえない手順で結論を導く文章である。そのためには「かつ」「または」「ならば」「すべての」「ある」といった日常語を、日常よりずっと厳密な意味で使わなければならない。本章ではこの「数学の言葉」の文法を整理し、それを使って証明を書く練習をする。

本章の内容は後のすべての科目で毎日のように使う。特に 1.5 節と 1.6 節の量化子の扱いは、微分積分学 の ε\varepsilon-δ\delta 論法をはじめ、あらゆる分野の定義を読むための鍵になる。

1.1 命題

数学の文章は「〜である」という主張の積み重ねである。まず、どのような主張を扱うのかをはっきりさせる。

定義 1.1(命題, proposition)正しいか正しくないかが客観的に定まる主張を命題 (proposition) という。命題が正しいとき真 (true)、正しくないとき偽 (false) であるといい、真・偽を命題の真理値 (truth value) という。

例 1.2

  • 「22 は素数である」は真の命題である。
  • 「3>53 > 5」は偽の命題である。偽であっても命題である。
  • 「100100 は大きい数である」は、何を「大きい」とするかが決まっていないので命題ではない。
  • 「x2−1=0x^2 - 1 = 0」は、xx が何であるかによって真偽が変わるので、このままでは命題ではない。xx に具体的な数を代入すると命題になる。このようなものを 1.4 節で条件と呼ぶ。

注意 1.3 真偽が「定まっている」ことと、真偽が「わかっている」ことは別である。「44 以上のすべての偶数は 22 つの素数の和で表せる」(ゴールドバッハ予想)は、本書執筆時点で真偽が知られていないが、真か偽のどちらか一方であることは決まっているので命題である。

1.2 論理結合子と真理値表

いくつかの命題を組み合わせて新しい命題を作る操作を考える。組み合わせた命題の真偽は、もとの命題の真偽だけから決まるように約束する。

定義 1.4(否定・連言・選言)P,QP, Q を命題とする。

  • 否定 (negation) ¬P\neg P(「PP でない」)は、PP が偽のとき真、PP が真のとき偽である命題である。
  • 連言 (conjunction) P∧QP \land Q(「PP かつ QQ」)は、PP と QQ がともに真のときだけ真である命題である。
  • 選言 (disjunction) P∨QP \lor Q(「PP または QQ」)は、PP と QQ の少なくとも一方が真のとき真である命題である。

¬,∧,∨\neg, \land, \lor や後で導入する ⇒,⇔\Rightarrow, \Leftrightarrow を論理結合子 (logical connective) という。記号は順に「ノット」「アンド」「オア」と読む。本によっては否定を P‾\overline{P} と書くこともある。真偽のすべての組合せを表にしたものを真理値表 (truth table) という。以下 T は真、F は偽を表す。

PP QQ ¬P\neg P P∧QP \land Q P∨QP \lor Q
T T F T T
T F F F T
F T T F T
F F T F F

注意 1.5(「または」は両方でもよい)数学の「PP または QQ」は、PP と QQ がともに真である場合も含む。日常語の「コーヒーまたは紅茶がつきます」はどちらか一方だけを意味することが多いが、数学ではそうではない。たとえば実数 xx について「x≥0x \geq 0 または x≤0x \leq 0」は x=0x = 0 のときも真である。

定義 1.6(論理的同値・恒真式)命題 P,Q,R,…P, Q, R, \dots を論理結合子で組み合わせた二つの式 A,BA, B が、P,Q,R,…P, Q, R, \dots の真理値のすべての組合せに対して同じ真理値をとるとき、AA と BB は論理的に同値 (logically equivalent) であるといい、A≡BA \equiv B と書く。どの組合せに対しても真になる式を恒真式 (tautology) という。

定理 1.7(論理の基本法則)命題 P,Q,RP, Q, R について次が成り立つ。

  1. (二重否定)¬(¬P)≡P\neg(\neg P) \equiv P
  2. (交換法則)P∧Q≡Q∧PP \land Q \equiv Q \land P、P∨Q≡Q∨PP \lor Q \equiv Q \lor P
  3. (結合法則)(P∧Q)∧R≡P∧(Q∧R)(P \land Q) \land R \equiv P \land (Q \land R)、(P∨Q)∨R≡P∨(Q∨R)(P \lor Q) \lor R \equiv P \lor (Q \lor R)
  4. (分配法則)P∧(Q∨R)≡(P∧Q)∨(P∧R)P \land (Q \lor R) \equiv (P \land Q) \lor (P \land R)、P∨(Q∧R)≡(P∨Q)∧(P∨R)P \lor (Q \land R) \equiv (P \lor Q) \land (P \lor R)
  5. (ド・モルガンの法則, De Morgan's laws)¬(P∧Q)≡¬P∨¬Q\neg(P \land Q) \equiv \neg P \lor \neg Q、¬(P∨Q)≡¬P∧¬Q\neg(P \lor Q) \equiv \neg P \land \neg Q
  6. (排中律)P∨¬PP \lor \neg P は恒真式である。

証明. どれも真理値表を書けば確かめられる。ド・モルガンの法則の前半を示す。

PP QQ P∧QP \land Q ¬(P∧Q)\neg(P \land Q) ¬P\neg P ¬Q\neg Q ¬P∨¬Q\neg P \lor \neg Q
T T T F F F F
T F F T F T T
F T F T T F T
F F F T T T T

第 4 列と第 7 列が一致するので ¬(P∧Q)≡¬P∨¬Q\neg(P \land Q) \equiv \neg P \lor \neg Q である。後半は、前半を ¬P,¬Q\neg P, \neg Q に適用して二重否定を使うと ¬(¬P∧¬Q)≡P∨Q\neg(\neg P \land \neg Q) \equiv P \lor Q となり、両辺を否定すれば得られる。分配法則は P,Q,RP, Q, R の真理値の組合せ 8 通りを調べればよい(問題 1.1)。残りも同様である。□\square

例 1.8 実数 x,yx, y についての「x>0x > 0 かつ y>0y > 0」の否定は、ド・モルガンの法則により「x≤0x \leq 0 または y≤0y \leq 0」である。「x≤0x \leq 0 かつ y≤0y \leq 0」ではない。実際 (x,y)=(1,−1)(x, y) = (1, -1) のとき、「x>0x > 0 かつ y>0y > 0」も「x≤0x \leq 0 かつ y≤0y \leq 0」もともに偽であり、一方が他方の否定になっていない。否定とは、どの場合にも真偽が逆になるものである。

1.3 「ならば」と「同値」

数学の定理のほとんどは「PP ならば QQ」の形をしている。この「ならば」の真偽を次のように定める。

定義 1.9(含意, implication)命題 P,QP, Q に対し、「PP ならば QQ」という命題を P⇒QP \Rightarrow Q と書き、PP が真で QQ が偽のときだけ偽、それ以外のときは真と定める。PP を仮定(前提, hypothesis)、QQ を結論 (conclusion) という。

PP QQ P⇒QP \Rightarrow Q
T T T
T F F
F T T
F F T

下の 2 行、つまり「前提が偽ならば P⇒QP \Rightarrow Q は QQ の真偽によらず真」という約束は、はじめは奇妙に見える。二つの見方で納得しておこう。

一つ目は約束のたとえである。「晴れたら君を遊園地に連れて行く」と約束したとする。約束が破られたと言えるのは「晴れたのに連れて行かなかった」ときだけである。雨が降った日は、連れて行っても行かなくても約束を破ったことにはならない。P⇒QP \Rightarrow Q が真であるとは、「PP なのに QQ でない」ということが起こっていない、という意味なのである。

二つ目のほうが数学的には重要である。

例 1.10 「すべての実数 xx について、x>2x > 2 ならば x2>4x^2 > 4」は、誰もが真と認めたい命題である。これは各実数 xx について x>2⇒x2>4x > 2 \Rightarrow x^2 > 4 が真であるという意味だから、いろいろな xx で調べてみる。

  • x=3x = 3:前提 3>23 > 2 は真、結論 9>49 > 4 も真。
  • x=−3x = -3:前提は偽、結論 9>49 > 4 は真。
  • x=0x = 0:前提は偽、結論 0>40 > 4 も偽。

上の命題を真とするには、「偽 ⇒\Rightarrow 真」も「偽 ⇒\Rightarrow 偽」も真と約束しておくしかない。「前提が真なのに結論が偽」となる xx が一つもないこと、それがこの命題の内容そのものである。

このように、前提が偽であるために真となる含意を空虚な真 (vacuous truth) ということがある。単独で見ると「1=21 = 2 ならば私は月にいる」のように無意味に見えるが、「すべての xx について」と組み合わせたときに本領を発揮する。また、P⇒QP \Rightarrow Q は PP と QQ の間の因果関係を要求しない。「2+2=42 + 2 = 4 ならば 77 は素数」も真の命題である。

定理 1.11 命題 P,QP, Q について次が成り立つ。

  1. P⇒Q≡¬P∨QP \Rightarrow Q \equiv \neg P \lor Q
  2. ¬(P⇒Q)≡P∧¬Q\neg(P \Rightarrow Q) \equiv P \land \neg Q

証明. (1) ¬P∨Q\neg P \lor Q が偽になるのは ¬P\neg P も QQ も偽のとき、つまり PP が真で QQ が偽のときだけである。これは P⇒QP \Rightarrow Q が偽になる場合と一致する。(2) (1) とド・モルガンの法則、二重否定より ¬(¬P∨Q)≡¬¬P∧¬Q≡P∧¬Q\neg(\neg P \lor Q) \equiv \neg\neg P \land \neg Q \equiv P \land \neg Q である。□\square

注意

「PP ならば QQ」の否定は「PP ならば QQ でない」ではなく、「PP であって、しかも QQ でない」である。実際 PP が偽のときは P⇒QP \Rightarrow Q も P⇒¬QP \Rightarrow \neg Q も真になるので、両者は互いの否定になりえない。たとえば、一つの関数 ff についての命題「ff が微分可能ならば ff は連続」の否定は「ff は微分可能であって、しかも連続でない」である。定理として述べる「すべての関数 ff について、微分可能ならば連続」の否定は、1.6 節で見るように「微分可能であって連続でない関数 ff が存在する」となる。

定義 1.12(同値・必要条件・十分条件)(P⇒Q)∧(Q⇒P)(P \Rightarrow Q) \land (Q \Rightarrow P) を P⇔QP \Leftrightarrow Q と書き、「PP と QQ は同値 (equivalent) である」という。P⇔QP \Leftrightarrow Q は PP と QQ の真理値が一致するとき真である。P⇒QP \Rightarrow Q が真のとき、PP は QQ であるための十分条件 (sufficient condition)、QQ は PP であるための必要条件 (necessary condition) であるという。

英語の文献を読むときのために、読み方をまとめておく。

記号 読み方
P⇒QP \Rightarrow Q PP ならば QQ / PP は QQ の十分条件 / QQ は PP の必要条件 / if PP, then QQ / PP only if QQ
P⇔QP \Leftrightarrow Q PP と QQ は同値 / PP は QQ の必要十分条件 / PP if and only if QQ(略して PP iff QQ)

「PP only if QQ」は「QQ のときに限って PP」、つまり「QQ でなければ PP でない」という意味であり、P⇒QP \Rightarrow Q を表す。

定義 1.13(逆・裏・対偶)命題 P⇒QP \Rightarrow Q に対して、Q⇒PQ \Rightarrow P を逆 (converse)、¬P⇒¬Q\neg P \Rightarrow \neg Q を裏 (inverse)、¬Q⇒¬P\neg Q \Rightarrow \neg P を対偶 (contrapositive) という。

定理 1.14 P⇒QP \Rightarrow Q とその対偶 ¬Q⇒¬P\neg Q \Rightarrow \neg P は論理的に同値である。逆と裏も互いに同値である。しかし P⇒QP \Rightarrow Q と逆 Q⇒PQ \Rightarrow P は一般には同値でない。

証明. 定理 1.11 と二重否定・交換法則より

(¬Q⇒¬P)≡¬¬Q∨¬P≡Q∨¬P≡¬P∨Q≡(P⇒Q)(\neg Q \Rightarrow \neg P) \equiv \neg\neg Q \lor \neg P \equiv Q \lor \neg P \equiv \neg P \lor Q \equiv (P \Rightarrow Q)

である。裏 ¬P⇒¬Q\neg P \Rightarrow \neg Q は逆 Q⇒PQ \Rightarrow P の対偶なので、いま示したことから両者は同値である。最後に、PP が偽で QQ が真のとき、P⇒QP \Rightarrow Q は真だが Q⇒PQ \Rightarrow P は偽なので、両者は同値でない。□\square

例 1.15 実数 xx についての命題「x=1x = 1 ならば x2=1x^2 = 1」は(すべての xx で)真である。その逆「x2=1x^2 = 1 ならば x=1x = 1」と裏「x≠1x \neq 1 ならば x2≠1x^2 \neq 1」は x=−1x = -1 で成り立たないので偽である。対偶「x2≠1x^2 \neq 1 ならば x≠1x \neq 1」は真である。

実験真理値表メーカー論理式を入力すると真理値表を自動で作り、恒真式か・二つの式が同値かを判定します。

この実験は JavaScript を有効にすると動きます。

1.4 条件と量化子

「x2−1=0x^2 - 1 = 0」は xx を決めるまで命題ではなかった。このような変数を含む主張と、それから命題を作る方法を考える。

定義 1.16(条件)変数 xx を含む主張で、xx に集合 XX の元を代入するごとに命題になるものを、XX 上の条件(述語, predicate)といい、P(x)P(x) のように書く。変数が二つ以上ある条件 P(x,y)P(x, y) なども同様である。

ここで「集合」は、ものの集まりという素朴な意味で使っている(正確な扱いは第2章)。たとえば X=RX = \mathbb{R} 上の条件 P(x)P(x):「x2−1=0x^2 - 1 = 0」について、P(1)P(1) は真、P(2)P(2) は偽である。

定義 1.17(量化子, quantifier)P(x)P(x) を集合 XX 上の条件とする。

  • 「XX のすべての元 xx について P(x)P(x) が成り立つ」という命題を ∀x∈X, P(x)\forall x \in X,\ P(x) と書く。
  • 「P(x)P(x) を満たす XX の元 xx が(少なくとも一つ)存在する」という命題を ∃x∈X, P(x)\exists x \in X,\ P(x) と書く。
  • 「P(x)P(x) を満たす XX の元 xx がただ一つ存在する」という命題を ∃!x∈X, P(x)\exists ! x \in X,\ P(x) と書く。

∀\forall を全称量化子 (universal quantifier)、∃\exists を存在量化子 (existential quantifier) という。

∀\forall は All の A を、∃\exists は Exists の E をひっくり返した記号である。∀x∈X, P(x)\forall x \in X,\ P(x) は「任意の x∈Xx \in X に対して P(x)P(x)」「すべての x∈Xx \in X について P(x)P(x)」と読み、∃x∈X, P(x)\exists x \in X,\ P(x) は「ある x∈Xx \in X が存在して P(x)P(x)」「P(x)P(x) となる x∈Xx \in X が存在する」と読む。数学の「任意の」は「どれをとっても」という意味であり、日常語の「任意(自由意思)」とは異なる。

本によっては「P(x) (∀x∈X)P(x) \ (\forall x \in X)」のように量化子を後ろに書くこともあるが、量化子が複数あると順序が読みとりにくくなるので、本教材では量化子を常に前に書く。

例 1.18

  1. ∀x∈R, x2≥0\forall x \in \mathbb{R},\ x^2 \geq 0 は真である。
  2. ∃x∈R, x2=2\exists x \in \mathbb{R},\ x^2 = 2 は真である(x=2x = \sqrt{2})。
  3. ∃x∈Q, x2=2\exists x \in \mathbb{Q},\ x^2 = 2 は偽である(定理 1.36)。量化する範囲が変わると真偽が変わりうる。
  4. ∀n∈N, n≥1\forall n \in \mathbb{N},\ n \geq 1 は真、∀n∈Z, n≥1\forall n \in \mathbb{Z},\ n \geq 1 は偽である。
  5. ∃!x∈R, x3=8\exists ! x \in \mathbb{R},\ x^3 = 8 は真である(注意 1.41)。∃!x∈R, x2=4\exists ! x \in \mathbb{R},\ x^2 = 4 は偽である。解は存在するが二つある。

注意 1.19

  1. (束縛変数)∀x∈X, P(x)\forall x \in X,\ P(x) の xx は、積分 ∫01f(x) dx\int_0^1 f(x)\ dx の xx と同じく仮の名前であり、∀y∈X, P(y)\forall y \in X,\ P(y) と書いても同じ命題である。量化子で縛られた変数を束縛変数 (bound variable)、縛られていない変数を自由変数 (free variable) という。自由変数が残っているものは命題ではなく条件である。たとえば「∃y∈R, x=y2\exists y \in \mathbb{R},\ x = y^2」は xx についての条件であり、「x≥0x \geq 0」と同じ意味である。
  2. (範囲つき量化子の意味)∀x∈X, P(x)\forall x \in X,\ P(x) は「∀x, (x∈X⇒P(x))\forall x,\ (x \in X \Rightarrow P(x))」の、∃x∈X, P(x)\exists x \in X,\ P(x) は「∃x, (x∈X∧P(x))\exists x,\ (x \in X \land P(x))」の略記である。∃\exists のほうは「⇒\Rightarrow」ではなく「∧\land」であることに注意する。
  3. (空の範囲)XX が元を一つももたないとき、∀x∈X, P(x)\forall x \in X,\ P(x) は真(反例がないので)、∃x∈X, P(x)\exists x \in X,\ P(x) は偽である。前者は (2) の書き換えと空虚な真から理解できる。
  4. X={a1,…,an}X = \lbrace a_1, \dots, a_n \rbrace が有限個の元からなるときは、∀x∈X, P(x)\forall x \in X,\ P(x) は P(a1)∧⋯∧P(an)P(a_1) \land \cdots \land P(a_n)、∃x∈X, P(x)\exists x \in X,\ P(x) は P(a1)∨⋯∨P(an)P(a_1) \lor \cdots \lor P(a_n) と同じ意味である。量化子は「無限個の『かつ』『または』」だと思うこともできる。

1.5 量化子の順序

量化子が二つ以上並ぶと、その順序が決定的な意味をもつ。

例 1.20 実数上の条件「x<yx < y」について、次の二つの命題を比べる。

  • (a) ∀x∈R, ∃y∈R, x<y\forall x \in \mathbb{R},\ \exists y \in \mathbb{R},\ x < y:「どんな実数 xx に対しても、それより大きい実数 yy がある」。これは真である(y=x+1y = x + 1 とすればよい)。
  • (b) ∃y∈R, ∀x∈R, x<y\exists y \in \mathbb{R},\ \forall x \in \mathbb{R},\ x < y:「ある実数 yy があって、それはすべての実数 xx より大きい」。これは偽である(どんな yy に対しても、x=yx = y とすると x<yx < y が成り立たない)。

(a) では yy を xx に応じて選んでよいが、(b) ではただ一つの yy ですべての xx に対応しなければならない。

量化子を含む命題は、証明者と反論者のゲームとして読むとわかりやすい。左から順に、∀\forall のところでは反論者が、∃\exists のところでは証明者が値を選び、最後の条件が成り立てば証明者の勝ちである。命題が真であるとは、反論者がどう選んでも証明者が勝てる(必勝法がある)ことをいう。(a) では反論者が先に xx を出し、証明者はそれを見てから y=x+1y = x + 1 と答えればよい。(b) では証明者が先に yy を決めなければならず、反論者に x=yx = y と返されて負ける。後から選ぶ変数は、前に選ばれた変数に依存してよい、というのが要点である。

実験量化子ゲーム∀ と ∃ を「証明者」と「反論者」の対戦として遊び、量化子の順序が真偽を変える理由を体感します。

この実験は JavaScript を有効にすると動きます。

定理 1.21 P(x,y)P(x, y) を X,YX, Y 上の条件とする。

(∃y∈Y, ∀x∈X, P(x,y))⇒(∀x∈X, ∃y∈Y, P(x,y))\bigl( \exists y \in Y,\ \forall x \in X,\ P(x, y) \bigr) \Rightarrow \bigl( \forall x \in X,\ \exists y \in Y,\ P(x, y) \bigr)

は常に真である。一方、逆向きの含意は一般には成り立たない。なお、同じ種類の量化子どうしは入れ替えてよい:∀x∈X, ∀y∈Y, P(x,y)\forall x \in X,\ \forall y \in Y,\ P(x, y) と ∀y∈Y, ∀x∈X, P(x,y)\forall y \in Y,\ \forall x \in X,\ P(x, y) は同値であり、∃\exists についても同様である。

証明. 左辺を仮定し、∀x∈X, P(x,y0)\forall x \in X,\ P(x, y_0) を満たす y0∈Yy_0 \in Y を一つとる。x∈Xx \in X を任意にとると P(x,y0)P(x, y_0) が成り立つので、y=y0y = y_0 とすれば「∃y∈Y, P(x,y)\exists y \in Y,\ P(x, y)」が成り立つ。xx は任意だったから右辺が成り立つ。逆向きが成り立たない例は例 1.20 である。同じ種類の量化子の入れ替えは、「すべての組 (x,y)(x, y) について」「ある組 (x,y)(x, y) について」という意味から明らかである。□\square

量化子の順序の違いが本質的に効いてくる典型例が、関数の連続性と一様連続性である。

定義 1.22(連続性と一様連続性)I⊂RI \subset \mathbb{R} を区間、f ⁣:I→Rf\colon I \to \mathbb{R} を関数とする。

(1) ff が II 上で連続 (continuous) であるとは、次が成り立つことをいう。

∀a∈I, ∀ε>0, ∃δ>0, ∀x∈I, (∣x−a∣<δ⇒∣f(x)−f(a)∣<ε)\forall a \in I,\ \forall \varepsilon > 0,\ \exists \delta > 0,\ \forall x \in I,\ \bigl( \lvert x - a \rvert < \delta \Rightarrow \lvert f(x) - f(a) \rvert < \varepsilon \bigr)

(2) ff が II 上で一様連続 (uniformly continuous) であるとは、次が成り立つことをいう。

∀ε>0, ∃δ>0, ∀a∈I, ∀x∈I, (∣x−a∣<δ⇒∣f(x)−f(a)∣<ε)\forall \varepsilon > 0,\ \exists \delta > 0,\ \forall a \in I,\ \forall x \in I,\ \bigl( \lvert x - a \rvert < \delta \Rightarrow \lvert f(x) - f(a) \rvert < \varepsilon \bigr)

ここで ∀ε>0\forall \varepsilon > 0 は「ε>0\varepsilon > 0 を満たすすべての実数 ε\varepsilon について」の略である。二つの定義の違いは「∀a∈I\forall a \in I」の位置だけである。連続性では δ\delta は ∃δ\exists \delta より前にある aa と ε\varepsilon の両方に依存してよいが、一様連続性では δ\delta は ε\varepsilon だけから決まり、II のすべての点 aa で同じ δ\delta が使える。定理 1.21 により一様連続ならば連続である。

例 1.23 f(x)=x2f(x) = x^2 は R\mathbb{R} 上で連続である。実際、a∈Ra \in \mathbb{R} と ε>0\varepsilon > 0 を任意にとり、δ:=min⁡{1,ε/(2∣a∣+1)}\delta := \min \lbrace 1, \varepsilon / (2\lvert a \rvert + 1) \rbrace とおく。∣x−a∣<δ\lvert x - a \rvert < \delta ならば ∣x+a∣≤∣x−a∣+2∣a∣<1+2∣a∣\lvert x + a \rvert \leq \lvert x - a \rvert + 2\lvert a \rvert < 1 + 2\lvert a \rvert なので

∣x2−a2∣=∣x−a∣∣x+a∣<δ (2∣a∣+1)≤ε\lvert x^2 - a^2 \rvert = \lvert x - a \rvert \lvert x + a \rvert < \delta \, (2\lvert a \rvert + 1) \leq \varepsilon

となる。この δ\delta は aa に依存しており、∣a∣\lvert a \rvert が大きいほど小さくとらねばならない。グラフが遠くほど急になるからである。実際、どの aa でも通用する δ\delta は存在せず、ff は一様連続でない(例 1.27)。一様連続性は微分積分学 第3章で詳しく扱う。

1.6 量化子を含む命題の否定

「収束しない」「一様連続でない」ことを証明するには、定義の否定を正確に書き下す必要がある。

定理 1.24(量化子の否定)P(x)P(x) を集合 XX 上の条件とする。

¬(∀x∈X, P(x))≡∃x∈X, ¬P(x),¬(∃x∈X, P(x))≡∀x∈X, ¬P(x)\neg \bigl( \forall x \in X,\ P(x) \bigr) \equiv \exists x \in X,\ \neg P(x), \qquad \neg \bigl( \exists x \in X,\ P(x) \bigr) \equiv \forall x \in X,\ \neg P(x)

証明. 前者:「すべての xx で P(x)P(x)」が偽であることは、P(x)P(x) が成り立たない xx が少なくとも一つあることにほかならない。後者:「P(x)P(x) を満たす xx がある」が偽であることは、P(x)P(x) を満たす xx が一つもない、つまりすべての xx で ¬P(x)\neg P(x) であることにほかならない。これらは ∀,∃\forall, \exists の意味そのものであり、XX が有限集合のときはド・モルガンの法則(定理 1.7)の言いかえである(注意 1.19 (4))。□\square

この定理を繰り返し使うと、否定は次の手順で機械的に作れる。

  1. 命題を「量化子の列、最後に条件」の形に書く。
  2. ∀\forall と ∃\exists をすべて入れ替える。範囲の指定(「∈X\in X」「>0> 0」など)はそのまま残す。
  3. 最後の条件を否定し、定理 1.7・定理 1.11 で整理する。特に ¬(P⇒Q)≡P∧¬Q\neg(P \Rightarrow Q) \equiv P \land \neg Q、¬(a<b)≡a≥b\neg(a < b) \equiv a \geq b を使う。

手順 2 で範囲指定を変えない理由は注意 1.19 (2) にある。∀ε>0, Q(ε)\forall \varepsilon > 0,\ Q(\varepsilon) は ∀ε, (ε>0⇒Q(ε))\forall \varepsilon,\ (\varepsilon > 0 \Rightarrow Q(\varepsilon)) のことだから、その否定は ∃ε, (ε>0∧¬Q(ε))\exists \varepsilon,\ (\varepsilon > 0 \land \neg Q(\varepsilon))、すなわち ∃ε>0, ¬Q(ε)\exists \varepsilon > 0,\ \neg Q(\varepsilon) である。「ε≤0\varepsilon \leq 0」にはならない。

例 1.25(収束の否定)数列 (an)(a_n) が実数 α\alpha に収束する (converge) とは

∀ε>0, ∃N∈N, ∀n∈N, (n≥N⇒∣an−α∣<ε)\forall \varepsilon > 0,\ \exists N \in \mathbb{N},\ \forall n \in \mathbb{N},\ \bigl( n \geq N \Rightarrow \lvert a_n - \alpha \rvert < \varepsilon \bigr)

が成り立つことである(微分積分学 第2章)。手順どおりに否定すると

∃ε>0, ∀N∈N, ∃n∈N, (n≥N∧∣an−α∣≥ε)\exists \varepsilon > 0,\ \forall N \in \mathbb{N},\ \exists n \in \mathbb{N},\ \bigl( n \geq N \land \lvert a_n - \alpha \rvert \geq \varepsilon \bigr)

となる。言葉にすれば「ある ε>0\varepsilon > 0 があって、どんなに先の番号 NN を指定しても、それ以降に α\alpha から ε\varepsilon 以上離れた項が現れる」である。

例 1.26 an=(−1)na_n = (-1)^n は 11 に収束しない。否定の形に沿って証明する。ε=1\varepsilon = 1 とする。N∈NN \in \mathbb{N} を任意にとり、n:=2N+1n := 2N + 1 とおくと n≥Nn \geq N であり、nn は奇数なので ∣an−1∣=∣−1−1∣=2≥1\lvert a_n - 1 \rvert = \lvert -1 - 1 \rvert = 2 \geq 1 である。□\square

証明の骨組み「ε\varepsilon を具体的に選ぶ → NN を任意にとる → nn を(NN に応じて)具体的に選ぶ」が、否定の量化子の列 ∃ε ∀N ∃n\exists \varepsilon \ \forall N \ \exists n にそのまま対応していることに注意しよう。

例 1.27(例 1.23 の続き)f(x)=x2f(x) = x^2 は R\mathbb{R} 上で一様連続でない。定義 1.22 (2) を否定すると

∃ε>0, ∀δ>0, ∃a∈R, ∃x∈R, (∣x−a∣<δ∧∣x2−a2∣≥ε)\exists \varepsilon > 0,\ \forall \delta > 0,\ \exists a \in \mathbb{R},\ \exists x \in \mathbb{R},\ \bigl( \lvert x - a \rvert < \delta \land \lvert x^2 - a^2 \rvert \geq \varepsilon \bigr)

であるから、これを示す。ε=1\varepsilon = 1 とする。δ>0\delta > 0 を任意にとり、a:=1/δa := 1/\delta、x:=a+δ/2x := a + \delta/2 とおく。すると ∣x−a∣=δ/2<δ\lvert x - a \rvert = \delta/2 < \delta であり、

∣x2−a2∣=(x−a)(x+a)=δ2(2δ+δ2)=1+δ24≥1\lvert x^2 - a^2 \rvert = (x - a)(x + a) = \frac{\delta}{2} \left( \frac{2}{\delta} + \frac{\delta}{2} \right) = 1 + \frac{\delta^2}{4} \geq 1

である。□\square ここで aa は δ\delta に依存して選んでいる。∃a\exists a が ∀δ\forall \delta の後ろにあるので、これは許される。

注意

日本語の否定は曖昧になりやすい。「すべての学生が合格しなかった」は「全員が不合格」(∀x, ¬P(x)\forall x,\ \neg P(x))とも「全員が合格したわけではない」(¬∀x, P(x)\neg \forall x,\ P(x))とも読める。数学の文章では「〜とは限らない」「〜でない xx が存在する」のように誤解の余地のない言い方を選び、迷ったら論理式で書いて確かめる。

1.7 証明の骨組み:何を仮定し、何を示すか

証明を書くときに最初に決めるべきことは、「何を仮定してよく、何を示せば終わりか」である。これは示したい命題の論理的な形だけから決まる。中身を考える前に、まず骨組みを書くとよい。

示したい命題の形 証明の書き出し 何を示せば終わりか
P⇒QP \Rightarrow Q 「PP を仮定する」 QQ を導けば終わり
∀x∈X, P(x)\forall x \in X,\ P(x) 「x∈Xx \in X を任意にとる」 その xx について P(x)P(x) を示せば終わり
∃x∈X, P(x)\exists x \in X,\ P(x) 「x:=⋯x := \cdots とおく」 その xx が XX に属し P(x)P(x) を満たすことを確かめれば終わり
P∧QP \land Q 「まず PP を示す」 PP と QQ の両方を示せば終わり
P∨QP \lor Q 「PP でないと仮定する」 QQ を導けば終わり(¬P⇒Q\neg P \Rightarrow Q と同値なので)
P⇔QP \Leftrightarrow Q 「(⇒\Rightarrow) の証明」 P⇒QP \Rightarrow Q と Q⇒PQ \Rightarrow P の両方を示せば終わり
¬P\neg P 「PP であると仮定する」 矛盾を導けば終わり

仮定として手元にある命題の使い方も、その形で決まる。

手元にある仮定 使い方
∀x∈X, P(x)\forall x \in X,\ P(x) 好きな a∈Xa \in X を代入して P(a)P(a) を得てよい
∃x∈X, P(x)\exists x \in X,\ P(x) 「P(x0)P(x_0) を満たす x0∈Xx_0 \in X を一つとる」。どれがとれるかは選べない
P∨QP \lor Q 「PP の場合」「QQ の場合」に分けて、どちらでも結論を導く
P⇒QP \Rightarrow Q と PP QQ を得る

「任意にとった xx」は、反論者が選んだ値である。証明者はその値について何も知らないので、xx について x∈Xx \in X 以外の性質を勝手に仮定してはならない。逆に「存在する」を示すときは、証明者が値を自由に選んでよい。

以下、整数 nn が偶数 (even) であるとは n=2kn = 2k となる整数 kk が存在すること、奇数 (odd) であるとは n=2k+1n = 2k + 1 となる整数 kk が存在することと定める。どの整数も偶数か奇数のどちらか一方だけであること(2 で割った余りが一意に決まること)は既知とする。

例 1.28(骨組みを意識した証明)「任意の整数 m,nm, n について、mm と nn がともに奇数ならば mnmn は奇数である」を示す。形は ∀m ∀n (P⇒Q)\forall m \ \forall n \ (P \Rightarrow Q) であり、結論 QQ は「∃j∈Z, mn=2j+1\exists j \in \mathbb{Z},\ mn = 2j + 1」という存在命題である。

証明. m,n∈Zm, n \in \mathbb{Z} を任意にとり、ともに奇数であると仮定する。奇数の定義より、m=2k+1m = 2k + 1、n=2l+1n = 2l + 1 を満たす整数 k,lk, l がとれる。このとき

mn=4kl+2k+2l+1=2(2kl+k+l)+1mn = 4kl + 2k + 2l + 1 = 2(2kl + k + l) + 1

である。j:=2kl+k+lj := 2kl + k + l とおくと jj は整数であり mn=2j+1mn = 2j + 1 となるから、mnmn は奇数である。□\square

「任意にとり」が ∀\forall に、「仮定する」が ⇒\Rightarrow に、「とれる」が仮定の ∃\exists の使用に、「j:=⋯j := \cdots とおく」が結論の ∃\exists の証明に対応している。kk と ll に別の文字を使ったことも重要である(1.9 節の添削 3)。

1.8 証明の技法

直接証明と対偶による証明

P⇒QP \Rightarrow Q を、PP から出発して QQ に到達することで示すのが直接証明 (direct proof) である。例 1.28 はその例である。直接証明が難しいときは、定理 1.14 により対偶 ¬Q⇒¬P\neg Q \Rightarrow \neg P を示してもよい。これを対偶による証明 (proof by contraposition) という。

例 1.29 整数 nn について、n2n^2 が偶数ならば nn は偶数である。

証明. 対偶「nn が奇数ならば n2n^2 は奇数」を示せばよい。これは例 1.28 で m=nm = n とした場合である。□\square

直接示そうとすると「n2=2kn^2 = 2k から n=2kn = \sqrt{2k} が偶数」という見込みのない道に入る。「偶数である」という仮定より「奇数である」という仮定のほうが式にしやすいので、対偶が有効なのである。

場合分け

仮定が P∨QP \lor Q の形のときや、考える対象がいくつかの種類に分かれるときは、場合分け (proof by cases) を使う。場合がすべてを尽くしていることを必ず確認する。

例 1.30 任意の整数 nn について、n2n^2 を 44 で割った余りは 00 か 11 である。したがって 4k+34k + 3(k∈Zk \in \mathbb{Z})の形の整数は二つの整数の平方の和で表せない。

証明. nn は偶数か奇数である。偶数のとき n=2kn = 2k と書けて n2=4k2n^2 = 4k^2、余りは 00 である。奇数のとき n=2k+1n = 2k + 1 と書けて n2=4(k2+k)+1n^2 = 4(k^2 + k) + 1、余りは 11 である。後半:a2+b2a^2 + b^2 を 44 で割った余りは、前半より 0+00 + 0、0+10 + 1、1+11 + 1 のいずれかで 0,1,20, 1, 2 のどれかになり、33 にはならない。□\square

数学的帰納法と完全帰納法

自然数 N={1,2,3,… }\mathbb{N} = \lbrace 1, 2, 3, \dots \rbrace 全体についての命題を示す基本的な道具が帰納法である。

定理 1.31(数学的帰納法, mathematical induction)P(n)P(n) を N\mathbb{N} 上の条件とする。P(1)P(1) が真であり、かつ、すべての n∈Nn \in \mathbb{N} について P(n)⇒P(n+1)P(n) \Rightarrow P(n + 1) が真ならば、すべての n∈Nn \in \mathbb{N} について P(n)P(n) は真である。

これは自然数の最も基本的な性質であり、第7章では自然数を特徴づける公理(ペアノの公理)の一つとして採用する。ここでは証明せずに認めて使う。P(1)P(1) の確認を基礎段階 (base case)、P(n)⇒P(n+1)P(n) \Rightarrow P(n+1) の証明を帰納段階 (inductive step) といい、帰納段階での仮定 P(n)P(n) を帰納法の仮定 (induction hypothesis) という。

例 1.32(ベルヌーイの不等式)h≥−1h \geq -1 を満たす実数 hh と n∈Nn \in \mathbb{N} について (1+h)n≥1+nh(1 + h)^n \geq 1 + nh が成り立つ。

証明. h≥−1h \geq -1 を固定し、nn についての帰納法で示す。n=1n = 1 のとき両辺は 1+h1 + h で等しい。ある nn で (1+h)n≥1+nh(1 + h)^n \geq 1 + nh が成り立つと仮定する。1+h≥01 + h \geq 0 なので、両辺に 1+h1 + h を掛けても不等号の向きは変わらず

(1+h)n+1≥(1+nh)(1+h)=1+(n+1)h+nh2≥1+(n+1)h(1 + h)^{n+1} \geq (1 + nh)(1 + h) = 1 + (n + 1)h + nh^2 \geq 1 + (n + 1)h

を得る。よって帰納法により、すべての n∈Nn \in \mathbb{N} で成り立つ。□\square

仮定 h≥−1h \geq -1 がどこで使われたか(不等式に 1+h1 + h を掛けるところ)を確認しておこう。仮定をどこで使ったかを把握することは、証明を理解することの一部である。

注意 1.33 (1) 基礎段階を n=n0n = n_0 から始めれば、n≥n0n \geq n_0 を満たすすべての整数 nn について示せる。(2) 基礎段階と帰納段階のどちらを欠いても証明にならない。たとえば P(n)P(n):「n=n+1n = n + 1」について、P(n)P(n) を仮定すると両辺に 11 を足して P(n+1)P(n + 1) が得られるので帰納段階は正しいが、P(1)P(1) が偽なので何も示されない(問題 1.9)。

P(n+1)P(n+1) を示すのに P(n)P(n) だけでなく、それより前のすべての P(k)P(k) を使いたいことがある。

定理 1.34(完全帰納法, strong induction)P(n)P(n) を N\mathbb{N} 上の条件とし、次を仮定する。

∀n∈N, [(∀k∈N, k<n⇒P(k))⇒P(n)]\forall n \in \mathbb{N},\ \Bigl[ \bigl( \forall k \in \mathbb{N},\ k < n \Rightarrow P(k) \bigr) \Rightarrow P(n) \Bigr]

このとき、すべての n∈Nn \in \mathbb{N} について P(n)P(n) が成り立つ。

証明. 条件 Q(n)Q(n) を「k≤nk \leq n を満たすすべての k∈Nk \in \mathbb{N} について P(k)P(k)」と定め、Q(n)Q(n) がすべての nn で成り立つことを通常の帰納法で示す。

n=1n = 1 のとき:k<1k < 1 を満たす自然数 kk は存在しないので、「∀k∈N, k<1⇒P(k)\forall k \in \mathbb{N},\ k < 1 \Rightarrow P(k)」は空虚に真である。よって仮定を n=1n = 1 に適用して P(1)P(1) が成り立つ。k≤1k \leq 1 を満たす自然数は k=1k = 1 だけなので Q(1)Q(1) が成り立つ。

Q(n)⇒Q(n+1)Q(n) \Rightarrow Q(n+1):Q(n)Q(n) を仮定する。自然数 kk について k<n+1k < n + 1 と k≤nk \leq n は同値なので、Q(n)Q(n) は「k<n+1k < n + 1 を満たすすべての kk で P(k)P(k)」を意味する。よって仮定を n+1n + 1 に適用して P(n+1)P(n + 1) が成り立つ。これと Q(n)Q(n) を合わせて Q(n+1)Q(n + 1) が成り立つ。

帰納法によりすべての nn で Q(n)Q(n) が成り立ち、特に(k=nk = n として)P(n)P(n) が成り立つ。□\square

仮定の中に基礎段階が含まれていることに注意しよう(n=1n = 1 のとき、何の助けもなしに P(1)P(1) を示さねばならない)。実際の証明では「n=1n = 1 の場合」と「n≥2n \geq 2 の場合」に分けて書くことが多い。

整数 p≥2p \geq 2 で、正の約数が 11 と pp だけであるものを素数 (prime number) という。

例 1.35 22 以上のすべての整数 nn は、有限個の素数の積で表せる(素数自身は 1 個の素数の積とみなす)。

証明. n≥2n \geq 2 とし、2≤k<n2 \leq k < n を満たすすべての整数 kk が素数の積で表せると仮定する(完全帰納法の仮定)。nn が素数ならばそれ自身が素数の積である。素数でなければ、1<a<n1 < a < n を満たす約数 aa があり、n=abn = ab と書くと 1<b<n1 < b < n でもある。仮定より aa と bb はそれぞれ素数の積なので、n=abn = ab も素数の積である。完全帰納法により(基点を 22 とした形で)主張が従う。□\square

表し方の一意性(素因数分解の一意性)は代数学 第1章で示す。

背理法

命題 PP を示すのに、¬P\neg P を仮定して矛盾(ある命題 RR とその否定 ¬R\neg R がともに成り立つこと)を導く方法を背理法 (proof by contradiction) という。R∧¬RR \land \neg R は常に偽なので、¬P⇒(R∧¬R)\neg P \Rightarrow (R \land \neg R) が真ならば、定理 1.11 より ¬¬P∨(R∧¬R)\neg\neg P \lor (R \land \neg R)、すなわち PP が真である。

定理 1.36 2\sqrt{2} は無理数である。すなわち、x2=2x^2 = 2 を満たす有理数 xx は存在しない。

証明. x2=2x^2 = 2 を満たす有理数 xx が存在すると仮定する。−x-x も同じ式を満たすので x>0x > 0 としてよい。xx を既約分数で x=m/nx = m/n(m,n∈Nm, n \in \mathbb{N} は 11 以外の正の公約数をもたない)と表すと、m2=2n2m^2 = 2n^2 である。よって m2m^2 は偶数であり、例 1.29 より mm は偶数である。m=2km = 2k と書くと 4k2=2n24k^2 = 2n^2、すなわち n2=2k2n^2 = 2k^2 となり、同様に nn も偶数である。これは m,nm, n が公約数 22 をもたないことに矛盾する。□\square

第7章では、既約分数を使わない別証明を与える。

定理 1.37(ユークリッド)素数は無限個存在する。

証明. 素数が有限個しかないと仮定し、それらを p1,…,prp_1, \dots, p_r とする。N:=p1p2⋯pr+1N := p_1 p_2 \cdots p_r + 1 とおくと N≥3N \geq 3 であり、例 1.35 より NN を割り切る素数 pp が存在する。仮定より p=pip = p_i となる ii がある。すると pp は NN と p1⋯prp_1 \cdots p_r の両方を割り切るので、その差 11 も割り切る。これは p≥2p \geq 2 に矛盾する。□\square

注意 1.38(対偶と背理法)P⇒QP \Rightarrow Q を背理法で示すときは、PP と ¬Q\neg Q を仮定して何らかの矛盾を導く。対偶による証明では ¬Q\neg Q だけを仮定して ¬P\neg P を導く。背理法で書いた証明で、到達した矛盾がちょうど「PP に反する」ものならば、それは対偶による証明に書き直せる。そのほうが読みやすいことが多い。また、定理 1.37 の証明は「素数の有限個のリストが与えられたら、それに含まれない素数が存在する」という直接証明に書き直せる。背理法の中の議論は偽の仮定の上に立っているため、途中の式の正しさを読者が確かめにくい。背理法は必要なときだけ使うのがよい。

存在の証明と反例

∃x, P(x)\exists x,\ P(x) を示すには、条件を満たす xx を具体的に作ってみせるのが最も明快である。これを構成的証明 (constructive proof) という。

例 1.39 任意の n∈Nn \in \mathbb{N} に対して、連続する nn 個の合成数(22 以上の素数でない整数)が存在する。実際、(n+1)!+2, (n+1)!+3, …, (n+1)!+(n+1)(n+1)! + 2,\ (n+1)! + 3,\ \dots,\ (n+1)! + (n+1) がその例である。2≤j≤n+12 \leq j \leq n + 1 ならば jj は (n+1)!(n+1)! を割り切るので (n+1)!+j(n+1)! + j も割り切り、しかも 1<j<(n+1)!+j1 < j < (n+1)! + j だから (n+1)!+j(n+1)! + j は合成数である。

一方、存在することはわかるが、どれが条件を満たすかは特定しない証明もある。これを非構成的証明 (non-constructive proof) という。

例 1.40 無理数 a,ba, b で、aba^b が有理数となるものが存在する。

証明. c:=22c := \sqrt{2}^{\sqrt{2}} を考える。cc が有理数ならば a=b=2a = b = \sqrt{2} とすればよい(定理 1.36)。cc が無理数ならば a=ca = c、b=2b = \sqrt{2} とすると、ab=22⋅2=22=2a^b = \sqrt{2}^{\sqrt{2} \cdot \sqrt{2}} = \sqrt{2}^2 = 2 は有理数である。どちらの場合も条件を満たす a,ba, b が存在する。□\square

この証明は、二つの候補のどちらが正しいかを教えてくれない(実は cc は無理数であることが知られているが、その証明ははるかに難しい)。

注意 1.41(一意性の証明)∃!x∈X, P(x)\exists ! x \in X,\ P(x) を示すには、存在(P(x)P(x) を満たす xx がある)と一意性(P(x)P(x) と P(x′)P(x') がともに成り立てば x=x′x = x')の両方を示す。たとえば ∃!x∈R, x3=8\exists ! x \in \mathbb{R},\ x^3 = 8 について、存在は x=2x = 2 で確かめられる。一意性:x3=8x^3 = 8 ならば 0=x3−8=(x−2)(x2+2x+4)0 = x^3 - 8 = (x - 2)(x^2 + 2x + 4) であり、x2+2x+4=(x+1)2+3>0x^2 + 2x + 4 = (x + 1)^2 + 3 > 0 なので x=2x = 2 である。したがって解はどれも 22 に等しい。

「すべての xx について P(x)P(x)」を否定するには、P(x)P(x) が成り立たない xx を一つ挙げればよい。これを反例 (counterexample) という。反対に、「すべての xx について P(x)P(x)」を証明するには、例をいくつ挙げても足りない。

例 1.42 「すべての n∈Nn \in \mathbb{N} について n2+n+41n^2 + n + 41 は素数である」は偽である。n=1,2,…,39n = 1, 2, \dots, 39 ではすべて素数になるが、n=40n = 40 のとき 402+40+41=1681=41240^2 + 40 + 41 = 1681 = 41^2 は素数でない。39 個の例が成り立っても、主張の証明にはならないのである。同様に「連続関数は微分可能である」は f(x)=∣x∣f(x) = \lvert x \rvert(x=0x = 0 で微分不可能)という反例によって否定される(微分積分学 第4章)。

1.9 証明の書き方の実践:悪い証明例と添削

以下は、大学 1 年生の答案によく見られる誤りを模した例である。どこがまずいのかを自分で考えてから、添削を読んでほしい。

添削 1:例を確かめただけ

問題. 任意の整数 nn について n3−nn^3 - n は 66 の倍数であることを示せ。

よくない答案. n=1n = 1 のとき 00、n=2n = 2 のとき 66、n=3n = 3 のとき 2424、n=4n = 4 のとき 6060。どれも 66 の倍数なので成り立つ。

添削. 示すべきは ∀n∈Z\forall n \in \mathbb{Z} の命題であり、有限個の例では証明にならない(例 1.42)。「n∈Zn \in \mathbb{Z} を任意にとる」から書き始める。

修正した答案. n∈Zn \in \mathbb{Z} を任意にとる。n3−n=(n−1)n(n+1)n^3 - n = (n - 1)n(n + 1) は連続する 3 整数の積である。連続する 2 整数の一方は偶数なので、この積は 22 の倍数である。また nn を 33 で割った余りは 0,1,20, 1, 2 のいずれかで、それぞれ nn、n−1n - 1、n+1n + 1 が 33 の倍数になるので、積は 33 の倍数である。22 と 33 の倍数である整数は 66 の倍数であるから(22 と 33 が素数であることによる。代数学 第1章)、n3−nn^3 - n は 66 の倍数である。□\square

添削 2:「任意の」を特定の値ですませる

問題. an=1/na_n = 1/n が 00 に収束することを示せ。

よくない答案. ε=1/100\varepsilon = 1/100 とする。N=101N = 101 とすれば、n≥Nn \geq N のとき ∣an−0∣=1/n≤1/101<1/100\lvert a_n - 0 \rvert = 1/n \leq 1/101 < 1/100 となる。よって 00 に収束する。

添削. 定義は ∀ε>0\forall \varepsilon > 0 で始まる。ε\varepsilon は反論者が選ぶ値なので、証明者が 1/1001/100 と決めてはいけない。任意の ε\varepsilon に対して、それに応じた NN を見つける必要がある。

修正した答案. ε>0\varepsilon > 0 を任意にとる。アルキメデスの性質(任意の実数 xx に対して x<Nx < N となる N∈NN \in \mathbb{N} が存在する。微分積分学 第1章)により、N>1/εN > 1/\varepsilon を満たす N∈NN \in \mathbb{N} がとれる。このとき n≥Nn \geq N を満たす任意の n∈Nn \in \mathbb{N} について ∣an−0∣=1/n≤1/N<ε\lvert a_n - 0 \rvert = 1/n \leq 1/N < \varepsilon である。□\square

添削 3:文字の使い回し

問題. 偶数と偶数の和は偶数であることを示せ。

よくない答案. m=2km = 2k、n=2kn = 2k とおくと m+n=4k=2(2k)m + n = 4k = 2(2k) なので偶数である。

添削. mm と nn に同じ kk を使ったため、m=nm = n の場合しか扱っていない。仮定の ∃\exists から取り出す文字は、そのたびに新しい文字にする。

修正した答案. m,nm, n を偶数とする。m=2km = 2k、n=2ln = 2l となる整数 k,lk, l がとれる。m+n=2(k+l)m + n = 2(k + l) で k+lk + l は整数なので、m+nm + n は偶数である。□\square

添削 4:結論から出発する

問題. a,b>0a, b > 0 のとき a+b2≥ab\dfrac{a + b}{2} \geq \sqrt{ab} を示せ。

よくない答案. a+b2≥ab\dfrac{a + b}{2} \geq \sqrt{ab} とする。両辺を 22 倍して移項すると a−2ab+b≥0a - 2\sqrt{ab} + b \geq 0、すなわち (a−b)2≥0(\sqrt{a} - \sqrt{b})^2 \geq 0 となり、これは正しい。よって示された。

添削. 示したい式から出発して正しい式を導いても、それは「結論 ⇒\Rightarrow 正しい式」を示しただけで、欲しい向きとは逆である。偽の命題からでも正しい命題は導ける(1=21 = 2 の両辺に 00 を掛ければ 0=00 = 0)。変形の各段階が同値変形であれば救えるが、その場合は向きを明示すべきである。最も明快なのは、正しい式から出発して結論に至る順に書き直すことである。

修正した答案. a,b>0a, b > 0 より a,b\sqrt{a}, \sqrt{b} は実数で、(a−b)2≥0(\sqrt{a} - \sqrt{b})^2 \geq 0 である。左辺を展開すると a−2ab+b≥0a - 2\sqrt{ab} + b \geq 0、よって a+b≥2aba + b \geq 2\sqrt{ab} であり、両辺を 22 で割って結論を得る。□\square

添削 5:帰納法の穴

主張(誤り). どんな nn 頭の馬の集まりも、すべて同じ色である。

よくない答案. n=1n = 1 のときは明らか。nn 頭で正しいと仮定し、n+1n + 1 頭の馬 h1,…,hn+1h_1, \dots, h_{n+1} を考える。帰納法の仮定より h1,…,hnh_1, \dots, h_n は同じ色、h2,…,hn+1h_2, \dots, h_{n+1} も同じ色である。両者は共通の馬を含むので、全体が同じ色である。

添削. 「共通の馬を含む」のは n≥2n \geq 2 のときだけである。n=1n = 1 のとき二つの集まりは {h1}\lbrace h_1 \rbrace と {h2}\lbrace h_2 \rbrace で、共通の馬がいない。つまり P(1)⇒P(2)P(1) \Rightarrow P(2) が示されていない。帰納段階の議論は、すべての n≥1n \geq 1 で通用しなければならない。小さい nn で議論を具体的に追ってみるのは、よい点検法である。

添削 6:暗黙の割り算

よくない答案(1=21 = 2 の「証明」). a=ba = b とする。両辺に aa を掛けて a2=aba^2 = ab、両辺から b2b^2 を引いて a2−b2=ab−b2a^2 - b^2 = ab - b^2、因数分解して (a+b)(a−b)=b(a−b)(a + b)(a - b) = b(a - b)、両辺を a−ba - b で割って a+b=ba + b = b。a=ba = b より 2b=b2b = b、よって 2=12 = 1。

添削. a=ba = b なので a−b=0a - b = 0 であり、00 で割っている。最後の 2b=b2b = b から 2=12 = 1 を出すところでも、b≠0b \neq 0 を暗黙に仮定している。式変形では、割る数が 00 でないか、両辺を 2 乗したり逆数をとったりしたとき同値性や不等号の向きが保たれるかを常に確認する。

証明を書くときのチェックリスト

  • 仮定と結論を最初にはっきり書いたか。結論の形から骨組み(1.7 節の表)を作ったか。
  • すべての文字を導入したか。「任意の xx をとる」「⋯\cdots を満たす kk がとれる」「δ:=⋯\delta := \cdots とおく」のどれで導入したかを区別しているか。
  • 後から選んだ文字が、何に依存してよいかを守っているか(NN は ε\varepsilon に依存してよいが、その逆は許されない)。
  • 使った定理の仮定を満たしているか。00 で割っていないか。
  • 「⇒\Rightarrow」の向きは正しいか。同値変形のつもりで片方向の変形をしていないか。
  • 最後の文が、示すべき結論そのものになっているか。

まとめ

  • 命題は真偽が定まる主張であり、否定・かつ・または・ならば・同値の真偽は真理値表で定められる。「または」は両方の場合を含む。
  • P⇒QP \Rightarrow Q は「PP が真で QQ が偽」のときだけ偽である。前提が偽なら真になる約束は、「すべての xx について」と組み合わせるために必要である。
  • P⇒QP \Rightarrow Q は対偶 ¬Q⇒¬P\neg Q \Rightarrow \neg P と同値だが、逆 Q⇒PQ \Rightarrow P とは同値でない。P⇒QP \Rightarrow Q の否定は P∧¬QP \land \neg Q である。
  • 量化子の順序は本質的であり、後から選ぶ変数は前の変数に依存してよい。連続性と一様連続性の違いは ∀a\forall a の位置だけである。
  • 量化子を含む命題の否定は、∀\forall と ∃\exists を入れ替え、範囲指定はそのままにし、最後の条件を否定して作る。
  • 証明の骨組みは示したい命題の形で決まる:∀\forall なら「任意にとる」、∃\exists なら「具体的に与える」、⇒\Rightarrow なら「仮定する」。
  • 証明の技法:直接証明・対偶・場合分け・帰納法と完全帰納法・背理法・構成的/非構成的存在証明。全称命題の否定は反例一つで足りるが、全称命題の証明は例をいくつ挙げても足りない。

演習問題

問題 1.1 ★ 真理値表を用いて、分配法則 P∧(Q∨R)≡(P∧Q)∨(P∧R)P \land (Q \lor R) \equiv (P \land Q) \lor (P \land R) を確かめよ。また ((P⇒Q)∧(Q⇒R))⇒(P⇒R)\bigl( (P \Rightarrow Q) \land (Q \Rightarrow R) \bigr) \Rightarrow (P \Rightarrow R) が恒真式であることを示せ。

解答

前半:(P,Q,R)(P, Q, R) の 8 通りの組合せを調べる。PP が F の 4 通りでは両辺とも F である(左辺は P∧⋯P \land \cdots、右辺は P∧QP \land Q と P∧RP \land R がともに F)。PP が T の 4 通りでは、左辺は Q∨RQ \lor R と、右辺は Q∨RQ \lor R と同じ真理値になる。よって 8 通りすべてで一致する。

後半:この式が偽になるとすると、前提 (P⇒Q)∧(Q⇒R)(P \Rightarrow Q) \land (Q \Rightarrow R) が T で結論 P⇒RP \Rightarrow R が F でなければならない。結論が F なので PP は T、RR は F である。すると P⇒QP \Rightarrow Q が T であることから QQ は T、さらに Q⇒RQ \Rightarrow R が T であることから RR は T となり、RR が F であることに矛盾する。よってこの式が偽になる組合せはなく、恒真式である。

問題 1.2 ★ 実数 xx についての命題「x>1x > 1 ならば x2>1x^2 > 1」の逆・裏・対偶を述べ、それぞれがすべての実数 xx について成り立つかどうか判定せよ。

解答

もとの命題は真である(x>1>0x > 1 > 0 なら x2>x>1x^2 > x > 1)。

  • 逆「x2>1x^2 > 1 ならば x>1x > 1」:偽。反例 x=−2x = -2。
  • 裏「x≤1x \leq 1 ならば x2≤1x^2 \leq 1」:偽。反例 x=−2x = -2。
  • 対偶「x2≤1x^2 \leq 1 ならば x≤1x \leq 1」:真(もとの命題と同値)。

逆と裏が同じ反例で否定されるのは、両者が互いに対偶の関係にあり同値だからである。

問題 1.3 ★ 次の命題の真偽を判定し、理由を述べよ。 (a) ∀x∈R, ∃y∈R, y2=x\forall x \in \mathbb{R},\ \exists y \in \mathbb{R},\ y^2 = x (b) ∀x∈R, ∃y∈R, y3=x\forall x \in \mathbb{R},\ \exists y \in \mathbb{R},\ y^3 = x (c) ∃y∈R, ∀x∈R, xy=0\exists y \in \mathbb{R},\ \forall x \in \mathbb{R},\ xy = 0 (d) ∀x∈N, ∃y∈N, y<x\forall x \in \mathbb{N},\ \exists y \in \mathbb{N},\ y < x (e) ∃x∈N, ∀y∈N, x≤y\exists x \in \mathbb{N},\ \forall y \in \mathbb{N},\ x \leq y

解答

(a) 偽。x=−1x = -1 とすると、どの実数 yy も y2≥0>−1y^2 \geq 0 > -1 なので y2=−1y^2 = -1 とならない。 (b) 真。任意の xx に対し y=x3y = \sqrt[3]{x}(実数の 3 乗根)をとればよい。 (c) 真。y=0y = 0 とすれば、すべての xx で xy=0xy = 0。 (d) 偽。x=1x = 1 とすると、y<1y < 1 を満たす自然数 yy は存在しない。 (e) 真。x=1x = 1 とすれば、すべての y∈Ny \in \mathbb{N} について 1≤y1 \leq y。

問題 1.4 ★ 次の命題の否定を、¬\neg を使わずに書け。 (a) 数列 (an)(a_n) は有界である:∃M>0, ∀n∈N, ∣an∣≤M\exists M > 0,\ \forall n \in \mathbb{N},\ \lvert a_n \rvert \leq M (b) 関数 f ⁣:R→Rf\colon \mathbb{R} \to \mathbb{R} は単調増加である:∀x∈R, ∀y∈R, (x<y⇒f(x)≤f(y))\forall x \in \mathbb{R},\ \forall y \in \mathbb{R},\ (x < y \Rightarrow f(x) \leq f(y)) (c) 数列 (an)(a_n) はコーシー列である:∀ε>0, ∃N∈N, ∀m,n∈N, (m≥N∧n≥N⇒∣am−an∣<ε)\forall \varepsilon > 0,\ \exists N \in \mathbb{N},\ \forall m, n \in \mathbb{N},\ (m \geq N \land n \geq N \Rightarrow \lvert a_m - a_n \rvert < \varepsilon)

解答

(a) ∀M>0, ∃n∈N, ∣an∣>M\forall M > 0,\ \exists n \in \mathbb{N},\ \lvert a_n \rvert > M (b) ∃x∈R, ∃y∈R, (x<y∧f(x)>f(y))\exists x \in \mathbb{R},\ \exists y \in \mathbb{R},\ (x < y \land f(x) > f(y)) (c) ∃ε>0, ∀N∈N, ∃m,n∈N, (m≥N∧n≥N∧∣am−an∣≥ε)\exists \varepsilon > 0,\ \forall N \in \mathbb{N},\ \exists m, n \in \mathbb{N},\ (m \geq N \land n \geq N \land \lvert a_m - a_n \rvert \geq \varepsilon)

いずれも「量化子を入れ替え、範囲指定は残し、最後の条件を否定する」手順に従った。(b)(c) では ¬(P⇒Q)≡P∧¬Q\neg(P \Rightarrow Q) \equiv P \land \neg Q を使った。

問題 1.5 ★★ 数列 an=(−1)na_n = (-1)^n は、どんな実数 α\alpha にも収束しないことを示せ。

解答

α∈R\alpha \in \mathbb{R} を任意にとり、例 1.25 の否定の形を示す。ε=1\varepsilon = 1 とする。三角不等式より ∣1−α∣+∣−1−α∣≥∣(1−α)−(−1−α)∣=2\lvert 1 - \alpha \rvert + \lvert -1 - \alpha \rvert \geq \lvert (1 - \alpha) - (-1 - \alpha) \rvert = 2 なので、∣1−α∣≥1\lvert 1 - \alpha \rvert \geq 1 と ∣−1−α∣≥1\lvert -1 - \alpha \rvert \geq 1 の少なくとも一方が成り立つ。N∈NN \in \mathbb{N} を任意にとる。前者が成り立つときは n:=2Nn := 2N、そうでないときは n:=2N+1n := 2N + 1 とおくと、n≥Nn \geq N かつ ∣an−α∣≥1\lvert a_n - \alpha \rvert \geq 1 となる。よって (an)(a_n) は α\alpha に収束しない。α\alpha は任意だったので、どの実数にも収束しない。□\square

問題 1.6 ★★ すべての n∈Nn \in \mathbb{N} について 13+23+⋯+n3=(n(n+1)2)21^3 + 2^3 + \cdots + n^3 = \left( \dfrac{n(n+1)}{2} \right)^2 が成り立つことを、数学的帰納法で示せ。

解答

n=1n = 1 のとき両辺は 11 である。ある nn で成り立つと仮定すると

13+⋯+n3+(n+1)3=n2(n+1)24+(n+1)3=(n+1)2(n2+4n+4)4=((n+1)(n+2)2)21^3 + \cdots + n^3 + (n+1)^3 = \frac{n^2 (n+1)^2}{4} + (n+1)^3 = \frac{(n+1)^2 (n^2 + 4n + 4)}{4} = \left( \frac{(n+1)(n+2)}{2} \right)^2

となり、n+1n + 1 でも成り立つ。帰納法により、すべての n∈Nn \in \mathbb{N} で成り立つ。□\square

問題 1.7 ★★ 整数 nn について、n2n^2 が 33 の倍数ならば nn は 33 の倍数であることを示せ。これを用いて 3\sqrt{3} が無理数であることを示せ。

解答

対偶「nn が 33 の倍数でなければ n2n^2 も 33 の倍数でない」を示す。nn が 33 の倍数でなければ、ある整数 kk で n=3k+1n = 3k + 1 または n=3k+2n = 3k + 2 と書ける。前者なら n2=3(3k2+2k)+1n^2 = 3(3k^2 + 2k) + 1、後者なら n2=3(3k2+4k+1)+1n^2 = 3(3k^2 + 4k + 1) + 1 で、どちらも 33 で割った余りが 11 である。

3\sqrt{3} が有理数であると仮定し、3=m/n\sqrt{3} = m/n(m,n∈Nm, n \in \mathbb{N} は 11 以外の正の公約数をもたない)と書く。m2=3n2m^2 = 3n^2 より m2m^2 は 33 の倍数なので、前半より m=3km = 3k と書ける。9k2=3n29k^2 = 3n^2 より n2=3k2n^2 = 3k^2 となり、nn も 33 の倍数である。これは m,nm, n が公約数 33 をもたないことに矛盾する。□\square

問題 1.8 ★★ f(x)=1/xf(x) = 1/x は区間 (0,1)(0, 1) 上で一様連続でないが、区間 [1,∞)[1, \infty) 上では一様連続であることを示せ。

解答

(0,1)(0, 1) 上:一様連続性の否定「∃ε>0, ∀δ>0, ∃a,x∈(0,1), (∣x−a∣<δ∧∣1/x−1/a∣≥ε)\exists \varepsilon > 0,\ \forall \delta > 0,\ \exists a, x \in (0,1),\ (\lvert x - a \rvert < \delta \land \lvert 1/x - 1/a \rvert \geq \varepsilon)」を示す。ε=1\varepsilon = 1 とし、δ>0\delta > 0 を任意にとる。a:=min⁡{δ,1/2}a := \min \lbrace \delta, 1/2 \rbrace、x:=a/2x := a/2 とおくと a,x∈(0,1)a, x \in (0, 1)、∣x−a∣=a/2<δ\lvert x - a \rvert = a/2 < \delta であり、∣1/x−1/a∣=2/a−1/a=1/a≥2≥1\lvert 1/x - 1/a \rvert = 2/a - 1/a = 1/a \geq 2 \geq 1 である。

[1,∞)[1, \infty) 上:ε>0\varepsilon > 0 を任意にとり、δ:=ε\delta := \varepsilon とおく。a,x≥1a, x \geq 1 かつ ∣x−a∣<δ\lvert x - a \rvert < \delta ならば xa≥1xa \geq 1 より

∣1x−1a∣=∣a−x∣xa≤∣x−a∣<ε\left\lvert \frac{1}{x} - \frac{1}{a} \right\rvert = \frac{\lvert a - x \rvert}{xa} \leq \lvert x - a \rvert < \varepsilon

である。δ\delta は ε\varepsilon だけで決まり aa によらないので、一様連続である。□\square

問題 1.9 ★★ 次の答案の誤りを指摘し、正しい結論を述べよ。 (a) 「すべての n∈Nn \in \mathbb{N} について n=n+1n = n + 1 である。実際、n=n+1n = n + 1 を仮定すると、両辺に 11 を足して n+1=n+2n + 1 = n + 2 となるので、帰納法により成り立つ。」 (b) 「方程式 x+2=x\sqrt{x + 2} = x を解く。両辺を 2 乗して x+2=x2x + 2 = x^2、よって (x−2)(x+1)=0(x - 2)(x + 1) = 0 となり、解は x=2,−1x = 2, -1 である。」

解答

(a) 帰納段階 P(n)⇒P(n+1)P(n) \Rightarrow P(n+1) は正しいが、基礎段階 P(1)P(1):「1=21 = 2」が偽なので、帰納法は使えない。実際にはすべての nn で n≠n+1n \neq n + 1 であり、主張は偽である(注意 1.33)。

(b) 「両辺を 2 乗する」は x+2=x⇒x+2=x2\sqrt{x+2} = x \Rightarrow x + 2 = x^2 という片方向の変形であり、逆は一般に成り立たない。このため得られた x=2,−1x = 2, -1 は「解の候補」にすぎない。実際 x=−1x = -1 では左辺 11、右辺 −1-1 で成り立たない。正しくは、x+2≥0\sqrt{x + 2} \geq 0 に注意して

x+2=x  ⟺  (x≥0∧x+2=x2)\sqrt{x + 2} = x \iff (x \geq 0 \land x + 2 = x^2)

と同値変形する(右から左は、x≥0x \geq 0 ならば x+2=x2=x\sqrt{x + 2} = \sqrt{x^2} = x による)。x+2=x2x + 2 = x^2 の解 2,−12, -1 のうち x≥0x \geq 0 を満たすのは 22 だけなので、解は x=2x = 2 のみである。方程式を「解く」とは、解の集合を同値変形で決定することである。

問題 1.10 ★★★ すべての自然数は、相異なる 22 のべき(20=12^0 = 1 を含む)の和として表せることを完全帰納法で示せ。さらに、その表し方が一意的であることを示せ。

解答

存在. n=1=20n = 1 = 2^0 は成り立つ。n≥2n \geq 2 とし、nn より小さい自然数はすべて表せると仮定する。2j≥j+12^j \geq j + 1(帰納法で示せる)より 2n>n2^n > n なので、2m≤n2^m \leq n を満たす整数 m≥0m \geq 0 のうち最大のものがとれる。このとき 2m≤n<2m+12^m \leq n < 2^{m+1} である。n=2mn = 2^m ならそれで表せている。そうでなければ r:=n−2mr := n - 2^m は 1≤r<2m1 \leq r < 2^m かつ r<nr < n を満たすので、仮定より rr は相異なる 22 のべきの和で表せる。そこに現れる 22 のべきはどれも rr 以下、したがって 2m2^m より小さいので、n=2m+rn = 2^m + r は相異なる 22 のべきの和である。

一意性. 00 以上の整数からなる空でない有限集合 SS について s(S):=∑i∈S2is(S) := \sum_{i \in S} 2^i とおく。m:=max⁡Sm := \max S とすると

2m≤s(S)≤20+21+⋯+2m=2m+1−1<2m+12^m \leq s(S) \leq 2^0 + 2^1 + \cdots + 2^m = 2^{m+1} - 1 < 2^{m+1}

なので、max⁡S\max S は 2m≤s(S)<2m+12^m \leq s(S) < 2^{m+1} を満たすただ一つの整数 mm として s(S)s(S) から決まる。完全帰納法で「s(S)=s(T)=ns(S) = s(T) = n ならば S=TS = T」を示す。s(S)=s(T)=ns(S) = s(T) = n とすると、いま述べたことから max⁡S=max⁡T=:m\max S = \max T =: m である。n=2mn = 2^m ならば SS と TT から mm を除くと空集合になるので S=T={m}S = T = \lbrace m \rbrace である。そうでなければ S′:=S∖{m}S' := S \setminus \lbrace m \rbrace、T′:=T∖{m}T' := T \setminus \lbrace m \rbrace は空でなく s(S′)=s(T′)=n−2m<ns(S') = s(T') = n - 2^m < n なので、帰納法の仮定より S′=T′S' = T'、よって S=TS = T である。□\square

これは自然数の 2 進法表示の存在と一意性にほかならない。

この章を読み終えたら

「読了」にすると学習記録とロードマップに反映されます。演習の自己採点もお忘れなく。

この章の誤りを報告GitHub で見る