・結合法則                                GAI 氏

 結合法則とは、ある演算*に対し、(a*b)*c=a*(b*c) がいつも成り立つことを指す。

 そこで、今、集合Mの演算を、Mの二つの元に対し、Mの元一つを対応させる規則

 f:M×M → M への写像 f(a,b)=a*b  (∀(a,b)∈M×M、∃a*b∈M )

で定義することにする。

 さて、この時、

(1) Mの元が2個である時

 M×M の元は、2^2=4個で、M×M よりMへの写像は、M×Mの各元に対し、2通りある行
き先を指定するので、全部で、2^(2^2)=16(通り)の写像が考えられる。

 では、この中で、結合法則を満たす写像は何通りあるか?

(2) Mの元が3個である時

 全部で、3^(3^2)=19683(通り)の写像の中で、結合法則を満たす写像は何通りあるか?

(3) Mの元が4個である時

 全部で、4^(4^2)=4294967296(通り)の写像の中で、結合法則を満たす写像は何通り
あるか?


(コメント) 手計算で確認できそうな(1)について計算してみました。

 M={0,1} とおくと、M×M={(0,0)、(0,1)、(1,0)、(1,1)}

 そこで、写像 f の対応を考えると、

A.(0,0)→0 、(0,1)→0 、(1,0)→0 、(1,1)→0

 すなわち、 0*0=0 、0*1=0 、1*0=0 、1*1=0 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=0  、0*(0*1)=0*0=0
 (0*1)*0=0*0=0  、0*(1*0)=0*0=0
 (0*1)*1=0*1=0  、0*(1*1)=0*0=0
 (1*0)*0=0*0=0  、1*(0*0)=1*0=0
 (1*0)*1=0*1=0  、1*(0*1)=1*0=0
 (1*1)*0=0*0=0  、1*(1*0)=1*0=0
 (1*1)*1=0*1=0  、1*(1*1)=1*0=0

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

B.(0,0)→0 、(0,1)→0 、(1,0)→0 、(1,1)→1

 すなわち、 0*0=0 、0*1=0 、1*0=0 、1*1=1 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=0  、0*(0*1)=0*0=0
 (0*1)*0=0*0=0  、0*(1*0)=0*0=0
 (0*1)*1=0*1=0  、0*(1*1)=0*1=0
 (1*0)*0=0*0=0  、1*(0*0)=1*0=0
 (1*0)*1=0*1=0  、1*(0*1)=1*0=0
 (1*1)*0=1*0=0  、1*(1*0)=1*0=0
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

C.(0,0)→0 、(0,1)→0 、(1,0)→1 、(1,1)→0

 すなわち、 0*0=0 、0*1=0 、1*0=1 、1*1=0 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=0  、0*(0*1)=0*0=0
 (0*1)*0=0*0=0  、0*(1*0)=0*1=0
 (0*1)*1=0*1=0  、0*(1*1)=0*0=0
 (1*0)*0=1*0=1  、1*(0*0)=1*0=1
 (1*0)*1=1*1=0  、1*(0*1)=1*0=1 から、(1*0)*1≠1*(0*1)
 (1*1)*0=0*0=0  、1*(1*0)=1*1=0
 (1*1)*1=0*1=0  、1*(1*1)=1*0=1 から、(1*1)*1≠1*(1*1)

なので、(a*b)*c≠a*(b*c)

D.(0,0)→0 、(0,1)→0 、(1,0)→1 、(1,1)→1

 すなわち、 0*0=0 、0*1=0 、1*0=1 、1*1=1 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=0  、0*(0*1)=0*1=0
 (0*1)*0=0*0=0  、0*(1*0)=0*1=0
 (0*1)*1=0*1=0  、0*(1*1)=0*1=0
 (1*0)*0=1*0=1  、1*(0*0)=1*0=1
 (1*0)*1=1*1=1  、1*(0*1)=1*0=1
 (1*1)*0=1*0=1  、1*(1*0)=1*1=1
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

