情報数理A

13. 無限集合

13.1 無限集合の濃度

ここでは,有限集合の場合と同じ記号を用いて,一般の集合の濃度を写像によって比較する.本書では濃度そのものの集合論的な構成には立ち入らず,次の等式・不等式を写像の存在を表す記法として用いる.

定義 13.1(同じ濃度)

集合\(X,Y\)の間に全単射\(f:X\to Y\)が存在するとき,\(X\)と\(Y\)は同じ濃度を持つといい, \[|X|=|Y|\] と書く.有限集合の場合には,これは通常の要素数が等しいことと一致する.

例えば,写像\(f:\mathbb N\to\{0,2,4,6,\ldots\}\)を\(f(n)=2n\)で定めると全単射である.したがって,自然数全体と偶数全体は,一方が他方の真部分集合であるにもかかわらず同じ濃度を持つ.これは有限集合にはない無限集合特有の現象である.

定義 13.2(濃度の比較)

集合\(X\)から集合\(Y\)への単射が存在するとき,\(X\)の濃度は\(Y\)の濃度以下であるといい, \[|X|\leq|Y|\] と書く.さらに\(|X|\leq|Y|\)であるが\(|X|\neq|Y|\)であるとき, \[|X|<|Y|\] と書く.有限集合の場合には,これも通常の整数の大小関係と一致する.

命題 13.3(濃度比較の基本的な性質)

集合\(X,Y,Z\)について,次が成り立つ.

  1. \(|X|=|X|\)かつ\(|X|\leq|X|\).

  2. \(|X|=|Y|\)ならば\(|Y|=|X|\).

  3. \(|X|=|Y|\)かつ\(|Y|=|Z|\)ならば\(|X|=|Z|\).

  4. \(|X|\leq|Y|\)かつ\(|Y|\leq|Z|\)ならば\(|X|\leq|Z|\).

  5. \(X\subset Y\)ならば\(|X|\leq|Y|\).

命題 13.3 の証明

(1) 恒等写像\(\operatorname{id}_X\)は全単射であり,特に単射である.

(2) 全単射\(f:X\to Y\)が存在するなら,定理11.14より逆写像\(f^{-1}:Y\to X\)も全単射である.

(3) 全単射\(f:X\to Y\)と\(g:Y\to Z\)が存在すれば,命題11.12より\(g\circ f:X\to Z\)は全単射である.

(4) 単射\(f:X\to Y\)と\(g:Y\to Z\)が存在すれば,命題11.8(1)より\(g\circ f:X\to Z\)は単射である.

(5) 写像\(\iota:X\to Y\)を\(\iota(x)=x\)で定める.\(X\subset Y\)なのでこれは写像であり,明らかに単射である.したがって\(|X|\leq|Y|\)である.

発展. 次の定理は濃度比較の基本定理であるが,証明はこれまでより少し長い.

定理 13.4(ベルンシュタインの定理)

集合\(X,Y\)について, \[|X|\leq|Y|\quad\text{かつ}\quad |Y|\leq|X|\] ならば, \[|X|=|Y|\] である.すなわち,\(X\)から\(Y\)への単射と\(Y\)から\(X\)への単射がともに存在すれば,\(X\)と\(Y\)の間に全単射が存在する.

定理 13.4 の証明

単射\(f:X\to Y\)と\(g:Y\to X\)をとる.まず \[A_0:=X\setminus g(Y), \qquad A_{n+1}:=g(f(A_n))\quad(n\in\mathbb{N})\] とおき, \[A:=\bigcup_{n\in\mathbb{N}}A_n\] と定める.

\(g\)は単射なので,\(x\in g(Y)\)に対して\(g(y)=x\)を満たす\(y\in Y\)はただ一つ存在する.そこで,この\(y\)を\(\gamma(x)\)と書く.これにより写像 \[\gamma:g(Y)\to Y\] が定まる.

写像\(h:X\to Y\)を \[h(x):= \begin{cases} f(x),&x\in A,\\ \gamma(x),&x\notin A \end{cases}\] で定める.\(x\notin A\)なら,特に\(x\notin A_0=X\setminus g(Y)\)なので\(x\in g(Y)\)である.したがって第2の場合の\(\gamma(x)\)は定義されている.

