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

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

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

参照用 記事

ステファネスク師匠の厳密モノイド圏の扱い方

ステファネスク師匠(Gheorghe Stefanescu; 「師匠」と呼ぶのは、私淑しているからです)は、圏論もエキスパートと言ってよいと思いますが、あえて圏論を表に出さない傾向があります。あと、コォゼン先生(Dexter Kozen)も、滅多に圏論には言及しない(けど、圏論ぽいこともやっている)人ですね。

そのステファネスク師匠による厳密モノイド圏(strict monoidal category)の定義/構成が、まー当たり前の方法なんですが、僕にはちょっと珍しく思えたので紹介します。記号法はステファネスク師匠のものとは異なります。

一般のモノイド圏 C = (C, ×, I) を考えて、モノイド積×をCの対象の集合|C|に制限してみます。×は|C|上の二項演算になりますが、(|C|, ×, I) は普通の意味のモノイドにはなりません(なることが保証はされない)。結合律や単位律が等式として成立してないからです(成立することが保証はされない)。

厳密モノイド圏とは、モノイド積×と単位Iに関して、結合律と単位律が等式として成立するモノイド圏です。法則が「up-to-isoではなくて、on-the-nose」で成立する、とか言います。

Cが厳密モノイド圏なら、|C|はモノイドとなることから、モノイドMから出発して、Mの二項演算と整合するホムセットにより厳密モノイド圏を定義できます。M = (M, ・, e) をモノイドとして、M×M(ここの×は集合の直積)でインデックスされた集合達 H(a, b) (a, b∈M)を考えます。a∈M ごとに Ia∈H(a, a) があって、結合γa,b,c:H(a, b)×H(b, c)→H(a, c) も定義されているとします。

結合 γ(f, g) を f;g と書くことにして:

  1. (f;g);h = f;(g;h)
  2. Ia;f = f;Ib = f

これらが成立するなら、(M, H(-, -), I-, γ-,-,-) は圏を定義します。

さらに、Mの演算・と整合するような演算達 H(a, b)×H(c, d)→H(a・c, b・c) があるとしましょう。この演算達も同じ記号「・」で表します。演算・に次の法則を要求します。

  1. (f・g)・h = f・(g・h)
  2. Ie・f = f・Ie = f
  3. (f;g)・(f';g') = (f・f');(g・g')
  4. Ia・Ib = Ia・b

通常の定義と同じっちゃ同じなんですが、モノイドMが先にある点が変わっています。Mの実例としては、自然数の足し算モノイドとか、アルファベットAから作られた自由モノイドA*などがあります。これらの実例では、モノイドありきから出発するほうが確かに考えやすい気がします。

なお、ステファネスク師匠は、モノイドMをインターフェース・モノイドと呼びます。圏の対象が入出力インターフェースで、圏の射がプロセス(計算の実行主体)のように考えるからです。圏のモノイド積は、インターフェースの合成とそれに伴うプロセスの並列合成を定義する、と解釈します。