「バタニンのペースティング図をXyJax (Xy-pic extension for MathJax)で描いてみる」の続き。2-圏のなかの構造といえば、なんつっても随伴系〈adjunction | adjoint system〉ですよね。ニョロニョロ関係式〈snake {law | relation | equation | identity}〉をペースティング図で描いてみましょう。$`\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\mbf}[1]{\mathbf{#1}}
%\newcommand{\msf}[1]{\mathsf{#1}}
%\newcommand{\o}[1]{\overline{#1}}
%\newcommand{\id}{\mathrm{id}}
%\newcommand{\op}{\mathrm{op}}
\newcommand{\In}{\text{ in }}
\newcommand{\twoto}{\Rightarrow}
%
\newcommand{\T}[1]{ \text{#1} }
\require{color}
\newcommand{\red}[1]{ \textcolor{red}{#1}}
\newcommand{\blue}[1]{ \textcolor{blue}{#1}}
%
\newcommand{\SWArrow}{\style{display: inline-block; transform: rotate(-45deg)}{\Leftarrow} }
\newcommand{\SEArrow}{\style{display: inline-block; transform: rotate(45deg)}{\Rightarrow} }
\newcommand{\NEArrow}{\style{display: inline-block; transform: rotate(-45deg)}{\Rightarrow} }
\newcommand{\VEQ}{\style{display: inline-block; transform: rotate(90deg)}{\Rrightarrow} }
`$
まず、「アドホック随伴系と自由対象・台対象」「すべての随伴系達が作る構造は?」「構造を持つ概念的事物の記述と参照: コンパニオンを例に」などに載せていたストリング図です。

この絵図を、色(赤と青)も含めて、出来るだけ忠実に写し取ると、次のテキストによる指標になります。
$`\T{signature }\T{AdjointSystem }\:\{\\
\quad \red{\cat{D}} \In \mbf{Cat}\\
\quad \blue{\cat{C}} \In \mbf{Cat}\\
\quad \red{R} : \red{\cat{D}}\to \blue{\cat{C}} \In \mbf{Cat} \\
\quad \blue{L} : \blue{\cat{C}}\to \red{\cat{D}} \In \mbf{Cat} \\
\quad \red{\eta} :: \mrm{Id}_{ \blue{\cat{C}}} \twoto \blue{L} * \red{R} : \blue{\cat{C}}\to\blue{\cat{C}} \In \mbf{Cat} \\
\quad \blue{\varepsilon} :: \red{R}*\blue{L} \twoto \mrm{Id}_{\red{\cat{D}}} : \red{\cat{D} } \to\red{\cat{D}} \In \mbf{Cat} \\
\quad \red{\text{snake-1}} ::: (\mrm{ID}_{\red{R}} * \red{\eta});(\blue{\varepsilon}*\mrm{ID}_{\red{R}}) \Rrightarrow \mrm{ID}_{\red{R} }\\
\quad \blue{\text{snake-2}}::: (\red{\eta} * \mrm{ID}_{\blue{L}});(\mrm{ID}_{\blue{L} }* \blue{\varepsilon} ) \Rrightarrow \mrm{ID}_{\blue{L}}\\
\}
`$
随伴の単位 $`\eta`$ は次のように描けます。(色は付けませんが。)
$`\quad \xymatrix{
\cat{C} \ar@{=}[rr] \ar[dr]_L
\ar@{.}@/_1pc/[rr]|{\Downarrow\eta}
&{}
&\cat{C}
\\
{}
&\cat{D} \ar[ur]_R
&{}
}\\
\quad \In \mbf{Cat}
`$
$`\cat{C}`$ をひとつだけにして、次のようにも描けます。
$`\quad \xymatrix{
\cat{C} \ar@/_1pc/[d]_L
\ar@{.}@(dl, dr)[]|{\Downarrow\eta}
\\
\cat{D} \ar@/_1pc/[u]_R
}\\
\quad \In \mbf{Cat}
`$
しかし、イコールで結んだ2個の $`\cat{C}`$ のほうが幾分視認性が良い気がします。
次に随伴の余単位 $`\varepsilon`$ は以下のよう。
$`\quad \xymatrix{
{}
&\cat{C} \ar[dr]^L
&{}
\\
\cat{D} \ar@{=}[rr] \ar[ur]^R
\ar@{.}@/^1pc/[rr]|{\Downarrow\varepsilon}
&{}
&\cat{D}
}\\
\quad \In \mbf{Cat}
`$
第一のニョロニョロ関係式 $`\text{snake-1}`$ は3次元セルになるので、等式(等号が $`\VEQ`$)の形にします。
$`\quad \xymatrix{
{}
&{\cat{C}} \ar@{=}[rr] \ar[dr]|L
\ar@{.}@/_1pc/[rr]|{\Downarrow\eta}
&{}
&{\cat{C}}
\\
{\cat{D}}\ar@{=}[rr] \ar[ur]^R
\ar@{.}@/^1pc/[rr]|{\Downarrow\varepsilon}
&{}
&{\cat{D}} \ar[ur]_R
&{}
}\\
\qquad\quad \VEQ\\
\quad \xymatrix{
{\cat{C}}\ar@{=}[rr]
\ar@{.}[drr]|{\NEArrow\mrm{ID}}
&{}
&{\cat{C}}
\\
{\cat{D}}\ar@{=}[rr] \ar[u]^R
&{}
&{\cat{D}} \ar[u]_R
}\\
\quad \In \mbf{Cat}
`$
第二のニョロニョロ関係式 $`\text{snake-2}`$ は以下のとおり。
$`\quad \xymatrix{
{\cat{C}}\ar@{=}[rr]\ar[dr]_L
\ar@{.}@/_1pc/[rr]|{\Downarrow\eta}
&{}
&{\cat{C}}\ar[dr]^L
&{}
\\
{}
&{\cat{D}}\ar[ur]|R \ar@{=}[rr]
\ar@{.}@/^1pc/[rr]|{\Downarrow\varepsilon}
&{}
&{\cat{D}}
}\\
\qquad\quad \VEQ\\
\quad \xymatrix{
{\cat{C}} \ar@{=}[rr] \ar[d]_L
&{}
&{\cat{C}} \ar[d]^L
\\
{\cat{D}}\ar@{=}[rr]
\ar@{.}[urr]|{\SEArrow\mrm{ID}}
&{}
&{\cat{D}}
}\\
\quad \In \mbf{Cat}
`$
ペースティング図はレイアウトの自由度があり過ぎて、レイアウトにより印象がまったく違ってしまう問題があります。やはり、分かりやすさではストリング図に軍配が上がります。しかし、(レイアウトがどうであれ)ペースティング図で正確な情報を伝達することができます。XyJax(Xy-pic)のコードを書くのは大変ですが、テキストだけよりずっとマシなコミュニケーションになります。