まず\(h\)が単射であることを示す.\(x,x'\in A\)で\(h(x)=h(x')\)なら,\(f(x)=f(x')\)であり,\(f\)の単射性から\(x=x'\)である.\(x,x'\notin A\)で\(h(x)=h(x')\)なら,\(\gamma(x)=\gamma(x')\)である.両辺に\(g\)を作用させると\(x=x'\)を得る.

残る場合として\(x\in A\),\(x'\notin A\)とし,\(h(x)=h(x')\)と仮定する.\(x\in A\)なので,ある\(n\in\mathbb{N}\)について\(x\in A_n\)である.等式 \[f(x)=\gamma(x')\] に\(g\)を作用させると \[g(f(x))=g(\gamma(x'))=x'\] である.したがって\(x'\in A_{n+1}\subset A\)となり,\(x'\notin A\)に反する.よってこの場合に\(h(x)=h(x')\)となることはなく,\(h\)は単射である.

次に\(h\)が全射であることを示す.任意の\(y\in Y\)をとる.\(g(y)\notin A\)なら,\(x:=g(y)\)とおくと \[h(x)=\gamma(g(y))=y\] である.一方,\(g(y)\in A\)なら,\(g(y)\in g(Y)\)なので\(g(y)\notin A_0\)である.したがって,ある\(n\in\mathbb{N}\)について \[g(y)\in A_{n+1}=g(f(A_n))\] である.よって,ある\(x\in A_n\)について\(g(y)=g(f(x))\)である.\(g\)は単射なので\(y=f(x)\)であり,\(x\in A\)だから \[y=f(x)=h(x)\] となる.したがって\(h\)は全射である.

以上より\(h:X\to Y\)は全単射であるから,\(|X|=|Y|\)である.

13.2 可算集合

命題 13.5(自然数全体の集合は無限集合である)

\(\mathbb{N}\)は無限集合である.

命題 13.5 の証明

\(\mathbb{N}\)が有限集合であると仮定する.写像 \[f:\mathbb{N}\to\mathbb{N},\qquad f(n)=n+1\] を考える.\(f(n_1)=f(n_2)\)なら\(n_1+1=n_2+1\)なので\(n_1=n_2\)であり,\(f\)は単射である.一方,\(f(n)=0\)となる自然数\(n\)は存在しないので\(f\)は全射ではない.これは,有限集合から同じ有限集合への写像では単射と全射が同値であるという系12.11に反する.したがって\(\mathbb{N}\)は有限集合ではなく,無限集合である.

定義 13.6(可算集合と非可算集合)

自然数全体の集合\(\mathbb{N}\)と同じ濃度を持つ無限集合を可算集合 (countable set) という.\(\mathbb{N}\)の濃度を\(\aleph_0\)と書く.また,可算集合ではない無限集合を非可算集合 (uncountable set) という.

例えば,後で示すように整数全体\(\mathbb Z\)は可算集合である.正の整数,負の整数,0を適切な順序で並べれば,自然数によって一つずつ番号を付けることができる.

命題 13.7(可算集合の番号付け)

集合\(X\)が可算集合であるための必要十分条件は,\(X\)の要素を \[x_0,x_1,x_2,\ldots\] と重複なく並べ,しかも\(X\)のすべての要素がその並びのどこかに現れるようにできることである.

命題 13.7 の証明

\(X\)が可算集合なら全単射\(f:\mathbb{N}\to X\)が存在する.\(x_n=f(n)\)とおけば,単射性から重複がなく,全射性から\(X\)のすべての要素が現れる.

逆にそのような並び\(x_0,x_1,\ldots\)が存在すれば,\(f(n)=x_n\)で写像\(f:\mathbb{N}\to X\)を定める.重複がないので\(f\)は単射であり,すべての要素が現れるので全射である.したがって\(f\)は全単射で,\(X\)は可算集合である.

命題 13.8(整数全体は可算集合である)

\(\mathbb{Z}\)は可算集合である.

命題 13.8 の証明

