エレファント・ビジュアライザー調査記録

ビジュアルプログラミングで数式の変形を表すことを考えていくブロクです。

論理計算と随伴関手(3)

普遍射の定義

(Wikipediaによる)
 C D を圏、 U: D \rightarrow C を関手、 X C の対象とするとき、 X から  U への普遍射  (A, \varphi) とは、以下を満たす  D の対象  A \varphi : X \rightarrow U(A) のことを言います:
 D の対象  Y f: X \rightarrow U(Y) に対して  g: A \rightarrow Y が一意的に存在して  f = U(g) \circ \varphi を満たす。
可換図式で書くと以下のようになりますが斜めの線が書けないようなのでちょっと見にくいです。
 \require{AMScd}
\begin{CD}
X @> \varphi >> U(A) \\
@V id_X VV @VV U(g) V \\
X @>> f > U(Y)
\end{CD}

随伴関手の定義

(Wikipediaによる)
 C D を圏、 F : C \leftarrow D を関手とするとき、 C の各対象  X に対して、 F から  X への普遍射が存在するとき  F を左随伴関手と呼びます。
 C の各対象  X に関して  D の対象  Y_X F から  X への普遍射  \varepsilon_X : F(Y_X) \rightarrow X を決めると、関手  G : C \rightarrow D で、 GX = Y_X と、任意の  C の射  f : X \rightarrow X' について  \varepsilon_{X'} \circ  FG(f) = f \circ  \varepsilon_X が成り立つものが一意的に存在します。このとき、 F G の左随伴であると言います。
可換図式で書くと以下のようになります。
 \require{AMScd}
\begin{CD}
F(Y_X) @> FG(f) >> F(Y_{X'}) \\
@V \varepsilon_X VV @VV \varepsilon_{X'} V \\
X @>> f > X'
\end{CD}

 C D を圏、 G : C \rightarrow D を関手とするとき、 D の各対象  Y に対して、 Y から  G への普遍射が存在するとき  G を右随伴関手と呼びます。
 D の各対象  Y に関して  C の対象  X_Y Y から  G への普遍射  \eta_Y : Y \rightarrow G(X_Y) を決めると、関手  F : C \leftarrow D で、 FY = X_Y と、任意の  D の射  g : Y \rightarrow Y' について  GF(g) \circ  \eta_Y = \eta_{Y'} \circ  g が成り立つものが一意的に存在します。このとき、 G F の右随伴であると言います。
可換図式で書くと以下のようになります。
 \require{AMScd}
\begin{CD}
Y @> g >> Y' \\
@V \eta_Y VV @VV \eta_{Y'} V \\
G(X_Y) @>> GF(g) > G(X_{Y'})
\end{CD}

自由半群

自由半群について少し詳しく見てみます。
文字の集合  S にから作られる自由半群 FSG(S) と書くことにします。これを  S によって自由生成された自由半群と呼びます。

 G半群 f: S \rightarrow G を任意の写像とすると、 f を拡張した( S上では一致する)半群の準同型(積を保存する写像)  g : FSG(S) \rightarrow G が存在します。

 \mbox{Set} を集合の圏、 \mbox{SemiGrp}半群の圏、 F: \mbox{SemiGrp} \rightarrow \mbox{Set} をある半群にその台集合を対応させる関手(忘却関手)とします。

 S \mbox{Set} の対象とします。 \mbox{SemiGrp} の対象  G f: S \rightarrow F(G) に対して  g: FSG(S) \rightarrow G が一意的に存在して  f = F(g) \circ \varphi を満たします。 (FSG(S), \varphi) は、 S から  F への普遍射となります( \varphi S FSG(S) の部分集合と考えたときの包含写像)。(以下は可換図式)
 \require{AMScd}
\begin{CD}
S @> \varphi >> F(FSG(S)) \\
@V id_S VV @VV F(g) V \\
S @>> f > F(G)
\end{CD}

 F は右随伴関手となります。 FSG: \mbox{Set} \rightarrow \mbox{SemiGrp} F の左随伴関手となります。