経済学のための数学：第２章
細矢祐誉
テーマ：距離空間の基本的性質
この章で扱うことは、どれもとても基礎的な話である。これらを授業で省略するかどうかは悩んだが、受講者諸君がこれらを知らないことのデメリットの方が大きいと判断し、ここに一章を設けることにした。この程度の知識を当然のように知っているという方は、ここを飛ばしても差し支えない。
さて、まず受講者諸君は、数列について具体的にどれほど知っているだろうか？

数学

的には、数列 (sequence) とは、自然数から実数への関数のことである。となると、関数(function) とはなにか？ ということが今度は問題になる。数学では、関数とは、なにかを入れるとなにかが返ってくる規則のことを指す。１００円玉を入れるとジュースが出てくる、というのも関数である。しかし数学的に意味のある関数ではなさそうだ。もう少しよくあるケースが、実数を入れると実数が返ってくる関数である。ベクトルを入れるとベクトルが返ってくる関数もよく見るだろう。しかし関数を入れると関数が返ってくる—こんな関数もあるのである。第３章で我々はそのような例を嫌でも扱わざるを得ないことになる。
さて、関数の話である。f : A → B と書いてある記述を見たら、この f は関数である。そして A と B は集合であって、A は f に入れてよいものの集合、B は f から出てくるものの集合である。A のことを f の定義域 (domain) と呼び、B のことを f の値域(range) と呼ぶ。頻出するのは B が R、つまり実数全体の集合あるいはその一部であるときであって、このとき f は実数値関数 (real-valued function) と呼ぶ。また B が Rn 、つまり n 次元ベクトル全体の集合あるいはその一部であるときには、f はベクトル値関数(vector-valued function) と呼ぶ。f に a を入れて出てきたものは通常、f (a) と書く。関数自体の名前は f であるが、関数であることがわかりにくい場合には、適宜 f (x) などと書くことがある。このへんは柔軟に考えたほうがよい。
ようやく数列の話に戻って来れた。先ほど言ったように、数列というのは自然数 N から実数 R への関数である*1 。よく高校数学には an などと書いてあるが、本来は a(n) と*1 ところで自然数とはなんだろうか？

普通これは 0 に +1 するという操作を有限回実行して、結果として得られる数のことであるとされる。では、この自然数に 0 自体は入れるべきだろうか？ 実はこれは数学者の間でも統一見解がない。高校数学では自然数は 1 から始まるとするが、杉浦光男『解析入門Ｉ』など
では 0 を自然数に含めている。この辺は各自便利なほうを採用するとよいと思われる。さしあたり、講師

1書くべきである。しかしこれはいろいろまぎらわしいので、an という伝統的な書き方をそのまま使うことにする。数列自体を書くときにはこれを括弧でくくって (an ) と書く。
下付き文字の n は、他で使われているとき（たとえば別の箇所で Rn などという形で n を使ってしまっているとき）には適宜 k や m や i や j などを代用することにする。
数列で最も重要な概念は収束 (convergence) である。数列 (an ) が α に収束するとは、
どんな ε > 0 に対してもある N ∈ N が存在して、n ≥ N であれば |an − α| < ε が常に成り立つことを言う。これを limn→∞ an = α とか、あるいは an → α(as n → ∞) などと書く。
上の文章を理解できただろうか？ くどく繰り返すと、数列 (an ) が α に収束するとは、
どんな「小さな」ε > 0 に対しても、「十分大きな番号」N を取れば、n ≥ N である番号

n に対しては常に、an と α との距離が ε より小さくなっている、という状況を指す。これをいちいち文章で書くとものすごく面倒なので、「どんな」に対応する記号 ∀ と、「ある」に対応する記号 ∃ を用いて、上の文章は次のように記号的に書かれる：∀ε > 0, ∃N ∈ N, n ≥ N ⇒ |an − α| < ε.
以後この記法は説明なしに用いる。