写像\(f:\mathbb{N}\to\mathbb{Z}\)を \[f(0)=0, \qquad f(2n-1)=n, \qquad f(2n)=-n\quad(n\geq1)\] で定める.正の整数\(n\)は\(f(2n-1)\)として,負の整数\(-n\)は\(f(2n)\)として,\(0\)は\(f(0)\)として現れるので\(f\)は全射である.またこの三種類の値は互いに重ならず,各種類の中でも異なる自然数から異なる値が得られるので\(f\)は単射である.したがって\(f\)は全単射であり,\(\mathbb{Z}\)は可算集合である.

命題 13.9(自然数の順序対全体は可算集合である)

\(\mathbb{N}\times\mathbb{N}\)は可算集合である.

命題 13.9 の証明

\(\mathbb{N}\times\mathbb{N}\)の要素を\(m+n\)の値が小さい順に並べ,同じ値では\(m\)が小さい順に並べる.次の図では,破線上の点は\(m+n\)の値が等しい順序対を表している.

自然数の順序対を対角線に沿って並べる図

実際, \[(0,0), (0,1),(1,0), (0,2),(1,1),(2,0),\ldots\] と並べればよい.任意の\((m,n)\)は\(m+n\)番目の対角線に現れ,その対角線の中で一度だけ現れる.したがってすべての順序対を重複なく一つの並びに並べることができる.命題13.7より\(\mathbb{N}\times\mathbb{N}\)は可算集合である.

命題 13.10(可算集合の直積)

\(X,Y\)が可算集合ならば,\(X\times Y\)も可算集合である.

命題 13.10 の証明

\(X,Y\)は可算集合なので,全単射 \[f:\mathbb N\to X,\qquad g:\mathbb N\to Y\] が存在する.写像 \[F:\mathbb N\times\mathbb N\to X\times Y, \qquad F(m,n):=(f(m),g(n))\] を考える.任意の\((x,y)\in X\times Y\)に対して,\(f(m)=x\)となる\(m\in\mathbb N\)と\(g(n)=y\)となる\(n\in\mathbb N\)が存在するので,\(F\)は全射である.また \[F(m,n)=F(m',n')\] なら\(f(m)=f(m')\)かつ\(g(n)=g(n')\)であり,\(f,g\)の単射性から\(m=m'\)かつ\(n=n'\)を得る.したがって\(F\)は単射でもあり,全単射である.命題13.9より\(\mathbb N\times\mathbb N\)は可算集合であるから,\(X\times Y\)も可算集合である.

命題 13.11(有理数全体は可算集合である)

\(\mathbb Q\)は可算集合である.

命題 13.11 の証明

正の自然数全体の集合を \[\mathbb N_{>0}:=\{1,2,3,\ldots\}\] と書く.写像\(\mathbb N\to\mathbb N_{>0}\),\(n\mapsto n+1\)は全単射なので,\(\mathbb N_{>0}\)は可算集合である.命題13.8と命題13.10より,\(\mathbb Z\times\mathbb N_{>0}\)も可算集合である.したがって,その要素を \[(p_0,q_0),(p_1,q_1),(p_2,q_2),\ldots\] と重複なく並べることができる.

各組\((p_i,q_i)\)に有理数\(p_i/q_i\)を対応させると,この列の中にすべての有理数が少なくとも一度現れる.同じ有理数が複数回現れる場合には,二回目以降を飛ばしていく.\(\mathbb Z\subset\mathbb Q\)であるから異なる有理数は無限個存在し,この操作で \[r_0,r_1,r_2,\ldots\] という無限列が得られる.この列には重複がなく,しかもすべての有理数が現れる.命題13.7より\(\mathbb Q\)は可算集合である.

定理 13.12(カントールの定理)

任意の集合\(X\)について, \[|X|<|2^X|\] である.すなわち,\(X\)から\(2^X\)への単射は存在するが,\(X\)から\(2^X\)への全単射は存在しない.

定理 13.12 の証明

まず写像\(s:X\to2^X\)を\(s(x)=\{x\}\)で定める.\(s(x)=s(y)\)なら\(\{x\}=\{y\}\)なので\(x=y\)であり,\(s\)は単射である.したがって\(|X|\leq|2^X|\)である.

