数理論理学・集合論の問題
自然数は を含むものとし、 とする。 で 番目の素数を表す()。 と に対し、 を「 となる最大の 」と定め、 とする。
長さ の有限列 のゲーデル数を
と定める(空列のゲーデル数は )。関数 を、 がある有限列 のゲーデル数であるとき 、そうでないとき と定める。
が原始再帰関数であることを証明せよ。
ただし、次の事実は用いてよい。
- , , ( なら 、そうでなければ )、、 は原始再帰関数であり、述語 と は原始再帰的である。
- 原始再帰関数・原始再帰的述語の全体は、合成、原始再帰、論理結合子 、有界量化 , ( は原始再帰関数の値)で閉じている。また、述語 が原始再帰的であることは、その特性関数 ( が成り立てば 、そうでなければ )が原始再帰関数であることと定義する。
- 素因数分解の一意性。
この問題で使うもの
- 原始再帰的定義と関数の値(説明と入口の問題)
- 素因数分解による列のゲーデル数(説明と入口の問題)
この問題を解けるようになるまで(20 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
「 がゲーデル数である」という述語を原始再帰的に書き、その特性関数と、指数 から作った有界和の積として を表すことを目指しましょう。
ヒント 2
がゲーデル数であることは「 かつ、 を割る素数の添字の集合が の形」と言い換えられます。量化の範囲を有界にするには を使います。和は を考えます。
ヒント 3
を帰納法で示すと、 なら になります。そこで とおき、これがゲーデル数であることと同値であることを両方向から確かめます。
採点の観点と模範解答
自分で証明を書いてから、採点の観点で見比べてください。
採点の観点を見る
素因数分解の一意性から、ゲーデル数 に対して列の長さと各項が一意に決まり()、 が矛盾なく定義されていることを述べている(1 点)
(したがって なら )を帰納法などで示し、量化や和の範囲を で抑えられる根拠にしている(2 点)
「 がゲーデル数である」を有界量化だけを使う述語(例: )で表し、それが原始再帰的であることを閉包性から説明している(2 点)
その述語がゲーデル数であることと同値であることを両方向とも示している(特に、添字の集合が下に閉じた有限集合なので になることを使っている)(2 点)
が原始再帰で定義できることを示し、 が全ての で成り立つことを、 と の項が になることから確かめている(2 点)
以上を合成で閉じていることにまとめ、 が原始再帰関数であると結論している(1 点)
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
模範解答を読む
方針. がゲーデル数であるという述語 を原始再帰的に書き、 と表せることを示す。
補題 1( が定義としてきちんと決まること). のとき、素因数分解の一意性から、 なら 、 なら である。よって は「 となる の個数」として、各 は として から一意に決まる。したがって は矛盾なく定義されている。
補題 2. すべての について 、特に である。
についての帰納法で示す。 のとき 。 を仮定すると、素数の列は狭義単調増加なので 。
この結果、 で ならば 、つまり である。
補題 3( は原始再帰的). 述語
を考える。 は と同じで原始再帰的である。 と は原始再帰関数 を原始再帰的述語 に合成したものなので原始再帰的である。これらに と有界量化 , を施したものも原始再帰的である。 が「 がある有限列のゲーデル数である」と同値であることを示す。
( の向き:ゲーデル数なら が成り立つ) とする。 である。 なら補題 1 より なので、 なら となり 。よって が成り立つ。
( の向き: が成り立てばゲーデル数) を仮定し、 とおく。補題 2 より なので は有限である。また , なら なので、仮定から 、すなわち となる。よって は下に閉じた有限集合なので、 とすると である。 の素因数は () だけなので、素因数分解により
となる。 とおけば となり、 はゲーデル数である。
補題 4(有界和). は原始再帰関数の合成なので原始再帰関数である。 は
という原始再帰で定義されるので原始再帰関数である。
の表示. すべての について
が成り立つことを示す。
・ がゲーデル数でないとき:補題 3 より なので右辺は で、定義から に等しい。
・ のとき: である。まず を確かめる。 なら明らかで、 なら だから補題 2 より 、つまり 。次に補題 1 より、 では 、 では なので 。したがって
これで が示された。(補題 3)と (補題 4 の に恒等関数を合成したもの)はともに原始再帰関数であり、積 も原始再帰関数なので、合成で閉じていることから は原始再帰関数である。
以上により、 は原始再帰関数である。