くろょろぐ

はてダからはてブロに移行済み

無限列のふるまいについて考えていて、

ふと、こんな疑問にぶちあたってしまった。
質問の定義にあるように、0と1の二つの値のみからなる無限数列を考え、実数の無限小数展開になぞらえて、便宜上、無限に循環のあるものを「有理列」、ないものを「無理列」と呼ぶ事にする。さらに、以下の説明の都合上、適当な無限列が与えられた時、各項の1と0を入れ替えたものを、「補列」と呼ぶ事にする。
実数の場合は、n進数で展開する場合、(n−1)が無限に循環するものは取り除くが、今回の場合は単なる数値の列なので、1が無限に循環するものも独立の値として考慮する。
で、疑問にぶちあたった経緯はこうである:

  1. 有理列の全体の濃度は、有理列を三進数の小数部分と考えれば、有理数に一対一に対応するため、可算であるはずである。
  2. 可算であるなら、すべての有理列を一列に二次元の表に並べ、対角線に項を順に拾って得た無限列は、無理列となるだろう:なぜならば、この無限列の補列は有名な対角線論法により、有理列ではないからである。
  3. 有理列の並べ方の全体は、可算要素の置換なので、非可算のはずである。
  4. 対角線が任意の無理列になるように有理列を並べ替える事ができるはずだ:なぜならば、与えられた各項が等しい有理列は無限に存在するからだ。
  5. あれ?このやり方だと任意の無限列、つまり有理列でもできちゃって、矛盾するのでは…?
  6. 矛盾したんだから、ここまでの議論のどこかに間違いがあるはずだ。

というわけで、どこに間違いがあるのかという疑問が生じたので、件の質問に至ったわけである:

  • 項を順番に拾うというだけでは、全ての有理列が並ぶかどうかが不明である。
    • さらに、本当に自由に項を選んで全部の有理列をならべられるかどうか自体も不明である。
  • 対角線上に現れる無理列に重複があった場合、無理列全体が非可算かどうかも不明である。
    • たかだか可算であったとすれば、任意の無理数を得る事はできないのは自明。
  • 待てよ、そもそも有理列の全体って本当に可算???(←これが一番ショッキング)

有理列全体は三進数での対応があるので、可算という事で間違いないと思う。一方で、有理列全体を重複なく数え上げるのは意外と面倒な印象。循環が始まる項と、循環する項の長さの組は、同一の有理列に於いても複数あるため、そういうもの中で“最小”のもの(循環長は最大公約数とし、そのなかで開始位置が最小値のもの)を採用し、これを二次元のマス目を数え上げる伝統的かつ無難な方法で並べる事になるだろう。
対角線に現れる無理列全体が可算か非可算かの検証は、方針が全く思い浮かばないので、とりあえずパス。どなたかわかる人の意見が聞きたい。id:tatsumi-daさんが対角線上に任意の無理数がとれる事を証明してくださいましたので、非可算である事が示されました。
この段階で一番の問題は、任意の無理列を対角線上にとる手段があるかどうかである。そのためには、二つの異なる無限列が任意に与えられた時、同じ位置の項がどのような関係にあるかを考えてみる必要がある。特に、有理列と無理列との間の関係について考えなければならないだろう。
(続く)