次に,\(X\)から\(2^X\)への全射が存在しないことを示す.全射\(f:X\to2^X\)が存在すると仮定する.集合 \[D=\{x\in X:x\notin f(x)\}\] を考える.\(D\subset X\)なので\(D\in2^X\)である.\(f\)が全射なので,ある\(d\in X\)について\(f(d)=D\)となる.

\(d\in D\)とすると,\(D\)の定義から\(d\notin f(d)=D\)となり矛盾する.一方\(d\notin D\)とすると,\(D\)の定義から\(d\in f(d)=D\)となり,やはり矛盾する.したがって全射\(f:X\to2^X\)は存在しない.特に全単射も存在しないので,\(|X|<|2^X|\)である.

系 13.13(非可算集合の存在)

\(2^{\mathbb{N}}\)は非可算集合である.

系 13.13 の証明

まず,\(n\in\mathbb{N}\)ごとに集合\(\{n\}\)を対応させる写像\(s:\mathbb{N}\to2^{\mathbb{N}}\)は単射である.もし\(2^{\mathbb{N}}\)が有限集合なら,単射\(s:\mathbb{N}\to2^{\mathbb{N}}\)と命題12.10(1)から\(\mathbb{N}\)も有限集合になる.これは命題13.5に反する.したがって\(2^{\mathbb{N}}\)は有限集合ではない.

もし\(2^{\mathbb{N}}\)が可算集合なら\(|2^{\mathbb{N}}|=|\mathbb{N}|\)である.しかし定理13.12より\(|\mathbb{N}|<|2^{\mathbb{N}}|\)なので矛盾する.したがって\(2^{\mathbb{N}}\)は無限集合であり可算集合ではないので,非可算集合である.

定義 13.14(高々可算集合)

集合\(X\)が有限集合または可算集合であるとき,\(X\)は高々可算であるという.

命題 13.15(高々可算集合の部分集合)

\(X\)が高々可算で\(A\subset X\)ならば,\(A\)も高々可算である.

命題 13.15 の証明

\(X\)が有限集合なら\(A\)も有限集合である.\(X\)が可算集合なら,その要素を\(x_0,x_1,x_2,\ldots\)と重複なく並べることができる.この列から\(A\)に属する要素だけを順に取り出せば,\(A\)が有限なら有限個で止まり,無限なら\(A\)のすべての要素を重複なく並べる列が得られる.したがって\(A\)は有限集合または可算集合であり,高々可算である.

命題 13.16(可算列で表される集合)

集合\(X\)のすべての要素が,ある列 \[x_0,x_1,x_2,\ldots\] の中に少なくとも一度現れるとする.このとき\(X\)は高々可算である.

命題 13.16 の証明

列に現れる異なる要素が有限個しかなければ,\(X\)は有限集合である.異なる要素が無限個現れるとする.列を左から順に見て,すでに選んだ要素と異なる要素が初めて現れるたびにその要素を選ぶ.こうして得られる列を \[y_0,y_1,y_2,\ldots\] とする.この列には重複がない.また,もとの列に現れる各要素は,その要素が最初に現れた時点で選ばれるので,\(X\)のすべての要素が新しい列のどこかに現れる.したがって命題13.7より\(X\)は可算集合である.よっていずれの場合にも\(X\)は高々可算である.

定理 13.17(可算個の高々可算集合の合併)

\(A_0,A_1,A_2,\ldots\)がそれぞれ高々可算であるとする.このとき, \[\bigcup_{n\in\mathbb{N}}A_n\] は高々可算である.

定理 13.17 の証明

すべての\(A_n\)が空集合なら,合併も空集合なので高々可算である.以下では少なくとも一つの\(A_n\)が空でないとする.空集合である\(A_n\)は無視してよい.空でない有限集合は,その要素を繰り返すことを許せば無限列として表せる.可算集合も一列に並べられる.したがって,各空でない\(A_n\)について,すべての要素が少なくとも一度現れる列 \[a_{n,0},a_{n,1},a_{n,2},\ldots\] を一つとることができる.命題13.9より\(\mathbb{N}\times\mathbb{N}\)の要素は一列に並べることができるので,その順に\(a_{n,k}\)を書き並べ,\(A_n=\emptyset\)に対応する項だけを飛ばす.こうして合併のすべての要素が少なくとも一度現れる列が得られる.命題13.16より,この合併は高々可算である.

