同値類上の関数としてのかけ算の順序問題
概要
順序のない集合に対してかけ算を定義すれば、かけ算の順序問題はなくなる
本文
前回の記事を書いたとき、「かけ算」を2引数関数だと考えていました。
Haskellのような記法を使うと、
あるいは、直積型、組型(tuple) を使って
しかしかけ算を直積上の関数と考えても、とは違う値ですから、とは異なる式ということになります。
では、とを同じものとみなす空間(たとえば、とする)を考えたらどうでしょうか。
対の順序が逆なものを同値とみなす、すなわち
という同値関係を考えると、 ですから、という代表元に対して、という同値類が考えられます。
交換法則が成り立つので、かけ算はこの同値類に対して定義することができます。
を、「を代表元とする同値類に対してを適用する」の略記と考えれば、とは同じ式ということになります。
この考え方は、3つ以上の数のかけ算に拡張できます。
かけ算には、交換法則に加えて結合法則が成立するので、どんな順番でかけ算をしても同じ結果になります。
かけ算は同じ数をかけることもあるので、たとえばは(が1個、が2個、が1個)というものに対して積をとると考えます。(ここでも、,,の順序が違っても同じものとみなします。)
とが同じ式だという主張をする人には、かけ算を、このような数の集まりに対する関数だととらえているのかもしれません。