随伴から導かれるモナドの例 ── maybe モナド
モナドから導かれる随伴 (1) ── Eilenberg-Moore 圏
与えられたモナド $(T,\eta,\mu)$ から導かれる随伴として Eilenberg-Moore 圏を取り上げた.
ここでは, $(T,\eta,\mu)$ から導かれる別の随伴として, Kleisli 圏を定義する.
定義.$\mathrm{C}$ をモナド $(T,\eta,\mu)$ を持つ圏とする. Kleisli 圏 (Kleisli category)$\mathrm{C}_T$ は次のように構成される.
・ $\mathrm{C}$ の対象を $\mathrm{C}_T$ の対象とする.
・ $A$, $B$ を $\mathrm{C}_T$ の対象 (つまり圏 $\mathrm{C}$ の対象) とする. $\mathrm{C}_T$ における $A$ から $B$ への射 $f : A \rightsquigarrow B$ は, $\mathrm{C}$ における射 $f : A \rightarrow TB$ と定義する.
・ $\mathrm{C}_T$ の各対象 $A$ 上の恒等写像 (identity) は, 単位 $\eta_A : A \rightarrow TA$ とする.
・ $\mathrm{C}_T$ の 2 つの射 $f : A \rightsquigarrow B$, $g : B \rightsquigarrow C$ の合成 (これを $g \circ f$ と記すことにする) $g \circ f : A \rightsquigarrow C$ は, $\mathrm{C}$ における射の合成
\begin{equation*}
\DeclareMathOperator{\Aff}{Aff}
\DeclareMathOperator{\Ar}{Ar}
\DeclareMathOperator{\Arccos}{Arccos}
\DeclareMathOperator{\Arcsin}{Arcsin}
\DeclareMathOperator{\Arr}{Arr}
\DeclareMathOperator{\arr}{arr}
\DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\Auto}{Auto}
\DeclareMathOperator{\Axiom}{Axiom}
\DeclareMathOperator{\Bilin}{Bilin}
\DeclareMathOperator{\card}{card}
\DeclareMathOperator{\Catelem}{\int}
\DeclareMathOperator{\Cocone}{Cocone}
\DeclareMathOperator{\Cod}{cod}
\DeclareMathOperator{\Codomain}{cod}
\DeclareMathOperator{\Coin}{coin}
\DeclareMathOperator{\coker}{coker}
\DeclareMathOperator{\Colim}{colim}
\DeclareMathOperator{\comp}{comp}
\DeclareMathOperator{\Conf}{Conf}
\DeclareMathOperator{\Conj}{Conj}
\DeclareMathOperator{\Dom}{dom}
\DeclareMathOperator{\Domain}{dom}
\DeclareMathOperator{\Edge}{Edge}
\DeclareMathOperator{\Ev}{ev}
\DeclareMathOperator{\GCD}{gcd}
\DeclareMathOperator{\Gr}{Gr}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Id}{id}
\DeclareMathOperator{\IM}{Im}
\DeclareMathOperator{\im}{im}
\DeclareMathOperator{\Ind}{ind}
\DeclareMathOperator{\INIT}{init}
\DeclareMathOperator{\iso}{iso}
\DeclareMathOperator{\LCM}{lcm}
\DeclareMathOperator{\Map}{Map}
\DeclareMathOperator{\mor}{arr}
\DeclareMathOperator{\Nat}{Nat}
\DeclareMathOperator{\Ob}{Ob}
\DeclareMathOperator{\ob}{ob}
\DeclareMathOperator{\ord}{ord}
\DeclareMathOperator{\Path}{Path}
\DeclareMathOperator{\PConf}{PConf}
\DeclareMathOperator{\Point}{Point}
\DeclareMathOperator{\Prob}{Prob}
\DeclareMathOperator{\RE}{Re}
\DeclareMathOperator{\Res}{res}
\DeclareMathOperator{\Sect}{Sect}
\DeclareMathOperator{\SF}{SF}
\DeclareMathOperator{\SkelCat}{sk}
\DeclareMathOperator{\Spec}{Spec}
\DeclareMathOperator{\Sq}{Sq}
\DeclareMathOperator{\Struct}{Struct}
\DeclareMathOperator{\Sub}{Sub}
\DeclareMathOperator{\Sym}{Sym}
\DeclareMathOperator{\TERM}{term}
\DeclareMathOperator{\Vertex}{Vert}
\newcommand{\Abs}[1]{\lvert{#1}\rvert}
\newcommand{\Bs}{\backslash}
\newcommand{\Cdot}{\,\cdot^{\mathrm{op}}}
\newcommand{\Comma}[2]{{{#1}\!\downarrow\!{#2}}}
\newcommand{\CommaCat}[2]{(#1/#2)}
\newcommand{\Complement}[1]{{\smash[t]{\mathstrut #1}}^{\mathrm{c}}}
\newcommand{\Emph}[1]{\textit{#1}}
\newcommand{\Eqclass}[4]{{#1#2#3}_{#4}}
\newcommand{\EqCls}[2]{{\left[#1\right]}_{#2}}
\newcommand{\Eqcls}[1]{\left[#1\right]}
\newcommand{\Expt}[2]{{\smash[t]{\mathstrut #1}}^{\mathstrut #2}}
\newcommand{\FnRest}[2]{{#1}|{#2}}
\newcommand{\Func}[2]{\mathrm{Func}(#1,#2)}
\newcommand{\g}{\varg}
\newcommand{\Inc}[2]{\mathrm{incl}\left(#1,#2\right)}
\newcommand{\Incl}[2]{\mathrm{incl}_{#1}^{#2}}
\newcommand{\InclArrow}[2]{\morphism(0,0)/>->/<450,0>[\Incl{#1}{#2} : {#1}\,\,`{#2};]}
\newcommand{\Ip}{\amalg}
\newcommand{\Lb}[1]{\mathrm{lb}(#1)}
\newcommand{\LH}{\mathrm{LH}}
\newcommand{\Lowerset}[1]{\downarrow\!\!{#1}}
\newcommand{\Leadsto}{\quad\leadsto\quad}
\newcommand{\Lrsquigarrow}{\quad\leftrightsquigarrow\quad}
\newcommand{\Mb}[1]{\mathbf{#1}}
\newcommand{\Mbb}[1]{\mathbb{#1}}
\newcommand{\Mi}[1]{\mathit{#1}}
\newcommand{\Mlb}[1]{\mathrm{mlb}(#1)}
\newcommand{\Mr}[1]{\mathrm{#1}}
\newcommand{\Ms}[1]{\mathscr{#1}}
\newcommand{\Mt}[1]{\mathtt{#1}}
\newcommand{\Mub}[1]{\mathrm{mub}(#1)}
\newcommand{\newinf}{\mathop{\mathrm{inf}\vphantom{\mathrm{sup}}}}
\newcommand{\newsup}{\mathop{\smash{\mathrm{sup}}}}
\newcommand{\Opp}[1]{#1^{\mathrm{op}}}
\newcommand{\Prj}[2]{\mathrm{proj}\left(#1,#2\right)}
\newcommand{\Proj}[2]{\mathrm{proj}^{#1}_{#2}}
\newcommand{\Pw}{\mathbf{P}}
\newcommand{\Rn}[1]{{\bmdefine{R}}^{#1}}
\newcommand{\q}{\hspace{1em}}
\newcommand{\qq}{\hspace{0.5em}}
\newcommand{\Rel}[1]{\langle{#1}\rangle}
\newcommand{\Rest}[2]{{#1}|{#2}}
\newcommand{\Slash}[1]{{\ooalign{\hfil/\hfil\crcr$#1$}}}
\newcommand{\SliCat}[2]{{#1}\,\big/\,{#2}}
\newcommand{\Src}{d^{0,\mathrm{op}}}
\newcommand{\ssqrt}[1]{\sqrt{\smash[b]{\mathstrut #1}}}
\newcommand{\Tgt}{d^{1,\mathrm{op}}}
\newcommand{\TwArCat}[1]{\mathrm{Tw}(#1)}
\newcommand{\Ub}[1]{\mathrm{ub}(#1)}
\newcommand{\Un}[1]{{1}_{#1}}
\newcommand{\Upperset}[1]{\uparrow\!\!{#1}}
\newcommand{\VectCat}[1]{#1 \mathchar`- \mathbf{Vect}}
\newcommand{\VS}{\vspace*{-1ex}}
\newcommand{\Wbar}[1]{\widebar{#1}}
\newcommand{\Ab}{\mathbf{Ab}}
\newcommand{\Adj}{\mathbf{Adj}}
\newcommand{\Affine}{\mathbf{Affine}}
\newcommand{\Ban}{\mathbf{Ban}}
\newcommand{\bbDelta}{\Delta\mkern-12mu\Delta}
\newcommand{\Card}{\mathbf{Card}}
\newcommand{\CAT}{\mathbf{CAT}}
\newcommand{\Cat}{\mathbf{Cat}}
\newcommand{\cgHaus}{\mathbf{cgHaus}}
\newcommand{\Ch}{\mathbf{Ch}}
\newcommand{\cHaus}{\mathbf{cHaus}}
\newcommand{\Cluster}{\mathbf{Cluster}}
\newcommand{\CMonoid}{\mathbf{CMonoid}}
\newcommand{\CRing}{\mathbf{CRing}}
\newcommand{\DirGraph}{\mathbf{DirGraph}}
\newcommand{\End}{\mathbf{End}}
\newcommand{\Euclid}{\mathbf{Euclid}}
\newcommand{\Field}{\mathbf{Field}}
\newcommand{\Fin}{\mathbf{Fin}}
\newcommand{\FinMetric}{\mathbf{FinMetric}}
\newcommand{\Four}{\mathbbm{4}}
\newcommand{\Graph}{\mathbf{Graph}}
\newcommand{\GrMod}{\mathbf{GrMod}}
\newcommand{\Grp}{\mathbf{Grp}}
\newcommand{\Group}{\mathbf{Group}}
\newcommand{\Groupoid}{\mathbf{Groupoid}}
\newcommand{\Haus}{\mathbf{Haus}}
\newcommand{\Htpy}{\mathbf{Htpy}}
\newcommand{\Man}{\mathbf{Man}}
\newcommand{\Mapsdown}{\rotatebox{270}{$\mapsto$}}
\newcommand{\Mapsup}{\rotatebox{90}{$\mapsto$}}
\newcommand{\Mat}{\mathbf{Mat}}
\newcommand{\Meas}{\mathbf{Meas}}
\newcommand{\Measure}{\mathbf{Measure}}
\newcommand{\Mod}{\mathbf{Mod}}
\newcommand{\Model}{\mathbf{Model}}
\newcommand{\Mon}{\mathbf{Mon}}
\newcommand{\Monoid}{\mathbf{Monoid}}
\newcommand{\oMega}{\bbomega}
\newcommand{\One}{\mymathbb{1}}
\newcommand{\Ord}{\mathrm{Ord}}
\newcommand{\PCluster}{\mathbf{PCluster}}
\newcommand{\POs}{\mathbf{Poset}}
\newcommand{\Poset}{\mathbf{Poset}}
\newcommand{\PROJ}{\mathbf{Proj}}
\newcommand{\Psh}{\mathbf{Psh}}
\newcommand{\Ring}{\mathbf{Ring}}
\newcommand{\Rng}{\mathbf{Rng}}
\newcommand{\SET}{\mathbf{SET}}
\newcommand{\Set}{\mathbf{Set}}
\newcommand{\setmid}{\mathrel{}\middle|\mathrel{}}
\newcommand{\Sh}{\mathbf{Sh}}
\newcommand{\Shv}{\mathbf{Shv}}
\newcommand{\Three}{\mymathbb{3}}
\renewcommand{\Top}{\mathbf{Top}}
\newcommand{\Two}{\mymathbb{2}}
\newcommand{\Vect}{\mathbf{Vect}}
\newcommand{\Zero}{\mymathbb{0}}
\newcommand{\sA}{\mathscr{A}}
\newcommand{\sB}{\mathscr{B}}
\newcommand{\sC}{\mathscr{C}}
\newcommand{\sD}{\mathscr{D}}
\newcommand{\sE}{\mathscr{E}}
\newcommand{\sF}{\mathscr{F}}
\newcommand{\sG}{\mathscr{G}}
\newcommand{\sH}{\mathscr{H}}
\newcommand{\sI}{\mathscr{I}}
\newcommand{\sJ}{\mathscr{J}}
\newcommand{\sK}{\mathscr{K}}
\newcommand{\sL}{\mathscr{L}}
\newcommand{\sM}{\mathscr{M}}
\newcommand{\sN}{\mathscr{N}}
\newcommand{\sO}{\mathscr{O}}
\newcommand{\sP}{\mathscr{P}}
\newcommand{\sQ}{\mathscr{Q}}
\newcommand{\sR}{\mathscr{R}}
\newcommand{\sS}{\mathscr{S}}
\newcommand{\sT}{\mathscr{T}}
\newcommand{\sU}{\mathscr{U}}
\newcommand{\sV}{\mathscr{V}}
\newcommand{\sW}{\mathscr{W}}
\newcommand{\sX}{\mathscr{X}}
\newcommand{\sY}{\mathscr{Y}}
\newcommand{\sZ}{\mathscr{Z}}
\newcommand{\bfA}{\mathbf{A}}
\newcommand{\bfB}{\mathbf{B}}
\newcommand{\bfC}{\mathbf{C}}
\newcommand{\bfD}{\mathbf{D}}
\newcommand{\bfE}{\mathbf{E}}
\newcommand{\bfF}{\mathbf{F}}
\newcommand{\bfG}{\mathbf{G}}
\newcommand{\bfH}{\mathbf{H}}
\newcommand{\bfI}{\mathbf{I}}
\newcommand{\bfJ}{\mathbf{J}}
\newcommand{\bfK}{\mathbf{K}}
\newcommand{\bfL}{\mathbf{L}}
\newcommand{\bfM}{\mathbf{M}}
\newcommand{\bfN}{\mathbf{N}}
\newcommand{\bfO}{\mathbf{O}}
\newcommand{\bfP}{\mathbf{P}}
\newcommand{\bfQ}{\mathbf{Q}}
\newcommand{\bfR}{\mathbf{R}}
\newcommand{\bfS}{\mathbf{S}}
\newcommand{\bfT}{\mathbf{T}}
\newcommand{\bfU}{\mathbf{U}}
\newcommand{\bfV}{\mathbf{V}}
\newcommand{\bfW}{\mathbf{W}}
\newcommand{\bfX}{\mathbf{X}}
\newcommand{\bfY}{\mathbf{Y}}
\newcommand{\bfZ}{\mathbf{Z}}
\newcommand{\bfa}{\mathbf{a}}
\newcommand{\bfb}{\mathbf{b}}
\newcommand{\bfc}{\mathbf{c}}
\newcommand{\bfd}{\mathbf{d}}
\newcommand{\bfe}{\mathbf{e}}
\newcommand{\bff}{\mathbf{f}}
\newcommand{\bfg}{\mathbf{g}}
\newcommand{\bfh}{\mathbf{h}}
\newcommand{\bfi}{\mathbf{i}}
\newcommand{\bfj}{\mathbf{j}}
\newcommand{\bfk}{\mathbf{k}}
\newcommand{\bfl}{\mathbf{l}}
\newcommand{\bfm}{\mathbf{m}}
\newcommand{\bfn}{\mathbf{n}}
\newcommand{\bfo}{\mathbf{o}}
\newcommand{\bfp}{\mathbf{p}}
\newcommand{\bfq}{\mathbf{q}}
\newcommand{\bfr}{\mathbf{r}}
\newcommand{\bfs}{\mathbf{s}}
\newcommand{\bft}{\mathbf{t}}
\newcommand{\bfu}{\mathbf{u}}
\newcommand{\bfv}{\mathbf{v}}
\newcommand{\bfw}{\mathbf{w}}
\newcommand{\bfx}{\mathbf{x}}
\newcommand{\bfy}{\mathbf{y}}
\newcommand{\bfz}{\mathbf{z}}
\newcommand{\frA}{\mathfrak{A}}
\newcommand{\frB}{\mathfrak{B}}
\newcommand{\frC}{\mathfrak{C}}
\newcommand{\frD}{\mathfrak{D}}
\newcommand{\frE}{\mathfrak{E}}
\newcommand{\frF}{\mathfrak{F}}
\newcommand{\frG}{\mathfrak{G}}
\newcommand{\frH}{\mathfrak{H}}
\newcommand{\frI}{\mathfrak{I}}
\newcommand{\frJ}{\mathfrak{J}}
\newcommand{\frK}{\mathfrak{K}}
\newcommand{\frL}{\mathfrak{L}}
\newcommand{\frM}{\mathfrak{M}}
\newcommand{\frN}{\mathfrak{N}}
\newcommand{\frO}{\mathfrak{O}}
\newcommand{\frP}{\mathfrak{P}}
\newcommand{\frQ}{\mathfrak{Q}}
\newcommand{\frR}{\mathfrak{R}}
\newcommand{\frS}{\mathfrak{S}}
\newcommand{\frT}{\mathfrak{T}}
\newcommand{\frU}{\mathfrak{U}}
\newcommand{\frV}{\mathfrak{V}}
\newcommand{\frW}{\mathfrak{W}}
\newcommand{\frX}{\mathfrak{X}}
\newcommand{\frY}{\mathfrak{Y}}
\newcommand{\frZ}{\mathfrak{Z}}
\newcommand{\Fra}{\mathfrak{a}}
\newcommand{\Frb}{\mathfrak{b}}
\newcommand{\Frc}{\mathfrak{c}}
\newcommand{\Frd}{\mathfrak{d}}
\newcommand{\Fre}{\mathfrak{e}}
\newcommand{\Frf}{\mathfrak{f}}
\newcommand{\Frg}{\mathfrak{g}}
\newcommand{\Frh}{\mathfrak{h}}
\newcommand{\Fri}{\mathfrak{i}}
\newcommand{\Frj}{\mathfrak{j}}
\newcommand{\Frk}{\mathfrak{k}}
\newcommand{\Frl}{\mathfrak{l}}
\newcommand{\Frm}{\mathfrak{m}}
\newcommand{\Frn}{\mathfrak{n}}
\newcommand{\Fro}{\mathfrak{o}}
\newcommand{\Frp}{\mathfrak{p}}
\newcommand{\Frq}{\mathfrak{q}}
\newcommand{\Frr}{\mathfrak{r}}
\newcommand{\Frs}{\mathfrak{s}}
\newcommand{\Frt}{\mathfrak{t}}
\newcommand{\Fru}{\mathfrak{u}}
\newcommand{\Frv}{\mathfrak{v}}
\newcommand{\Frw}{\mathfrak{w}}
\newcommand{\Frx}{\mathfrak{x}}
\newcommand{\Fry}{\mathfrak{y}}
\newcommand{\Frz}{\mathfrak{z}}
\newcommand{\rA}{\mathrm{A}}
\newcommand{\rB}{\mathrm{B}}
\newcommand{\rC}{\mathrm{C}}
\newcommand{\rD}{\mathrm{D}}
\newcommand{\rE}{\mathrm{E}}
\newcommand{\rF}{\mathrm{F}}
\newcommand{\rG}{\mathrm{G}}
\newcommand{\rH}{\mathrm{H}}
\newcommand{\rI}{\mathrm{I}}
\newcommand{\rJ}{\mathrm{J}}
\newcommand{\rK}{\mathrm{K}}
\newcommand{\rL}{\mathrm{L}}
\newcommand{\rM}{\mathrm{M}}
\newcommand{\rN}{\mathrm{N}}
\newcommand{\rO}{\mathrm{O}}
\newcommand{\rP}{\mathrm{P}}
\newcommand{\rQ}{\mathrm{Q}}
\newcommand{\rR}{\mathrm{R}}
\newcommand{\rS}{\mathrm{S}}
\newcommand{\rT}{\mathrm{T}}
\newcommand{\rU}{\mathrm{U}}
\newcommand{\rV}{\mathrm{V}}
\newcommand{\rW}{\mathrm{W}}
\newcommand{\rX}{\mathrm{X}}
\newcommand{\rY}{\mathrm{Y}}
\newcommand{\rZ}{\mathrm{Z}}
\newcommand{\sfA}{\mathsf{A}}
\newcommand{\sfB}{\mathsf{B}}
\newcommand{\sfC}{\mathsf{C}}
\newcommand{\sfD}{\mathsf{D}}
\newcommand{\sfE}{\mathsf{E}}
\newcommand{\sfF}{\mathsf{F}}
\newcommand{\sfG}{\mathsf{G}}
\newcommand{\sfH}{\mathsf{H}}
\newcommand{\sfI}{\mathsf{I}}
\newcommand{\sfJ}{\mathsf{J}}
\newcommand{\sfK}{\mathsf{K}}
\newcommand{\sfL}{\mathsf{L}}
\newcommand{\sfM}{\mathsf{M}}
\newcommand{\sfN}{\mathsf{N}}
\newcommand{\sfO}{\mathsf{O}}
\newcommand{\sfP}{\mathsf{P}}
\newcommand{\sfQ}{\mathsf{Q}}
\newcommand{\sfR}{\mathsf{R}}
\newcommand{\sfS}{\mathsf{S}}
\newcommand{\sfT}{\mathsf{T}}
\newcommand{\sfU}{\mathsf{U}}
\newcommand{\sfV}{\mathsf{V}}
\newcommand{\sfW}{\mathsf{W}}
\newcommand{\sfX}{\mathsf{X}}
\newcommand{\sfY}{\mathsf{Y}}
\newcommand{\sfZ}{\mathsf{Z}}
\newcommand{\bbA}{\mathbbm{A}}
\newcommand{\bbB}{\mathbbm{B}}
\newcommand{\bbC}{\mathbbm{C}}
\newcommand{\bbD}{\mathbbm{D}}
\newcommand{\bbE}{\mathbbm{E}}
\newcommand{\bbF}{\mathbbm{F}}
\newcommand{\bbG}{\mathbbm{G}}
\newcommand{\bbH}{\mathbbm{H}}
\newcommand{\bbI}{\mathbbm{I}}
\newcommand{\bbJ}{\mathbbm{J}}
\newcommand{\bbK}{\mathbbm{K}}
\newcommand{\bbL}{\mathbbm{L}}
\newcommand{\bbM}{\mathbbm{M}}
\newcommand{\bbN}{\mathbbm{N}}
\newcommand{\bbO}{\mathbbm{O}}
\newcommand{\bbP}{\mathbbm{P}}
\newcommand{\bbQ}{\mathbbm{Q}}
\newcommand{\bbR}{\mathbbm{R}}
\newcommand{\bbS}{\mathbbm{S}}
\newcommand{\bbT}{\mathbbm{T}}
\newcommand{\bbU}{\mathbbm{U}}
\newcommand{\bbV}{\mathbbm{V}}
\newcommand{\bbW}{\mathbbm{W}}
\newcommand{\bbX}{\mathbbm{X}}
\newcommand{\bbY}{\mathbbm{Y}}
\newcommand{\bbZ}{\mathbbm{Z}}
\newcommand{\bba}{\mathbbm{a}}
\newcommand{\bbb}{\mathbbm{b}}
\newcommand{\bbc}{\mathbbm{c}}
\newcommand{\bbd}{\mathbbm{d}}
\newcommand{\bbe}{\mathbbm{e}}
\newcommand{\bbf}{\mathbbm{f}}
\newcommand{\bbg}{\mathbbm{g}}
\newcommand{\bbh}{\mathbbm{h}}
\newcommand{\bbi}{\mathbbm{i}}
\newcommand{\bbj}{\mathbbm{j}}
\newcommand{\bbk}{\mathbbm{k}}
\newcommand{\bbl}{\mathbbm{l}}
\newcommand{\bbm}{\mathbbm{m}}
\newcommand{\bbn}{\mathbbm{n}}
\newcommand{\bbo}{\mathbbm{o}}
\newcommand{\bbp}{\mathbbm{p}}
\newcommand{\bbq}{\mathbbm{q}}
\newcommand{\bbr}{\mathbbm{r}}
\newcommand{\bbs}{\mathbbm{s}}
\newcommand{\bbt}{\mathbbm{t}}
\newcommand{\bbu}{\mathbbm{u}}
\newcommand{\bbv}{\mathbbm{v}}
\newcommand{\bbw}{\mathbbm{w}}
\newcommand{\bbx}{\mathbbm{x}}
\newcommand{\bby}{\mathbbm{y}}
\newcommand{\bbz}{\mathbbm{z}}
\newdir{ >}{{ }*!/-5pt/@{>}}
\begin{xy}
\xymatrix@=32pt {
A \ar[r]^f & TB \ar[r]^{Tg} & T^2C \ar[r]^{\mu_C} & TC
}
\end{xy}
\end{equation*} と定義する.
これで $\rC_T$ は圏になる.
たとえば実際に各 $\eta_A$ が $\rC_T$ の恒等射になっていることは以下のようにしてわかる.
$f : A \rightsquigarrow B$ を $\rC_T$ の任意の射とする. $\eta : \Un{\rC} \Rightarrow T$ が自然変換であることより, 図式
\begin{equation*}
\begin{xy}
\xymatrix@=32pt {
A \ar[r]^{\eta_A} \ar[d]_f & TA \ar[d]^{Tf} \\
TB \ar[r]_{\eta_{TB}} & T^2B
}
\end{xy}
\end{equation*} は可換である. また, モナドの定義から図式
\begin{equation*}
\begin{xy}
\xymatrix@=32pt {
TB \ar[r]^{\eta_{TB}} \ar[dr]_{\Un{TB}} & T^2B \ar[d]^{\mu_B} & TB \ar[l]_{T\eta_B} \ar[dl]^{\Un{TB}} \\
& TB &
}
\end{xy}
\end{equation*} は可換である. これらの図式の可換性により
\begin{gather*}
f \circ \eta_A = \mu_B \cdot Tf \cdot \eta_A = \mu_B \cdot \eta_{TB} \cdot f = \Un{TB} \cdot f = f, \\
\eta_B \circ f = \mu_B \cdot T\eta_B \cdot f = \Un{B} \cdot f = f
\end{gather*} が成り立つ. よって各 $\eta_A : A \rightarrow TA$ は Kleisli 圏 $\rC_T$ の恒等射である.
例.集合の圏 $\Set$ 上の maybe モナド $(T,\eta,\mu)=((-)_+,\eta,\mu)$ に対する Kleisli 圏 $\Set_{(-)_+}$を考える.
$\Set_{(-)_+}$ の対象は $\Set$ の対象, すなわち集合である.
$\Set_{(-)_+}$ の射 $f : A \rightsquigarrow B$ は $\Set$ の関数 $f : A \rightarrow B_+=B\amalg\{\bot_B\}$ である. この $f$ は, 次のようにして $A$ から $B$ への部分関数 (partial function), つまり $A$ の部分集合上で定義された関数と解釈することができる. $f$ を $A$ の部分集合
\begin{equation*}
A' = \{ a \in A \mid f(a) \in B \}
\end{equation*} 上でのみ定義された関数として考える. このとき補集合 $A \Bs A'$ の元は全て $\bot_B$ に移される. これらの元に対しては $f$ は未定義 (undefined) であると考える. これによって, $A'$ の元をプログラム $f$ への正常な入力, $A \Bs A'$ の元を $f$ への予期せぬ入力と見ることができる. 正常な入力 $a \in A'$ に対して $f$ は正常な出力 $f(a) \in B$ を返し, 予期せぬ入力 $a \in A \Bs A'$ に対して $f$ はエラー $\bot_B \in B_+$ を返す.
したがって, maybe モナドの Kleisli 圏は, 集合と部分関数からなる圏 $\Set^{\partial}$ と見なせる.
【このカテゴリーの最新記事】
- no image
- no image
- no image
- no image
- no image