文字列を作るために用いる記号の有限集合をアルファベットという.長さ\(0\)の文字列を空文字列という.

系 13.18(有限長の文字列全体は可算)

\(1\)個以上の有限個の記号からなるアルファベットを固定する.その記号を有限個並べて得られる有限長の文字列全体の集合は可算集合である.

系 13.18 の証明

長さ\(n\)の文字列は,アルファベットが有限集合なので有限個しかない.有限長の文字列全体は,長さ\(0,1,2,\ldots\)ごとの有限集合の可算個の合併であるから,定理13.17より高々可算である.一方,アルファベットから一つの記号\(a\)を選ぶと,空文字列,\(a\),\(aa\),\(aaa\),\(\ldots\)は互いに異なるので,有限長の文字列全体は無限集合である.したがって可算集合である.

有限長の0–1列全体は上の系により可算集合である.一方,長さを無限にすると事情は大きく変わる.

命題 13.19(無限0–1列全体は非可算である)

無限0–1列 \[(a_0,a_1,a_2,\ldots),\qquad a_n\in\{0,1\}\] 全体の集合は非可算である.

命題 13.19 の証明

無限0–1列\((a_0,a_1,a_2,\ldots)\)に対して \[A:=\{n\in\mathbb N:a_n=1\}\] とおくと,\(A\)は\(\mathbb N\)の部分集合である.逆に,\(A\subset\mathbb N\)に対して \[a_n:= \begin{cases} 1 & (n\in A),\\ 0 & (n\notin A) \end{cases}\] と定めれば無限0–1列が得られる.この二つの対応は互いに逆であるから,無限0–1列全体と\(2^{\mathbb N}\)の間には全単射が存在する.系13.13より\(2^{\mathbb N}\)は非可算集合なので,無限0–1列全体も非可算集合である.

有限長の0–1列全体は可算であるのに対し,無限0–1列全体は非可算である.「有限の情報を有限個並べたもの」と「無限に続く列」とでは,集合の大きさが本質的に異なることが分かる.

定理 13.20(実数全体は非可算集合である)

\(\mathbb R\)は非可算集合である.

定理 13.20 の証明

まず\([0,1)\)が可算集合ではないことを示す.可算集合であると仮定すると,その要素を \[x_1,x_2,x_3,\ldots\] と重複なく並べることができる.各\(x_n\)について,末尾に9が無限に続かない小数表示を用いて \[x_n=0.a_{n1}a_{n2}a_{n3}\cdots\] と書く.

各\(n\geq1\)について対角成分\(a_{nn}\)を見て, \[b_n:= \begin{cases} 1 & (a_{nn}\neq1),\\ 2 & (a_{nn}=1) \end{cases}\] と定め, \[y:=0.b_1b_2b_3\cdots\] とおく.各\(b_n\)は1または2なので\(y\in[0,1)\)である.一方,\(y\)の\(n\)番目の小数位\(b_n\)は\(x_n\)の\(n\)番目の小数位\(a_{nn}\)と異なる.したがって\(y\neq x_n\)である.これはすべての\(n\geq1\)について成り立つので,\(y\)は上の並びのどこにも現れない.\([0,1)\)のすべての要素を並べたという仮定に矛盾する.よって\([0,1)\)は可算集合ではない.また,\(1/(n+1)\) \((n\in\mathbb N)\) は互いに異なる\([0,1)\)の要素なので,\([0,1)\)は無限集合である.したがって\([0,1)\)は非可算集合である.

ここで\(\mathbb R\)が可算集合であると仮定する.\([0,1)\subset\mathbb R\)なので,命題13.15より\([0,1)\)は高々可算である.しかし\([0,1)\)は無限集合なので可算集合でなければならず,上で示した非可算性に反する.よって\(\mathbb R\)は非可算集合である.