もともと私は、掛算の順序について「どうでもよい」という感想なのだが、ちょっと面白いネタをX上で見つけたので質問してみたら私が「反順序派」のレッテルを貼られ面白そうなので相手にしたら、思わぬところで「掛算の順序には表記上の違いはあるが本質的な意味での順序はない」という結論になったので、そのメモ。
簡単に説明しますと、そもそも掛算の交換法則が『掛算には順序を入れ替えても結果は変わらない』ということの言い換えになりますので、ほとんどの人はこれで『掛算には順序がない』と理解できるかと思います。
以下は、X上での議論(掛算は累加だから順序がある)についての誤謬について触れます。
ここでは自然数(0から数える)の掛算については議論します。前提としてはペアノの公理による自然数の定義と各種演算(加算、掛算)の定義を前提としますが、特段難しい話はしません。もっとも今回の主題である掛算の定義については別途言及します。
また交換法則については特に証明はしませんが、気になる人はAIに聞いてみてください。
掛算の定義に累加というものがあります。
これは以下の掛算
a × b
を「aをb回足す」という定義になります。つまり、
a × b = a + a + ... + a(合計でb回) ・・・・式1
となります。
ここで、順番を入れ替えると、
b × a = b + ... + b(合計でa回) ・・・・式2
ということになり、「bをa回足す」ということで「言葉としての意味が明らかに違うでしょう!」という話です。
これを『累加定義を基にした掛算の順序性の根拠』とします。
累加定義を基にした掛算の順序性には、以下の2つの論点があるかと思います。
1.片方に(回数)が出てくる
2.a,bの順序の入れ替えで個数が変わる(式1と式2で足し算の回数が違う)
ということですが、それぞれ反論します。
「aをb回足す」という表現は、乗法の一つの構成・表現であって、aとbに本質的な役割の違いがあることを意味しないことを示します。
「aをb回足す」という表現は、aそのものを一つの数として扱い、それをb回加えるという累加の表現です。しかし、aもまた「1をa回加えたもの」として表現できます。つまり以下のようになります。
『「1をa回足したもの」をb回足す』
となり式1は以下のように記述できます。
a × b = (1+1+...+1(a回)) + (1+1+...+1(a回)) + ... + (1+1+...+1(a回))(b回) ・・・式3
この時点で分かることですが、反論1の「片方に(回数)が出てくる」というのは単なる定義上からくるある種の誤謬であることが分かります。
続いて、反論2の(足し算の数)にb × a についてですが、私の定義(修正累加定義)に従うと、これは数のまとめ方の順番が違うということになります。
b × a = (1+1+...+1(b回)) + (1+1+...+1(b回)) + ... + (1+1+...+1(b回))(a回) ・・・式4
式1と式2をみると違いは大きいように見えますが、式3と式4を見ると「どのような単位でまとめているかの違いに過ぎない」ということが分かります。特に足算(+)の総数は変わらないことが重要です。
ただ、これだけでは「順番が違うだろう」と言われる余地を残していますが、例えば3×4に当てはめると、下記の図のようになります。先に縦にまとめると、
(1+1+1)+(1+1+1)+(1+1+1)+(1+1+1)
になり、横を先にまとめると、
(1+1+1+1)+(1+1+1+1)+(1+1+1+1)
となるという違いを言っているだけだということが分かります。また足算記号の数(+)もどちらも11個で変わらないことが分かります。
1 1 1 1
1 1 1 1
1 1 1 1
【縦にまとめる(3 × 4)】 【横にまとめる(4 × 3)】
(1) (1) (1) (1) (1 1 1 1)
(1) (1) (1) (1) (1 1 1 1)
(1) (1) (1) (1) (1 1 1 1)
↑ 3つの塊が 4つ ↑ 4つの塊が 3つ
この縦と横の違いですが、本質的な違いはないことは明らかですが、証明はAIに任せますが、交換法則の図示であることが分かります。
交換法則というのは図で見ると縦横を変えているだけということになりますが、そもそも縦と横に意味上の区別はないことが分かります。これはどの数値を指しているかの区別でしかないという(a×bのa,bの区別)であることが分かるかと思います。
もちろん、「4人グループが3組」と「3人グループが4組」は、現実の状況を表す文章としては意味が異なります。しかし、それは「何を1グループとし、何をグループ数とするか」というモデル化上の違いです。その違いを算術演算そのものに持ち込むことはできません。算術としては、どちらも同じ12を表します。
このあたりはしつこく絡まれそうなので予め言っておきますと、累加の定義にあるとおり算術にはそもそも単位については言及していません。単位は算術を応用する側がつけているものです。
この式の意味(つまり数字に付く単位、人とか組)と累加の定義にある(回)を混同させることにより、あたかも掛順が存在するという論法をとっている人がいますが、このあたりをキチンと区別できれば問題ないでしょう。
別の見方になりますが、長方形の面積を求めるのに縦と横の違いは本質的ではないということも言えます。
面積を求めるときの掛算は空間の次元を1つ上げる操作に該当します。つまり縦軸(1次元)と横軸(1次元)の2軸(2次元)ということになりますが、この時の縦軸と横軸に違いがないことは理解できるでしょう。ここで、
y = ax
ならx軸(独立変数)とy軸(従属変数)に違いがある!
と言われそうですが、面積の掛算を関数の形にすると
z = multiply( x, y)
となり、x,yの2軸(2つの独立変数)には違いがないことが分かります。
以上、見てきましたが、自然数の掛算の順番は単に表記上のものでしかないことが分かります。
補足になりますが、掛算をプログラムで書くときに累加の定義のようなアルゴリズムを使えば、乗数と被乗数の区別がつきます。これは、累加という計算手順の都合によるものです。一方でハードウェアでの実装では、いわゆる組み合わせ回路による乗算器などを考えることができ、この場合は乗数と被乗数を本質的に区別する必要はありません。
最後になりますが、ChatGPTとのやり取りのリンクを張ります。
ChatGPTとのやり取りで掛算の定義には集合論と組み合わせを使ったものがあるとのことで、このあたりはAIとの壁打ちで見てもらえればよいですが、私的には、数え上げの定義(1をa個ずつの組をb個)がしっくりときますね。