モナドによるクライスリ構成とコモナドによる余クライスリ構成を含む、より一般的な構成法(圏の拡張方法)があるんじゃないか、と思っています。それを一般化クライスリ構成とか一般化クライスリ拡張とか呼んでいるのですが、ハッキリした定義があるのか? と問われると「よくわかりません」が現状の答です。
何度も何度も話題にはしてるんですけどね:
最近の感触では、「一般化クライスリ構成の一般論」は無理かなぁ、と。一般論があるのかも知れませんが、僕には見当が付きません。いくつかの例を知っていて、ボンヤリした枠組みを想定している状態です。このボンヤリした枠組みを少しはハッキリさせようかと。以下は、定義とは言えませんが、要求というか要望というか、そんなものです。
圏Cと圏Kがあって、Kが、Cの一般化クライスリ拡張になっているとは、次のような前提と要求(要望?)を満たすことだとします。
- F, GはCの自己関手である。
- A, B∈|C| に対して、F(A)→G(B) の形の射を一般化クライスリ射と呼ぶ。
- F(A)→G(B) の射と F(B)→G(C) の射は、C内では結合(compose)できないが、なんらかの方法で、f:F(A)→G(B) と g:F(B)→G(C) から f#g:F(A)→G(C) という射を作り出せる。この演算「#」を一般化クライスリ結合と呼ぶ。
- A∈|C| に対して、F(A)→G(A) の射 kidA が対応している。これを一般化クライスリ恒等射と呼ぶ。
- 一般化クライスリ結合「#」は結合的(associative)であり、一般化クライスリ恒等射kidに関して単位的である。
- |K| = |C| である。
- K(A, B) と C(F(A), G(B)) は集合として同型で、(f:A→B in K) ⇔ (f:F(A)→G(B) in C) 。
- 一般化クライスリ結合はKの結合であり、一般化クライスリ恒等射はKの恒等射である。
- J:C→K という圏の埋め込みがある。Jは対象上では恒等である(identity on objects)。
「一般化クライスリ構成の一般論」が無理な感じがするのは、関手F、Gを選んで一般化クライスリ結合と恒等射を定義して、といった手順が具体例ごとにバラバラで統一的手法による構成が望めないからです。具体例をたくさん作ると、統一的手法が見えてくる可能性が皆無ではないでしょうが、個別の例を詳しく調べるほうが得策かな、と今は思っています。