プロ関手〈profunctor〉は、分布子〈distributor〉、双加群〈bimodule〉とも呼びます。
関数〈function〉の一般化が distribution〈シュワルツ超関数〉だから、関手〈functor〉の一般化は distributor だろう、ということらしいです。"distribution" は意訳されて「超関数」なので、それに倣うと "distributor" は「超関手」がいいかも知れません。
双加群は代数の双加群〈両側加群〉から来ています。なぜ、プロ関手が代数の双加群なのでしょうか? 以下に順番に説明します。$`\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\hyp}{\text{-} }
\newcommand{\id}{\mathrm{id}}
\newcommand{\In}{\text{ in } }
`$
$`M = (M, *, e)`$ をモノイドとします。モノイド $`M`$ が右から作用する集合を右$`M`$-加群〈right $`M`$-module〉とも呼びます。あるいは、モノイド $`M`$ の右集合表現〈right set representation〉と呼ぶこともあります。集合の代わりにベクトル空間なら、右線形表現〈right linear representation〉です。
集合 $`X`$ への右$`M`$-作用〈$`M`$-右作用〉を演算子記号 '$`\cdot`$' で表すことにします。次が右作用〈右加群 | 右表現〉の条件〈公理〉です。
$`\forall a, b\in M.\\
\quad \forall x \in X.\, (x\cdot a)\cdot b = x\cdot(a*b)\\
\quad \forall x \in X.\, x\cdot e = x
`$
モノイド $`M`$ は次のような圏 $`\cat{C}`$ とみなせます。
- $`\mrm{Obj}(\cat{C}) = |\cat{C}| := \{0\}`$
- $`\mrm{Mor}(\cat{C}) := M`$
- $`\mrm{dom}, \mrm{cod}`$ は自明
- $`\id_0 := e`$
- $`a, b \in \cat{C}(0, 0) = M`$ に対して、$`a;b := a*b`$
右加群 $`(X, \cdot)`$ から、共変関手 $`F:\cat{C} \to {\bf Set}`$ を次のように定義します。
- $`0\in |\cat{C}|`$ に対して、$`F(0) := X \; \in |{\bf Set}|`$
- $`a: 0 \to 0 \In \cat{C}`$ に対して、$`F(a) := (\hyp\cdot a) : F(0) \to F(0) \In {\bf Set}`$
集合圏への共変関手は余前層とも呼ぶので、$`F`$ は圏 $`\cat{C}`$ 上の余前層です。
集合 $`X`$ への左$`M`$-作用〈$`M`$-左作用〉も同じ演算子記号 '$`\cdot`$' で表すことにして、左作用〈左$`M`$-加群 | $`M`$の左集合表現〉の条件〈公理〉を書くと:
$`\forall a, b\in M.\\
\quad \forall x \in X.\, a \cdot (b\cdot x) = (a*b)\cdot x\\
\quad \forall x \in X.\, e \cdot x = x
`$
右加群の場合と同様に圏 $`\cat{D}`$ と関手 $`G`$ を定義すると、$`G`$ は次を満たします。
$`\forall a, b \in \cat{D}(0, 0).\\
\quad G(a;b) = G(b); G(a) \;: G(0) \to G(0) \In {\bf Set}
`$
つまり、左加群から作った関手は反変関手です。集合圏への反変関手は前層とも呼ぶので、$`G`$ は圏 $`\cat{D}`$ 上の前層です。
ここまでに述べた左右は、書き方の約束で変わるので、いま“左加群”と呼んだ構造を“右加群”と呼ぶ人がいることに注意してください。左右は約束に相対的です。
圏 $`\cat{C}`$ が、必ずしもモノイドから作った圏ではなくて、対象をいっぱい持つかも知れない圏だとします。$`X`$ は、$`|\cat{C}|`$ でインデックスされた集合の族〈$`|\cat{C}|`$-indexed family of sets〉だとします。
集合 $`X_\alpha`$ 達($`\alpha \in |\cat{C}|`$)に、圏 $`\cat{C}`$ の射は次のように右から作用するとします。
$`\forall f:\alpha \to \beta, g:\beta \to \gamma \In \cat{C}\,.\\
\quad \forall x \in X_\alpha.\, x \cdot f \in X_\beta\\
\quad \forall y \in X_\beta.\, y \cdot g \in X_\gamma\\
\quad \forall x \in X_\alpha.\, (x \cdot f)\cdot g = x\cdot (f;g) \\
\quad \forall x \in X_\alpha.\, x \cdot \id_\alpha \in X_\alpha\\
\quad \forall x \in X_\alpha.\, x \cdot \id_\alpha = x
`$
これは、集合の族 $`X`$ に対する右作用の族 $`\cdot`$ (インデックスは省略してるけど)ですから、(一般化された)右加群といっていいでしょう。$`(X, \cdot)`$ は右$`\cat{C}`$-加群〈left $`\cat{C}`$-module〉です。
右$`\cat{C}`$-加群は、集合圏への共変関手と同じことですから、$`\cat{C}`$ 上の余前層です。そして、左$`\cat{C}`$-加群は、集合圏への反変関手となり $`\cat{C}`$ 上の前層です。
左から圏 $`\cat{C}`$ の射が作用し、右からは圏 $`\cat{D}`$ の射が作用する、$`|\cat{C}|\times |\cat{D}|`$ でインデックスされた集合の族は、左$`\cat{C}`$-右$`\cat{D}`$-加群〈left $`\cat{C}`$- right $`\cat{D}`$-module〉、あるいは$`(\cat{C}, \cat{D})`$-双加群〈$`(\cat{C}, \cat{D})`$-bimodule〉と呼べます。
$`(\cat{C}, \cat{D})`$-双加群は、$`\cat{C}^\mrm{op}\times \cat{D}\to {\bf Set}`$ という双関手〈二項関手〉を定義します。つまり、プロ関手です。
ところで、$`(\cat{C}, \cat{D})`$-双加群のプロ関手としての向きを $`\cat{C}\to \cat{D}`$ とする人と、$`\cat{D}\to \cat{C}`$ とする人がいます。どっちでもいいけど、毎回注意する必要はあります。