・デデキントの切断公理と実数の連続性と完備性
ところで実数 R とはなんだろうか。とりあえず数直線を思い浮かべよう。数直線に乗っているすべての数が実数である。……というのは、いくらなんでもアバウトである。
１８世紀だったらこれでよかったのだろうが、いまはこのような理解はとうていできな
い。とりあえず数字というのはなんだろうか。ということを考えるために、数直線の１カ所に点を打ってみよう。この点は 0 である。その右側に（左側ではダメ）、もう一個点を打ってみよう。この点は 1 である。
ふたつの点が打たれれば、自然とそれ以外の点も定まる。たとえば、0 から 1 への移動と同じだけの移動を 1 からした点は 2 と呼ばれる。2 から同じ移動をすると 3 に来る。
等々。また、0 から 1 への移動と同じ距離を逆に左側に行くと、やはり 1 が現れる。現れるのだが、右側の 1 と区別がつかないのは不便なので、これにマイナスをつけて −1 と書く。等々。
また、その点がもし 1 であれば 1 が 2 になっていたであろう点、というのがある。これは 0 と 1 の中間の点であり、1/2 と書く。同じようにその点がもし 1 であれば 3 が 7 には 1/n という書き方をしたい都合上、この講義では自然数には 0 を入れないということにする。

2

なっていだであろう点は 3/7 と書く。等々。こうして、有理数までは数直線上にマップできることがわかった。
ここまでの数は「あって当然」のものであり、数を考える以上は絶対に避けて通れないものである。ところでピタゴラスという大昔の数学者は、数というのは上で書いた有理数までしかないと考えていた。しかしその弟子が驚くべきことを主張した。彼の言うところはこうである。直角二等辺三角形を用意し、短い辺の長さを 1 としよう。ピタゴラス自身が証明した定理から、長い辺は自乗すると 2 になる数の長さを持つことになる。しかし、そのような数√2 は有理数ではあり得ないことが証明できるのである！ この衝撃的事実

をピタゴラスは、言い出した弟子を処刑することで解決した。しかし紀元前ならともかく
いま同じことをすると数学者が全滅するのでそうはいかない。
この上の洞察には、暗黙のうちにある前提が置かれている。それは、我々が書けるすべての線分には長さという名の数が存在するということである。数直線の話に戻り、さしあたり 0 の右側に議論を集中させてみよう。ここで、1 の位置などを一切考慮せずに、とりあえず適当に点を打ったとする。このとき、0 からその点までの線の長さというものは、数でなければならない。つまり、実数とは線の長さ（とそのマイナス）の全体でなければならない！
こう考えたときに、「適当に点を打つ」という操作をもう少し厳密に表したいというのが自然な欲求である。現代の数学は集合論を基礎としているので、この操作も集合論的に表したい。そこで、「点を打つ」という操作を、「点の左側と右側に数直線を分ける」という操作と同一視してみよう。こうして我々は実数の「切断」という概念に到達する。実数の切断とは、実数の部分集合 A と B のペア (A, B) のことである。ただし、そのペアは以下の３条件を満たさなければならない。

(i) A も B も空集合ではない。
(ii) A と B の合併は R に等しい。
(iii) a ∈ A かつ b ∈ B ならば a < b である。
おおざっぱに言えば、A が点の「左側」の集合であり、B が点の「右側」の集合である。

(iii) から、A と B は共通部分を持たないことがわかる。さきほどの考察からすると、この「切断」は、それに対応する「数直線上に点を打つ」作業がなければならない。こうして我々はデデキントの切断公理に到達する。
公理 (デデキントの切断公理)：実数 R の切断 (A, B) がなんであろうと、A に最大の数が存在するか、B に最小の数が存在するか、そのどちらかが成り立つ。

3

この性質は、実数という存在が持って「いなければいけない」最小限の性質を示している。有理数の集合 Q はこの性質を持っていない：実際、B を「自乗すると 2 を超える正の数の集合」とし、A を「それ以外」とすれば、(A, B) は切断の３条件を満たす。しかし

A には最大の有理数はないし、B にも最小の有理数はない：もしあったとすればそれは√2 であるが、これが有理数でないことは紀元前に証明されているのである。
デデキントの切断公理は現代の解析学のすべての基礎となっており、ここから様々な性質が出てくる。たとえば次のようなことを考えよう。実数の部分集合 A を取り、ただしこれは上に有界 (bounded from above) だとする。この言葉の意味は、つまりある数

M > 0 があって、すべての a ∈ A に対して a ≤ M が成り立つということである。そこ
でそのような M をすべて集めてできた集合を UA と書くことにして、この UA を A の上
界 (upper bound) と呼ぶことにする。式で書くと

UA = {M ∈ R|∀a ∈ A, a ≤ M }である。そして UA に含まれる数の中で最も小さいものを A の上限 (supremum) と呼び、

