巨大数探索スレッド5

このエントリーをはてなブックマークに追加
952714:04/04/17 15:07
>>943
>一般にF_f(x)=min[ f^(-1)([f(0)+x,∞)) ] と書けることと
なんか違う。
そもそもF_fの定義を読み違えていたようです。
953714:04/04/17 15:15
で、>>942のGはこっちが正しいような気がしてきたんですが
G(x) = μy.(1+x-f(y)) =min { y | f(y)>x }

直感的には逆関数を合成したようなものになってるんでしょうか?
まず、>>7 について考えてみました。
有限列 s に関する原始帰納的関数を用意します。
(s)_i :s の i 番目と (a\m)_i = a, i≦m :長さ m の有限列など。

f_n(3,a,b,1) = a^b
f_n(3,a,b,2) = f_{n-1}(a, b\(a-2), b, b)
b>1,c>2 のとき
f_n(3,a,b,c) = f_n(3,a,f_n(3,a,b-1,c), c-1)
ここまでが初期状態 (3から始めている)。 f_{n-1} が2重帰納的関数なら
2重帰納的関数となっている。
k≧4 のとき
b=1 または c=1 なら f_n(k,a,b,c) = a^b
b>1 かつ c>1 なら f_n(k,a,b,c) = f_n(k,a,f_n(k,a,b-1,c), c-1)
ここの形も2重帰納的関数の定義となっている。

7 の関数は f_n の a のところに有限列 a,b,...,x をかためてほうり込めば
えられる。
955714:04/04/17 21:29
>>954
f_{n-1} が2重帰納的関数ならといっても、
そもそもf_{n-1}はnumeric functionではないんじゃないですか?

>f_n(3,a,b,2) = f_{n-1}(a, b\(a-2), b, b)
ここを見る限り任意の長さの有限列σに対して一斉に
f_{n-1}(σ)が定義されているという仮定があるように思えます。

それと第1変数のkが何のために存在しているのかよく分からないのですが・・・
>>955
帰納関数論で自然数の有限列がどのように自然数として扱えるか学んで
ください。
それがわからないと理解できないと思います。
957714:04/04/17 22:20
>>956
そういうことですか。わかりました。
>>956
や、だからそういう態度をとられてしまうと議論がそこでストップしてしまうのですが・・・。
>>958
もう限界なんでしょう。
一番肝心な部分を省略して証明とは・・・
f_nの最初のパラメータの意味とか、何で3から始めるのかとかぐらいは素人にも説明できそうなものだが。
>>961
教えてクンってウザイ
>>962
それはこういうときに言う台詞じゃないだろう・・・。
954 は肝心なところを書いている証明なのですが、おわかりにならない方も
いらっしゃるようなので少し説明します。しかし自然数の有限列を自然数で
表したり、その数から元の有限列の要素を取り出したりすることが原始帰納的
関数でできることは帰納的関数に関することを書いてある数学の本のほとんど
に書いてあることなので説明しません。
まず >>7 にある ↑n は関数とはなっていないことに注意します。関数という
のは変数の個数が決まっているものです。そこで変数の個数についての情報
を k としていれて4 変数の関数を定義することにします。n = 1 の場合は
b\(a-2) に関するところがないので2重帰納的であることが明らかです。
k=3 からやっているのは 1,2 のときは 3以上に含まれているので不必要だ
からです。954の式は決して簡単な書き直しではありません。n を含んだ5
変数関数の定義としてみると3重帰納的であるという形ではなく、5重帰納的
であるという形となっています。つまり、元の ↑n(a,b,2) は複雑な要素を
含んでいるということなのでしょう。
有限列を使えば簡単に2重帰納法で表されるというわけではありません。7に
ある定義を見て前の部分のみ有限列としてまとめるから2重帰納的である
ことがわかるわけで、すべてをまとめてしまっては帰納的であることさえ定か
でなくなります。
このあと、ふぃっしゅ数に関することの証明をしようとすれば、定義を正確
に書いておくことが必要です。954 の証明でわかるように、概念や雰囲気だけ
では間違える要素が多くあるところのようです。
>>964
どもども。ありがとうございます。
>関数というのは変数の個数が決まっているものです。
>そこで変数の個数についての情報を k としていれて4 変数の関数を定義することにします。

aの部分の変数の個数が、kによってコロコロ変わるようなものも、関数なのか?
情報が変数の一つに入っていれば良いなんて、変だぞ。
>自然数の有限列を自然数で
>表したり、その数から元の有限列の要素を取り出したりすることが原始帰納的
>関数でできることは帰納的関数に関することを書いてある数学の本のほとんど
>に書いてあることなので説明しません。

素数列p_nを取って、
N^n∋(x_1,x_2,...,x_n)→p_1^x_1*p_2^x_2*...*p_n^x_n∈N
とする、という事だろうが、しかしnも変化させる時、
これを原始帰納的「関数」と捉えて良い?
>このあと、ふぃっしゅ数に関することの証明をしようとすれば、定義を正確
>に書いておくことが必要です。

どれをふぃっしゅ数というのか、よく知りませんが、
少なくとも>>10-12は正確な定義でしょう。
>>968
分からないのにくいさがる馬鹿ってウザイ
君、10-12がわからないの?
971714:04/04/18 20:46
>>966>>967
おそらく両氏の疑問は同じところにあるのだと思いますが

>N^n∋(x_1,x_2,...,x_n)→p_1^x_1*p_2^x_2*...*p_n^x_n∈N
みたいな"写像"を考えて自然数の話に帰着するのではなく、
自然数列を扱う代わりにそのコード化である自然数を扱うという話です。
ゲーデル数みたいに。

あんまりうまく説明できないんですが、
何か一つ例を出すとわかりやすいかもしれません。
ちょっと考えてみます。
自然数上の原始帰納関数 ( )_i, *, lh 等が存在し、
>>967 にあるコーディングの下で、lh は有限列の長さ、
* は列の連結、( )_i は列の第 i 成分等を表すことが
わかる。

これは、自然数とこれらの原始帰納関数のなるカテゴリーが
自然数の有限列全体と有限列を扱う基本的な演算のカテゴリー
と同型となることを意味している。

だから、自然数の有限列上の関数 f についての議論は、上の
同型で対応する自然数上の関数 g についての議論に帰着できる。
>これは、自然数とこれらの原始帰納関数のなるカテゴリーが
>自然数の有限列全体と有限列を扱う基本的な演算のカテゴリー
>と同型となることを意味している。

圏1:対象はN一つ、Hom(N,N)は原始帰納関数全部
圏2:対象は自然数の有限列の成す集合X一つ、Hom(X,X)は原始帰納関数(?)全部

この二つの圏が同型というのは、良いんだろうけど、問題はHom(X,X)の定義が、
先に与えられるのか、あるいはHom(N,N)を用いて定義するのか、
後者の場合はN^nの時の定義とうまくかみ合うのか?
といった疑問が>>966-967の正体だと思う。
> 問題はHom(X,X)の定義が、先に与えられるのか、
> あるいはHom(N,N)を用いて定義するのか

お好きならば、自然数と自然数の有限列からなる 2-sort の
カテゴリーを定義して、その上の原始帰納関数の理論を作れば
同時に解決できますよ。

問題になるのは X 上の基本操作に対応する関数と、N の元 n
に対し、n からなる長さ 1 の列を対応させる関数、それと X
上の列の長さに関する原始帰納法による関数の定義だけでしょ。

> 後者の場合はN^nの時の定義とうまくかみ合うのか?

( )_i, *, lh 等が原始帰納関数なのだから、これはあたりまえ。
どうもすみません。よくみたら >>954 には書き間違いがあります。
967,974で使われている記法は普通のようなのでそれを使います。

まず k≧4 のときですが、b=1 または c=1 のときというのが具合が
わるいです。そのときは、まず

a が長さ k-2 の有限列のコードでないとき、f_n(k,a,b,c) = 1。
これは b,c の値に無関係にそう定義します。
a が長さ k の有限列のコードであるときで、
b=1 または c=1 のとき f_n(k,a,b,c) = f_n(k-1,a',(a)_k,b)
ただし、a'*(a)_k = a 。
b>1 かつ c>1 のときは前と同じで
f_n(k,a,b,c) = f_n(k,a,f_n(k,a,b-1,c),c-1)。

その結果というと変ですが、f_n(3,a,b,c) でも長さ 1 の有限列の
コードとやったほうが整合性があると思います。しかし、準備を
しっかりしないと中々大変なもんですね。

さてそうすると、これは n = 1 のときはほぼ >>7 のままとして、
2 重帰納法 ですが n が 2 以上では 2重帰納法には見えませんね。
4重帰納法となっていることは形からわかります。a' は a より
小さいから、3重帰納法とはなっていると予想できますが、証明を
する必要がありますね。証明することを提案したので、954を書き
ましたがとても勉強になりますね。
964 に書きましたが↑n は >>7 で何変数の関数として定義されている
のでしょうか? この定義域が自然数の有限列全体とするならば、その後
>>10 で1 変数の自然数に関する関数として許されるものは何なんで
しょうか? このあたりをはっきりさせないと色々なことの証明は進まない
と思います。>>966 >>967 の疑問はむしろ >>7 に向かうべきなのでは
ないでしょうか? そして、自然数の有限列を自然数で表すというのはむしろ
>>7 の時点でなされることにより、自然数上の関数として定義され、既存
の帰納的関数論とのつながりもはっきりすると思います。
>だから、自然数の有限列上の関数 f についての議論は、上の
>同型で対応する自然数上の関数 g についての議論に帰着できる。

あまり安心できていないのだけど、
例えば>>967の記号の元でg(n)=(p_1p_2...p_n)^nとすると、
これが原始帰納的であることは、
>>972ではどう保証されるのでしょうか?
これは有限列上の関数fからg(n)=f(n,n,...,n)(n個)を
作る事を意識しての質問ですが。
>>>966 >>967 の疑問はむしろ >>7 に向かうべきなのでは
>ないでしょうか?

>>966は、>>964

>関数というのは変数の個数が決まっているものです。

というご説明を受けての事と思われます。
関数という言葉で、帰納的関数を意味するのは、方言ですので。
もっとも、↑n(a,b,...,x,y,z)は↑n((a,b,...,x,y,z))とするのが良いとは思いますが。

>>954は、すでに↑nとは定義域の別の関数を考察している(aは自然数)、
と理解していますが、その場合a\mは自然数列ではなく(p_1p_2...p_m)^aですか。
安心できればいいんですが。
>>977
972 を書いたわけではないのですが、まず、n 番目の素数を対応
させる関数として p_n は原始帰納的です、これは極めて多くの本
に書いてあります。ですから g(n) が原始帰納的であることは成立
しています。また、今まで書かれているように有限列のコードが
原始帰納的関数でなされることを使い、↑n((a,b,...,x,y,z))
とされるのであれば、これ自然数から自然数への1 変数関数として
しますのが後のなながりをよくすると思います。
a\m は自然数列のコードですから、コードの仕方が p_n を使うのなら
954 はまさしくそれを使っているのです。954 + 975 はすべてを自然数
に関する4 変数関数でなされるため、良く知られている、自然数の
有限列コードを使おうといっているのです。ですから >>971 の説明は
適切だと思います。
>>976
↑n は >>7 で何変数の関数として定義されている
のでしょうか?

変数の数自体が可変、あるいは任意長の関数ということだと思う。
>>>10 で1 変数の自然数に関する関数として許されるものは何なんで
>しょうか? このあたりをはっきりさせないと色々なことの証明は進まない
>と思います。

それは定義の問題ではありませんので、
例えば帰納的関数の枠組みで取り扱う必要のある方なら、
帰納的関数として十分か(即ち以後の定義に支障はないか)?
など考えられると良いと思います。

予想するだけなら、帰納的関数として十分な気はしますが、
なにぶんコード化さえ最近知った所で、証明は手に余ります。
982714:04/04/21 12:36
列の長さの情報はlh(a)という形でaに含まれているものと考えれば
kは必ずしも必要ではないんじゃないかという気がしてきましたが、
やっぱり必要なんでしょうか?

一応3変数でそれらしい定義を書いてみたのですが
確信がもてないのでもうちょっと検証してみます。
>>982
とくに必要というわけではなく、↑n から関数を定義する際、変数の個数
を指定すべきであるという観点で、対応が見えやすいという理由でした。
↑n を使って定義する関数が最終的に n を含んだ関数とするなら、必要
ないと思います。
目標は、この関数が4 重帰納的あるいは5 重帰納的であることを明確に
すること。>>10 のやり方が原始帰納法で置き換えられるということを
示すといった2 点であろうと思います。
n 重帰納的であることを示すために、原始帰納的であることを示すときに
使う補題を用意しておかないで直接示すのはやっかいかもしれません。
984。
ふぃっしゅ関数のバージョンが6以降も無限に拡張できるとしたら
ヴァージョン番号を引き数にとる関数を作ればふぃっしゅ関数が生成する数を
こえる巨大数を生成する関数ができるじゃん

ふぃっしゅ関数ヴァージョン1〜nをF1(x)〜Fn(x)とすると

FF(x,1) = F1(x)
FF(x,2) = F2(x)
FF(x,3) = F3(x)
FF(x,4) = F4(x)
FF(x,5) = F5(x)



FF(x,n) = Fn(x)

G(x) = FF(FF(x,x),FF(x,x))

てなぐあいにね
986132人目の素数さん:04/04/22 22:57
任意の数に対して任意の関数または任意の演算子を任意の回数くり返して
導出された関数または演算子のヴァージョン番号に自然数を対応させてせれば
そのバージョン番号を引き数とする関数または演算子を定義することにより
その引き数に導出した関数または演算子を任意の回数入れ子にすることによって
いくらでも次元を超越する巨大数を生成する関数を導き出せますよね

よって、キリがない。
>>985
その考え方は素晴らしい考え方だ! >>1 の一番はじめの書いてある
「前の数+1」というのと本質的に変わらない!と思えれば、
あなたは数学者への道を歩んでいる!なんちゃって。
>>985
>ふぃっしゅ関数のバージョンが6以降も無限に拡張できるとしたら

とか言ってる時点で、意味の無い発言ですな。
>>985-986
Ver5及び6自体がそういう感じの関数じゃないの?

もっとも、985のような、いい加減な定義ではないけど
>>989
Ver.5はまだできてない、はず。
というか、ver.4がどんなのだったかも記憶にないのだが。
Ver.5を作ろうとして、帰納関数のところで話が混乱してそのままになっている、といった感じだったかな。
てゆうか早くVer.5完成させてください。
つうかアッカーマン関数やタワー演算子がすでにその演算子のバージョンを
引き数にとってシステムを増大させているわけだから、>>987の言っている
『「前の数+1」というのと本質的に変わらない』
ということなってしまう。

そうするとこのスレで議論していること自体が
スレの前提条件と矛盾したことになるのでは?
※種関数f(x,n)を決める。
※定義したい定義番号kを決める。
※定義番号iを1に初期化

k = 1 『定義番号kが決まってない場合』
f(x,n) = x+n 『f(x,n)が決まってない場合』

※繰り返しポイント(A)

x[0]n := f(x,n)
x[1]n := x[0](x[0](x[0](...[0](x[0]x)...))) 『xに演算子[0]をn-1回適用』
x[2]n := x[1](x[1](x[1](...[1](x[1]x)...))) 『xに演算子[1]をn-1回適用』
x[3]n := x[2](x[2](x[2](...[2](x[2]x)...))) 『xに演算子[2]をn-1回適用』
x[4]n := x[3](x[3](x[3](...[3](x[3]x)...))) 『xに演算子[3]をn-1回適用』

x[m]n := x[m-1](x[m-1](x[m-1](...[m-1](x[m-1]x)...)))
   『xに演算子[m-1]をn-1回適用』

f(x) := x[x]x 『関数fはxに演算子[x-1]をx-1回適用すること』
f(x,1) := f(f(x)) 『関数fを1回入れ子』
f(x,2) := f(f(f(x))) 『関数fを2回入れ子』
f(x,3) := f(f(f(f(x))))) 『関数fを3回入れ子』
f(x,4) := f(f(f(f(f(x))))) 『関数fを4回入れ子』

