微分積分学では次のボルツァーノ-ワイエルシュトラス(Bolzano-Weierstrass)の定理を学びます.
ボルツァーノ-ワイエルシュトラスの定理を用いることでさまざまな定理を示すことができ,「縁の下の力持ち」という言葉がよく似合う定理です.
単調有界実数列の収束定理を用いて示される区間縮小法(nested intervals)と呼ばれる論法を用いることで,ボルツァーノ-ワイエルシュトラスの定理を証明することができます.
この記事では
- 区間縮小法とその証明
- 部分列とボルツァーノ-ワイエルシュトラスの定理
を順に説明します.
「微分積分学の基本」の一連の記事
部分列とボルツァーノ-ワイエルシュトラスの定量
ボルツァーノ-ワイエルシュトラスの定理を説明するために,まずは部分列を定義する必要があります.
部分列の考え方
ざっくり言えば,元の数列
以下では
例えば,数列
となり,この数列は
\begin{tikzpicture}
\def\r{.06}\def\xs{-0.5}\def\xl{6.7}\def\ys{-0.5}\def\yl{4.2}
\def\c{0.4}\def\C{3.8}
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); %x軸最小
\coordinate(xl) at (\xl,0); %x軸最大
\coordinate(ys) at (0,\ys); %y軸最小
\coordinate(yl) at (0,\yl); %y軸最大
\draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue!30!white](A\n)circle[radius=\r];
\foreach \n in {2,4,…,32} \fill[blue](A\n)circle[radius=\r];
\foreach \n in {2,4,6,8} \draw[blue,dashed](
\foreach \n in {10,12,…,32} \draw[blue,dashed](
\draw[blue] (2.5,-.3)node{
\end{tikzpicture}
他にも数列
となり,この数列は
このように,数列
部分列の定義
いまの考え方をもとに部分列をきちんと定義すると次のようになります.
数列
ということですから,数列
ボルツァーノ-ワイエルシュトラスの定理
ここでボルツァーノ-ワイエルシュトラスの定理がどのような定理かを説明します.
冒頭でも紹介したように,定理自体は次の通りです.
つまり,実数列
\begin{tikzpicture}
\def\r{.06}\def\xs{-0.5}\def\xl{6.7}\def\ys{-0.5}\def\yl{4.2}
\def\c{0.4}\def\C{3.8}
\begin{scope}
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); \coordinate(xl) at (\xl,0); \draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\coordinate(ys) at (0,\ys); \coordinate(yl) at (0,\yl); \draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue](A\n)circle[radius=\r];
\foreach \n in {1,2,…,4}\draw[blue,dashed](
\foreach \n in {5,6,7,8,9}\draw[blue,dashed](
\foreach \n in {10,11,…,32} \draw[blue,dashed](
\draw[blue] (2.5,-.3)node{
\end{scope}
\begin{scope}[yshift=-6cm]
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); %x軸最小
\coordinate(xl) at (\xl,0); %x軸最大
\coordinate(ys) at (0,\ys); %y軸最小
\coordinate(yl) at (0,\yl); %y軸最大
\draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue!30!white](A\n)circle[radius=\r];
\foreach \n in {3,8,21,28} \fill[blue](A\n)circle[radius=\r];
\draw[blue,dashed](
\draw[blue,<-,>=stealth](
\draw[blue,<-,>=stealth](
\end{scope}
\end{tikzpicture}
このボルツァーノ-ワイエルシュトラスの定理の証明には区間縮小法を用います.
区間縮小法と証明
区間縮小法を証明し,ボルツァーノ-ワイエルシュトラスの定理を証明しましょう.
区間縮小法
以下では,閉区間
[区間縮小法]有界閉区間
を満たすとする.
\begin{tikzpicture}
\def\r{.06}\def\xs{-0.25}\def\xl{6.25}
\coordinate(O) at (0,0); %原点
\coordinate(xs) at (\xs,0); %x軸最小
\coordinate(xl) at (\xl,0); %x軸最大
\draw[->,>=stealth,semithick](xs)–(xl); %x軸
\def\p{0}\def\pp{1}\def\ppp{2}
\def\q{6}\def\qq{4.5}\def\qqq{3.7}
\fill[magenta](\p,0)circle[radius=\r] (\q,0)circle[radius=\r];
\draw[magenta,thick](\p,0)–(\q,0)node[above left]{
\fill[blue](\pp,.1)circle[radius=\r] (\qq,0.1)circle[radius=\r];
\draw[blue,thick](\pp,.1)–(\qq,0.1)node[above left]{
\fill[orange](\ppp,.2)circle[radius=\r] (\qqq,0.2)circle[radius=\r];
\draw[orange,thick](\ppp,0.2)–(\qqq,0.2)node[above left]{
\draw[magenta](\p,-0.1)node[below]{
\draw[blue](\pp,-0.1)node[below]{
\draw[orange](\ppp,-0.1)node[below]{
\end{tikzpicture}
このとき,共通部分
とすると,
つまり,「区間
区間縮小法の証明
証明には「広義単調増加かつ上に有界な(広義単調減少かつ下に有界な)実数列は収束する」という単調有界実数列の収束定理を用います.
同様に実数列
\begin{tikzpicture}
\def\r{.06}\def\xs{-0.25}\def\xl{6.25}
\coordinate(O) at (0,0); %原点
\coordinate(xs) at (\xs,0); %x軸最小
\coordinate(xl) at (\xl,0); %x軸最大
\draw[->,>=stealth,semithick](xs)–(xl); %x軸
\def\p{0}\def\pp{1}\def\ppp{2}
\def\q{6}\def\qq{4.5}\def\qqq{3.7}
\filldraw[magenta,fill=magenta] (\p,0)circle[radius=\r]node[below]{
\filldraw[blue,fill=blue] (\pp,0)circle[radius=\r]node[below]{
\filldraw[orange,fill=orange] (\ppp,0)circle[radius=\r]node[below]{
\filldraw[magenta,fill=magenta] (\q,0)circle[radius=\r]node[below]{
\filldraw[blue,fill=blue] (\qq,0)circle[radius=\r]node[below]{
\filldraw[orange,fill=orange] (\qqq,0)circle[radius=\r]node[below]{
\end{tikzpicture}
が成り立つ.
また,集合の共通部分の定義から,任意の
をみたすから,
よって,
ボルツァーノ-ワイエルシュトラスの定理の証明
有界なので
有界実数列
ステップ1:単調増加列 と単調減少列 を構成する
\begin{tikzpicture}
\def\xs{-0.4}\def\xl{6.5}\def\ys{-0.4}\def\yl{4.2}
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); \coordinate(xl) at (\xl,0); \draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\coordinate(ys) at (0,\ys); \coordinate(yl) at (0,\yl); \draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\def\c{0.4}\def\C{3.8}
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue](A\n)circle(0.06);
\draw[magenta,dashed] (0,\C)node[left]{
\end{tikzpicture}
このとき,区間
に実数列 の項が無限に属していれば ,- そうでないときは
,
と定め,さらに
\begin{tikzpicture}
\def\xs{-0.4}\def\xl{6.5}\def\ys{-0.4}\def\yl{4.2}
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); \coordinate(xl) at (\xl,0); \draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\coordinate(ys) at (0,\ys); \coordinate(yl) at (0,\yl); \draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\def\c{0.4}\def\C{3.8}
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue](A\n)circle(0.06);
\draw[magenta,dashed] (0,\C)node[left]{
\end{tikzpicture}
同様に,
に実数列 の項が無限に属していれば ,- そうでないときは
,
と定め,さらに
\begin{tikzpicture}
\def\xs{-0.4}\def\xl{6.5}\def\ys{-0.4}\def\yl{4.2}
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); \coordinate(xl) at (\xl,0); \draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\coordinate(ys) at (0,\ys); \coordinate(yl) at (0,\yl); \draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\def\c{0.4}\def\C{3.8}
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue](A\n)circle(0.06);
\draw[magenta,dashed] (0,\C)node[left]{
\end{tikzpicture}
これを帰納的に繰り返し,有界閉区間
よって,区間縮小法により
ステップ2:収束する部分列を構成する
数列
- 数列
の に属する最初の項を - 数列
の より後の に属する最初の項を - 数列
の より後の に属する最初の項を - ……
と帰納的に定める.
\begin{tikzpicture}
\def\xs{-0.4}\def\xl{6.5}\def\ys{-0.4}\def\yl{4.2}
\coordinate[label=below left:O](O) at (0,0); %原点
\coordinate(xs) at (\xs,0); \coordinate(xl) at (\xl,0); \draw[->,>=stealth,semithick](xs)–(xl) node[below]{
\coordinate(ys) at (0,\ys); \coordinate(yl) at (0,\yl); \draw[->,>=stealth,semithick](ys)–(yl) node[left]{
\def\c{0.4}\def\C{3.8}
\coordinate(A1) at (0.2,2.5);\coordinate(A2) at (0.4,3.4);\coordinate(A3) at (0.6,2);\coordinate(A4) at (0.8,1.5);\coordinate(A5) at (1,1.7);
\coordinate(A6) at (1.2,2.3);\coordinate(A7) at (1.4,3.3);\coordinate(A8) at (1.6,0.6);\coordinate(A9) at (1.8,2.2);\coordinate(A10) at (2,.5);
\coordinate(A11) at (2.2,2.3);\coordinate(A12) at (2.4,2.1);\coordinate(A13) at (2.6,3.7);\coordinate(A14) at (2.8,0.6);\coordinate(A15) at (3,3.6);
\coordinate(A16) at (3.2,0.6);\coordinate(A17) at (3.4,1.3);\coordinate(A18) at (3.6,2);\coordinate(A19) at (3.8,3.1);\coordinate(A20) at (4,2.7);
\coordinate(A21) at (4.2,0.9);\coordinate(A22) at (4.4,1.1);\coordinate(A23) at (4.6,1.4);\coordinate(A24) at (4.8,1.3);\coordinate(A25) at (5,1.3);
\coordinate(A26) at (5.2,3.4);\coordinate(A27) at (5.4,2);\coordinate(A28) at (5.6,1);\coordinate(A29) at (5.8,2.3);\coordinate(A30) at (6,2.6);
\coordinate(A31) at (6.2,2.3);\coordinate(A32) at (6.4,1.7);
\foreach \n in {1,2,…,32} \fill[blue!30!white](A\n)circle(0.06);
\foreach \n in {3,8,21,28} \fill[blue](A\n)circle(0.06);
\draw[magenta,dashed] (0,\C)–(\xl,\C) (0,\c)–(\xl,\c) (0,{(\c+\C)/2})–(\xl,{(\c+\C)/2}) (0,{(3*\c+\C)/4})–(\xl,{(3*\c+\C)/4}) (0,{(7*\c+\C)/8})–(\xl,{(7*\c+\C)/8}) (0,{(13*\c+3*\C)/16})–(\xl,{(13*\c+3*\C)/16});
\draw[blue,dashed](A3)–(
\end{tikzpicture}
このとき,
コメント