掛け算は交換法則を満たし割り算は交換法則を満たさないのであれば

掛け算と割り算は違うものであり、掛け算を割り算にしたり、割り算を掛け算にしてはいけないということになりませんか?
掛け算と割り算が同じものであるならば、掛け算は交換法則を満たしていないということでは?
A/BにおいてBが0の場合を不定とするならば対応する乗算においても不定になるA*Bが存在するということです。

> 割り算をかけ算にするときは、“かける数”の分母と分子を逆転させます。
> 6÷3 をかけ算にすると  6×(1/3)  です。
> どちらも答えは2ですね。
> これに関して、割り算をかけ算にすれば交換法則が成り立ちます。

a / b を掛け算にすると a * (1 / b)ということですね。
1 / b を掛け算にすると 1 * (1 / b)ということですね。
おかしいですね。1 / bが永遠に解決できません。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/05/08 21:31:06
  • 終了:2011/05/15 21:35:03

ベストアンサー

id:practicalscheme No.1

practicalscheme回答回数157ベストアンサー獲得回数422011/05/08 21:37:54

ポイント23pt

http://q.hatena.ne.jp/1304487720 からの流れを何となく踏まえて回答します。

(1) 「掛け算と割り算は違うものであり、掛け算を割り算にしたり、割り算を掛け算にしてはいけないということになりませんか?」

もちろん掛け算と割り算は違うものです。但し、両者にはある関係があります (関係というよりほとんど定義ですが)。


A×B=C かつ B≠0 ならば、 C/B=A

C/B=A ならば、 A×B=C (B=0のときC/Bは定義されないので、考慮する必要なし)


この関係を前提にして、式を変形させることはできます。


もう少し正確に言うと、Bに掛けると1(乗法の単位元)となる数 B' が存在する場合、つまり B × B' = 1 となるような B' が存在する場合に、B'をBの逆元といい、

A × B = C より

A × B × B' = C × B'

A × 1 = C × B' (B × B' = 1 より)

A = C × B' (乗法の単位元の定義より)

となるので、「Bの逆元を掛ける」ことを「Bで割る」と呼んでいると考えられます。


「B'が存在する場合」という但し書きをつけましたが、存在しない場合は当然逆元を掛けることはできず、従ってBで割ることはできません。

整数や実数や複素数の世界では、0だけが、逆元が存在しない数です。

でも、別の数の定義を使うと、0以外にも逆元が存在しない数がある場合もあります。例えば行列の演算なら、0行列以外にも逆元が存在しない行列(非正則行列)は無数にあります。行列の世界では、Bが非正則行列ならば割り算は定義できない、ということになります。


余談ですが、交換法則を満たさない掛け算、というのもあります。行列の乗算もそうですね。掛け算が交換法則を満たさなくても、逆元を掛ける方向を間違えなければ上のように割り算を定義することができます。


(2) 「掛け算と割り算が同じものであるならば、掛け算は交換法則を満たしていないということでは?」

掛け算と割り算は同じものではないので、この問いは無意味です。

なお上の関係を見れば、「掛け算における乗数と被乗数の交換」が「割り算における除数と被除数の交換」とは対応していないことがわかります。もし除算が交換可能であれば、 C/B = A から B/C = Aが導けちゃいますが (C≠0とする)。すると二番目の関係よりA×C = Bが導けてしまいます。最初はA×B = Cだったんで、これはまずいですね。ですから、「定義により」割り算は交換法則を満たすことはできないんです。


(3) 「A/BにおいてBが0の場合を不定とするならば対応する乗算においても不定になるA*Bが存在するということです。」

乗算と除算は1対1対応するものではなく、「定義により」乗算は存在するのに対応する除算が計算できない、というケースがあります。除算が計算できないからといって、対応する乗算も計算できなきゃおかしい、なんてことはありません。そういう定義なんですから。


掛け算と割り算を違うように定義することによって、完全に1対1対応が取れるような世界を作ることができるかもしれません。

ちなみに、「要素がひとつだけの環」という世界では0の逆元が0になり、0で割ることが可能です。0/0=0になります。とはいっても他にできる計算は0x0=0とか0+0=0とか0-0=0だけなんで、あんまり面白い世界ではないです。


(4) 「おかしいですね。1 / bが永遠に解決できません。」

1/b というのが、上の定義で述べた「bの逆元」に相当します。そこは計算をそれ以上進める式ではなく、「b × b' = 1 なる b' を、 1/b と書いているのだ」と考えます。もちろんb=0の時は逆元が存在しない、つまり「1/bなる数」は存在しない、ということになります。

id:moonwolf

掛け算を割り算にできるのならば、その表現に割り算が現れたばあい、永遠に割り算を掛け算にすることになり、解決できません。

2011/05/08 21:43:31

その他の回答(3件)

id:practicalscheme No.1

practicalscheme回答回数157ベストアンサー獲得回数422011/05/08 21:37:54ここでベストアンサー

ポイント23pt

http://q.hatena.ne.jp/1304487720 からの流れを何となく踏まえて回答します。

(1) 「掛け算と割り算は違うものであり、掛け算を割り算にしたり、割り算を掛け算にしてはいけないということになりませんか?」

もちろん掛け算と割り算は違うものです。但し、両者にはある関係があります (関係というよりほとんど定義ですが)。


A×B=C かつ B≠0 ならば、 C/B=A

C/B=A ならば、 A×B=C (B=0のときC/Bは定義されないので、考慮する必要なし)


この関係を前提にして、式を変形させることはできます。


もう少し正確に言うと、Bに掛けると1(乗法の単位元)となる数 B' が存在する場合、つまり B × B' = 1 となるような B' が存在する場合に、B'をBの逆元といい、

A × B = C より

A × B × B' = C × B'

A × 1 = C × B' (B × B' = 1 より)

A = C × B' (乗法の単位元の定義より)

となるので、「Bの逆元を掛ける」ことを「Bで割る」と呼んでいると考えられます。


「B'が存在する場合」という但し書きをつけましたが、存在しない場合は当然逆元を掛けることはできず、従ってBで割ることはできません。

整数や実数や複素数の世界では、0だけが、逆元が存在しない数です。

でも、別の数の定義を使うと、0以外にも逆元が存在しない数がある場合もあります。例えば行列の演算なら、0行列以外にも逆元が存在しない行列(非正則行列)は無数にあります。行列の世界では、Bが非正則行列ならば割り算は定義できない、ということになります。


余談ですが、交換法則を満たさない掛け算、というのもあります。行列の乗算もそうですね。掛け算が交換法則を満たさなくても、逆元を掛ける方向を間違えなければ上のように割り算を定義することができます。


(2) 「掛け算と割り算が同じものであるならば、掛け算は交換法則を満たしていないということでは?」

掛け算と割り算は同じものではないので、この問いは無意味です。

なお上の関係を見れば、「掛け算における乗数と被乗数の交換」が「割り算における除数と被除数の交換」とは対応していないことがわかります。もし除算が交換可能であれば、 C/B = A から B/C = Aが導けちゃいますが (C≠0とする)。すると二番目の関係よりA×C = Bが導けてしまいます。最初はA×B = Cだったんで、これはまずいですね。ですから、「定義により」割り算は交換法則を満たすことはできないんです。


(3) 「A/BにおいてBが0の場合を不定とするならば対応する乗算においても不定になるA*Bが存在するということです。」

乗算と除算は1対1対応するものではなく、「定義により」乗算は存在するのに対応する除算が計算できない、というケースがあります。除算が計算できないからといって、対応する乗算も計算できなきゃおかしい、なんてことはありません。そういう定義なんですから。


掛け算と割り算を違うように定義することによって、完全に1対1対応が取れるような世界を作ることができるかもしれません。

ちなみに、「要素がひとつだけの環」という世界では0の逆元が0になり、0で割ることが可能です。0/0=0になります。とはいっても他にできる計算は0x0=0とか0+0=0とか0-0=0だけなんで、あんまり面白い世界ではないです。


(4) 「おかしいですね。1 / bが永遠に解決できません。」

