今日のクラシック、ルネサンス期の舞曲フォリアの『ロドリゴ・マルティネス』 [今日のクラシック]
――この曲を聞いて、何故か、アンデスのフォルクローレを連想した。時代的には、スペインがインカ帝国などを滅ぼし、植民地にした、ちょうど、そのくらいの時代の音楽なんだよね。本国であるスペインには残らなかったけれど、植民地支配を受けていた辺境のアンデスの音楽に影響を与え、その響きが残った(・・? スペイン人が持ち込んだ、それまでアンデス地方になかった楽器などを真似て、現地の人々は楽器なども作っただろうし・・・。また、支配民族であるスペイン人は、植民地支配を円滑にに行うために、非支配民族の文化を徹底的に破壊したはずであり、スペイン的なもの、カトリック的なものに従うように、非支配民族に強要したはず。もちろん、音楽もその例外ではないはずだ。だとしたら、我々の知るアンデスの伝統音楽はスペインの植民地支配以後の音楽、おそらく、その最古形はルネサンス期の音楽の影響を強く受けたものということになるわな〜。 考え過ぎか・・・――
なお、ダンス付きバージョンはこちら↓
いかにもルネサンス期の曲のように聞こえますが、本当にこのように演奏されていたか、本当にこのような曲だったのかについては大いに疑問が残ります。
今日のアニソン、「トリニティセブン」から『Seven Doors』 [今日のアニソン]
[対角線論法の周辺] [集合論入門]
[対角線論法の周辺]
ネコ先生も仰ってるように、「対角線論法」とか「カントールの定理」とかは、数学的な実務(解析学)においてさえほとんど使いません。例えば「現代解析の基礎,ディユドネ,東京図書」は訳者である森毅大先生の前書きによれば世界で最も格好良い解析学の本ですが、著者ディユドネ自身が最初に次のように書いてます。
「・・・可算集合(注1)のごく初等的な性質である。これは、カントル以後展開された"集合数"の長い理論の出発点である。・・・しかしながら、実数が可算でないという消極的事実を除いては、解析学に集合論を応用するのにこれらの初等的性質以上のことを使うことは、めったにない」
つまり実務(解析学)において「対角線論法」とか「カントールの定理」とかは時々使うだけで、「学生よ、無限集合論で悩むなよ」とディユドは最初に警告してくれてる訳です(^^)。森毅大先生が同書を訳されたのは1971年。自分は1980年の第2刷を持ってますが、2018年の現在においても、同書が世界で最も格好良い解析学の本であり、「学生よ、無限集合論なんかで悩むなよ」の心遣いもそのまま生きてると思います。
では何故ここに出張ってきたかというと、無限集合論のアイデア自体が自分には面白いからです。道具造りの楽しみとして(^^;)。
まず全単射が存在すれば、同数という話。
単射とは関数f:A→Bにおいて、1対1対応という事。例えばA={1,2,3},B={1,2,3,4,5}とすれば、f(1)=1,f(2)=2,f(3)=3みたいになる事。一般には、f(1)=f(2)=f(3)=5となってても関数なので、一般には関数は単射ではありません。
全射とは関数g:B→Aにおいて、対応漏れがない事。g(1)=1,g(2)=2,g(3)=3,g(4)=1,g(5)=2みたいな感じ(gは単射ではない)。上への写像などとも呼ばれます。さっきのf(1)=1,f(2)=2,f(3)=3ではBの要素の4と5が余るので、fは全射ではありません。
重要なのは関数に対する次の規約。
h:X→Yが関数であるとは、各x∈Xに対応する(xに依存した)y∈Yが一つだけある事。これをy=h(x)と書く。Xを定義域,Yを値域と言う。
上記の重要な含みは、全てのx∈Xがh(x)∈Yを持たなければならない、という事。例えばもしg(4)やg(5)がなければ、そういうものが1個でも定義域にあれば、それは関数じゃない。
またf(1)=1,2とかになってても駄目。一つだけだから。どうしてかというと、こういうのを許すと関数のグラフが曲線じゃなく帯になるから。
いま集合の要素の個数をCard()で表します(注2)。さっきのA,BならCard(A)=3,Card(B)=5。
AとBが有限個の要素しか持たなければ(有限集合であれば)、関数の規約を守る限り、次の事実は明らかです(本当は証明しますが)(注3)。
(1) Card(A)<Card(B)なら、全射なf:A→Bは作れない。
(2) Card(A)<Card(B)なら、単射なg:B→Aは作れない。
当然ですよね?(^^)。A={1,2,3}でf(1)=1,f(2)=2,f(3)=3とAの要素を使い切ったら全射にするためには、f(1)=4,f(2)=5とでもするしかない。しかしこれは関数の規約から不可。一つだけだから。
同様にB={1,2,3,4,5}でg(1)=1,g(2)=2,g(3)=3としたらAの要素を使い切るので、今度もBの要素が余る。単射にするためにはg(4)とg(5)を諦めるしかないが、関数の規約からそれでは関数ではない。
よって、
(3) Card(A)=Card(B)の時だけ、全単射なf:A→Bがある(真部分集合と全体には全単射なし)。
典型的には、A={1,2,3,4,5},B={1,2,3,4,5}のケース。ところでAをあなたの5本指の集合A={親指,人差し指,中指,薬指,小指}に取り換えても同じ事ができます。これの意味するところは、(3)は「指折り数える行為の数学的定式化」に過ぎないという事です(^^)。何かの個数を知りたい時は「指折り数えて証明するしかない」という事でもあります(^^;)。
無限集合に移行します。無限集合は数え尽くせません。何故なら数え尽くせたら、その瞬間に有限になるからです。有史以来、無限の定義は、
・無限とは有限でない事。
これは現代数学においてもそうです。結論から言うと無限集合論は、最初から数え尽くせないものを扱うよと決めてるのです。では無限集合の同数はどうするかというと、(3)を逆にしてそのまま使います。
(4) 全単射なf:A→Bがあるなら、Card(A)=Card(B)と決める。
いいですか、これは「決める」ですからね。有限の世界ではこれでうまく行ったという理由だけで、根拠レスに(3)を無限にも適用するんです。無限集合論の全ての理屈はこういうものです。有限ではうまく行ったから無限にも使っちゃえと(^^;)。他にやりようがないから。無限を具体的に調べ尽くして確認するなんて不可能だから。調べ尽くせたら有限だから。
個人的には、有限の論理でどこまで無限を切れるかの試論が無限集合論と思っています。そういう訳で(4)などはすぐに機能不全に陥ります。よく出てくるのが、偶数全体の集合Eと自然数全体の集合Nの個数比較です。EはNの真部分集合ですから、単射はあるけど全射なんかあろうはずがない。→で対応付けを表す事にします。Eの要素→Nの要素 です。
0→0,2→2,4→4,・・・
→の右の0,2,4はNの要素の一つ飛ばしなので、全射ではありません。しかし偶数mは、
m=2n,n=0,1,2,・・・
と表せるのでした。n=m/2,m=0,2,4,・・・と変形すれば、
0→0,2→1,4→2,・・・
m=2nとn=m/2は全単射です。(4)に従えばEとNは同数です。EはNの真部分集合なのに!。無限集合の場合は、部分と全体が同数になるのは普通です。しかしここまでして無限を扱う必要はあるんでしょうか?。あるんです。それはディユドネ先生も仰るように「ときどき役に立つから」。ベキ集合を考えるのもときどき役に立つから(^^;)。
Card()の事を集合の濃度と言います。その心は「やっぱ有限の個数とはちょっと違うよね」。本当は「無限集合の個数」と言っても良かったんですけどね。やる事は変わらないから(^^;)。
最初に普通の対角線論法をご紹介します。自然数全体の集合Nと実数全体の集合Rの個数比較です(やる事は変わらない(^^))。手始めに解きやすいように問題の形を整えます。
を考えると、x=-π/2~π/2の範囲で(5)は-∞~∞の値をとり、しかも単調増加です。単調増加なら単射ですよね?。しかも-∞~∞の値をとるので全射ですよね?。よって実数全体Rと区間[-π/2,π/2]の間には全単射が存在するので同数です。
y=tan-1(πx/2)
y=tan-1(π(x-1)/2)
y=tan-1(π(2x-1)/2)
とx方向で2/πだけスケール変換して(x=-1~1)、+1だけ平行移動し(x=0~2)、また1/2だけスケール変換すれば、Rと区間[0,1]が同数になります。x∈[0,1]を無限小数展開します。
x=0.α1α2α3α4・・・
αjは、0~9のどれかの数字です。目的はNとRの個数比較なので、Nと区間[0,1]の個数比較を行います。全単射があれば両者は同数です。そこで「全単射があった」と仮定します。それを絵にすれば具体的な対応付けはさておいて、いずれにしろ、
となるはずです。
i → 0.αi1αi2αi3αi4・・・は、自然数iで実数0.αi1αi2αi3αi4・・・が番号付けられたという意味です。αijのiは付けられた番号,jはそのj位の小数。ただしi≠kなら、0.αi1αi2αi3αi4・・・≠0.αk1αk2αk3αk4・・・です。全単射は単射でなければならないので。そして全射でもなければならないと仮定したのでした。対応漏れがあってはいけません。
(6)の→の右側の対角線αii,i=1,2,・・・に沿って次のような実数βを構成します。
(7)で構成されるβは明らかに[0,1]の要素です。しかしβの小数以下j位の数字は、jで番号付けられた実数0.αj1αj2αj3αj4・・・αjj・・・のj位の数字と必ず異なるので、(6)に現れるどの実数とも一致しません。つまり、Nから区間[0,1]への全単射は、それが具体的にどういうものであれ、必ず番号漏れ必至です。よって、Nから区間[0,1]への全単射は作れない事をいま証明した事になります。番号漏れしたので、
Card(N)<Card([-1,1])=Card(R)
です。
気持ち悪いですよね?。気持ち悪いんですよぉ~!。でもその原因は、(4)が機能不全だからではありません。根はもっと深いんです。
集合Aのベキ集合(Power Set)を毎回2Aと書くのは面倒なので、Power Setの頭文字をとってP(A)と書きます。AとP(A)との個数比較を行います。A={a1,a2,・・・}で表すと、P(A)={φ,{a1},{a1,a2},・・・,{a1,a2,・・・}}などとなるのでした。(6)と同じように、AからP(A)への全単射fを絵にしてみます。
この絵の読み方ですが、各行はP(A)の要素であるAの部分集合を表していて、各行の0,1並びは、その行のj列が1なら、列ヘッダajを持つAの部分集合,0ならその部分集合はajを持たない、という意味です。 わかりにくいですが、3行目は{a1,a3,・・・}となるAの部分集合を表してます。
空集合φはどこまでも0,0,0,・・・の並び、Aはどこまでも1,1,1,・・・の並びになります。こういう表を用意して、行数が十分あればAの全ての部分集合を表せますよね?。
行ヘッダのa1,a2,・・・は、Aの要素aiと、1,0,1,0,・・・などで表されたAの部分集合が、fで対応するという意味です。全単射は単射なので、i≠kではi行とk行の0,1並びは一致しません。まとめれば、f(ai)=[1,0,1,0,・・・などで表されるAの部分集合] 。
さてこの全単射fは全射でしょうか?。要するにa1,a2,・・・の行ヘッダ並びの行数で十分でしょうか?。もう気づいてますよね?(^^)。また対角線に沿って、あり得ないものを作るんですよ(^^;)。ちなみに(8)はExcelで書きました。
(9) 対角線cell(i,i)が0だったら1、1だったら0として作った0,1並びも、
Aのある部分集合Bを表す。
(10) 何故なら行ヘッダa1,a2,・・・の個数はちょうどCard(A)=Card({a1,a2,・・・})だから。
(11) Aの部分集合Bは、対角線に沿って必ず各行と0,1が違うから、Bは(8)に現れるどの部分集合
とも要素1個は必ず違う。
(12) よってBは(8)に現れるどの部分集合とも一致しない(ai→による対応漏れが起きた!)。
(13) 対応漏れが起きたので、Card(A)<Card(P(A))。
以上がカントールの定理の図解です(←どこが!?(^^;))。
B⊂Aに対応するb∈A、すなわち全単射なfでf(b)=Bとなるb∈Aはないといま証明した訳ですが、全単射なfでbがあったとしたらどのような矛盾が惹き起こされるかを、具体的に調べてみましょう。
表(8)の対角成分(i,i)の0,1は、αiに対応するAの部分集合f(αi)に、αiが属するか属さないかを決めています。
Bは(i,i)成分の0,1を反転して作ったAの部分集合でした。かつfが全単射であるならば、表(8)を作る過程のどこかでBにも出会っているはずです。ここで「b∈Bなのか?」、「b∈Bでないのか?」と問います。どちらかであるはずです。
「b∈B」とする。これは表(8)のf(b)=Bを表す行kにおいて、b=αkかつ(k,k):1を意味する。しかしBは、全ての(i,i)を反転して作ったものだから、同じ行k のk列目の(k,k)成分の値は0。よって「b∈Bでない」。
「b∈Bでない」とする。これは表(8)のf(b)=Bを表す行kにおいて、b=αkかつ(k,k):0を意味する。しかしBは、全ての(i,i)を反転して作ったものだから、同じ行k のk列目の(k,k)成分の値は1。よって「b∈B」。
矛盾しました。部分集合Bは全単射なf:A→P(A)の存在のもとで、「b∈B」としても「b∈Bでない」としても駄目だめな集合です。bとしてAの要素のどれを当てても駄目です。さらにB=f(b)です。だったら、
f:A→P(A)を全単射として、xがf(x)に属さないようなxで作ったAの部分集合B:
にもたぶん、B=f(b)を満たすb∈Aはないだろうなと予想がつきます。
[カントールの定理の補題]
f:A→P(A)を全単射とする。
に対応するb、すなわちf(b)=Bとなるb∈Aは存在しない。
[証明]
b∈Bとする。b∈BならB=f(b)だったから、(15)からb∈Bでない。
b∈Bでないとする。b∈BでないならB=f(b)だったからbはf(b)に属さず、(15)からb∈B。
矛盾したのでbが存在しないか、fが全単射でないかのどちらか。fが全単射とすれば、bはない。
[証明終]
つまり、
という風に、循環参照が起きています。Bの内包的定義は、外延としてのBに内包定義テストへの差し戻しを要求します。自己言及パラドックスです。これがラッセルのパラドックスの本質でした。一般に対角線論法と呼ばれるものには全て、ラッセルのパラドックスが隠れています。だから気持ち悪いんですよぉ~!(^^;)。
ラッセルのパラドックス http://nekodamashi-math.blog.so-net.ne.jp/2018-02-28-2
しかし今回はパラドックスにはなりません。「fが全単射ならばという制御された状況下で」これが起こった(これを起こした)からです。矛盾しても、fが全単射でないとわかった、もしくはbはなかったと言えるからです。いずれにしろf:A→P(A)は存在しないが結論です(カントールの定理)。
どっちかというと「これを起こした」ですよね?。
ラッセルのパラドックスは、無限集合論や数学基礎論の中で無限を見渡せない人間にとって、非常に強力な証明手段となる得る事がその後わかります。
常に取り扱い注意!ですが。無限世界に望外に存在した、有限論理の通用するひとすじの隘路を辿ってるような感じです。本格的な無限集合の証明を一回でも独力で扱ってみると感じます。無限集合論は、パラドックス地雷の地雷原です(^^;)。
ラッセルのパラドックスを常に間接的に含む対角線論法は、強力でした。それはゲーデルの不完全性定理やチューリングマシンの停止問題の証明で、主役を果たします(←と聞いただけ)。
次にP(A)がAよりどんだけ多いか体感してみますか(どんだけぇ~! by Ikko(^^))。
カントールの定理は、P(A)がAより少なくとも一個多いとしか言ってません。Card(A)+1=Card(P(A))でしょうか?。
そんなはずありません。最初の方で述べたように、無限集合では、AとAの無限部分集合Cが同数になるのは普通です。つまりCard(A)+Card(C)=Card(A)くらいのキャパを、Card(A)は持ってます。Fがいくら大きい有限集合でも当然、Card(A)+Card(F)=Card(A)です。
nを任意の自然数として、Card(A)=2・Card(A)=3・Card(A)=・・・=n・Card(A)=Card(A)=Card(A2)=Card(A3)=・・・=Card(An)=・・・、などを証明できます。AnはAのn個の直積集合です。
Card(A)より少なくとも一個多いCard(S)を持つ集合Sって、途轍もなくでかいんですよ!。実数と自然数との個数比較に戻ります。そこでは実数の集合Rと区間[0,1]は同数で、任意のx∈[0,1]は、
x=0.γ1γ2γ3γ4・・・
(16)
と表せるのでした。γjは0~9の数字のどれかで10進展開を念頭においてます。・・・は自然数の集合Nの個数に等しい桁数です。Card(N)=で表します(アレフゼロと読んで(^^))。は可算無限と呼ばれます。(16)の桁数は可算無限桁です。
(16)を有限桁で打ち切った姿を想像します。要するにある自然数mより先のγjは全て0です(ない)。(16)をm桁で打ち切った場合、(16)は何個の実数を表せるでしょう?。各γjは0~9のどれか(10個)なので、10m個ですよね?。
という記号を、集合の濃度として正確に定義する方法が、じつはあります。意味は10m個と同じです。なのでという事になります。ところがkが自然数(ある有限集合の濃度)の場合、を証明できちゃうのです。特にk=2の場合、です。
すなわち、ネコ先生の記号であれば=Card(2N)=Card(P(N))は、Card(R)に等しいという結論になります。実数の個数は、自然数の集合の部分集合全体の数に等しい(現行集合論を信じれば(^^))。
がどんだけでかいかは、有限の世界でも体感できます。nを自然数として、普通はn→∞と書くところをn→と書いても、ここまで来れば、そんなに問題じゃないですよね?(無限の理屈は、全て有限の理屈の外挿(^^;))。
実数の無限個数に比べれば、自然数の無限個数なんてカスです。実数の個数に比べれば、自然数の個数なんて有限といっしょです。(16)は可算無限桁でしたが、Card(A)桁の(16)は(のようなものは)想像できますよね?。いずれにしろ有限桁しか書けず後は・・・で誤魔化す人間は、Card(A)桁の(16)も、(16)のようにしか書けません(^^;)。10Card(A)=2 Card(A) は、この時も健在です。
次の式は絶対に「書いたらあかん」ですが、これと同じ意味と解釈できる定理は証明できるはずです。集合Sは有限集合から始める事にして・・・、
P(A)の個数に比べたらAの個数なんてカスです。有限といっしょです。
ところでいわゆる数の構成の経緯を考えてみると、離散量を表すものとして自然数Nは導入されました。有理数Qは、離散量の間を埋める形で連続量として導入されました。ところが√(2)が有理数でない事をピタゴラスは証明してしまった(年代を考えるとすごいよな)。有理数Qは連続じゃなかった。実数:Qの完備化はその1000年以上後でやっと完成します。
物理的現実には、離散量と連続量しかないように見える。じゃあ有理数は何なのか?。疑似連続量?。それは本質的に離散量なのか?。ある意味そうだと受け取れる結果もカントールは出しました。Card(N)=Card(Q)がそれです。では物理的現実には離散量と連続量しかないとすれば、Card(N)<Card(S)<Card(R)となる無限集合Sはないはずだ。自分はこういう風にカントールは推理したと憶測します。
[連続体仮説]
Card(N)<Card(S)<Card(R)となる無限集合Sはない。
2Card(A)=Card(P(A))の関係は、2Card(N)=Card(R)=Card(P(N))の関係と本質的に同じでした。
[一般連続体仮説]
Card(A)<Card(S)<Card(P(A))となる無限集合Sはない。
この辺りはコーエンの仕事になり、連続体仮説は現行集合論の内部では証明できない事がわかってます。その仕事はゲーデルの不完全性定理の続きと考える事もできるので、ここにも対角線論法は関係してるのかな?。
・・・「思えば遠くへ来たもんだ(by 武田鉄矢)」。連続体仮説なんてはっきり言って数学の人外魔境です。あんまり関わらない方がいい。
・こうまでしてパラドックス地雷を避けながら無限集合論をやる必要なんかあるのでしょうか?。
だからときどき消極的事実を使うんですよ(^^;)。測度論で有理数の集合が測度零集合であるのを示すのにカントールの定理を使ってたようなそうでないような・・・。こういうのにもあんまり関わらない方が、無難な気が(^^;)・・・。
(執筆:ddt³さん)
(注1) 可付番集合ともいう。
というふうに集合の元(要素)のすべてに自然数の番号を付けられる、割り当てられる集合のこと。
有限集合と可算集合を高々可算の集合という。
(注2) cardinal number(基数)、集合の濃度(元の個数)の略語。集合Aの濃度を|A|と表記する場合もある。
(注3) 定理 2つの集合A、Bに対し、次の2つは同値である。
(1) AからBへの単射がある
(2) BからAへの全射がある
ただし、(2)から(1)への証明には選択公理が必要。
fをAからBへの写像、すなわち、f:A→Bとする。
任意のa、a'∈Aに対して、a≠a'ならばf(a)≠f(a')が成り立つとき、fを単射という。
全てのb∈Bに対して、b=f(a)であるa∈Aが存在するとき、fを全射という。(高校数学では、「AからBへの上の写像」という)
fが全射でかつ単射であるとき全単射(高校数学では、1対1の対応)という。
「集合AからBへの単射(BからAへの全射)が存在するならば|A|≦|B|」と、集合の濃度の大小を定義する。
集合AからBへの全単射(1対1対応)が(ひとつでも)存在するならば、AとBは対等であるといい、記号A〜Bであらわす。このとき、AとBの濃度|A|と|B|は等しいと定義する。
|A|≦|B|かつ|A|≠|B|ならば、|A|<|B|
そして、
|A|≦|B|かつ|A|≧|B|ならば、|A|=|B| (カントール・ベルンシュタインの定理)
Aを自然数全体の集合{1, 2, 3, ・・・}、Bを偶数全体の集合{2, 4, 6, ・・・}とする。
このとき、f(1)=2, f(2)=4, f(3)=6, f(n)=2n, ・・・とすると、これはAからBへの全単射(1対1対応)となるので、
となる。この他に、整数全体の集合、有理数全体の集合、代数的数全体の集合の濃度などもであることが知られている。
なお、実数の濃度、無理数の濃度は(連続体の濃度。非可算濃度のひとつ)とあらわし、
という関係がある。
非可算集合の濃度は、実数全体の集合Rの冪集合、そのまた冪集合、そのまた冪集合・・・の濃度という具合に、無数に作り出すことが可能。
(注:ネムネコ)