「かけ算には元から対称な定義があるに違いない」つまり累加でない定義ってことね。それはない、何故なら
"abc" x "de" = "abcabc"
という文字列のかけ算を考える。これは「いくつ分」の文字列の文字の数だけ「ひとつ分」の結合を繰り返す文字列演算ね
Pthon で書くと
def string_multiply(a: str, b: str) -> str:
return a * len(b)
こんな感じ。これは、もちろん非可換
"de" x "abc" = "dedede"
これは長さを見ると自然数のかけ算になっている。この非対称なかけ算が書けるのは、かけ算の定義が、この演算にそった累加だからなわけ
つまり、この非対称な演算を実現する定義だけが許される。つまり対称なかけ算の定義は存在しない。そして、
この文字列のかけ算で掛順が可視化されている
というわけ。
反論1 「単位ごとの交換なら掛順はない」
5m/s x 2kg =2kg x 5m/s だから掛順はないってやつね。
5m/s x 2kg =2m/s x 5kg
はどうする? これには単位ごとの交換は使えない
反論2 「文字列の割り算が決まらない」
長さで考えれば割り算も定義できる。別になくてもよいんだどね
"abc" x ? = "abcabc" の ? の文字列を見つける
これは簡単。2文字の文字列だ
? x "de" = "abcabc" の ? の文字列を見つける
これは "abc" だ。でも、「 ? x "de" = "......" の ? の文字列を見つける。. はwild card」にしても良い
反論3 「文字コードで変わる」
len の仕様にしたがうだけ。文字列のbyte長でも良い。それでもいやなの?
それは「反順序の強迫観念」に過ぎない。「かけ算はどっちでもいい」と思いたいための禁則ね
反論4 「勝手に作ったものに過ぎない」
"vvvvv" x "mm"
5m/s x 2kg のことだ。結果は v が10個。10 kg m/s のことね。任意のかけ算をこれで考えてよい
おはじきで学ぶ算数
をおもいだそう
No comments:
Post a Comment