これも土曜の「データベースは圏なんだよ!の会」での一言に対する解説。モノイドMに対して標準的に決まるM-集合は米田埋め込みですよ、って話。
Mをモノイドとして、M = (M, ・, 1) とします。このモノイドMを圏とみなし、それも同じ記号Mで表します。圏Mの対象は1個しかないので、それを1と書くことにします(何でもいいのですけど、何かに決める)。すると、|M| = Obj(M) = {1}、Mor(M) = M です(少し記号の乱用あり)。
圏Mから集合圏Setへの関手の全体はまた圏になるので(関手圏)、それを [M, Set] = SetM と書き、この圏の対象をM-集合と呼びます。この圏の射(自然変換)は、M-集合の準同型と呼びます。F∈|SetM| を詳しく見てみると:
- F(対象1) = S という集合が定まっている。
- a∈M に対して、F(a):S→S という写像が定まっている。
- F(射1) = idS
- F(a・b) = F(a);F(b)
F(a):S→S なので、x∈S に対して F(a)(x) が決まります。これを a★x と略記します。つまり、
- a★x := F(a)(x)
この定義から、
- 1★x = x
- (a・b)★x = b★(a★x)
(a・b)★x = b★(a★x) という公式でaとbの順番が入れ替わるのはイヤですね。Mの反対圏をMopとして、Mopの演算は△とすれば、(a△b)★x = (b・a)★x = a★(b★x) となり気持ちよくなります。Mの代わりにMopを使えば、関手圏は [Mop, Set] となり、M上の前層の圏となります。
以上のことをまとめると:
- モノイドMの反対(opposite)モノイドが左から作用する集合の圏は、圏M上の前層の圏である。
さて、米田埋め込みは、任意の(あまり大きくない)圏Cを、C上の前層の圏 [Cop, Set] に埋め込む方法でした。'-'(ハイフン記号)を無名のラムダ変数だとして、米田埋め込み関手Yは次のように定義されます。
- Y(対象A) := (C(A, -) : Cop→Set)
- Y(f:A→B) := ( f* :: C(B, -)⇒C(A, -) : Cop→Set )
f*は自然変換で、X∈|C| に対してf*の成分 (f*)X:C(B, X)→C(A, X) は、次で与えられます。
- (f*)X(k:B→X) := (f;k : A→X)
C = M と置いて、米田埋め込みの定義を追いかけてみます。
- Y(対象1) := (M(1, -) : Mop→Set)
- Y(a:1→1) := ( a* :: M(1, -)⇒M(1, -) : Mop→Set )
ここで、M(1, -) は関手ですが、対象は1しかないので、Y(1)(1) = M(1, 1) = M という単一の集合が決まってしまいます。射 a:1→1 in M に対して Y(a) = M(1, a) : M(1, 1)→M(1, 1) は次で定義されます。
- (a*)1(b:1→1) := (a・b : 1→1)
つまり、Y(a) = a* とは、「aを、Mの要素に左から掛け算することです。a |→ a* = λb.(a・b) が米田埋め込みを与えるわけです; Y = λb.λa.(a・b) 。aをλb.(a・b)として表現することを、群の置換表現だとケイリー(Cayley)表現と呼ぶことがあったと思います。モノイドに対しても同じ言葉を使うなら、
- モノイドMのケイリー表現は、圏Mの米田埋め込みになっている。