関手のあいだに順序を入れたいな、と思ってます。F, Gが、圏Cから集合圏Setへの関手のとき、任意のCの対象Xに対して F(X)⊆G(X) (「⊆」は集合の包含関係)、 F(f:X→Y) = G(f:X→Y)|F(X) (縦棒は写像の部分集合への制限)のとき、FはGのsubfunctorだといいます。このことを、簡略に F⊆G と書いてもいいでしょう。「⊆」は、関手のあいだの関係となります。
上記の関手のあいだの関係「⊆」は、常識的な意味での順序と言っていいと思いますが、集合圏特有の概念を使っています。少しだけ一般化しましょう。「包含付き圏:対象を集合っぽく扱うために」で出した包含付き圏(category with inclusions)を使います。
圏Eとその部分圏Jがあって、Jは次の性質を持つとします。
- Jはやせた部分圏である。
- Jは広い部分圏である。
「Jに属する射はすべてモノ射である」は、今回は仮定しません。
F, G:C→E が2つの関手のとき、F⊆G とは次のことだとします。
- 自然変換 τ::F⇒G が存在する。
- τの各成分 τX:F(X)→G(X) はEの部分圏Jに属する。
圏CからEへの関手の全体と自然変換の全体からなる関手圏を [C, E] とします。今述べたτのように、すべての成分がJに属する自然変換の全体をKとすると、Kは [C, E] の部分圏とみなせます。部分圏としてのKが次の性質を持つことが示せます。
- Kはやせた部分圏である。
- Kは広い部分圏である。
つまり、
- Eが包含付き圏のとき、関手圏 [C, E] も包含付き圏となる。
これで、関手を順序付けるひとつの方法が得られました。
ところで、"subfunctor"と書いて「部分関手」とは書きませんでした。実は、部分関手と呼びたい概念がもうひとつあって、それはpartial functorです。partial functorは、partial function(これは「部分関数」と呼ぶのが普通)と同様に、圏全域とは限らず、部分圏で定義される関手です。Fが C→D のpartial functorのとき、事情がハッキリと分かるように F:C⊃→D と書くことにします。また、Fが定義されているCの部分圏を Def(F) で示します。
F, G:C⊃→D が2つのpartial functorのとき、Def(F)⊆Def(G) であってFがGの制限(GがFの拡張)になっているとき、F⊆G と書きたいわけですが、先ほど定義した関手のあいだの順序と記号がカブってしまいます。ムー、困ったな。とりあえず、コロンを付けて F⊆:G としておきます。「⊆:」も、関手を順序付ける関係となります。
F, G:C⊃→D に対して、FとGのあいだの自然変換 α::F⇒G を次のように定義します。
- Def(F)⊆Def(G) のときだけ自然変換が定義できる。(そうでないと定義できない。)
- 任意の対象 X∈|Def(F)| に対して、成分 αX:F(X)→G(X) in D が指定されている。
- 通常の自然変換と同様な可換図式を満たす。
F⊆:G であるとは、次と同じことです。
- 自然変換 α::F⇒G で、成分がすべて恒等射(αX = idF(X) = idG(X))であるものが存在する。
CからDへのすべてのpartial functorとすべての自然変換からなる圏を [C, D]Partial としましょう。成分がすべて恒等射である自然変換の全体をLとすると、Lは [C, D]Partial のやせた広い部分圏となり、[C, D]Partial に包含付き圏の構造を与えます。関係「⊆:」は、この包含付き圏から導かれる順序と同じものです。
subfunctorによる順序関係、partial functorのあいだの順序関係を混ぜることができます。E = (E, J) を包含付き圏として、partial functor の関手圏 [C, E]Partial を考えます。すべての成分がJに属する自然変換の全体が、[C, E]Partial に包含付き圏の構造を与えます。(E, J) のJが自明、つまり恒等射だけの部分圏のときもこの定義は使えます。
2つの順序関係を混ぜてしまった圏では、記号「⊆」と「⊆:」を使い分ける必要はなくなります。それでも、subfunctorとpartial functorの概念は区別したいので、どんな訳語を当てようか? という問題はありますね。はてさて?