このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

モノイドをモノイドに作用させたら米田埋め込み

これも土曜の「データベースは圏なんだよ!の会」での一言に対する解説。モノイド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| を詳しく見てみると:

  1. F(対象1) = S という集合が定まっている。
  2. a∈M に対して、F(a):S→S という写像が定まっている。
  3. F(射1) = idS
  4. F(a・b) = F(a);F(b)

F(a):S→S なので、x∈S に対して F(a)(x) が決まります。これを a★x と略記します。つまり、

  • a★x := F(a)(x)

この定義から、

  1. 1★x = x
  2. (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, -) : CopSet)
  • Y(f:A→B) := ( f* :: C(B, -)⇒C(A, -) : CopSet )

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, -) : MopSet)
  • Y(a:1→1) := ( a* :: M(1, -)⇒M(1, -) : MopSet )

ここで、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の米田埋め込みになっている。