1/b というのが、上の定義で述べた「bの逆元」に相当します。そこは計算をそれ以上進める式ではなく、「b × b' = 1 なる b' を、 1/b と書いているのだ」と考えます。もちろんb=0の時は逆元が存在しない、つまり「1/bなる数」は存在しない、ということになります。

id:moonwolf

掛け算を割り算にできるのならば、その表現に割り算が現れたばあい、永遠に割り算を掛け算にすることになり、解決できません。

2011/05/08 21:43:31
id:pomki_chi No.2

狸吉回答回数90ベストアンサー獲得回数112011/05/08 23:20:09

ポイント23pt

>1 / b を掛け算にすると 1 * (1 / b)ということですね。

>おかしいですね。1 / bが永遠に解決できません。

これはおかしくないですよ

例)

x^2=(x^3)/x=(x^4)/(x^2)

どこもおかしくないですよね


>不定になるA*Bが存在するということです。

A×∞=∞

コレもありうる計算だと思います

id:quintia No.3

quintia回答回数559ベストアンサー獲得回数682011/05/09 00:01:15

ポイント22pt

質問は2つに分けられます。

掛け算は交換法則を満たし割り算は交換法則を満たさないのであれば

掛け算と割り算は違うものであり、掛け算を割り算にしたり、割り算を掛け算にしてはいけないということになりませんか?

掛け算と割り算が同じものであるならば、掛け算は交換法則を満たしていないということでは?

と、

A/BにおいてBが0の場合を不定とするならば対応する乗算においても不定になるA*Bが存在するということです。

の2つです。


前者の部分を足し算引き算に変更してみると、

足し算は交換法則を満たし引き算は交換法則を満たさないのであれば

足し算と引き算は違うものであり、足し算を引き算にしたり、足し算を引き算にしてはいけないということになりませんか?

足し算と引き算が同じものであるならば、足し算は交換法則を満たしていないということでは?

となり、同じ形、同じ疑問になります。逆演算という考え方に対する一般的な質問なのですね。

足し算引き算には0割を許さない、とかそんなものはないわけなので、A/BにおいてBが0の場合云々という部分は、それよりも前の部分と関係がない話と言えます。


割り算(引き算)を掛け算(割り算)に変更する時、あるいはその逆のやり方はこうです。

  1. 演算子を逆にする。 ×→÷,÷→×,+→−, −→+
  2. 演算子の右側を演算の逆元にする。×←→÷の交換なら掛け算に対する逆元に、+←→−の交換なら足し算に対する逆元にする。

逆元にするのが常に右側でなければならないことが問題です(右側なのは、元々の割り算(引き算)の計算順序がそうだから、というだけの理由です。どこかに割り算(引き算)の式の順序を逆にする世界があったとしたら、上記の操作で"左側を逆元にする"に変わるだけです。なんで右側でなければならないの? という疑問に意味はありません)。

掛け算(足し算)が交換法則を満たしていても、逆演算にする操作の中に、上記のように「演算子の片側にだけ何かする」というのが含まれる以上、割り算(引き算)は交換法則を満たさなくなります。

掛け算(足し算)が交換法則を満たす→逆演算の割り算(引き算)が交換法則を満たさない

は当たり前な話です。「ある演算が交換法則を満たしていたら、逆演算も交換法則を満たすはず」というのがただの勘違いです。


逆元の話。

a / b を掛け算にすると a * (1 / b) ということですね。

その通りです。さて、1 / b って割り算でしょうか? 割り算にしか見えませんね。

誰がどう見ても割り算です。

でも違います。

一見割り算に見えるけど、これは割り算じゃないんだ、割り算じゃないんだ、と念じて目をこらさないといけません。

というか、a / b を掛け算として定義したいというのが「目的」なのですから、掛け算だけの世界だと思わないといけません。割り算? それって何? 知らないなぁ、という態度を貫きます。


b × ? = 1 を満たす数が存在するとしよう。存在するかどうかは、また別の話で、じっくり考えてみないといけない問題なのだけど、とりあえず存在したとしたら、それを 1 / b と書こう。なんだか小学校の時にならった分数みたいな書き方だけど、そんなものは今は知らない(ふりをしよう)。

そういう数があるとしたら、掛け算はどういう性質を持つんだろう?

そこが考えどころだ。

(という感じで、色々と検証してみる)

あれ?

これはなんだか、小学校の時からずっと習ってきた「割り算」にそっくりな性質を持ってないか?


という態度で進むのです。

これ、数学になじみのない人から見ると、ただの茶番に見えるんじゃないかと思います。

だって割り算にそっくりな性質を持つように考えたわけですからね。

a / b を掛け算にすると a * (1 / b)ということですね。

1 / b を掛け算にすると 1 * (1 / b)ということですね。

おかしいですね。1 / bが永遠に解決できません。

掛け算を割り算に直す、割り算を掛け算に直す、という理解(あるいは解釈)のままだとその通り永遠に堂々巡りですね。

その時に数学がとるのは、「割り算というものを忘れる」という一種なんだそりゃ? と言いたくなる手段なのです。

でもそれでうまくいっているのですよ。


残った

A/BにおいてBが0の場合を不定とするならば対応する乗算においても不定になるA*Bが存在するということです。

なんですが……「ある演算が交換法則を満たしていたら、逆演算も交換法則を満たすはず」というのがただの勘違いなので、そんなものが存在する必要はありません。という以上にうまい言葉が見つかりません。すみませんが。

id:moonwolf

A/Bが割り算による表現を持たない掛け算のみの式に変換できれば、結果は不定ではなくて一定になるということです。

A/BのBが0を取ったとしても掛け算に変換した式では一定なのだから計算できるということになります。

2011/05/09 01:18:35
id:practicalscheme No.4

practicalscheme回答回数157ベストアンサー獲得回数422011/05/09 05:43:49

ポイント22pt

> A/Bが割り算による表現を持たない掛け算のみの式に変換できれば、


通常の定義であれば、割り算と掛け算は「無条件に」変換できるわけではなく、「Bの逆元B'が存在する時に限り」 A/B => A*B' という変換ができます。「A/BのBが0を取ったとしても」というのはこの条件に反する (0の逆元は存在しない) ため、変換自体ができません。(というか通常は掛け算が先にあってそこから割り算が定義されるので、B=0の時にはそもそもA/Bが定義されないんですが)



そういう条件がついているのは美しくないから、俺が新しい定義を考える、というのは大いに結構です。が、単に条件を外すだけでは、「A/BのBが0を取ったとしても掛け算に変換した式では一定なのだから計算できるということになります。」という具合に困ったことになりますね。moonwolfさんは、「俺が決めた新しいルールではこういう問題が出るよ。ほら、おかしいだろ?」と仰っています。我々は「はいおかしいですね。で?」としか言えません。おかしいことになるから除外してあるんです。



新しい定義として、「Bの逆元がB'の時、 A/B = A*B'とする。但し、B=0の場合は、A/0 = A とする」などと決めても構いません。その場合、moonwolfさんが仰るようにA*0を特別扱いしないとならないことになりそうで、しかもA*0というのは乗算の定義の根本に関わる式なので (0というのは乗算の単位元、A*0 = 0*A = 0 なる数としても定義される)、なんか色々無理が出てきそうですが。それらの無理をどう解消するかというのはmoonwolfさんの世界の話ですので、どうぞご自由に。

id:moonwolf

0*1と1*0が同じ値であるというのがそもそも違っていたら?

0*0が0でなかったら?

0を扱う掛け算が正確に定義できていないのです。