E.(0,0)→0 、(0,1)→1 、(1,0)→0 、(1,1)→0

 すなわち、 0*0=0 、0*1=1 、1*0=0 、1*1=0 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=1  、0*(0*1)=0*1=1
 (0*1)*0=1*0=0  、0*(1*0)=0*0=0
 (0*1)*1=1*1=0  、0*(1*1)=0*0=0
 (1*0)*0=0*0=0  、1*(0*0)=1*0=0
 (1*0)*1=0*1=1  、1*(0*1)=1*1=0 から、(1*0)*1≠1*(0*1)
 (1*1)*0=0*0=0  、1*(1*0)=1*0=0
 (1*1)*1=0*1=1  、1*(1*1)=1*0=0 から、(1*1)*1≠1*(1*1)

なので、(a*b)*c≠a*(b*c)

F.(0,0)→0 、(0,1)→1 、(1,0)→0 、(1,1)→1

 すなわち、 0*0=0 、0*1=1 、1*0=0 、1*1=1 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=1  、0*(0*1)=0*1=1
 (0*1)*0=1*0=0  、0*(1*0)=0*0=0
 (0*1)*1=1*1=1  、0*(1*1)=0*1=1
 (1*0)*0=0*0=0  、1*(0*0)=1*0=0
 (1*0)*1=0*1=1  、1*(0*1)=1*1=1
 (1*1)*0=1*0=0  、1*(1*0)=1*0=0
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

G.(0,0)→0 、(0,1)→1 、(1,0)→1 、(1,1)→0

 すなわち、 0*0=0 、0*1=1 、1*0=1 、1*1=0 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=1  、0*(0*1)=0*1=1
 (0*1)*0=1*0=1  、0*(1*0)=0*1=1
 (0*1)*1=1*1=0  、0*(1*1)=0*0=0
 (1*0)*0=1*0=1  、1*(0*0)=1*0=1
 (1*0)*1=1*1=0  、1*(0*1)=1*1=0
 (1*1)*0=0*0=0  、1*(1*0)=1*1=0
 (1*1)*1=0*1=1  、1*(1*1)=1*0=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

H.(0,0)→0 、(0,1)→1 、(1,0)→1 、(1,1)→1

 すなわち、 0*0=0 、0*1=1 、1*0=1 、1*1=1 のとき、

 (0*0)*0=0*0=0  、0*(0*0)=0*0=0
 (0*0)*1=0*1=1  、0*(0*1)=0*1=1
 (0*1)*0=1*0=1  、0*(1*0)=0*1=1
 (0*1)*1=1*1=1  、0*(1*1)=0*1=1
 (1*0)*0=1*0=1  、1*(0*0)=1*0=1
 (1*0)*1=1*1=1  、1*(0*1)=1*1=1
 (1*1)*0=1*0=1  、1*(1*0)=1*1=1
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

I.(0,0)→1 、(0,1)→0 、(1,0)→0 、(1,1)→0

 すなわち、 0*0=1 、0*1=0 、1*0=0 、1*1=0 のとき、

 (0*0)*0=1*0=0  、0*(0*0)=0*1=0
 (0*0)*1=1*1=0  、0*(0*1)=0*0=1 から、(0*0)*1≠0*(0*1)
 (0*1)*0=0*0=1  、0*(1*0)=0*0=1
 (0*1)*1=1*1=0  、0*(1*1)=0*0=1 から、(0*1)*1≠0*(1*1)
 (1*0)*0=0*0=1  、1*(0*0)=1*1=0 から、(1*0)*0≠1*(0*0)
 (1*0)*1=0*1=0  、1*(0*1)=1*0=0
 (1*1)*0=0*0=1  、1*(1*0)=1*0=0 から、(1*1)*0≠1*(1*0)
 (1*1)*1=0*1=0  、1*(1*1)=1*0=0

なので、(a*b)*c≠a*(b*c)

J.(0,0)→1 、(0,1)→0 、(1,0)→0 、(1,1)→1

 すなわち、 0*0=1 、0*1=0 、1*0=0 、1*1=1 のとき、

 (0*0)*0=1*0=0  、0*(0*0)=0*1=0
 (0*0)*1=1*1=1  、0*(0*1)=0*0=1
 (0*1)*0=0*0=1  、0*(1*0)=0*0=1
 (0*1)*1=0*1=0  、0*(1*1)=0*1=0
 (1*0)*0=0*0=1  、1*(0*0)=1*1=1
 (1*0)*1=0*1=0  、1*(0*1)=1*0=0
 (1*1)*0=1*0=0  、1*(1*0)=1*0=0
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

K.(0,0)→1 、(0,1)→0 、(1,0)→1 、(1,1)→0

 すなわち、 0*0=1 、0*1=0 、1*0=1 、1*1=0 のとき、

 (0*0)*0=1*0=1  、0*(0*0)=0*1=0 から、(0*0)*0≠0*(0*0)
 (0*0)*1=1*1=0  、0*(0*1)=0*0=1 から、(0*0)*1≠0*(0*1)
 (0*1)*0=0*0=1  、0*(1*0)=0*1=0 から、(0*1)*0≠0*(1*0)
 (0*1)*1=0*1=0  、0*(1*1)=0*0=1 から、(0*1)*1≠0*(1*1)
 (1*0)*0=1*0=1  、1*(0*0)=1*1=0 から、(1*0)*0≠1*(0*0)
 (1*0)*1=1*1=0  、1*(0*1)=1*0=1 から、(1*0)*1≠1*(0*1)
 (1*1)*0=0*0=1  、1*(1*0)=1*1=0 から、(1*1)*0≠1*(1*0)
 (1*1)*1=0*1=0  、1*(1*1)=1*0=1 から、(1*1)*1≠1*(1*1)

なので、(a*b)*c≠a*(b*c)

L.(0,0)→1 、(0,1)→0 、(1,0)→1 、(1,1)→1

 すなわち、 0*0=1 、0*1=0 、1*0=1 、1*1=1 のとき、

 (0*0)*0=1*0=1  、0*(0*0)=0*1=0 から、(0*0)*0≠0*(0*0)
 (0*0)*1=1*1=1  、0*(0*1)=0*0=1
 (0*1)*0=0*0=1  、0*(1*0)=0*1=0 から、(0*1)*0≠0*(1*0)
 (0*1)*1=0*1=0  、0*(1*1)=0*1=0
 (1*0)*0=1*0=1  、1*(0*0)=1*1=1
 (1*0)*1=1*1=1  、1*(0*1)=1*0=1
 (1*1)*0=1*0=1  、1*(1*0)=1*1=1
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c≠a*(b*c)

M.(0,0)→1 、(0,1)→1 、(1,0)→0 、(1,1)→0

 すなわち、 0*0=1 、0*1=1 、1*0=0 、1*1=0 のとき、

 (0*0)*0=1*0=0  、0*(0*0)=0*1=1 から、(0*0)*0≠0*(0*0)
 (0*0)*1=1*1=0  、0*(0*1)=0*1=1 から、(0*0)*1≠0*(0*1)
 (0*1)*0=1*0=0  、0*(1*0)=0*0=1 から、(0*1)*0≠0*(1*0)
 (0*1)*1=1*1=0  、0*(1*1)=0*0=1 から、(0*1)*1≠0*(1*1)
 (1*0)*0=0*0=1  、1*(0*0)=1*1=0 から、(1*0)*0≠1*(0*0)
 (1*0)*1=0*1=1  、1*(0*1)=1*1=0 から、(1*0)*1≠1*(0*1)
 (1*1)*0=0*0=1  、1*(1*0)=1*0=0 から、(1*1)*0≠1*(1*0)
 (1*1)*1=0*1=1  、1*(1*1)=1*0=0 から、(1*1)*1≠1*(1*1)

なので、(a*b)*c≠a*(b*c)

N.(0,0)→1 、(0,1)→1 、(1,0)→0 、(1,1)→1

 すなわち、 0*0=1 、0*1=1 、1*0=0 、1*1=1 のとき、

 (0*0)*0=1*0=0  、0*(0*0)=0*1=1 から、(0*0)*0≠0*(0*0)
 (0*0)*1=1*1=1  、0*(0*1)=0*1=1
 (0*1)*0=1*0=0  、0*(1*0)=0*0=1 から、(0*1)*0≠0*(1*0)
 (0*1)*1=1*1=1  、0*(1*1)=0*1=1
 (1*0)*0=0*0=1  、1*(0*0)=1*1=1
 (1*0)*1=0*1=1  、1*(0*1)=1*1=1
 (1*1)*0=1*0=0  、1*(1*0)=1*0=0
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c≠a*(b*c)

O.(0,0)→1 、(0,1)→1 、(1,0)→1 、(1,1)→0

 すなわち、 0*0=1 、0*1=1 、1*0=1 、1*1=0 のとき、

 (0*0)*0=1*0=1  、0*(0*0)=0*1=1
 (0*0)*1=1*1=0  、0*(0*1)=0*1=1 から、(0*0)*1≠0*(0*1)
 (0*1)*0=1*0=1  、0*(1*0)=0*1=1
 (0*1)*1=1*1=0  、0*(1*1)=0*0=1 から、(0*1)*1≠0*(1*1)
 (1*0)*0=1*0=1  、1*(0*0)=1*1=0 から、(1*0)*0≠1*(0*0)
 (1*0)*1=1*1=0  、1*(0*1)=1*1=0
 (1*1)*0=0*0=1  、1*(1*0)=1*1=0 から、(1*1)*0≠1*(1*0)
 (1*1)*1=0*1=1  、1*(1*1)=1*0=1

なので、(a*b)*c≠a*(b*c)

P.(0,0)→1 、(0,1)→1 、(1,0)→1 、(1,1)→1

 すなわち、 0*0=1 、0*1=1 、1*0=1 、1*1=1 のとき、

 (0*0)*0=1*0=1  、0*(0*0)=0*1=1
 (0*0)*1=1*1=1  、0*(0*1)=0*1=1
 (0*1)*0=1*0=1  、0*(1*0)=0*1=1
 (0*1)*1=1*1=1  、0*(1*1)=0*1=1
 (1*0)*0=1*0=1  、1*(0*0)=1*1=1
 (1*0)*1=1*1=1  、1*(0*1)=1*1=1
 (1*1)*0=1*0=1  、1*(1*0)=1*1=1
 (1*1)*1=1*1=1  、1*(1*1)=1*1=1

なので、(a*b)*c=a*(b*c) がいつも成り立つ。

 以上から、結合法則が成り立つ写像は、

 A. 、B. 、D. 、F. 、G. 、H. 、J. 、P.

の8通りである。


 GAI さんからのコメントです。(令和5年8月21日付け)

 ある本を読んでいるとき、この写像と結合法則の組合せについての記述を読んで、実際ど
んな写像(演算)が条件を満たすのかを知りたくなり、Mの要素が2つの場合に全部(16通り)
を全てチェックしたら、8通りであることを実験から見つけられました。

 でも、これを前もってわかることはどうしても見つけられなく、次のMの要素が3個の場合
は、全部で、19683通りもあるので、何とかコンピュータを利用してカウントしない限り分か
らないと感じ、そのプログラムをどう設計すれば可能なのかと、あれこれ試行錯誤を繰り返
して組み上げていきました。(何日も組み方が分からず悪戦苦闘の連続でした。)

 やっとこれで求まるのではないかと思われるプログラムで計算した結果が、113通りでし
た。Mの要素が4なら、3492通りになりました。(結果が出るまで随分時間がかかりました。)

 Mの要素が2の場合に比べ、その比率が極端に小さくなったので、この結果は自信があり
ませんでした。

 この僅かの 「8,113,3492」を、例のOEISで検索すると、「A023814」がヒットしました。

 でも、このサイトでの説明文では何も結合法則なる記述はなく、数は一致するも、これが
求める数を示すものか、いまいち自信がありません。

 何方か、この数を示す正しい数値を見つけて貰いたいのですが・・・、もし、この数値が正し
いなら、結合法則が成り立つとはとても珍しい現象であると認識しないといけないものだと思
える。


 りらひいさんからのコメントです。(令和5年8月21日付け)

 英語の意味を検索すると、

 associative :〔演算などが〕結合的な、結合律[法則]を満たす
 binary operation : 二項演算

らしいので、「Number of associative binary operations on an n-set」は、

 「要素数 n の集合における結合法則を満たす二項演算の数」

となって、GAI さんが知りたいものそのものではないでしょうか?



  以下、工事中!



              投稿一覧に戻る