sup A と書くのである*2 。
A に最も大きな数が存在するとき、それが UA の最小の数であることは明らかなので、sup A = max A である。しかし sup という記号が強力な意味を持つのは、max A が存在しない場合なのである。次の定理は、どんな場合でも sup A は存在するということを示している。
定理１ (実数の連続性)：A が非空で上に有界な実数の部分集合であるとき、UA には最小の数が必ず存在する。
証明：UA に入っていない点、つまりある a ∈ A に対して c < a となるような c の集合をC として、(C, UA ) を考えよう。A は非空なので、a ∈ A となる数 a が存在し、よって
a − 1 ∈ C である。よって C は空集合ではない。一方、A は上に有界だと仮定しているので、UA も空集合ではない。C と UA の合併は明らかに実数全体である。そして、c ∈ Cと d ∈ UA を取ってくると、まず c ∈ C なので、c < a となる a ∈ A が存在する。一方でUA の定義から a ≤ d であり、よって c < a ≤ d である。こうして (C, UA ) は実数の切断であることがわかった。
よってデデキントの切断公理から、C に最大の数があるか、UA に最小の数があるかの*2 なお、A が上に有界でないときには sup A = +∞ とするのが通例である。A が空集合なら sup A = −∞とする書籍もあるが、一般的かどうかは講師には判断しかねる。

4

どちらかが成り立つ。あとは、C に最大の数がないことを示せばよい。そこで c ∈ C を任意に取ろう。定義から、ある a ∈ A に対して c < a なので、c < a+c
2 < a であり、よって a+c
2 ∈ C である。よって c は C の最大の数ではないが、c は任意だったので、C には最大の数がないことがわかった。以上で証明が完成した。 ■なお、逆に下に有界な集合 A の下界 (lower bound)LA や下限 (infimum)inf A も同様に定義できて、必ず存在する。詳細は受講者に任せる。
この定理はとても強力であり、たとえばアルキメデスの原理と呼ばれる次の結果がた
だちに示せる：アルキメデスの原理とは、どんな実数 M に対しても、N > M となる自然数 N が存在するという定理である。実際、そうでないとすれば、自然数の集合 N は上に有界だということになる。すると定理１から上限 N ∗ = sup N が存在することになる。
上限の定義から、N ∗ − 1/2 よりは大きな自然数 N が存在することになるが、このとき

N + 1 > N ∗ となり、上限の定義に矛盾する。よって N は上に有界ではなく、アルキメ
デスの原理は正しいのである。
最後に、この実数の連続性の帰結について書いておかねばならない。数列 (an ) がコー
シー列 (Cauchy sequence) であるとは、lim (sup{|am − an ||m > n}) = 0n→∞であることを言う。べつの言い方をすると、∀ε > 0, ∃N ∈ N, m, n ≥ N ⇒ |am − an | < εである（このふたつが同値であることは簡単に示せるので、受講者に任せる）。すると上の実数の連続性定理から、次が成り立つ。
定理２ (実数の完備性)：数列 (an ) が収束することと、それがコーシー列であることは同値である。
この証明は長いので省略する。必要ならば杉浦光男『解析入門Ｉ』の第一章第三節を読むとよい。

・距離空間と点列の収束
ところで、上の議論で自然に我々は数に距離という概念を与えていた。つまり数 a と数

b の距離とは、|a − b| のことである。この概念はベクトルにも簡単に拡張できて、ベクト
5

ル a = (a1 , ..., an ) と b = (b1 , ..., bn ) の距離とは、∥a − b∥ =√(a1 − b1 )2 + ... + (an − bn )2で与えられる。∥ · ∥ というこの記号はユークリッドノルムと呼ばれる。しかし我々はもうちょっといろいろなものの距離を測りたいのであって、たとえば関数と関数の距離なども測りたい*3 。そこで思いっきり抽象化して、距離 (metric) とはなにかということについて語っておきたい。
いま、集合 X があったとする。これまで扱ってきた集合はすべて実数の部分集合だったが、今回はそうでなくともよい。X 上の距離 (metric) とは、X × X 上で定義された実数値関数である。× という記号がわからなければ、「X の要素をふたつ放り込むと数が返ってくる関数」という意味だと捉えてもらえればよい。しかしそのような関数ならばなんでも距離と呼ぶかというとそうではない。制約条件が３つある。関数 ρ : X × X → R
が距離であるためには、(I) ρ(x, y) ≥ 0 が常に成り立ち、特に ρ(x, y) = 0 と x = y は同値である。
(II) ρ(x, y) = ρ(y, x) が常に成り立つ。
(III) ρ(x, z) ≤ ρ(x, y) + ρ(y, z) が常に成り立つ。
以上３条件がすべて成り立っていなければならない。

(I) と (II) は当たり前だと思うだろうが、(III) は初見だととまどうかもしれない。この
公式は三角不等式 (triangle inequality) と呼ばれる。簡単に言い換えると、x から z に向かうときに、y に寄り道すると遠回りになるという、単純な意味合いである。しかしここで距離と呼んでいるのがとても抽象的なものであることを考えると、これは実は深遠な意
味を持っていることに気づくはずである。特に、閉区間 [0, 1] 上の連続関数に与える次の距離（ただし p ≥ 1）

(∫ 1

)1/p
|f (x) − g(x)| dxpρ(f, g) =0などを最初に見たときには、大いにとまどうであろう。とまどうべきである。これが距離と呼んでよいものなのかどうか、そもそも (III) を満たすのかどうか、ただちにわかる人*3 もっと言うと、実は抽象的には位相 (topology) を定義したいのである。位相とは、「どんな集合を開集合と呼ぶか」というルールのことである。なぜ距離ではなく位相を考えるべきかと言うと、距離を見つければ位相が簡単に作れるのに対して、距離では表現できない位相を考える必要が生じることがあるからである（たとえば確率論で出てくる概収束位相は距離化不可能であることが知られている）。

6

間はいないであろう。それは自然なことである。重要なのは、距離というのは言葉の感じ
よりずっと、抽象的なものだということを押さえておくことである*4 。
距離が与えられた空間を距離空間 (metric space) と呼び、(X, ρ) と表す。ただ記法が面倒なので、距離がわかりきっているときには「X は距離空間で……」などという言い方をすることも多々ある。以降もそうだが、数学は柔軟な発想をしたほうがやりやすい。
さて、距離空間 X では、点列の収束という概念を議論できる。点列というのは英語だと sequence で、先に述べた数列となにも違わない。そして実は、定義もほとんどなにも違わないのである。X 上の点列 (xn ) とは、自然数 N から X への関数である。そしてこの点列が x ∈ X に収束するとは、

lim ρ(xn , x) = 0n→∞となることを言う。数列の収束さえわかっていれば、点列の収束は覚え直すことはなにもない。しかし念のために、不慣れな受講者は上の主張が、∀ε > 0, ∃N ∈ N, n ≥ N ⇒ ρ(xn , x) < εという主張と同値であることを証明してみるとよい。いい訓練になるだろう。
なお、距離空間で点列の収束先はひとつしかない。これは簡単に示せる。実際、x とy が共に xn の収束先であるとすれば、任意の ε > 0 に対してある N1 , N2 が存在して、n ≥ N1 ならば ρ(xn , x) < ε であり、また n ≥ N2 ならば ρ(xn , y) < ε である。ということは、上の (I)(II)(III) から、n ≥ N1 かつ n ≥ N2 である n について0 ≤ ρ(x, y) ≤ ρ(x, xn ) + ρ(xn , y) = ρ(xn , x) + ρ(xn , y) < 2εがわかる。任意の ε についてこれが成り立つのだから、ρ(x, y) = 0 でしかありえず、よって x = y である。
また同様に、距離空間ではコーシー列が定義できる。点列 (xn ) がコーシー列であるとは、lim (sup{ρ(xm , xn )|m > n}) = 0n→∞であること、または、∀ε > 0, ∃N ∈ N, m, n ≥ N ⇒ ρ(xm , xn ) < εが成り立つことを言う。
*4 なお、上のものが距離だということの証明にはヘルダーの不等式というものを使うとよい。

7

どんな距離空間でも、収束点列はコーシー列である。しかし、コーシー列が収束するとは限らない空間もある（たとえば有理数 Q など）。すべてのコーシー列が収束する距離空間は完備 (complete) であると呼ばれ、この概念が後々、重大な役割を果たす。

・開集合と閉集合
いま、X が距離空間で、ρ がその距離であるとしよう。x ∈ X を中心とした半径 r > 0の開球 (open ball) とは、集合

Br (x) = {y ∈ X|ρ(y, x) < r}のことである。X の部分集合 U が開 (open) であるとは、任意の点 x ∈ U に対してある
半径 r > 0 が存在して、Br (x) ⊂ U が成り立つことを言う。
定義から、開集合は以下の３条件を満たすことは簡単に示せる（やってみよ）。

