再帰定理

※このエントリは古くなっています。より簡明な証明が
http://y-bonten.hatenablog.com/entry/2016/06/16/142914
にあります。

『数学のロジックと集合論』p77、定理2.10の証明を、自分で書き直してみた。

\(m\in\mathbb{N}\)と写像\(g:\mathbb{N}\to\mathbb{N}\)が与えられている。\(k\in\mathbb{N}\)ごとに条件\(\psi_k(h)\)を「\(h\)が以下のすべてを満たすこと」と定義する。
・\(h:\mathbb{N}\to\mathbb{N}\)は\(k'=\{0,1,\ldots,k\}\)を定義域とする部分写像である
・\(h(0)=m\)
・\(x'\in k'\)ならば\(h(x')=g(h(x))\)

補題】各々の\(k\in\mathbb{N}\)に対し、\(\psi_k(h)\)を満たす\(h\)が一意に存在する。

(証明)\(k\)についての帰納法による。まず\(\{\langle 0,m\rangle\}\)は\(\psi_0\)を満たしている。\(\psi_0(h)\)を仮定すると、\(h(0)=m\)すなわち\(\langle 0,m\rangle\in h\)であり、\(h\)は定義域を\(0'=\{0\}\)とする部分写像であるから、これ以外の要素を持たず、\(h=\{\langle 0,m\rangle\}\)となる。したがって\(\{\langle 0,m\rangle\}\)は\(\psi_0\)を満たす唯一のものである。
次に\(k\in\mathbb{N}\)に対し、\(h_k\)が\(\psi_k\)を満たす唯一のものであると仮定し、\(\psi_{k'}\)を満たすものが一意に存在することを示す。\(h_k\)に\(\langle k',g(h_k(k))\rangle\)を付け加えて定義域を\(k''\)に拡大したものを\(h_{k'}\)とすれば、これは\(\psi_{k'}\)を満たしている。一意性を示すために\(\psi_{k'}(h)\)を仮定し、\(h=h_{k'}\)を導く。\(h\)の定義域\(k''\)を\(k'\)に制限したもの、すなわち\(\{0,1,\ldots,k,k'\}\)から\(k'\)を除いたものを考えると、これは\(\psi_k\)を満たしているから\(h_k\)に一致する。したがって\(h(k)=h_k(k)\)だから、\(h(k')=g(h(k))=g(h_k(k))\)となり、\(h\)と\(h_{k'}\)は一致する。■

各\(k\in\mathbb{N}\)に対し\(\psi_k\)を満たす唯一のものを\(h_k\)とおく。

補題】任意の\(p,q\in\mathbb{N}\)に対し、\(p\leq q\)ならば\(h_q(p)=h_p(p)\)である。
(証明)\(h_q\)の定義域\(q'\)を\(p'\)に制限したものは\(\psi_p\)を満たし、したがって\(h_p\)に一致するから、\(h_q(p)=h_p(p)\)となる。■

【定理】\(\displaystyle f=\bigcup_{k\in\mathbb{N}}h_k\)は、以下をともに満たすような唯一の全域写像\(:\mathbb{N}\to\mathbb{N}\)である。
・\(f(0)=m\)
・任意の\(n\in\mathbb{N}\)に対し、\(f(n')=g(f(n))\)

(証明)任意の\(n\in\mathbb{N}\)をとる。\(k\in\mathbb{N}\)に対し、\(k < n\)のとき\(n\)は\(h_k\)の定義域に属さず、\(n\leq k\)のとき前補題から\(h_k(n)=h_n(n)\)である。したがって\(\langle n,y\rangle\in f\)を満たす\(y\in\mathbb{N}\)は\(h_n(n)\)のみに定まる。よって\(f\)は\(\mathbb{N}\)から\(\mathbb{N}\)への全域写像であり、\(f(n)=h_n(n)\)と書ける。すると\(f(0)=h_0(0)=m\)である。また\(f(n')=h_{n'}(n')=g(h_{n'}(n))\)および\(g(f(n))=g(h_n(n))\)であり、前補題により両者は等しくなる。
一意性を示すため、全域写像\(f^*:\mathbb{N}\to\mathbb{N}\)が同じ条件を満たすと仮定し、\(f^*=f\)を帰納法により示す。まず\(f^*(0)=m=f(0)\)である。\(f^*(k)=f(k)\)と仮定すると、\(f^*(k')=g(f^*(k))=g(f(k))=f(k')\)が従う。■

Nにおける∈の無反射性

※集合\(n\)に対し\(n\cup\{n\}\)(これは対の公理と和集合の公理により集合をなす)を\(n'\)と書く。

\(x\in x\)となる集合\(x\)が存在しないことを示すには基礎の公理が必要となるが、\(\mathbb{N}\)の要素に限定すれば、つまり\(\forall x\in\mathbb{N}[x\notin x]\)を示すだけならば、基礎の公理は不要である。
補題】\(\mathbb{N}\)上の関係\(\in\)は推移的である。
(証明)\(l,m\in\mathbb{N}\)を任意にとって固定し、\(\psi(n):l\in m\in n\rightarrow l\in n\)とおく。\(n\)に関する帰納法により\(\forall n\in\mathbb{N}[\psi(n)]\)を示す。まず\(\psi(\varnothing)\)は\(m\notin\varnothing\)により真である。次に\(n\in\mathbb{N}\)に対し\(\psi(n)\)を仮定し\(\psi(n')\)を導く。\(l\in m\in n'\)と仮定すると\(l\in m\in n\)または\(l\in m=n\)となるが、前者なら\(\psi(n)\)から、後者ならただちに\(l\in n\)を得る。したがって\(l\in n'\)である。■

【定理】\(\mathbb{N}\)上の関係\(\in\)は無反射的である。
(証明)帰納法による。まず\(\varnothing\notin\varnothing\)である。次に\(n\in\mathbb{N}\)に対し\(n\notin n\)を仮定して、\(n'\notin n'\)すなわち\(n'\notin n\wedge n'\neq n\)を導く。仮定と\(\mathbb{N}\)の推移性および\(n\in n'\)から\(n'\notin n\)である。また、同じ仮定と\(n\in n'\)から\(n'\neq n\)である。■

碁石の問題(東大入試)

『数学のロジックと集合論』(田中一之・鈴木登志雄、培風館)p30、問題0.4に、東大文系の入試問題が採録されている。同書を読むたびにこの問題を解き直してしまって先に進まないので、ここに自分の解答をメモしておく。

【問題】白石\(180\)個と黒石\(181\)個の合わせて\(361\)個の碁石が横に一列に並んでいる。碁石がどのように並んでいても、次の条件をみたす黒の碁石が少なくとも1つあることを示せ。

「その碁石とそれより右にある碁石をすべて除くと、残りは白石と黒石が同数となる。」

ただし、碁石が1つも残らない場合も同数とみなす。

【解答】黒石が白石よりも\(1\)個だけ多い碁石の並びに対して、このような黒石が存在することは、「碁石の並びを(白黒同数)黒(白黒同数)となるように分割できる」ことであると言い換えられる。ただし「白黒同数」とは、白石も黒石も\(0\)個である場合を含む。以下、これを「分割可能である」と表記し、境目にある黒石を「境界石」と呼ぶことにする。\(P(n)\)を「白石\(n\)個、黒石\(n+1\)個の並びに対し分割可能」とおき、数学的帰納法により、すべての(\(0\)を含む)自然数\(n\)に対して\(P(n)\)が成り立つことを証明する。
[1] 白石\(0\)個、黒石\(1\)個の場合、この黒石を境界石として分割可能であるので、\(P(0)\)が成り立つ。
[2]\(k\)を自然数とし、\(n\leq k\)なるすべての自然数\(n\)に対し\(P(n)\)が成り立つと仮定して、\(P(k+1)\)を導く。
白石\(k+1\)個、黒石\(k+2\)個の並びから、まったく任意に白石と黒石を\(1\)個ずつ隠す。すると白石\(k\)個、黒石\(k+1\)個が残り、帰納法の仮定から分割可能である。隠した\(2\)石は各々、境界石の左または右のいずれかにあるはずであるが、両者が境界石の同じ側にある場合は、隠すのをやめても、やはり同じ境界石によって全体が分割可能である。いっぽう\(2\)石が互いに境界石の反対側にある場合は、全体を「隠した白石のある側\(A\)」と「隠した黒石のある側\(B\)」に分け、境界石は\(A\)のほうに含める。2石を隠すのをやめると、\(A\)は白黒同数に、\(B\)は「白\(m\)個、黒\(m+1\)個」(ただし\(m\leq k\))という状態になる。すると再び帰納法の仮定により\(B\)は分割可能であり、この際の新しい境界石によって全体が分割可能となる。■

(追記1)Twitterにて@tokyomarlinさんより別解をいただいた。


(追記2)@MarriageTheoremさんからも別解をいただいた。

順序数の非空クラスCに対し、∩Cはその最小元となる

ゲーデルと20世紀の論理学』第4巻p74、補題2.21(2)では、

【定理】順序数のみからなる任意の空でないクラス\(C\)に対し、\(\bigcap C\)がその最小元となる。

を示している。しかしその証明は私には理解できず、解読しようと思っていた矢先、出版後に修正されたPDFを発見した(
http://fuchino.ddo.jp/misc/goedel_et_logique_du_20e_siecle_4_I_2.pdf
)。ところがそこでは\(\bigcap C\)が\(C\)の最大下界であることを示したところで証明が終わっており、\(\bigcap C\in C\)が示されていない。

以下では、まず「順序数からなる任意の空でないクラス\(C\)は最小元を持つ」ことを示し、しかるのち「それは実は\(\bigcap C\)に等しい」ことを示す。

(証明)\(C\)に属す順序数\(\delta\)を任意にとって固定する。\(C\cap\delta=\varnothing\)のとき、\(\delta\)は\(C\)の最小元である。\(C\cap\delta\neq\varnothing\)のとき、順序数\(\delta\)の整列性から、その部分集合である\(C\cap\delta\)は最小元\(\beta\)を持つ。この\(\beta\)は、\(\gamma\in C\backslash\delta\)に対しても、\(\beta\in\delta\in\gamma\)あるいは\(\beta\in\delta=\gamma\)を成立させるので、\(C\)の最小元となる。

次に、\(\forall y\in C[x\in y]\)と\(x\in{\rm min}C\)が同値であることを示す。前者を仮定すると、\({\rm min}C\in C\)から\(x\in{\rm min}C\)である。逆に後者を仮定すると、任意の\(y\in C\)に対し\({\rm min}C=y\)または\({\rm min}C\in y\)であるから、いずれにせよ\(x\in y\)となる。

以上により、\(\bigcap C\)は集合をなし、\({\rm min}C\)と一致する。■

なお、\(\bigcap C\)が集合をなすことだけなら、\(\{x\in\delta|\forall y\in C[x\in y]\}\)と書いたうえで分出公理を用いれば示すことができる。

自然数の全体は集合をなす

集合\(x\)について、「\(x\)は順序数である」とは「\(x\)は関係\(\in\)で整列順序をなす推移的集合である」、「\(x\)は自然数である」とは「\(x\)自身とその要素のすべてが、『空集合か後続順序数』である」という意味であるとする。

無限公理:\(\varnothing\in X\)かつ「\(x\in X\)ならば\(x\cup\{x\}\in X\)」を満たす集合\(X\)が存在する。

無限公理により存在が保証された集合のひとつを\(X\)と名付ければ、分出公理により\(N=\{n\in X|nは自然数\}\)は集合をなす。\(N\)が「すべての自然数の集合」と呼ばれるためには、\(N\)が自然数を取りこぼしていないことを示さねばならない。そのためには、任意の自然数\(n\)に対して\(n\in X\)であることを示せばよい。

ゲーデルと20世紀の論理学』第4巻p77では、このことは「自然数全体のクラス」が集合をなすことが示される前に証明する必要があるので、整列集合上の超限帰納法を(単純には)適用できないという趣旨の注意喚起がある。Kunen『集合論』p25では、この不都合を避けた証明を「不格好な論法」として紹介している。以下はそれをさらに書き直したもの。

補題】任意の自然数\(n\)に対し、\(n\subset X\)である。
(証明)任意の自然数\(n\)をとり、\(\forall m\in n[m\in X]\)を導こう。\(n\)は関係\(\in\)について整列順序をなしているので、この関係を「\( < \)」と書くことにする。超限帰納法の原理を用いて、任意の\(m\in n\)をとって\(\forall l\in n[l < m\rightarrow l\in X]\)を仮定し、\(m\in X\)を導けばよい。
\(n\)が自然数であることから、\(m\)は空集合か後続順序数である。前者ならば\(X\)の定義から\(m\in X\)である。後者の場合、\(l\cup\{l\}=m\)なる順序数\(l\)が存在する。\(n\)が推移的集合であることと\(l\in m\)から\(l\in n\)であり、また\(l < m\)だから、 帰納法の仮定により\(l\in X\)、したがって\(X\)の定義から\(m\in X\)である。■

【定理】任意の自然数\(n\)に対し、\(n\in X\)である。
(証明)\(n=\varnothing\)のとき、\(X\)の定義から\(n\in X\)である。\(n\)が後続順序数のとき、\(m\cup\{m\}=n\)なる順序数\(m\)が存在する。\(m\in n\)と補題から\(m\in X\)、したがって\(X\)の定義から\(n\in X\)である。■

クラトフスキ順序対

クラトフスキ順序対\(\langle x,y\rangle=\{\{x\},\{x,y\}\}\)について、\(\langle a,b\rangle=\langle c,d\rangle\)のとき\(a=c\)かつ\(b=d\)であることを証明するのにはさまざまな方法がある。しかし「あれとこれが等しいとき・等しくないとき」といった場合分けをして集合の要素の個数に着目するような方法が果たして許されるのか、不安になる人もいることだろう。ここでは、外延性公理に密着した議論のみで証明を進める方法を示す。

補題】\(\{p,q\}=\{p,r\}\)ならば\(q=r\)である。
(証明)左辺の要素である\(q\)は右辺にも属すはずだから、\(q\in\{p,r\}\)すなわち\(q=p\)または\(q=r\)である。後者ならばただちに示されたことになるが、前者の場合、もとの等式は\(\{q\}=\{q,r\}\)となり、右辺の要素\(r\)が左辺にも属すことから\(\{q\}\ni r\)、したがってやはり\(q=r\)である。■

【定理】\(\{\{a\},\{a,b\}\}=\{\{c\},\{c,d\}\}\)のとき\(a=c\)かつ\(b=d\)である。
(証明)左辺の要素\(\{a\}\)は右辺にも属すことから\(\{a\}\in\{\{c\},\{c,d\}\}\)すなわち\(\{a\}=\{c\}\)または\(\{a\}=\{c,d\}\)が成り立つ。いずれにせよ右辺の要素\(c\)は左辺に属すことから\(\{a\}\ni c\)ゆえ\(a=c\)である。するともとの等式は\(\{\{a\},\{a,b\}\}=\{\{a\},\{a,d\}\}\)となるが、これに補題を適用すると\(\{a,b\}=\{a,d\}\)、再度適用すると\(b=d\)を得る。■

(2020年9月19日追記)
補題を同値変形で示す。\[\{p,q\}=\{p,r\}\]\[\Leftrightarrow\{p,q\}\subseteq\{p,r\}\wedge\{p,q\}\supseteq\{p,r\}\]\[\Leftrightarrow q\in\{p,r\}\wedge\{p,q\}\ni r\]\[\Leftrightarrow(q=p\vee q=r)\wedge(p=r\vee q=r)\]\[\Leftrightarrow q=p=r\vee q=r\]\[\Leftrightarrow q=r\]

全員の得点が上がれば、どの順位の得点も上がっている

\(n\)人のクラスでテストを2回行なったところ、全員、2回目の得点のほうが1回目より高かったとする。このとき、1回目の最高点よりも2回目の最高点のほうが高くなることは直感的に明らかだろう。最高点をとったのが同じ学生Aなら直ちに言えるし、別の学生Bが取ったのであれば、やはり「(Aによる)1回目の最高点<Aの2回目の得点≦(Bによる)2回目の最高点」となる。では、最高点以外の、同じ順位の(同じ学生によるとは限らない)得点同士についても、一般に「1回目<2回目」が言えるだろうか?結論は「Yes」であるが、これをきちんと証明しよう。

【問】\(n\)を正の整数とする。\(a_1\leq a_2\leq\ldots\leq a_n\)かつ任意の\(1\leq k\leq n\)なる整数\(k\)について\(a_k < b_k\)が成り立っている。\(b_1,b_2,\ldots,b_n\)を小さい順に並べ替えたものを\(c_1,c_2,\ldots, c_n\)とすると、任意の\(1\leq k\leq n\)なる整数\(k\)について\(a_k < c_k\)となることを示せ。

【証明】\(k\)を任意に固定して考える。\(c_1,c_2,\ldots,c_k\)はすべて\(c_k\)以下であるから、\(b_1,b_2,\ldots,b_n\)は\(c_k\)以下の項を少なくとも\(k\)個持っている。したがって、\(b_k\)以降がすべて\(c_k\)の値を超えるという事態は起こりえない。そこで、\(b_t\leq c_k\)かつ\(k\leq t\leq n\)なる整数\(t\)をひとつとると、\(a_k\leq a_t < b_t\leq c_k\)である。■