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

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

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

参照用 記事

クリーネ代数の圏化: ちょびっと

マイクロコスモ原理とクリーネ構造」の続きの話。ほんのちょびっと分かったこと。

内容:

圏化の多様性

前の記事に書いたように、僕は、クリーネ代数に関して「なんか違う」「なんか足りない」という感じをいだいてました。

今思えば、それは「クリーネ代数を圏化〈categorify〉せねば」という感覚だったのかも知れません。トレース付きデカルト圏は、クリーネ代数の圏化と捉えることができます。クリーネ代数より強力で使いやすいです。で、それで「めでたし、めでたし」なのかと言うと、そうでもないのです。

クリーネ代数の圏化がトレース付きデカルト圏だけでよいのか? どうもそうじゃない。クリーネ代数の特徴的機能であるクリーネスターに関しては、大規模な一般化ができそうな気配があります。

トレース付きデカルト圏は、クリーネ代数の圏化の one of them に過ぎないのではないか? 他にもっと別な圏化があるのではないか? -- こういう問に答えが出てないので、スッキリしない。「マイクロコスモ原理とクリーネ構造」でも、次のように書いています。

マイクロコスモ原理を信じるなら、1-クリーネ構造=クリーネ代数、2-クリーネ構造=クリーネ圏、3-クリーネ構造=メタ・クリーネ圏、… というクリーネ構造の無限タワーがあるはずです。構造の無基底性・多様性から、無限タワーが一意ではなくてたくさんのバリアントがあるかも知れません。

「たくさんのバリアント」がどんなものなのか、もっと具体的に分からないと、スッキリはしないですよね。「マイクロコスモ原理とクリーネ構造」の記述では(修正はしませんけど)、複数の圏化がゴッチャになって書かれているようです。状況が整理されてないですね。

狭義の圏化と亜化〈oidification〉

確かバエズ〈John C. Baez〉が言っていたと思うんだけど、圏化には少なくとも二種類があると(もっとあるかも知れないが)。何らかの概念Xに対して、X categoryと名付けるタイプの圏化と、X-oidと名付けるタイプの圏化です。

名付けの際に、語尾を形容詞にするとか綴り・発音を整えるとかしないことにして、「X → X category」タイプの典型例は「monoid → monoid category」(= monoidal category)です。「X → X-oid」の典型例は「group → group-oid」(= groupoid)です。日本語訳が難しいけど、前者を狭義の圏化、後者を亜化としておきます(苦しい訳だ)。「X圏化」と「亜X化」のほうが落ち着くかな。

X圏化は、集合を台〈underlying thing〉とする構造を、圏を台とする構造に拡張することです。集合を台とする構造Xとそのあいだの準同型写像からなる圏を太字のXとします。X圏化した構造とそのあいだの関手からなる圏をXCatとします(自然変換は考えないことにします)。そのとき、次の図式が可換になります。

 X - D → XCat
 |     |
 U     U
 |     |
 v     v
Set- D → Cat

ここで、Uは台集合/台圏を対応させる忘却関手、Dは集合を離散圏として埋め込む関手です。X = Monoidの場合なら:

Monoid-D→ MonoidCat
 |     |
 U     U
 |     |
 v     v
Set - D → Cat

この可換図式からX圏化の特徴はつかめるでしょう。

亜X化は、対象が1つだけの亜XとしてXが再現するような拡張です。亜X化した構造とそのあいだの関手からなる圏をX-oidとします。そのとき、次の圏同値が成立します。

  • X \stackrel{\sim}{=} X-oid1ob

ここで、X-oid1ob は、単対象X-oidからなる部分圏です。X = Group の場合なら:

  • Group \stackrel{\sim}{=} Group-oid1ob

Group-oidのエンドセットGroup-oid(A, A)は、すべて群の構造を持つので、一般的X-oidの圏X-oidにおいても、エンドセットX-oid(A, A)がXの対象という状況を考えるのもアリです。

クリーネ代数の場合は

クリーネ代数の圏化の場合も、X圏化と亜X化を考えることができます。トレース付きデカルト圏、半加法圏〈双積圏〉などは、亜X化の意味でのクリーネ代数の圏化です。つまり、KleeneAlgebra-oidを求める方向ですね。それとは別に、KleeneAlgebraCategoryを求める方向もあるわけです。

どうも僕は、KleeneAlgebra-oidとKleeneAlgebraCategoryをゴッチャにしてきたようです。関連はあるでしょう*1が、KleeneAlgebra-oidとKleeneAlgebraCategoryは区別しないと混乱します。圏化の多様性に目が眩んでしまう、というか…

KleeneAlgebra-oidは、ある程度は分かっているし、形式言語理論/プログラム意味論との関係も分かります。が、KleeneAlgebraCategoryはそれほどハッキリしません。半環のX圏化であるSemiringCategoryに、クリーネスター自己関手が付いたものだろうとは思います。関数に対する再帰の定式化がKleeneAlgebra-oidで、領域に対する再帰の定式化がKleeneAlgebraCategoryという感じかな。

KleeneAlgebraCategoryの実例がまったくないのか? というと、そんなことはありません。集合圏Setは、リストモナドをクリーネスターと考えておそらくKleeneAlgebraCategoryになるだろうと思います。今のところ、KleeneAlgebraCategoryのチャンとした定義がないので、実例だと言い切ることは出来ませんが。

前節で述べたように、圏化にはバリエーションがあり、もとの構造(圏化する前の構造)が、台が離散圏の場合に再現したり、台が単対象圏の場合に再現したり、あるいはエンドセットとして再現したりします。さらに、マイクロコスモ原理との関連では、圏化した圏がもとの構造をホストできるか? も問題になります。

クリーネ代数(あと、テスト付きクリーネ代数も)の圏化/無限タワー化は、モノイド構造やデカルト構造に比べると、事情が複雑になるでしょう。が、部分的にでも出来れば、もともとの動機である形式言語理論/プログラム意味論にもフィードバックがあると期待できます。


2005, 2006年くらいに考えていたことがメモ編には残っているので、読み直してみようかな。色々な種類の圏化を比較したり組み合わせたりが重要なんじゃないかと思います。

*1:2-圏のレベルでは、KleeneAlgebra-oidとKleeneAlgebraCategoryを統合できるだろう、と思っています。