2011/05/09 06:02:36
  • id:moonwolf
    0*0が計算できるのだから0/0も計算しても問題ないですね。

    0*0は実は1なのではありませんか?
  • id:fuk00346jp
    >0*0が計算できるのだから0/0も計算しても問題ないですね。
    https://secure.wikimedia.org/wikipedia/ja/wiki/ゼロ除算
     
    >0*0は実は1なのではありませんか?
    https://secure.wikimedia.org/wikipedia/ja/wiki/0の0乗
  • id:moonwolf
    A*B=Cを計算するときにAが0をとった場合とBが0を取った場合。両方が0であった場合が間違っています。

    みなさんの解釈
    0*0=0
    0*1=0
    0*2=0
    1*0=0
    2*0=0

    私の解釈では
    0*0=1
    0*1=0
    0*2=0
    1*0=1
    2*0=2
  • id:practicalscheme
    moonwolfさんは間違ってない、って何度も言ってるじゃないですか。0*0=1 であるような規則を入れるのはmoonwolfさんの自由ですし、それとこれまでの数学と、どちらかが絶対的に正しいっていうことはないんです。


    > 0*1と1*0が同じ値であるというのがそもそも違っていたら?
    > 0*0が0でなかったら?

    そういう世界を考えたければどうぞ。

    一般的な定義では、0というのは乗算の単位元で、 0*a = a*0 = 0 を満たす数です。これは「そう決めた」ものなので、間違いとか正しいとかいうものではありません。

    moonwolfさんが、0*1 ≠ 1*0 であったり、 0*0 ≠ 0 であるような規則を考えるのも、間違いとか正しいとかいうものではありません。ただ、一般的な定義とは矛盾するので、独自の世界の話をするなら最初からそう断ってやってくださいね。というだけです。

    moonwolfさんの世界で、ゼロ除算はうまくゆくかもしれませんが、他にどんな面白い計算ができますか。また、一般的な定義で簡単に出来る計算が困ったことになったりはしませんか。moonwolfさんがそういう具合に、自分の世界の話を広げていってくれたら、少し面白くなるかもしれません。

  • id:moonwolf
    A*B=CにおいてBについてだけは逆元について勝手に解釈しています。
    Aについては逆元について考えていないのだからAとBは違うものです。
    であればAとBを勝手に入れ替えてはいけません。
  • id:moonwolf
    AとBの関係について、定義として区別しているのであれば
    同じものとして扱った場合にAとBを入れ替えて対称になりません。
  • id:moonwolf
    AとBを交換できるのは定義上同じ存在のときだけです。
    違う概念同士を勝手に交換したら破綻することになります。
  • id:rsc96074
    >掛け算と割り算が同じものであるならば
    ここが誤り。(^_^;割り算は掛け算の逆演算であって、同じものではありません。したがって、逆は必ずしも真ならず。(^_^;
  • id:moonwolf
    数学上では区別していますが、
    計算機上で処理するときには同じ存在として扱っているのですから食い違って当然です。
    計算機上で同じ存在として扱って問題ないのであれば、数学上で違う存在として定義したことが間違っています。
  • id:moonwolf
    AとBが同じものならBの単位元などという曖昧な概念を持ちだす必要がありません。
  • id:practicalscheme
    > A*B=CにおいてBについてだけは逆元について勝手に解釈しています。
    > Aについては逆元について考えていないのだからAとBは違うものです。
    > であればAとBを勝手に入れ替えてはいけません。

    そうですよ。私が最初に回答した割り算の定義を見てください。あの定義では、AとBを交換したら話が違ってきてしまいます。

    そして、実際、A*B ≠ B*A であるような世界も存在します。行列が代表的なものですが、ほかにもたくさんあります。

    割り算の定義には、掛け算の交換法則は関係ないし、ゼロで割ってはいけない理由にも、掛け算の交換法則を使う必要はないんです。



    割り算の話とは別に、掛け算について交換法則が成り立つ世界、というのを考えることもできます。そして、自然数、実数、複素数の世界については乗算の交換法則は成り立っています。そういう世界を考えているから、ってだけの話です。

    掛け算について交換法則が成り立ち、かつ逆元が存在しない世界、というのを考えることもできます。その世界では逆元が無いので当然割り算は定義されません。ゼロ割が困る理由と、交換法則とは、同じところから出てきた話ではないんです。



    一つだけ正しい「数学の世界」があるんじゃないんですよ。色々な世界があって、それぞれの世界の中で、色々言えることがあります。それぞれの世界の中では、定めたルール同士がそれなりに補強しあって、いろいろ面白いことが言えます。

    自分独自の世界を作って、その中で色々面白いことを言うのは自由です。ただ、既にある世界のひとつの中で、基本的なルールを変えることを提案するなら、その世界の他の色々な計算が困ったことにならないかどうか、少しくらい心配しても良いんじゃないでしょうか。
  • id:practicalscheme
    単位元は曖昧な概念じゃないですよ。

    対象とする値の集合Zと演算⊛を考える。Z中の任意の要素aについて、

    a ⊛ e = e ⊛ a = e

    が成り立つeがZに存在するなら、eを⊛の単位元と言う。

    どこか曖昧ですか?



    あ、ちなみに、単位元では入れ替えが可能ですが、それは「入れ替えが可能である特定のe」というものが存在条件に入っているからです。

    単位元で交換可能だからって、一般に交換可能とは限りません。行列の乗算では、ゼロ行列による乗算はどっちから掛けても同じですが、ゼロでない行列同士は交換可能ではないですね。



    ところで、こっからはmoonwolfさんではなくここを見てる人向けですが、交換可能でない単位元ってありましたっけ。あったような気がするのだけれど忘れちゃいました。

    e0 ⊛ a = e0
    a ⊛ e1 = e1

    かな、とも思ったんですがそうするとe0 ⊛ e1した時困るなと。 e0 ⊛ a = a ⊛ e1 = e0 ⊛ e1、と定義すればいいのかな?


  • id:moonwolf
    通常の計算式の中でAとBの関係については考えていません。
    論理的にA,Bを区別した系にとっては問題となります。
  • id:practicalscheme
    いや、問題となるなら「この演算は交換可能ではない」とすれば良いだけじゃないですか? 交換可能でなくたってゼロ割の問題は別に存在しますよ。それとももうゼロ割の問題はどうでもよくて、交換法則の話だけしたいのかな?
  • id:moonwolf
    AとBの関係について無視する場合と、あくまで論理的に違うものとして扱う場合で食い違うというだけです。
    計算式の中ではAとBの関係に関して情報がないため無視せざるを得ません、そこが論理と食い違ってきます。
  • id:practicalscheme
    本当はAとBは違うもののはずなのに、計算式に入れたら無視せざるを得なくなっちゃった、というなら、それは立式の過程でそういうマッピングをしたからです。実際の物理量は交換不可能。複素数の乗算は交換可能。普通はそこは目をつぶって、「ほんとは交換不可だけど便宜的に情報落とそう、仕方ないや」とやります。落ちた情報は人間が覚えておいて、後でたとえば単位という形で付け加えてやります。

    でも、その食い違いが気持ち悪いというなら、交換不可能な乗算を定義しても構わないですよ。その場合、入れ替えちゃまずいところを入れ替えたら機械的に型エラーにすることができますね。プログラミングはご存知のようなので、C++でoperator*を交換不可能な形でオーバロードする、といったことを考えればわかりやすいのでは。

    さて、交換法則については、「(1)便宜上ということで、たまたま交換可能な実数や複素数の乗算の定義を流用する、(2)それが気持ち悪ければ、自分で交換不可能な乗算を定義する」という選択肢があります。どちらを選んでも、ゼロ除算の問題とはあまり関係ありませんが。(2)を選んで議論を続けてもいいですよ。
  • id:moonwolf
    定義するときに違うものだよ、という風に言ったのに、いや同じものだから交換可能だよといったのだから矛盾しています。
  • id:practicalscheme
    すんません、moonwolfさんがどこの発言を指して矛盾していると言ってるのかわからなくなってしまいました。「定義するときに違うものだよ」と言ったのはどこで、「同じものだから交換可能だよ」と言ったのはどこでしょう。
  • id:practicalscheme
    あ、ものすごい間違いをしていましたすみません。単位元の定義は

    a ⊛ e = e ⊛ a = a

    でした。乗法なら単位元は1です (行列の場合は単位行列)。



    なので交換可能でない単位元というのは十分あり得ますね。

    a ⊛ e0 = e1 ⊛ a = a

    となるようなe0とe1です。



    で、0の話が出てくるのは、加法と乗法が定義されている系 (環でいいのかな) において、加法の単位元0と乗法とがどういう相互作用をするか、って話になりますね。


    私のコメントのうち、単位元がどうのと言っている話は無視してください。それでも交換法則の話、ゼロ割の話は破綻していないと思いますが… ツッコミは受け付けます。
  • id:moonwolf
    回答1の人が出してきた定義だと
    > もう少し正確に言うと、Bに掛けると1(乗法の単位元)となる数 B' が存在する場合、つまり B × B' = 1 となるような B' が存在する場合に、B'をBの逆元といい、
    > A × B = C より
    > A × B × B' = C × B'
    > A × 1 = C × B' (B × B' = 1 より)
    > A = C × B' (乗法の単位元の定義より)
    > となるので、「Bの逆元を掛ける」ことを「Bで割る」と呼んでいると考えられます。
    この段階ではAとBを違うものとして扱いますが、

    交換法則 http://ja.wikipedia.org/wiki/%E4%BA%A4%E6%8F%9B%E6%B3%95%E5%89%87
    ここではAとBが交換可能なことになっています。

    まぁ表記上は
    > たとえば自然数に関する足し算や掛け算は交換法則を満たしている。
    なので、自然数には交換法則を適用できるのだろうとわかりますが、
    いつのまにか自然数以外に関しても交換できるいう風にとっている人もいます。
    自然数しか扱わなければ問題ないですが、それ以外を扱うときには交換法則を満たすことを
    証明したうえでなければ、やったら駄目なんです。
  • id:moonwolf
    あ、でも自然数でも0を含めた場合にはおかしかったですよ。
  • id:practicalscheme
    その定義は私が書いたものですが、AとBが交換可能であるかどうかに依存しません。wikipediaの引用は関係ない話です。
    私の出した定義は、「乗算が交換可能でも」「乗算が交換不可能でも」どちらでも使えます。

    逆元を使って除算を定義すれば、乗算の交換可能であっても、交換不可能であっても、除算は交換不可能になる、ということを私は示しています。

    私の記述で矛盾点があれば具体的にご指摘ください。
  • id:moonwolf
    式変形をできるのは、評価時点で持つ値が交換法則を満たすことがわかっているときだけです。
    定数で0以外の自然数だけ扱ってれば、まぁ問題ないですが、それ以外の値や変数を持つときには
    安全に変形することはできないんです。
  • id:moonwolf
    「乗算が交換可能でも」「乗算が交換不可能」でも?
    常に乗算が交換可能とはならないです。
    よって安全よりに扱うなら「乗算が交換不可能」とするべきです。

    除算が交換可能だなんて言いましたっけ?
  • id:practicalscheme
    はい。乗算は定義によって、交換可能な場合も、交換不可能な場合もあります。
    私の議論は、どちらの乗算の定義を使っても成り立つ、と言っているだけです。
    「より安全」というのは無意味です。どちらの定義を使うか約束しておけば良いので。
    (一般にはより少ない公理で同じことを言える議論の方が「より強い」という言い方はしますが)。


    > 除算が交換可能だなんて言いましたっけ?

    あ、moonwolfさんはそうは言っていませんね。
    もう一度仕切り直します。


    moonwolfさん: 乗算が交換可能、除算が交換不可能、乗算と除算は変換可能、これっておかしくない?

    私: 乗算が交換可能であっても交換不可能であっても、除算は交換不可能になります。変換規則は示しました。どこがおかしいですか?

  • id:moonwolf
    乗算の定義の段階では常に交換可能とはなりません。なのでどっちかというなら交換不可能となるのでは?

    乗算と除算は変換可能なときもあれば出来ないときもありますね。
  • id:practicalscheme
    > 乗算の定義の段階では常に交換可能とはなりません。なのでどっちかというなら交換不可能となるのでは?

    どっちかひとつに決める必要なんて無いんですよ。何度も言っているとおり、定義を選ぶことで「正しい世界」はいくつでも併存可能です。それぞれの世界の中で証明を行うだけで。

    私の定義は、たまたま乗算が可換な世界でも成り立つし、乗算が非可換な世界でも成り立つ、したがってどちらの世界にいる時でも使えますよ、と言っているだけです。
  • id:moonwolf
    交換可能な可能性もある、だから不可能ではない。そうはなりませんね。
    俺たちは断固として交換可能として扱う! というなら止めはしませんが。
  • id:moonwolf
    交換不可能な場合でも可能として扱ったらおかしいけど、いいの?それで?ということです。
  • id:practicalscheme
    交換可能な世界 (公理系) もあるし、交換可能でない世界 (公理系) もある、ということです。

    前者にいる場合は交換可能として話を進めます (証明を行います)

    後者にいる場合は交換不可能として話を進めます (証明を行います)

    moonwolfさんはどちらの世界の話をしているのですか? どっちの世界の話をしててもいいんですが、混ぜるわけにはいきません。


  • id:moonwolf
    自分の決めた道ですから、いいんです、というなら、もうどうとでもとってかまいません
  • id:moonwolf
    常に交換可能です。なら交換可能で扱っていいですよ。
    常に不可能です。なら交換不可能ですね。

    あなたは前者、後者どちらになりますか?
    確率的に前者のときもあれば、後者のときもあります。というなら、もうお手上げです。
  • id:practicalscheme
    私は「自分の決めた道ですから、いいんです」とは言ってないですよ。乗算が非可換な世界で、乗算の順序を入れ替えたら、それはルール違反です。いけません。

    でも世界(公理系)はそれ一つではありません。乗算が可換な世界ならば、好きなように入れ替えていいわけです。この世界にいるときに、「いや、乗算は非可換な場合もあるから安全のため順序を入れ替えないようにしよう」というのは無意味です。それは別の世界の話なんですから。


    (1)私たちが乗算が非可換な世界にいるとします。その中で、私の最初の回答の議論を使うことができます(私の定義の中で乗算の可換性を使っていません)。この世界では、乗算も除算も非可換です。

    (2)私たちが乗算が可換な世界にいるとします。その中で、私の最初の回答の議論を使うことができます(私の定義の中で乗算の可換性を使っていません)。この世界では、乗算が可換であっても、除算が非可換であることが示されます。


    有理数や実数や複素数における、通常の乗算の定義は、可換です。私はその世界を念頭において、「乗算が可換で、除算が非可換であっも、べつにおかしくありませんよ」と回答しました。

    moonwolfさんが最初から乗算が非可換である別の世界にいたのなら、そもそも最初の質問自体成り立たないではありませんか。乗算は定義により非可換。除算も非可換。それだけです。


    何度も何度も何度も何度も言っているように、数学は最初にまず「どういう世界にいるか」を決めて、そこから議論します。世界の決め方は自由ですが、議論する者同士はどちらの世界にいるかを合意しておく必要があります。


    moonwolfさんは、どちらの世界の話をしたいのですか?
  • id:moonwolf
    交換可能な可能性を全く否定することは出来ません。
    交換不可能な可能性も全く否定できません。
  • id:moonwolf
    え、実数が乗算で交換可能なことが証明できたのですか? すごいなぁ
    無限大とか無限小とかも問題ないんだよね? 演算精度もまったく問題ない?
  • id:practicalscheme
    確率の話じゃないですよ。数学的には、どちらの世界も併存しているのです。どちらかを否定する必要はありません。

    けれども、「話を始める前に、どっちの世界に入るかを合意しておく」ことは必要です。

    私は、「こっちの世界(可換な世界)に入ったらこうなる」「あっちの世界(非可換な世界)に入ったらこうなる」という具合に説明しました。

    moonwolfさんも、世界を混ぜずに、「乗算が可換である場合はこうなる」「乗算が非可換であればこうなる」というふうに場合分けしてもらえると、前に進むんじゃないかと思います。
  • id:moonwolf
    どんな組み合わせでも交換してまったく同じ値になるの?
    実数を複素数でかけても動くんだ?
  • id:practicalscheme
    「実数」に演算精度の問題は無いですよ。精度の有限な、例えばIEEE754の話をするなら別ですが。「IEEE754の世界の話」ではなく、「実数の世界の話」をするなら、演算精度の問題は別の世界の話になります。ちなみに「実数の世界の話」をするなら、「無限大」「無限小」という数はありません (定義されていません)。それらが存在する世界は、また別の世界です。実数の世界の中で無限大や無限小を扱いたい場合は、「ある数Mに大してM>NとなるようなNを任意に選ぶことができる場合…」などといった回りくどい言い方をする必要があります。(無限大という実数があれば、わざわざそんな言い方をする必要はないんですけどね)。


    で、実数の乗算が可換かどうか、という話は、実はわりと面倒です。そもそも実数の乗算の定義が面倒です。もうディテイルは忘れてしまいましたが、「ある数nに漸近する任意の数列の集合」を改めて実数nと考え、実数nとmの乗算は「それぞれの数列の要素を掛け合わせた数の数列」の集合とかそんな話じゃなかったかな。そのどこかで可換性は出てきたと思います。


    そういうわけで私は実数の乗算の可換性についてこの欄でmoonwolfさんを説得できませんし、説得する義理もありません。moonwolfさんが、実数の乗算の定義を引用してきて、具体的に「このステップでおかしなことをやっている。ここはこうすべきで、これなら可換にならないじゃないか」とか、「このステップをこういじればゼロ割だってほら定義できるでしょ」とかやってくれたら、面白いかなと思います。とりあえず一般に受け入れられている体系に対して異を唱えているのはmoonwolfさんの側ですんで、実数の定義と実数の乗算の定義を示した上で、どのステップに異を唱えているのか、はっきりして頂けると面白いかと。


    私は大学の教養の数学でやったことがらを復習できたので、有意義な対話でした。
  • id:moonwolf
    > A * B = C より
    > A * B * B' = C * B'
    > A * 1 = C * B'
    > A = C * B'
    ですね。

    A=0 B=1 とします。
    0 * 1 = 0 より
    0 * 1 * 1 = 0 * 1
    0 * 1 = 0 * 1
    0 = 0 * 1

    いいです。問題ありません。

    A=1 B=0 の場合
    1 * 0 = 0 より
    1 * 0 * B' = 0 * B'
    1 * 1 = 0 * B'
    1 = 0 * B'

    1 = 0 * B'となるんですね?
    1 = B' * 0でも同じですね?
    両方とも0による乗算ですからB'はいらないですね。
    1 = 0 です。
  • id:moonwolf
    A=5 B=0
    5 * 0 = 0 より
    5 * 0 * B' = 0 * B'
    5 * 1 = 0 * B'
    5 = 0 * B'

    1も5も0と等しいと。じゃあ 1=5 ということですね。

  • id:Lhankor_Mhy
    ↑0の逆数は存在しませんよ。
     
     
     
    >私の解釈では
    >0*0=1
    >0*1=0
    >0*2=0
    >1*0=1
    >2*0=2
     
    2*0=2
    (2*0)*(0*2)=2
    2*(0*0)*2=2
    2*1*2=2
    ∴(2*0)*(0*2)!=2*(0*0)*2
     
    となるので、moonwolfさんの数学では積の結合則も否定されそうですがかまいませんか。
  • id:hissssa
    横槍ですが、「0で割ることを許可するとあらゆる数字は1に等しいと証明できてしまう」って中学くらいで教えませんでしたっけ?
    それでは数学として成り立たないから0除算は禁止されてると教わった記憶があるんですが、最近は教えないのかな?
  • id:moonwolf
    え? 1 * 0 を計算するだけですよ?
    0 * 1はいいけど1 * 0は存在しない数を扱うことになるんですか?

    > 「0で割ることを許可するとあらゆる数字は1に等しいと証明できてしまう」
    いいえ、0で掛けることを許可するとあらゆる数字は0に等しいです。
    1*0 = 0
    2*0 = 0
    0*1 = 0
    0*2 = 0
    0*x = 0*y
    どうみても1=2=x=yです。
  • id:hissssa
    >どうみても1=2=x=yです。

    いやそれ「1も2もxもyも、0を掛けた結果が等しい」だけですから。
    「0*x = 0*y」を「x = y」にするためには両辺を0除算しないといけませんよね?
  • id:moonwolf
    0でかけていいんですから問題ありません。0で掛けられないなんて決められてませんね。
    0=0ですから除算しなくてもいいです。
  • id:Lhankor_Mhy
    >0でかけていいんです
    >除算しなくてもいいです
     
    0*x = 0*y
    0*x*0 = 0*y*0
    (0*0)*x = (0*0)*y
    0*x = 0*y
     
    元に戻っちゃいました。残念ながら証明できません。
  • id:hissssa
    >0=0ですから除算しなくてもいいです

    「0*x=0」と「0*y=0」から「0*x=0*y」は導けますが、そこから「x=y」は導けませんよ。省略していい掛け算は1だけです。
    「α*x=α*y」を「x=y」にするには両辺をαで割らないといけません。α=αだから省略していいというわけではないんですよ?。

    「等式の両辺に同じ値が掛けられている場合は省略できる」と思っているようですが、それは実際には「その同じ値で両辺を割れば掛ける値が1になるから省略できる」という事なんです。ただしそこには「0でないなら」という条件がつきます。
  • id:practicalscheme
    あららららら… また戻っちゃった。moonwolfさん、出口のまん前まで来てるのにぐるぐる戻っちゃうんだもの。

    > A=1 B=0 の場合
    > 1 * 0 = 0 より
    > 1 * 0 * B' = 0 * B'

    条件見落としてますよ。「Bに掛けると1(乗法の単位元)となる数 B' が存在する場合、つまり B × B' = 1 となるような B' が存在する場合に」この論理が有効です。普通の定義では、Bがゼロの時は逆元が存在しないので、こっから先に進めません。あきらめて下さい。

    でも、仮にゼロの逆元が存在したとしましょう。そのゼロの逆元がどういう数かはわからないので、0' と書くことにします。 0' の性質については、0 × 0' = 1 であることだけわかっています。以下、moonwolfさんの書いたB'は0'へと読み替えられます。

    > 1 * 1 = 0 * B'
    > 1 = 0 * B'となるんですね?

    「ゼロの逆元が存在したとしたら」、ここまでOKです。

    > 1 = B' * 0でも同じですね?

    (ここまで交換法則は前提としていなかったので、1 = B' * 0 かどうかはわかりません。交換法則を前提として認めればそうです。)

    論理の飛躍はその次です。

    > 両方とも0による乗算ですからB'はいらないですね。

    いえ。「ゼロの逆元 0'」 という不思議な数について我々が知っていることは、「0 * 0' = 1」ということだけです。今まで無い数を導入したのですから、これまでの「全てのxについて 0 * x = 0」という規則は使えません。定義により、「xが0'でない時は 0 * x = 0」「xが0'である時は 0 * x = 1」となります。これはゼロの逆元を導入した定義によりますから、どうしようもないです。

    したがって、右辺を0に置き換えることはできず、

    > 1 = 0 です。

    と結論することはできません。


    この論理に不満があるのなら、もういちど、論理の各ステップについて、「どの公理を使ったのか」を明示してみてください。ゼロの逆元を導入することで矛盾する公理は、ちゃんと条件をつけて矛盾が無いように避けないとなりませんよ。例えば「0 * x = 0 但し x≠0'」などのように。既に「ゼロの逆元のある世界」という別の世界に足を踏み入れているわけですから。

    こちらのblogにも明解に書かれています。 http://materia.jp/blog/20110508.html
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/09 14:47:47
    「掛け算と割り算は違うものです」逆演算が必ずしも正演算の領域をカバーしているとは限りません。
    別の設問に「1+1=2」を論理的に証明せよ  とありますが、貴方は「1+1=2」が正しいと思っているだけで、論理性がありませんので、論理的に証明は不可能でしょう。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/09 16:28:42
    9日9:32:51の質問者のコメント
    『あ、でも自然数でも0を含めた場合にはおかしかったですよ。』

    0は自然数ではありません!(整数ですが)
  • id:moonwolf
    1*0は計算しても問題ないですよね? 逆元の定義とかそもそも気にしないでもいいはずです。
    Aが0だったときは矛盾しないがBが0であったときには矛盾する。じゃ交換できるの?
    B'がどんな値だったとしても0による掛け算なんだから結果は0ですよね。いいじゃないですか。

    0 * 0 = 1
    0 * 非ゼロ = 0
    非ゼロ * 0 = 非ゼロ
    非ゼロ * 非ゼロ = 非ゼロ*非ゼロの計算結果
    です

    0*0'=1なんですね? 0による乗算は0とみなしていいですね?あなたがたはそう扱うといっていました。 0=1です。 0'がどんな値でもかまいませんね。

    どうしてそうなるかはわかりませんが、両辺に0を掛けます。0*(1+1)=0*2です。
    0=0です。計算してあっています。まぁどうように「1+1=3」も成り立っています。
    2と3は実際は0なのですから記号的な意味でしかありません。2を選んでも3を選んでも間違いではありませんからなぜ2という記号が現れるかという点です。
  • id:moonwolf
    あなたは自然数に0を含まないという解釈なのでしょう。
    でも0を含む流派もあります。

    ペアノの公理見てみました。
    http://ja.wikipedia.org/wiki/%E3%83%9A%E3%82%A2%E3%83%8E%E3%81%AE%E5%85%AC%E7%90%86

    自然数は次の5条件を満たす。
    自然数 0 が存在する。

    0を含むと解釈してもいいですね。
  • id:moonwolf
    まぁ0が自然数かについてはわかりませんが、あなた方は0*0を計算できるんですよね。で、0だと証明できると。
    0^2は0だと。
  • id:practicalscheme
    余談ですがYAMADAMAYさん: 自然数に0を含める定義を使う場合と、含めない定義を使う場合があるので、どちらとも断言できません。が、加算の話をしようと思うと0が入ってた方が便利ではあります。


    さて、moonwolfさん

    > 逆元の定義とかそもそも気しないでもいいはずです。
    > B'がどんな値だったとしても0による掛け算なんだから結果は0ですよね。いいじゃないですか。

    今まで論理的な話をしているんだと思っていました。論理的な話をするには、公理と推論規則をきちんと押さえる必要があります。なので定義をおろそかにはできません。論理的な話でないのなら、ここで止めましょう。

    0 * 0' = 1、これが定義です。そしてこの定義そのものが、「ゼロを何に掛けてもゼロになる」の反例になっています。ですからゼロの逆元の定義を認めるなら、「ゼロに何を掛けてもゼロになる」の方を諦めてもらうしかありません。

    逆元の定義を認めないなら、逆元を使わない除算の定義を示してくださいな。そこから出発しましょう。


    > 0*0'=1なんですね?
    はい、それが定義です。

    > 0による乗算は0とみなしていいですね? あなたがたはそう扱うといっていました。
    私は言っていません。ゼロの逆元が無い、という立場ならそうみなせますが、ゼロの逆元があればそれは成立しません。0*0'=1という公理を追加したので、それが直接の反例です。

    > 0=1です。 0'がどんな値でもかまいませんね。
    論理に飛躍があります。どの公理を使ったか明示してください。

  • id:moonwolf
    自然数に0を含まなかったとします。
    自然数は交換規則を満たすと書いてありました。
    自然数ではないという0については交換法則を満たすと証明したのですよね? だから交換可能だと。
    あなたたちが交換可能といっているときに0の定義はしていませんね。
    自分たちが扱う範囲で交換可能だ、だから他の人も交換可能として扱うべきだということですね。
    交換できない可能性は考えませんと。数式の中の変数はあなた方の知らない型でもいいんですよね?
  • id:hissssa
    >0*0'=1なんですね? 0による乗算は0とみなしていいですね?あなたがたはそう扱うといっていました。 0=1です。 0'がどんな値でもかまいませんね。

    自分でそこまで書いてて何故分からないんでしょうかね?。これはつまり「0*0'=1となる数」であるところの「0'」(ゼロの逆元)が存在すると仮定した時点で、あらゆる数字は等しいことになってしまうということですよ。

    この仮定から出発する、今の数学と根本から違う新しい数学公理(moonwolf数学でしょうか)を構築することは可能でしょうが、そもそもあらゆる数字が等しいとする数学にいったい何の意味があるか疑問です。すべての数字が等しいということは、すべての数字に意味がないということです。数字に意味がないなら計算にも意味はないでしょう。

    現代の数学に関して言えば、「あらゆる数字は等しい」という結論が明確に間違っていますので、即ち「0'」(ゼロの逆元)は存在しないという結論になるという、ただそれだけの事です。
  • id:moonwolf
    0同士の掛け算がゼロにならないというのも私は示しました。
  • id:practicalscheme
    moonwolfさ〜ん。あっちの定義からつまみ食い、こっちの定義からつまみ食い、なんてしてたら永遠に迷路の中ですよ。

    どんな定義でも良いんですが、まずどの定義を使うかを決めます。そうすると世界が決まります。その世界の中で、話をするんです。

    別の定義を使った、別の世界もあります。ひとつの世界で真となる命題が、別の世界では偽となることもよくあります。

    なので、話の大前提は、「どの世界の話をしているかを合意する。合意したら、よその世界から矛盾する定義を持ってこない」ってことです。

    交換規則を満たす乗法を定義した世界Xの中で話をするなら、乗法は可換です。

    交換規則を満たさない乗法を定義した世界Yの中で話をするなら、乗法は非可換です。

    「自分はXの話をしている」時に、「他の人もXの話をすべきだ」などと私は主張していません。他の人はYの話をしたいかもしれないし、それならすれば良い。それは別の世界の話です。このことは言葉を変えて何度も書きました。

    私がただただお願いしたいのは、「もし、Xの話をするのなら、Xの世界の中で話しましょうよ」というだけです。Xの中に入るべき、などとは主張していません。Xの中でYの話はできない、それだけです。
  • id:moonwolf
    0'は存在しないと。
    定義しましょう。
    0'=1です。
    0*1=0です。0*0'=1という式が違っているんでしょう。
  • id:moonwolf
    0'*0=1という式あれば私の解釈では問題ありません。1=1です。
  • id:moonwolf
    数学には「どの世界の話をしているか同意する」なんて決まってないですね。
  • id:moonwolf
    交換不可能だと扱うべきだと私は思います。
    でもあなたが扱う範囲で交換可能だと証明して扱うぶんにはいいんでしょう。
    でも式変形するときに「交換可能であると合意する」とかしないとかについては考えていませんよね。
    合意した人じゃないと式変形できません。
  • id:moonwolf
    > 有理数や実数や複素数における、通常の乗算の定義は、可換です。
    知ってる範囲の数では問題ないと証明したのならいいでしょう。ただし全ての数式で、「この変数は有理数や実数や複素数とする」と但し書きをお願いします。
    有理数や実数や複素数以外現れないならいいですよ。確かに交換可能なんでしょう。
    交換するときには変数が有理数や実数や複素数しかとらないことを保障したうえで行ってください。
    任意の変数を扱うときに交換可能とはなりません。すべての数式を「有理数や実数や複素数」しか現れないと保障して扱ってください。
  • id:practicalscheme
    あらららら。

    > 数学には「どの世界の話をしているか同意する」なんて決まってないですね。

    それは私の知ってる数学と違いますね。どうやらこれまで違う話をしていたようです。ではでは。
  • id:moonwolf
    そしてあなた方が交換可能として処理した式は、交換不可能として扱う人には扱わせないようにしてください。
    混ぜられません。
  • id:moonwolf
    交換可能として扱うローカルルールを決めて、合意した人たちの集まりの中だけで交換可能としてあつかってください。そしてその式は門外不出です。
    ローカルルールに合意していない人は交換不能として扱うべきです。
  • id:moonwolf
    まぁ、たまにはローカルルールではないところでも交換したくなることもあるでしょう。
    でも、そのときはグッとこらえて交換不能として扱ってください。
  • id:moonwolf
    乗算交換可能連盟日本支部とかつくってみては?
    加入者募集!ってしてくださいよ。
  • id:moonwolf
    > 交換規則を満たす乗法を定義した世界Xの中で話をするなら、乗法は可換です。
    > 交換規則を満たさない乗法を定義した世界Yの中で話をするなら、乗法は非可換です。
    変数が交換法則を満たすことが保障できない、そんな人なら世界Yですね。
    世界Xと世界Yでは数式の行き来は出来ません。いいですね?
    YからX方向へはいいですが、Xで交換しちゃってまたYに戻すとかは出来ませんからね。
  • id:Lhankor_Mhy
    ということは、moonwolfさんは「実数非可換協会」をお作りになられるんで?
  • id:hissssa
    ああ、そのルールはあるんですよ。moonwolfさんは知らないみたいですが。掛け算に関して交換可能なのは「自然数、整数、有理数、実数、複素数」です。残念ながらローカルルールではなく世界のすべての数学者が認めるグローバルルールですが。このルールは別に無意味に決められたものではないのですよ。

    「1つのお皿にりんごが5個乗っています。同じお皿が3枚あります。全部でりんごは何個でしょうか?」。もちろん5×3で15個ですね。そしてもちろん1つのお皿に3個、同じお皿が5枚の場合でも15個になります。この交換はお皿が何枚あろうとりんごが1枚あたり何個であろうと確実に成立します。数学はここから出発してるんですよ。まず第一歩として「自然数同士の掛け算は交換可能」という事です。

    次の一歩としてゼロを考えます。お皿にりんごが乗っていない場合、そのお皿が何枚あろうとりんごの総数はゼロです。同じくお皿にりんごが何個乗っていようと、そのお皿自体がないならやはりゼロです。即ち「ゼロを含む自然数」でも成立するわけです。ちなみにお皿にりんごが乗っておらず、なおかつそのお皿が一枚もない場合もやはりゼロですので、0*0=0になります。

    後は同様に、「お皿に10個必要なのに7個しか乗っていない(=-3)、そのお皿が5枚ある」というような状況を考えればマイナスを含む「整数」でも成立しますし、「お皿あたりりんご半分×お皿総数」といった状況を考えれば「有理数」でも成立します。こうやって、数学というものは自然数の法則を元に拡張していくことでルールが作られているんですよ。

    数学は、それ自体は単なる「ルールで決められたパズル」のような物ですが、そのルールは自然法則を基準に作られています。それは数学による計算を実際に役立たせるためです。掛け算の交換法則をルールに取りいれている数学は過去2千年以上に渡って人類の役に立っていますが、交換法則を否定するmoonwolf数学は何かの役に立つんでしょうか?。
  • id:moonwolf
    いえ、私の主張では任意の変数が交換法則を満たすことが保障できないので、グローバルには交換不能となるべきだといっています。
    交換可能というのは限定した数しか現れない世界の中でしか通用しないルールですよ。と。ローカルルールだと。

  • id:moonwolf
    > 掛け算に関して交換可能なのは「自然数、整数、有理数、実数、複素数」です。
    いいでしょう。証明した上で扱ってください。
    まず証明を見せてくださいよ、実数が交換可能だとする証明を、ですよ。
    0を含むどんな数でもまったく交換可能だと。矛盾しないと。でもBに0が現れたときには存在しない数が現れるのでエラーにしてください。
    実行時にエラーとしてディビジョンバイゼロみたく扱ってください。

    決して任意の変数が交換可能にはなりません。「自然数、整数、有理数、実数、複素数」しか現れないと保障した範囲でだけ交換してください。
    世界には「自然数、整数、有理数、実数、複素数」しか存在しないと証明したうえでやっててください。
  • id:Lhankor_Mhy
    さきほども書きましたが、moonwolfさんの数学では結合則も破れていますけど、それはいいんですか?
  • id:tdoi
    なるべくmoonwolfさんの主張されている前提を拾うようにして、その前提を列挙してみました。

    0.自然数や複素数といった規定の数の概念ではない新しい数を扱う。
    1.この数には、0という特殊な数が存在する。(一般的な意味での0とは異なる)
    2.この数では、加減算、および、0が関わらない乗除算は適切に(現代数学におけるものと同等に)定義されている。
    3.0が関わる乗算は、0*0=1、0*A=0(A!=0)、A*0=0(A!=0)
    4.0が関わる除算は、0/0=1, 0/A=0(A!=0)、A/0=A(A!=0)
    5.乗除算に対する交換則が成立しない。

    この3つでいいですかね?
    厳密には1とか0意外の数の定義をしないと意味がないですが、その辺がうまくできたとします。
    ただ、3と4のところはmoonwolfさんがどのような体系を考えているのか、どのような計算則が成立する方が自然と考えているのか、自信がないので、おかしかったら指摘してください。

    こういった公理系を定めたのであれば、

    6.乗除算に関する結合則が成立しない。

    が導けます。証明は背理法で。

    結合則を仮定。
    公理から、A*0=0
    両辺を0で割って、(A*0)/0=0/0
    結合則が成り立つので、A*(0/0)=0/0
    公理から0/0=1であるから、A*1=1
    これは矛盾。よって、結合則は成立しない。

    これで、恐らく、moonwolfさんが扱いたい、この1から6の性質をもつ数が定義できました。
    ざっとしか見ていないですが、こういう数を考えること自体は公理系、および、そこから導出される定理に矛盾がなければ、だれも文句は言いません。


    さて、ここからが問題です。
    moonwolfさんはこの数を使って何を計算したいのでしょうか?Rubyのコードを書いていらっしゃったので、何かを計算したいのではないかと推測しているのですが。
    みなさんが気になっているのは、この点だけなんじゃないかと思います。

  • id:moonwolf
    結合則は任意の変数に適応できるんですか?
    結合法則を満たすと自分自身で証明してからやってください。
    偉い人が満たすといっているから、というのは証明にはなりません。偉い人が言っていることが常に正しいというのは盲目的過ぎます。
  • id:hissssa
    >世界には「自然数、整数、有理数、実数、複素数」しか存在しないと証明したうえでやっててください。

    きっと根本的に勘違いがあるんですね。誰も「世界には自然数、整数、有理数、実数、複素数しか存在しない」なんて言ってないんですが。て言うか、ベクトル数の掛け算なんかについては現代数学でも交換法則は成立しませんし、それはすべての数学者の常識です。

    ただし、およそ数学で「一個の数」として扱われる物は、今のところすべてこの範疇に含まれます。現代に至るまで、一個の数として複素数でも表せない数は定義されていません。もしいつか複素数でも表せないような数を一個の数として扱う必要が出来たときは、改めて定義を見直すことになるでしょう。もっとも、その特殊な数が定義されたとして、それをこの自然数から連なる「一個の数」の同列に含める必要があるのかどうかは甚だ疑問ですが。
  • id:moonwolf
    A*B=C そしてB'について関係を定義したなら矛盾せずに乗算を処理してください。それだけです。
    Bについて単位元を考えるならAについても単位元を考えてください。そうしないと対称ではありませんよね。
    Aについては単位元を考えないならBについても単位元を考えないとしてください。数学上の定義とは違うけど処理すると。
  • id:moonwolf
    ベクトルの掛け算については交換法則が成立しないんだったらベクトルが現れない世界でだけ交換してください。
  • id:Lhankor_Mhy
    >Bについて単位元を考えるならAについても単位元を考えてください。そうしないと対称ではありませんよね。
     
    おお、AとBはそれぞれ違う集合の元だったんですね。
    新しい展開だ。
  • id:moonwolf
    複素数ですか、任意の複素数16元数とかも含めて交換可能だと証明した上でだけ扱ってください。
  • id:moonwolf
    変数AとB、それぞれの型が持つ演算規則がつねに交換可能であると証明して、その中でだけ交換してくださいよ。
    どんな型も存在できます。オブジェクト指向ですから、型なんて簡単に定義できます。私が交換不可能な型を定義したら
    その可能性も考慮して、変形してくださいよ。
  • id:tdoi
    ひょっとして、全ての演算に対して、

    A op1 B = C ならば A = B op2 C

    ただし、ABはその体系の数、op1,op2はその体系の演算で、かつ、互いに逆演算。

    となることが、全ての数、及び、演算で成り立つような体系が欲しいのですか?

    残念ながら、よく使われる数の体系はその条件を満たしません。実数などでは、ゼロ徐算がその例です。
    ここは非対称な体系といえるでしょう。しかし、有用です。

    お望みの体系は簡単には作れます。
    乗徐算を取り除いた整数はその一つです。
    ただ、使い勝手はいまいちな気がします。
  • id:moonwolf
    知っている範囲ではすべての数が表現できるから任意の変数を持った式も交換できる、とはなりませんね?
    変数はあくまで変数です。知らない数があらわれたらおかしいですよね。
  • id:moonwolf
    (x)(x-1)=(y)(x-1)

    (x-1)で割ります。

    え?(x-1)が0だったらエラーなんだよね?

    (x-1)が0になる可能性も無視して(x-1)で割りますというのですよね。

    うわぁ、まったく論理的に問題ないや。
  • id:moonwolf
    ドンドン両辺に掛けたり割ったりしてください。
    0による割り算の可能性も無視した上でやってください。
    すばらしい。
  • id:moonwolf
    変数xが0になる可能性も考えずにxで割ってください。
    どんどん割ってください。
  • id:Lhankor_Mhy
    ポリモーフィズムな公理系かー。
    たしかにA='いろは'とかだったら、交換則は成り立たないなあ。
    でもmoonwolf公理系は「例外」を認めないらしいし、こりゃ大変だ。
  • id:moonwolf
    割り算するときに0で割らないことを証明してから割ってくださいよ。
    じゃないと0による割り算エラーが実行時に発生して迷惑なんです。
  • id:Lhankor_Mhy
    moonwolfさん、ちなみにお聞きしますが、「排中律」はどうなんですか?
    ( not A ) or A = true
    これはAがtrueかfalseであることが前提ですが、Aに何が入ってくるか分かりませんよね?
     
    ということは、moonwolf公理系では「排中律」も破れるということでいいんでしょうか?
  • id:moonwolf
    すべての分母が0にならない。0になる可能性を排除したうえで分数を処理してくださいよ。
    ほんと、迷惑です。
  • id:moonwolf
    単項演算子 notとか演算子orが定義されるかはAの実際の型に依存します。
    Aがnotが定義された型という前提条件に問題があるんじゃないですか?
  • id:moonwolf
    演算子が定義されているかとか考えずにかってに式を書いちゃっていいんですか?
  • id:moonwolf
    x + yが表記できる。
    あれ、論理的におかしいです
    xがどんな変数でも+演算子が定義できているという知識がいつのまにか前提条件になっています。
    足し算が常に可能?
    すごい。
    true + trueでもいいんですよね。
    true + falseでもいいんですよね。
    false + falseも定義できていると。
  • id:moonwolf
    変数xが数なのか論理値なのか。
    全部に対応できる数式とか、まぁありえないわけですが。
    前提条件を勝手に仮定して式を書いているというだけです。
  • id:moonwolf
    変数xにたいして加減乗除が定義されている。
    いつのまにかxに関して条件が設定されています。
    xが数であると決め付けています。
    xは数であるという条件を表記しなければその式はもつべき情報を持っていないということです。
  • id:moonwolf
    これは論理式である。
    これは数式である。
    どういう式かについて表記しなければ変数にどういう種類の値が入れられるかわかんないですが、無視しているんですよね?
  • id:Lhankor_Mhy
    でも、moonwolf公理系はポリモーフィズムなんですよね。たとえばAが「全ての集合の集合」とかでも例外を出さずに処理しなければいけないんですよね?
     
    あれ、「全ての集合の集合」と「全ての集合の集合」の積ってどうするんだろう?
    ひょっとして、掛け算は存在してはいけないのでは!?
  • id:Lhankor_Mhy
    いや、もしや、Aが任意の集合の任意の元であるなら、全ての演算は不可能なのでは!?
    Aが「キリンさんという概念」で、Bが「原発事故の元凶」だった場合、本当に加算は可能なのか?
     
    ということは、もしかして全てのモノは演算などできずにあるがままで全てひとつなのでは!!!!
     
     
     
    終了
  • id:moonwolf
    掛け算が定義されない型もありますね。
    論理値の掛け算とか定義できないでしょう。
    掛け算できるのは入力が掛け算をもっているという仮定のもとです。
    非整数値に全ての集合とか概念内ですね。積も定義されていません。
    普通には型チェックしますが、数式に型チェックとかないですね。
  • id:moonwolf
    そもそも演算できるという前提知識を共有した上でしか、式は成り立ちません。
    x+1がxよりも大きくなる。それもかってに仮定しているだけです。+1できるかどうかは変数xに依存しています。
    x+1の演算がx-1した結果を返してもxの型によっては問題ありません。その型においてはそう定義しているのですから。
  • id:hissssa
    型のチェックとか言い出すあたり、きっと数学の変数とプログラムの変数がごっちゃになってるんでしょうね・・・・
  • id:moonwolf
    式の中で型の情報はありませんから、違う型同士の演算が発生してもおかしくありませんね。
  • id:hissssa
    >式の中で型の情報はありませんから、違う型同士の演算が発生してもおかしくありませんね。

    そんな式はそもそも式自体が間違っているんですよ。コンピュータのプログラミング言語じゃないんですから、別に数学の公理に「式を作る人間が間違える事を防ぐ機構」は必要ないのです。
  • id:moonwolf
    A*B=C 定義では明確に違っているんだからAとBを交換すんなよ。
    たまたまできたからって常に可能とはするなよ。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/11 18:53:09
    practicalshemeさんのコメントに有る「単位元」と被乗数・乗数、被除数・除数の意味を正しく理解できる事を望みます。
    a ⊛ e = e ⊛ a = a でした。乗法なら単位元は1です
    乗法の単位元1は、何回かけても結果を変化させない数。

    a ⊛ e = e ⊛ a = a でした。加法なら単位元は0です
    加法の単位元を、何回足しても結果を変化させない数。
    と約束されています。

    だから 任意の数を単位元で何回わっても、結果は変わりません。
    だから 任意の数から単位元を何回引いても、結果は変わりません。

    貴方はこの無意味な(曲解)をいつまで通すつもりですか?
  • id:usamin5885
    > a / b を掛け算にすると a * (1 / b)ということですね。
    > 1 / b を掛け算にすると 1 * (1 / b)ということですね。
    違います。
    a ÷ b を掛け算にすると a × (1 / b)ということです。
    「÷」という記号が「×」になっていることがポイントです。
    1 / b は割り算ではなく、b分の1というひとつの数です。



    a / bが b=0で定義できない理由は、
    bの値を横軸、1 / bの値を縦軸にしたグラフを、
    bが負の値のときを含めて書いてみると、
    感覚的に理解しやすいかもしれません。
    bがプラス側から0に近づくと、1 / bは無限に大きくなっていきますが、
    bがマイナス側から0に近づくと、1 / bは無限に小さくなっていきます。
    1 / 0をどのように定義しても、1 / bのグラフが連続した一本の線にならず、
    美しくないため定義しないという感じです。

    同様に、
    bの値を横軸、1 * bの値を縦軸にしたグラフを、
    bが負の値のときを含めて書いてみると、
    bがプラス側から0に近づくと、a * bは0に近づいていき、
    bがマイナス側から0に近づくと、a * bは0に近づいていきます。
    このことから、1 * 0を0とすると、
    1 * bのグラフが連続した一本の線になって美しいです。
  • id:YAMADAMAY
    やまだまや(真優) 2011/05/14 16:20:53
    practicalshemeさん、かなり遅い返信(変身?=都合主義的)コメントデ申し訳ありません。5月9日16:28:42の私の「0は自然数でない」は勇み足でした、とり下させていただきます。だた「消去してしまうと」後のコメントが何に対してか分からなくなりますので、見苦しいけど残しておきます。私の立場上からの言い訳はモット見苦しいので止めます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません