
過去の質問「1+1=2の証明って?」
http://oshiete1.goo.ne.jp/kotaeru.php3?q=217225
を精読しました。
私は数学基礎論を少しだけ読んだことがありますが、自然数論は未勉強です。
過去の質問では、小さい自然数の定義した上で、プラスの定義を、
●f(n,m,m)=n
●m≠kのとき、f(n,m,k) = f(s(n),m,s(k))
そして
●+(n,m)=f(n,m,0)
とされていました。
それについで、カケルの定義はどうすればいいのですか?
そして、2×3=6の証明って、どうすればいいのですか?
No.6ベストアンサー
- 回答日時:
No.5へのコメントについてです。
> 累乗も同様に4変数関数で出来そうですね。
第1段: s()を繰り返したのが足し算+、
第2段: +を繰り返したのが掛け算×、
第3段: ×を繰り返したのが冪乗↑、
第4段: ↑を繰り返したのが↑↑(例えば3↑↑4=3↑(3↑(3↑3)))、
第5段: ↑↑を繰り返したのが↑↑↑、
…
ですから、回答No.5で+(,)とs()と場合分けを使って掛け算の関数gを作ったのと同じように、前の段の演算を利用すれば機械的に幾らでも積み上げることができます。
一方、掛け算はs()と場合分けだけを使って構成する事もできます。カウンターをもうひとつ増やして5変数関数にすれば簡単ですね。
ところで、s()と場合分けだけを使って作ったひとつの関数hで、任意のnについて第n段の演算を表す、ということも可能でしょう。(ただし、カウンター変数を無限個使う訳には行かないので、hは再帰的に構成せざるを得ないと思いますが。)
No.5
- 回答日時:
掛け算もカウンターを使って定義できます。
g(t,n,m,m)=t
m≠kのとき、g(t,n,m,k)=g(+(t,n),n,m,s(k))
×(n,m)=g(0,n,m,0)
これはプログラミングにおいて、プログラムの1箇所だけで生じる再帰呼び出しをループに変換する「テイル・マージ」という技法と同じことです。
ご回答、光栄です。
4変数関数とは予想外でした。それと、テイル・マージとはまったく初耳でした。これだと、再帰的定
義(帰納的定義)を回避できそうですね。
累乗も同様に4変数関数で出来そうですね。
●g(t,n,m,m)=t
●m≠kのとき、g(t,n,m,k)=g(×(t,n),n,m,s(k))
●^(n,m)=g(1,n,m,0)

No.4
- 回答日時:
既に回答がある方法で乗算を構成するのであれば、 m - 1 という「減算」ではなくて、「m の前の数」を使えば、自然に定義できると思います。
ペアノの公理によって、1(流儀によっては0)以外のあらゆる自然数は、「その前の数=ある数の次の数がその数になるような数」の存在が保証されているので。
No.3
- 回答日時:
No.1です。
再訂正。
減法を -(a,b) と記述し乗法の定義を訂正します。
×(n,m) は次のように再帰的に定義できます。
● ×(n,1)=n
● ×(n,m)=+(n,×(n,-(m,1)))
n=2,m=3 の例では
×(2,3)
=+(2,×(2,-(3,1)))
=+(2,×(2,2))
=+(2,+(2,×(2,-(2,1))))
=+(2,+(2,×(2,1)))
=+(2,+(2,2))
=+(2,4)
=6
この回答への補足
なんどもありがとうございます。自分なりに整理してみました。
まず、自然数の定義で、s(n)は「nの次の数」を表します。
n+mつまり+(n,m)の定義を、3変数関数を使って、
●f(n,m,m)=n
●m≠kのとき、f(n,m,k) = f(s(n),m,s(k))
そして
●+(n,m)=f(n,m,0)
とします。
すると、n-mつまり-(n,m)の定義を
●-(n,m) = f(0,n,m)
とすることができます。
n×mつまり×(n,m)の定義ですが、3変数関数を使うと、上記をまねて、
●g(n,0,1)=0
●g(n,m,m)=n
●m≠kのとき、g(n,m,k) = g(+(g(n,m,k),n),m,s(k))
そして
●×(n,m)=g(n,m,1)
とできそうです。(賛否があれば連絡いただきたいです。)その意味は、第三変数がカウンターの役割をして、1からmまでm回カウントされる間に、第一変数のnにはnを繰り返し足していく。n×0のときは特別扱いする。
ただ、カケルの定義は、どうしても再帰的(帰納的)になってしまいそうです。
でも、プラスの定義は、3変数関数的(カウンター的)でも、再帰的(帰納的)でもできそうです。
No.2
- 回答日時:
No.1です。
訂正します。
No.1の回答の乗法の定義で、
> ● ×(n,m)=+(n,×(n,m-1))
m-1 という減法を使ってました。
したがって1行目の
『n,mが自然数で加法の定義を用いてよいのなら』
を次のように訂正します。
『n,mが自然数で加法と減法の定義を用いてよいのなら』
No.1
- 回答日時:
n×m の定義は、n,mが自然数で加法の定義を用いてよいのなら簡単です。
参考質問でのstomachman氏の回答にある記述法を援用します。
n×m を ×(n,m) と記述します。
×(n,m) は次のように再帰的に定義できます。
● ×(n,1)=n
● ×(n,m)=+(n,×(n,m-1))
n=2,m=3 の例では
×(2,3)
=+(2,×(2,2))
=+(2,+(2,×(2,1)))
=+(2,+(2,2))
=+(2,4)
=6
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
皆さん定義を教えてください 「...
-
ヘシアンが0の場合どうやって極...
-
1未満と1以下の違い
-
eの0乗は1ってどういう原理です...
-
「互いに素」の定義…「1と2は互...
-
p⇒q=(¬p)∨qについて
-
合法ロリの年齢的定義は、何歳...
-
日本語 ことば ひとまわり ふた...
-
無限から無限を引いたら何にな...
-
べき乗
-
1」は昔は素数だったそうです...
-
最大元と極大元の定義の違いが...
-
互いに素とは?
-
\\mathrmと\\rmの違いについて...
-
範囲内でのラプラス変換について
-
性暴力ってどこまでOK,どこから...
-
開球 凸集合 証明
-
数学の質問です loge 3=1.1に...
-
“半日”って何時間のことなんで...
-
行を入れ替えると行列式が-1倍...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
皆さん定義を教えてください 「...
-
べき乗
-
無限から無限を引いたら何にな...
-
eの0乗は1ってどういう原理です...
-
1未満と1以下の違い
-
最大元と極大元の定義の違いが...
-
ヘシアンが0の場合どうやって極...
-
合法ロリの年齢的定義は、何歳...
-
「logx^2=2logx」が間違って...
-
「互いに素」の定義…「1と2は互...
-
性暴力ってどこまでOK,どこから...
-
5桁の整数nにおいて,万の位,...
-
日本語 ことば ひとまわり ふた...
-
「たて目」っていうのは要する...
-
同時(性)の定義の意味、そして...
-
1wordとは、何文字ですか?
-
なぜ、直角三角形ではないのにs...
-
e<3の証明を教えてください。
-
行を入れ替えると行列式が-1倍...
-
ユーザー定義関数をアドイン登...
おすすめ情報