(I) ∅, X は開集合である。
(II) (Ui )i が開集合の族*5 だったとすれば、その合併 ∪i Ui も開集合である。
(III) U1 , U2 が開集合だったとすれば、U1 ∩ U2 も開集合である。
また、X の部分集合 C が閉 (closed) であるとは、その補集合

X \ C = {x ∈ X|x ∈/ C}
が開であることを言う。A が X の任意の部分集合であったときに、A に含まれる開集合というものは存在する（なぜか？）。そこでそれらすべての合併を取れば、上の (II) から
これは A に含まれる開集合であり、当然ながらそれらの中で最大のものである。これをA の内部 (interior) と呼んで、int A と書く。
同様に、A を含む閉集合の中で最小のものは存在し、これを A の閉包 (closure) と呼ん
で cl A と書く。ところが実は次が成り立つのである。
定理３：x ∈ cl A と、A 上の点列 (xn ) で x に収束するものが存在することは同値である。
証明：まず、x ∈ cl A とし、r > 0 をなんでもよいので取る。このとき、Br (x) ∩ A が空集合であったとすれば、cl A \ Br (x) は A を含む閉集合であり、これは cl A が A を含む最小の閉集合であったことに矛盾する。よって ρ(x, y) < r となる y ∈ A が存在する。
*5 族 (family) という言葉が説明なしにでてきたが、無限個かもしれない多くのものを表現する言葉だと思ってもらいたい。

8r > 0 はなんでもよかったので、r = n1 に対応する y を xn とすれば、当然ながら (xn ) は
A 上の点列であり、x に収束する*6 。
逆に、(xn ) が A 上の点列であり、x に収束していたとしよう。x ∈/ cl A だとすると、cl A は閉集合なので、ある半径 r > 0 が存在して Br (x) ⊂ X \ cl A である。
一方で ρ(xn , x) → 0 なので、十分大きな n に対して ρ(xn , x) < r であり、よって

xn ∈ Br (x) ⊂ X \ cl A であることになるが、xn ∈ A なので矛盾が生じる。よってx ∈ cl A でなければならない。以上で証明が完成した。 ■特に、A が閉集合であることと cl A = A は同値である。よって、A が閉集合であることは、A 内の任意の収束点列の収束先が A に属することと同値である。
前に注で書いたように、開集合とはなにかを定めるルールのことを位相 (topology) と呼ぶ。位相は開集合の条件 (I),(II),(III) を満たしていなければならないが、逆に言えば満たしてさえいればなんでもよい。しかし実は、距離で定義される位相とそれ以外の位相には多少の差があり、たとえば定理３などは一般の位相では出てこない結果であることに注意されたい*7 。

・関数の連続性
距離空間 X と Y があったとし、X 上の距離を ρX と、Y 上の距離を ρY としよう。そして、関数 f : X → Y を考える。f が点 x で連続であるとは、∀ε > 0, ∃δ > 0, ρX (x, y) < δ ⇒ ρY (f (x), f (y)) < εであることを言う。
言い直せば、f が点 x で連続であるとは、y が x に十分近い（具体的に言うと、ρX (x, y) <δ なほど近い）ならば、f (y) も f (x) に十分近い（具体的に言うと、ρY (f (x), f (y)) < ε
なほど近い）ことを言う。
この性質はふたつの言い換えを持つ。
定理４：以下の３条件は同値である。

1) f は x で連続である。
*6 ここでアルキメデスの原理を用いていることに注意。実際、ε > 0 に対して、N > 1 を満たす自然数 Nεがなければ、この証明は成り立たない。
*7 興味があれば第一可算公理について調べるとよい。

92) x に収束する任意の点列 (xn ) に対して、yn = f (xn ) で定義される点列 (yn ) は f (x)に収束する。

3) f (x) を内部に含む任意の集合 B ⊂ Y に対して、集合
A = f −1 (B) = {x′ ∈ X|f (x′ ) ∈ B}
は x を内部に含む。

証明：1) を仮定し、(xn ) が x に収束しているとする。このとき、yn = f (xn ) とする。

