ごとけんです

In message "[ruby-math:00012] Re: Why is '**' not abelian"
    on 00/01/10, 石塚圭樹 <keiju / Rational.Com> writes:

>  a + b の定義は, succを用いて
>
>  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:

>まつもと ゆきひろです
>
>なんかすごく恐れおおいんですが :-)

わいわい :-)

>なんか + が可換なのは自明でも * が可換なのは実数の範囲でたま
>たまということは、この定義の繰り返しで最初のふたつが可換なの
>はそれぞれ別の理由なのでは?

ぼくもそうだと思います。数の積は長方形の面積のように、必ずし
も和の繰り返しに還元できないような要請からも出て来たのでしょ
う。たとえば、ユークリッドの幾何では面積で積を定義するような
ことになっています。

-- gotoken