f(x,n) := f(f(f(f(f(...f(x)...))))) 『関数fをn回入れ子』

※もし定義番号iと定義番号Kが等かったら終了ポイント(B)へジャンプ
※定義番号iをインクリメントする。
※繰り返しポイント(A)にもどる。

※終了ポイント(B)
f(x,n,1)『定義番号kが1の場合のf(x,n)』
f(x,n,2)『定義番号kが2の場合のf(x,n)』
f(x,n,3)『定義番号kが3の場合のf(x,n)』
f(x,n,4)『定義番号kが4の場合のf(x,n)』

f(x,n,m)『定義番号kがmの場合のf(x,n)』

g(x) := f(x,x,x) 『関数gは関数fの引き数全てに同じ値xを入れること』
g(x,1) := g(g(x)) 『関数gを1回入れ子』
g(x,2) := g(g(g(x))) 『関数gを2回入れ子』
g(x,3) := g(g(g(g(x))))) 『関数gを3回入れ子』
g(x,4) := g(g(g(g(g(x))))) 『関数gを4回入れ子』

g(x,n) := g(g(g(g(g(...g(x)...))))) 『関数gをn回入れ子』

f(x,n) := g(x,n)
※g(x,n)を種関数として>>994の定義を適用
どうでもいいでつが、次スレは何時起つのでつか
>>995
それで、ようやくSS変換1回分くらいかな。

久々に「SS変換」という言葉を使ってみたかっただけ。
>>993
アッカーマンやタワーのどこに、
>>1の「前の数」とか、>>985の「拡張できたとして」
に相当する遅出し要素がある?
>>994-995
ふぃっしゅのアイデアにさえ、遠く及ばない。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。