ε > 0 を任意に取る。f は x で連続なので、ある δ > 0 が存在して、ρX (x′ , x) < δ ならば ρY (f (x′ ), f (x)) < ε である。そして収束の定義から、ある N が存在して、n ≥ N な
らば ρX (xn , x) < δ である。故に n ≥ N ならば ρY (yn , f (x)) < ε である。ε は任意だったので、(yn ) は f (x) に収束し、2) が言えたことになる。
次に 2) を仮定する。f (x) を内部に含む B を取る。内部の定義から、ある半径 ε > 0が存在して、ρY (y, f (x)) < ε ならば必ず y ∈ B となる。仮にもし、x ∈/ int A であったとすれば、どんな半径 r > 0 を持ってきても、ρX (x′ , x) < r かつ x′ ∈/ A となる x′ が存在する。r = n1 に対応する x′ を xn とすれば、点列 (xn ) は x に収束する。すると 2) から点列 (f (xn )) は f (x) に収束するので、十分大きな n に対しては ρY (f (xn ), f (x)) < εとなるが、これは f (xn ) ∈ B を、したがって xn ∈ A を意味することになり、xn の取り方に矛盾する。よってこれはあり得ず、3) が言えた。
最後に 3) を仮定する。ε > 0 を任意に取り、B = {y ∈ Y |ρY (y, f (x)) < ε} とする。明らかに f (x) は B の内部に所属しているので、A = f −1 (B) とすれば、x ∈ int A である。
よってある δ > 0 が存在して、ρX (x′ , x) < δ ならば x′ ∈ A だが、すると ρX (x′ , x) < δ
ならば ρY (f (x′ ), f (x)) < ε だということになり、これは 1) を意味する。以上で証明が完成した。 ■
特に、すべての点で連続な関数を連続関数と呼ぶ。定理４から簡単に、f が連続関数であることと、任意の Y の開集合 U について f −1 (U ) が開集合であることは同値だということが示せるので、ぜひ挑戦されたい。

・コンパクト集合と最大最小原理
距離空間 X の部分集合として A を取ってくる。X 上の距離 ρ を A 上に制限して考えれば、A も距離空間として考えることができる。このようにしてやると A の開集合とか、

10

