じっさまが「わーい」とか喜ぶのもどうかと思いますが、「作れたらいいな」と思っていたモナドのインデックス付き圏は作れそうです。わーい。
「なんだかわかんねーなー」と愚痴みたいなことをブログに書いて何の役に立つ?と思いきや、「またインデックス付き圏が出てきたけど、これはどうなっている?」にksさんからコメントをいただき、さらに次の論文もご紹介いただきました。
- Descent for Monads http://www.tac.mta.ca/tac/volumes/16/24/16-24abs.html
アブストラクトと「1. Introduction」の半分くらいを眺めて、第5章「5. Endofunctors and Monads」をザッとチェックしてみました。僕が「成り立っているとウレシイ」と期待していた結果は第5章の前半に書いてあります。ベースの圏に若干の条件は付きますが、圏と随伴対の圏の上に、C|→Monad(C) という対応を作り、それをインデックス付き圏にできます。やたっ! ksさん、ご教示ありがとうございます。
この"Descent for Monads"の冒頭に動機が書いてあるのですが、僕には理解できません。なんだかさっぱりワカラナイのですが、僕とはまったく違う動機であるのは確かです。ですが、問題意識は次のように記されています。
How can we view monads as indexed over a suitable base category, ...
The main question we address is: under which circumstances can this be viewed as an indexed category, ...
"can this be viewed as an indexed category" の this とは次のような構造です。
the assignments C|→End(C) and C|→Mnd(C), where C is a category and End(C) and Mnd(C) denote the categories of endofunctors and monads on C, respectively.
解きたい問題と期待する結果は僕と同じなんです。なぜか。
この論文は、タイトルにもあるとおり descent theory を扱っています。ディーセント理論てのは、なんか代数幾何の難しいハナシだろ、という認識しかないのですが、その界隈の問題と同種の問題に僕も行き当たるのが実に不思議です。スタック(データ構造ではなくてalgebraic stackとか)だの圏の位相(Grothendieck topologies)だのとは一生縁がないだろうと思っていたのですが、意外にそうでもないのかも。
"Descent for Monads"の第3章は「3. Indexed Monoidal Categories」ですが、ファイバーがモノイド圏になっているようなインデックス付き圏は、計算モデルでは割と普通に出てきます。実際、indexed monoidal categoriesは計算モデルに使われているようで、"Descent for Monads"の著者たち(Pieter Hofstra, Federico De Marchi)も次のように記述しています。
It has already been introduced in the study of the semantics of logic programming languages.
論理プログラム言語のセマンティクスに使っている例とは:
- G. Amato and J. Lipton "Indexed categories and bottom-up semantics of logic programs" 2001
- A. Asperti and A. Corradini "A categorical modal for logic programs: indexed monoidal categories" 1993
ファイバーワイズに与えられた構造を貼り合わせる作業は僕もやったりするので、計算的ディーセントもあるのかも知れませんね。よくわからんけど。