けいじゅ@日本ラショナルソフトウェアです.

In [ruby-math :00014 ] the message: "[ruby-math:00014] Re: Why is '**'
not abelian ", on Jan/11 02:40(JST) GOTO Kentaro writes:

>ごとけんです

>>  Sa(0) = a
>>  Sa(b.succ) = Sa(n).succ
>>  a + b = Sa(b)
>
>これだと、a でパラメトライズされた Sa という単項関数の定義で
>すよね。単項だから可換とかいう性質はないわけです。

それはそうです. でも,

>>と定義できますよね? で, これらの定義って形式的に似ているのに, 何で, **で
>>は可換性の性質が欠落してしまうんだろう? ってことではないかしら?
>
>まぁ似てるのは分かりますが、似てるときに可換性が保存するとい
>う推論自体に相当な飛躍があると思います。

このことはヒジョーに言えていますね(^^;;;

>もともと、succ**n(m) == succ**m(n) というのが n+m == m+n の
>数論的な起源です。この場合、mという数自体が 0 に対する succ 
>の適用回数で定義されるので、上の等号をもし証明ぽく示すなら、
>
>  succ**n(m) => succ**n(succ**m(0))
>             => succ**n(succ(succ(...succ(0)...)))
>                       |<-- succがm個 -->|
>
>             => succ(succ(...(succ(succ(succ(...succ(0)...))))...))
>                |<-- succがn個 -->|<-- succがm個 -->|
>
>となります。
>
>一方、自然数の積の可換性はこのような複数回適用の形に還元でき
>ません。もし無理にそうやろうとすると、石塚さんが示したように、
>単項関数 Ma に帰着せざるを得ず、そうすると各点の対 a,b での
>議論になります。これは Ma(b) == Mb(a) をめざすもので、形式的
>には上で示した可算の場合の議論と異なります。

違うって言えば違うような気もしますが, 厳密に証明しようと思うと似た者にな
るとも思いますが...


>In message "[ruby-math:00013] Re: Why is '**' not abelian"
>    on 00/01/11, Yukihiro Matsumoto <matz / netlab.co.jp> writes:
>
>>まつもと ゆきひろです
>>なんかすごく恐れおおいんですが :-)
>
>わいわい :-)

(^^;;;

>>なんか + が可換なのは自明でも * が可換なのは実数の範囲でたま
>>たまということは、この定義の繰り返しで最初のふたつが可換なの
>>はそれぞれ別の理由なのでは?
>
>ぼくもそうだと思います。数の積は長方形の面積のように、必ずし
>も和の繰り返しに還元できないような要請からも出て来たのでしょ
>う。たとえば、ユークリッドの幾何では面積で積を定義するような
>ことになっています。

豊福さんとしては, 別の理由があるならその理由が知りたいんでしょうね?


__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---