A の閉集合といったものが定義できる。このような開集合、閉集合の決め方を相対位相(relative topology) と呼ぶ。
注意して欲しいのは、A の相対位相で開集合だというのと、X 自身で開集合だというのは一致しないということだ。たとえば実数 R の部分集合として閉区間 [0, 1] を考え、その部分集合として [0, 12 [ を考えると*8 、これは [0, 1] においては 0 を中心とした半径 1/2 の開球なので、当然開集合である*9 。しかし実数の部分集合としては、0 を中心としたどんな半径の開球もマイナスの数を含み、よって [0, 1/2[ には含まれないので、これは開集合ではない。
これ以降扱うふたつの概念、コンパクト性と連結性は、どれも本来は距離空間それ自体の性質として知られている。しかしそれは、相対位相の概念を使うことで、空間の部分集合に対しても定義できる。また、コンパクト性の定義には本来２種類あって異なるのだ
が、距離空間の場合は同一であり、ふたつともやるのは手間なので、片方だけに触れる。
まず、点列 (xn ) の部分列 (subsequence) という概念に触れよう。観念的には、部分列とは、x1 , x4 , x8 , ... などという風に、飛び飛びの形に元の点列から構成した新しい点列である。厳密には、点列 (xn ) の部分列とは、自然数から自然数への増加的な関数 k(n) と(xn ) の合成 (xk(n) ) のことである。
空間 X がコンパクト (compact) であるとは、X 上の任意の点列が収束する部分列を持つことを言う。同様に X の部分集合 C がコンパクトであるとは、C 上の任意の点列が「C 内に」収束する部分列を持つことを言う。この「C 内に」を除外した条件は「相対コンパクト」という別の条件であるので注意。またここからただちに、コンパクト集合は閉集合でなければならないことがわかる。
次の定理が極めて重要である。
定理５ (ワイエルシュトラスの最大最小原理)：距離空間 X のコンパクト集合 C から実数への連続関数 f に対して、C 上で f の値が最大（あるいは最小）になる点が必ず存在する。

*8 なお、この記号 [a, b[ は {x ∈ R|a ≤ x < b} を表す。高校などでは [a, b) と書くことが多いが、これをやると開区間 (0, 1) とベクトル (0, 1) の区別がつかなくなるので、あえて ]0, 1[ と見慣れない書き方をしている。
*9 ちょっと強引な書き方なので、余力があれば証明してみるとよい。三角不等式が役に立つ。

11

証明*10 ：最大だけを示せば十分である*11 。まず、f (C) = {f (x)|x ∈ C} を考え、これが上に有界でなかったとしよう。すると、任意の自然数 n に対して f (xn ) > n となる

xn ∈ C が存在することになる。(xn ) は C 内の点列で、C はコンパクトなので、必要ならば部分列を取れば、収束先 x ∈ C が存在すると仮定できる。すると f は連続なので f (xn ) → f (x) だが、n ≥ N ならば f (xn ) > N なので、f (x) はどんな自然数よりも大きな数ということになり、アルキメデスの原理に矛盾する。したがって f (C) は上に有界である。sup f (C) = M と置こう。すると sup の定義から、どんな n に対してもM − n1 < f (xn ) ≤ M となる xn ∈ C が存在する。やはり (xn ) は C 内の点列で、C はコンパクトなので、必要なら部分列を取って、収束先 x ∈ C の存在を仮定できる。f は連続なので f (xn ) → f (x) であり、また任意の ε > 0 に対して N > 1ε となる N を取れば、

n ≥ N ならば M − N1 < f (xn ) ≤ M であり、よって |M − f (xn )| < ε である。これはf (xn ) → M を意味し、よって f (x) = M である。M = sup f (C) だったので、x が求めていた点である。 ■この定理は、多くの最大化・最小化問題において、連続性とコンパクト性がきわめて重要な役割を果たすことを示唆している。経済学でもこの種の問題はたくさん出てくるので、コンパクト性はとても重要である。そこで、いろいろな X に対してコンパクト性を特徴付ける定理が数学で出てくることになるのである。ここではさしあたり、次のふたつを紹介しておきたい*12 。
定理６ (ボルツァーノ＝ワイエルシュトラスの定理)：Rn の部分集合 C がコンパクトであることは、それが閉であり、かつ有界（つまり、原点を中心とした十分大きな半径の球体に含まれる）であることと同値である*13 。
定理７ (アスコリ＝アルゼラの定理)：コンパクトな距離空間 (X, ρX ) 上で定義された連続なベクトル値関数の空間 C(X, Rn ) に、一様収束の距離ρ(f, g) = max |f (x) − g(x)|x∈X*10 この辺はかなり基礎解析の知識を必要とするので、わからなければあとで埋めることを念頭に置いてまずは定理だけ理解するのがよい。はさみうちの原理、追い出しの原理と呼ばれるものも参照。
*11 f が最小になる点は −f が最大になる点であり、f が連続なら −f も連続である。
*12 証明はしない。前者は高木貞治『解析概論』の第一章、ハイネ＝ボレルの被覆定理の項を、後者は丸山徹『数理経済学の方法』第三章第七節を参照のこと。
*13 この定理は極めて本質的なユークリッド空間の特徴を捉えていることが知られている。実際、より一般の線形ノルム空間と呼ばれる空間の中で、有界な閉集合がすべてコンパクトになるような空間は事実上ユー
クリッド空間だけである（リースの定理）。

12を導入する*14 。このとき、この空間の部分集合 C が相対コンパクトであることと、以下の二条件：

i) 一様有界性 (uniform boundedness)。すべての x ∈ X についてある数 M > 0 が存在して、f ∈ C ならば ∥f (x)∥ ≤ M であること。

ii) 同程度連続性 (equicontinuity)。すべての x ∈ X とすべての ε > 0 に対してある
δ > 0 が存在して、f ∈ C かつ ρX (x, y) < δ であれば必ず ∥f (x) − f (y)∥ < ε であること。
を C が満たすことは同値である。
なお、定理６を使うと、定理５は次の結果からすぐ出てくる：C がコンパクトであり、

f : X → Y が連続ならば、f (C) もコンパクトである。この結果の証明はとても簡単なので、余裕がある受講者はぜひ挑戦されたい。

・連結性と中間値の定理
距離空間 X が連結であるとは、その空間内で開であり、かつ閉でもある集合が、空集
合と X 自身だけしかないことを指す。
この単純な性質がとても役に立つ事が多い。同様に、距離空間 X の部分集合 C が連結であるとは、その相対位相に関して開かつ閉な集合が C と空集合だけしかないことを指す。
連結性という言葉について、この定義は直観に反するというか、なぜこれを連結と呼ぶのかわからないという受講者も多いであろう。実のところ、これより「連結」らしい概念
として、「弧状連結」なる用語も存在している。距離空間 X が弧状連結であるとは、任意の二点 x, y ∈ X に対して、閉区間 [0, 1] から X への連続関数 f で、f (0) = x, f (1) = yを満たすものが存在することを言う。これは、「曲線でどんな二点もつなげられる」という意味だから、たしかに連結という言葉にふさわしい。ふさわしいのだが、頭がこんがらがるような変な例があって、その例は絵で描くとつながっているように見えるのに、弧状連結ではないのである。さしあたり詳しい話は杉浦光男『解析入門Ｉ』の第一章第八節を見てもらいたい。
このほかに、連結性を上のように位相で定義することには大きなメリットがいくつかある。たとえば、次の定理がただちに出てくるのである。これは連結性がコンパクト性と似*14 関数列がこの距離である関数に収束することを一様収束 (uniform convergence) と呼ぶ。

13

た性質を持つことを示す。
定理８：距離空間 X, Y が与えられているとし、X の部分集合 C が連結で、f : X → Y
が連続であれば、f (C) も連結である。
証明：まず、f の定義域を C に制限した関数を fC と書けば、定理４の 2) から 1) を使うと簡単に、fC も連続であることがわかる。よって一般性を失うことなく、C = X である
ときだけを考えればよい。

f (X) が連結でないと仮定しよう。すると、A ⊂ f (X) という、空集合でも f (X) 全
体でもなく、開かつ閉な集合が存在する。A は開なので、f −1 (A) は開である。一方でB = f (C) \ A とすると、f −1 (B) = X \ f −1 (A) であるが、A は閉なので B は開であり、
よって f −1 (B) も開で、故に f −1 (A) は閉である。よって X も連結でない。対偶を取れ
ば、X が連結ならば f (X) は連結である。以上で証明が完成した。 ■これの、驚くほど簡単な応用がひとつある。実数 R を考え、この部分集合 A を考えよう。この A が区間 (interval) であるとは、それが凸 (convex) であることを言う。もうす
こしかみ砕くと、A が区間であるとは、どんな a, b ∈ A を取ってきたとしても、A は a から b までの途中の点をすべて含むことを言う。ところが実はこれはもっとシンプルに「Aが連結である」という条件と同値なのである。
実際、A が区間でないとしよう。すると a < b となる a, b ∈ A と a < c < b となる

c∈/ A が存在することになる。このとき、B = {x ∈ A|x < c} は A の開集合であり、閉集合でもあることが容易に示せる。a ∈ B かつ b ∈ A \ B なので、A が連結でないことがわかった。対偶を取れば、A が連結ならば区間である。
逆に A が連結でないとしよう。すると空集合でも A 自身でもなく、開かつ閉である
集合 B ⊂ A が存在する。必要ならば B と A \ B を交換することによって、a ∈ B, b ∈A \ B, a < b となる a, b の存在を仮定してよい。ここで、
c = sup{x ∈ A|[a, x] ⊂ B}としよう。a 自身が上の集合に含まれ、また b ∈/ B なので、c は確かに実数として存在している。c ≤ b は明らかである。
もし c < b とすれば、ある半径 r > 0 が存在して、|d − c| < r かつ d ∈ A ならば d ∈ Bである。必要ならば十分小さく半径 r > 0 を取って、c + r < b を仮定できる。しかし cの定義から、c < d < c + r となる d で d ∈/ B となるものが存在しなければならず、した
がって d ∈/ A でなければならない。ということは a と b の間にある d が A に入っていな

14

いので、A は区間ではない。

c = b のときを考えよう。このときには、どんな小さな ε > 0 を取ったとしても、
c − ε < d ≤ c かつ [a, d] ⊂ B となる d が存在している。したがってここからただちに、[a, c[⊂ B が言える。B は閉であり、c = b ∈ A なので、b ∈ B となるがこれは b の取り方に矛盾であり、この場合はあり得ないことがわかる。
こうして、連結でないなら区間でもないことがわかった。対偶を取れば、区間であれば、連結である。
以上で、実数という特別な空間の中に限って言えば、連結というのは区間というのと同値であることがわかった。この応用として、次のような驚くべき結果が得られる。
定理９ (中間値の定理)：a < b とする。f : [a, b] → R について、f (a) < 0 < f (b) ならば、a < c < b かつ f (c) = 0 となる c が存在する。
証明：f ([a, b]) は連結であるから区間であり、よって 0 を含む。 ■・練習問題
問題１：f が連続ならば −f も連続であることを証明せよ。
問題２：ワイエルシュトラスの最大最小原理のうち、最大の方の主張だけなら、連続性ではなく上半連続性、つまり∀x ∈ X, ∀ε > 0, ∃δ > 0, ρ(x, y) < δ ⇒ f (y) < f (x) + ε
だけ成り立っていれば証明できることを確かめよ。

15