search
LoginSignup
8

More than 1 year has passed since last update.

posted at

updated at

もう諦めない圏論基礎―高次元圏と変換手―

想定読者と到達目標

モナド単位圏から圏の圏へのラックス 2-関手
であることをもう少しだけ深く理解したい人へ。

ストライプ・ダイアグラムで定義を見ていく。

ただ単にモナドを理解したいだけなのに、
どこか遠くへ来てしまった感はあるけれど1
絵を眺めるだけでどこか楽しいかもしれない。

目次

高次元圏

が対象と射で構成されるのに対して、
厳密 2-圏は対象と 1-射、2-射で構成される。

同様に、厳密 $n$-圏は
対象と 1-射、2-射、$\ldots$、$n$-射で構成される。

$n$ は圏の次元で、通常の圏は厳密 1-圏と言える。

変換手

通常の圏における関手、自然変換を
厳密 1-圏での 1-関手、1-自然変換と呼ぼう。

厳密 2-圏では 2-関手、2-自然変換、2-変更2
厳密 3-圏では 3-関手、3-自然変換、3-変更、3-摂動3
と次元 $n$ の増加と共に変換の種類が増える。

厳密 $n$-圏では $(n+1)$ 種類の変換が存在する。

$k=0$ $k=1$ $k=2$ $k=3$
$n=1$ 1-関手 1-自然変換
$n=2$ 2-関手 2-自然変換 2-変更
$n=3$ 3-関手 3-自然変換 3-変更 3-摂動

$(n+1)$ 種類の変換に $k=0$ から $k=n$ と
番号付けをして $k$-変換手と呼ぶらしい4

$k=0$ $k=1$ $k=2$ $k=3$
$n=1$ 1-0-変換手 1-1-変換手
$n=2$ 2-0-変換手 2-1-変換手 2-2-変換手
$n=3$ 3-0-変換手 3-1-変換手 3-2-変換手 3-3-変換手

0-変換手 $=$ 関手
1-変換手 $=$ 自然変換
2-変換手 $=$ 変更
3-変換手 $=$ 摂動
のようにいつでも置換可能とする。

高次元圏の圏

圏の圏 $\mathbf{Cat}$ を考えると、
構成要素は圏と関手と自然変換である。

何を対象とし、何を射とするかに応じて
次のように色んな組み合わせで $n$-圏になる。

関手 自然変換
圏の圏 対象
関手の圏 対象
圏の 2-圏 対象 1-射 2-射

同様に、厳密 2-圏の圏 $2\mathbf{Cat}$ を考えると、
構成要素は 2-圏と 2-関手と 2-自然変換と 2-変更である。

何を対象とし、何を射とするかに応じて
次のように色んな組み合わせで $n$-圏になる。

2-圏 2-関手 2-自然変換 2-変更
2-圏の圏 対象
2-自然変換の圏 対象
2-関手の 2-圏 対象 1-射 2-射
2-圏の 3-圏 対象 1-射 2-射 3-射

2-関手を対象とする場合には
2-自然変換を射としても圏にはならず、
2-ICON5 と呼ばれる変換を射とすると圏になる。

2-圏 2-関手 2-ICON
2-関手の圏 対象
2-圏の 2-圏 対象 1-射 2-射

以下では厳密 2-圏の場合に焦点を当て、
$2$-$k$-変換手(すなわち 2-関手、2-自然変換、2-変更)
ストライプ・ダイアグラムで描いてみよう。

ストライプ・ダイアグラム

2-圏 $\boldsymbol{\mathcal{C}}$ の対象 $a,b$ および
1-射 $f,f' \colon a \longrightarrow b$ と 2-射 $\theta \colon f \Longrightarrow f'$
ストリング・ダイアグラムで描くと次のようになる。
Stp-8.png

ラックス 2-関手 $(\mathcal{F},\mu,\eta)$ は $\mathcal{F}$ によって
2-圏 $\boldsymbol{\mathcal{C}}$ の対象および 1-射と 2-射を
2-圏 $\boldsymbol{\mathcal{D}}$ の対象 $\mathcal{F}\ a,\mathcal{F}\ b$ および
1-射 $\mathcal{F}\ f,\mathcal{F}\ f' \colon \mathcal{F}\ a \longrightarrow \mathcal{F}\ b$ と
2-射 $\mathcal{F}\ \theta \colon \mathcal{F}\ f \Longrightarrow \mathcal{F}\ f'$ に対応させる。
Stp-11.png

ラックス 2-関手の $\mathcal{F}$ を次のように描く。
Stp-9-10.gif
対象も 1-射も 2-射も全部対応させるので
$\mathcal{F}$ を上からかぶせるイメージだ。

ストリングが幅を持ったストライプになるので
ストライプ・ダイアグラムと呼ぶらしい6

ラックス 2-関手

ラックス 2-関手 $(\mathcal{F},\mu,\eta)$ は
自然変換 $\mu \colon {\mathcal{F}\ -} \cdot {\mathcal{F}\ -} \Longrightarrow \mathcal{F}\ (- \cdot -)$ すなわち
2-射の族 $\mu_{(f,g)} \colon {\mathcal{F}\ f} \cdot {\mathcal{F}\ g} \Longrightarrow \mathcal{F}\ (f \cdot g)$
Stp-13.png
と 2-射 $\eta \colon \mathrm{id}_{\mathcal{F}\ a} \Longrightarrow \mathcal{F}\ \mathrm{id}_{a}$
Stp-15.png
により定まる。
ストライプ・ダイアグラムで描くと以下となる。

ラックス 2-関手の自然変換 $\mu$ を次のように描く。
Stp-12.png

ラックス 2-関手の 2-射 $\eta$ を次のように描く。
Stp-14.png

自然性

自然変換 $\mu$ に関して、自然変換の定義より
$\mu_{(f,g)} \ggg \mathcal{F}\ (\theta \cdot \sigma) = \mathcal{F}\ \theta \cdot \mathcal{F}\ \sigma \ggg \mu_{(f',g')}$
が成り立ち、ダイアグラム計算では次の変形を行って良い。
Stp-20-21.gif


次の2つの条件を満たすとき、
組 $(\mathcal{F},\mu,\eta)$ はラックス 2-関手である。

条件 1

Stp-16.png $=$ Stp-17.png

モナドの結合律のストリング・ダイアグラムとよく似ている。

条件 2

Stp-18.png $=$ Stp-19.png $=$ Stp-22.png

モナドの単位律のストリング・ダイアグラムとよく似ている。

恒等 2-関手

2-関手 $\mathrm{id}_{\mathcal{C}} \colon \boldsymbol{\mathcal{C}} \longrightarrow \boldsymbol{\mathcal{C}}$ を考える。

対象および 1-射と 2-射の対応を
$\mathrm{id}_{\mathcal{C}}\ - = -$ とする。

自然変換 $\mu$ を 2-射の族により
$\mu_{(f,g)} = \mathrm{id}_{f \cdot g}$ と定義し、
2-射を $\eta = \mathrm{id}_{\mathrm{id}_{a}}$ と定義すれば、
組 $(\mathrm{id}_{\mathcal{C}},\mu,\eta)$ は恒等 2-関手である。

ラックス 2-関手の合成

ラックス 2-関手 $(\mathcal{F},\color{red}{\mu},\color{red}{\eta})$ と
ラックス 2-関手 $(\mathcal{G},\color{blue}{\mu},\color{blue}{\eta})$ の合成
ラックス 2-関手 $(\mathcal{F} \cdot \mathcal{G},\mu,\eta)$ を考える。

対象および 1-射と 2-射の対応を
$(\mathcal{F} \cdot \mathcal{G})\ - = \mathcal{G}\ (\mathcal{F}\ -)$ とする。

$\mu$ を 2-射の族により
$\mu_{(f,g)} = \color{blue}{\mu}_{(\mathcal{F}\ f, \mathcal{F}\ g)} \ggg \mathcal{G}\ \color{red}{\mu}_{(f,g)}$
Stp-1-2.gif
と定義し、2-射を $\eta = \color{blue}{\eta} \ggg \mathcal{G}\ \color{red}{\eta}$
Stp-32-33.gif
と定義する。


次の変形により $\mu$ の自然性が分かる。
Stp-29-31.gif

次の変形により条件 1が成り立つことが分かる。
Stp-1-5.gif

次の変形により条件 2が成り立つことが分かる。
Stp-1-8.gif

ラックス 2-自然変換

ラックス 2-自然変換 $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ は
1-射の族 $\vartheta_{a} \colon \mathcal{F}\ a \longrightarrow \mathcal{G}\ a$
Stp-29.png
と自然変換 $\vartheta \colon \vartheta_{a} \cdot {\mathcal{G}\ -} \Longrightarrow {\mathcal{F}\ -} \cdot \vartheta_{b}$ すなわち
2-射の族 $\vartheta_{f} \colon \vartheta_{a} \cdot {\mathcal{G}\ f} \Longrightarrow {\mathcal{F}\ f} \cdot \vartheta_{b}$
Stp-24.png
により定まる。
ストライプ・ダイアグラムで描くと以下となる。

ラックス 2-自然変換の 1-射の族 $\vartheta_{a}$ を次のように描く。
Stp-30.png

ラックス 2-自然変換の自然変換 $\vartheta$ を次のように描く。
Stp-23.png

自然性

自然変換 $\vartheta$ に関して、自然変換の定義より
$\vartheta_{f} \ggg \mathcal{F}\ \theta \cdot \vartheta_{b} = \vartheta_{a} \cdot \mathcal{G}\ \theta \ggg \vartheta_{f'}$
が成り立ち、ダイアグラム計算では次の変形を行って良い。
Stp-31-32.gif


次の2つの条件を満たすとき、
$\vartheta$ はラックス 2-自然変換である。

条件 1

Stp-47.png $=$ Stp-48.png

条件 2

Stp-27.png $=$ Stp-28.png

恒等 2-自然変換

2-自然変換 $\mathrm{id}_{\mathcal{F}} \colon \mathcal{F} \Longrightarrow \mathcal{F}$ を考える。

1-射の族 $(\mathrm{id}_{\mathcal{F}})_{a} = \mathrm{id}_{\mathcal{F}\ a}$ と定義し、
2-射の族 $(\mathrm{id}_{\mathcal{F}})_{f} = \mathrm{id}_{\mathcal{F}\ f}$ と定義すれば、
$\mathrm{id}_{\mathcal{F}}$ は恒等 2-自然変換である。

ラックス 2-自然変換の合成

ラックス 2-自然変換 $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ と
ラックス 2-自然変換 $\varsigma \colon \mathcal{G} \Longrightarrow \mathcal{H}$ の合成
ラックス 2-自然変換 $\vartheta \cdot \varsigma \colon \mathcal{F} \Longrightarrow \mathcal{H}$ を考える。

1-射の族 $(\vartheta \cdot \varsigma)_{a} = \vartheta_{a} \cdot \varsigma_{a}$ と定義し、
2-射の族 $(\vartheta \cdot \varsigma)_{f} = \vartheta_{a} \cdot \varsigma_{f} \ggg \vartheta_{f} \cdot \varsigma_{b}$ と定義する。
Stp-29-30.gif


次の変形により $\vartheta \cdot \varsigma$ の自然性が分かる。
Stp-42-44.gif

次の変形により条件 1が成り立つことが分かる。
Stp-59-62.gif

次の変形により条件 2が成り立つことが分かる。
Stp-63-65.gif

反ラックス 2-自然変換

反ラックス 2-自然変換 $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ は
1-射の族 $\vartheta_{a} \colon \mathcal{F}\ a \longrightarrow \mathcal{G}\ a$ と
自然変換 $\vartheta \colon {\mathcal{F}\ -} \cdot \vartheta_{b} \Longrightarrow \vartheta_{a} \cdot {\mathcal{G}\ -}$ すなわち
2-射の族 $\vartheta_{f} \colon {\mathcal{F}\ f} \cdot \vartheta_{b} \Longrightarrow \vartheta_{a} \cdot {\mathcal{G}\ f}$
Stp-1.png
により定まる。

ラックス 2-自然変換とは自然変換 $\vartheta$ の方向が
逆になっているため、反ラックスと呼ばれる。

2-ICON

反ラックス 2-自然変換
1-射の族 $\vartheta_{a} \colon \mathcal{F}\ a \longrightarrow \mathcal{G}\ a$ と
2-射の族 $\vartheta_{f} \colon {\mathcal{F}\ f} \cdot \vartheta_{b} \Longrightarrow \vartheta_{a} \cdot {\mathcal{G}\ f}$ により定まる。

1-射の族を恒等 1-射で
$\vartheta_{a} = \mathrm{id}_{\mathcal{F}\ a}$ と部分適用した変換を
2-ICON $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ と呼ぶ.

ラックス 2-関手による対象の対応が
$\mathcal{F}\ a = \mathcal{G}\ a$ となる。


2-ICON $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ は
自然変換 $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ すなわち
2-射の族 $\vartheta_{f} \colon {\mathcal{F}\ f} \Longrightarrow {\mathcal{G}\ f}$
Stp-47.png
により定まる。
ストライプ・ダイアグラムで描くと以下となる。

2-ICON の自然変換 $\vartheta$ を次のように描く。
Stp-48.png

自然性

自然変換 $\vartheta$ に関して、自然変換の定義より
$\mathcal{F}\ \theta \ggg \vartheta_{f'} = \vartheta_{f} \ggg \mathcal{G}\ \theta$
が成り立ち、ダイアグラム計算では次の変形を行って良い。
Stp-53-54.gif


次の2つの条件を満たすとき、
$\vartheta$ は 2-ICON である。

条件 1

Stp-43.png $=$ Stp-44.png

条件 2

Stp-41.png $=$ Stp-42.png

2-ICON の垂直合成

2-ICON $\vartheta \colon \mathcal{F} \Longrightarrow \mathcal{G}$ と
2-ICON $\varsigma \colon \mathcal{G} \Longrightarrow \mathcal{H}$ の垂直合成
2-ICON $\vartheta \ggg \varsigma \colon \mathcal{F} \Longrightarrow \mathcal{H}$ を考える。

2-射の族 $(\vartheta \ggg \varsigma)_{f} = \vartheta_{f} \ggg \varsigma_{f}$ と定義する。
Stp-59-60.gif


次の変形により $\vartheta \ggg \varsigma$ の自然性が分かる。
Stp-72-74.gif

次の変形により条件 1が成り立つことが分かる。
Stp-60-62.gif

次の変形により条件 2が成り立つことが分かる。
Stp-57-59.gif

2-変更

2-変更 $\varPsi \colon \vartheta \equiv\!\Rrightarrow \varsigma$ は
2-射の族 $\varPsi_{a} \colon \vartheta_{a} \Longrightarrow \varsigma_{a}$
Stp-33.png
により定まる。
ストライプ・ダイアグラムで描くと以下となる。

2-変更の 2-射の族 $\varPsi_{a}$ を次のように描く。
Stp-34.png


次の1つの条件を満たすとき、
$\varPsi$ は 2-変更である。

条件 1

Stp-33.png $=$ Stp-34.png

恒等 2-変更

2-変更 $\mathrm{id}_{\vartheta} \colon \vartheta \equiv\!\Rrightarrow \vartheta$ を考える。

2-射の族 $(\mathrm{id}_{\vartheta})_{a} = \mathrm{id}_{\vartheta_{a}}$ と定義すれば、
$\mathrm{id}_{\vartheta}$ は恒等 2-変更である。

2-変更の垂直合成

2-変更 $\varPsi \colon \vartheta \equiv\!\Rrightarrow \varsigma$ と
2-変更 $\varPhi \colon \varsigma\equiv\!\Rrightarrow \varrho$ の垂直合成
2-変更 $\varPsi \ggg \varPhi \colon \vartheta \equiv\!\Rrightarrow \varrho$ を考える。

2-射の族 $(\varPsi \ggg \varPhi)_{a} = \varPsi_{a} \ggg \varPhi_{a}$ と定義する。
Stp-43-44.gif


次の変形により条件 1が成り立つことが分かる。
Stp-34-36.gif

2-変更の水平合成

2-変更 $\varPsi \colon \vartheta \equiv\!\Rrightarrow \vartheta'$ と
2-変更 $\varPhi \colon \varsigma \equiv\!\Rrightarrow \varsigma'$ の水平合成
2-変更 $\varPsi \cdot \varPhi \colon \vartheta \cdot \varsigma \equiv\!\Rrightarrow \vartheta' \cdot \varsigma'$ を考える。

2-射の族 $(\varPsi \cdot \varPhi)_{a} = \varPsi_{a} \cdot \varPhi_{a}$ と定義する。
Stp-45-46.gif


次の変形により条件 1が成り立つことが分かる。
Stp-37-39.gif

厳密 2-圏の圏

厳密 2-圏の圏 $2\mathbf{Cat}$ は
厳密 2-圏を対象とし、
ラックス 2-関手を射とする。

ラックス 2-自然変換の圏

ラックス 2-自然変換の圏 $\mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{G})$ は
ラックス 2-自然変換を対象とし、
2-変更を射とする。

ラックス 2-関手の厳密 2-圏

ラックス 2-関手の厳密 2-圏 $\mathcal{D}^\mathcal{C}$ は
ラックス 2-関手を対象とし、
各対象 $\mathcal{F}, \mathcal{G} \in \mathrm{Obj}(\mathcal{D}^\mathcal{C})$ に対して圏 $\mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{G})$ が存在し、
対象 $\vartheta,\varsigma \in \mathrm{Obj}(\mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{G}))$ を 1-射 $\vartheta,\varsigma \colon \mathcal{F} \longrightarrow \mathcal{G}$ と呼び
射 $\varPsi \in \mathrm{Mor}(\mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{G}))$ を 2-射 $\varPsi \colon \vartheta \Longrightarrow \varsigma$ と呼ぶ。

また、双関手 $-\cdot- \colon \mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{G}) \times \mathcal{D}^\mathcal{C}(\mathcal{G},\mathcal{H}) \longrightarrow \mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{H})$ と
恒等 1-射 $\mathrm{id}_{\mathcal{F}} \in \mathrm{Obj}(\mathcal{D}^\mathcal{C}(\mathcal{F},\mathcal{F}))$ が存在する。

$-\cdot-$ が関手であることを確認できる。
  1. (恒等射の保存)
    $(\mathrm{id}_{\vartheta} \cdot \mathrm{id}_{\varsigma})_{a} = (\mathrm{id}_{\vartheta})_{a} \cdot (\mathrm{id}_{\varsigma})_{a} = \mathrm{id}_{\vartheta_{a}} \cdot \mathrm{id}_{\varsigma_{a}}$
    $= \mathrm{id}_{\vartheta_{a} \cdot \varsigma_{a}} = \mathrm{id}_{(\vartheta\ \cdot \varsigma)_{a}} = (\mathrm{id}_{\vartheta\ \cdot \varsigma})_{a}$
    すなわち $\mathrm{id}_{\vartheta} \cdot \mathrm{id}_{\varsigma} = \mathrm{id}_{\vartheta\ \cdot \varsigma}$ が成り立つ。

  2. (合成の保存)
    $((\varPsi \ggg \varPsi') \cdot (\varPhi \ggg \varPhi'))_{a} = (\varPsi \ggg \varPsi')_{a} \cdot (\varPhi \ggg \varPhi')_{a}$
    $= (\varPsi_{a} \ggg \varPsi'_{a}) \cdot (\varPhi_{a} \ggg \varPhi'_{a}) = \varPsi_{a} \cdot \varPhi_{a} \ggg \varPsi'_{a} \cdot \varPhi'_{a}$
    $= (\varPsi \cdot \varPhi)_{a} \ggg (\varPsi' \cdot \varPhi')_{a} = (\varPsi \cdot \varPhi \ggg \varPsi' \cdot \varPhi')_{a}$
    すなわち $(\varPsi \ggg \varPsi') \cdot (\varPhi \ggg \varPhi') = \varPsi \cdot \varPhi \ggg \varPsi' \cdot \varPhi'$ が成り立つ。


結合律と単位律が成り立つ。
  1. (結合律)
    $((\vartheta \cdot \varsigma) \cdot \varrho)_{a} = (\vartheta \cdot \varsigma)_{a} \cdot \varrho_{a} = (\vartheta_{a} \cdot \varsigma_{a}) \cdot \varrho_{a}$
    $= \vartheta_{a} \cdot (\varsigma_{a} \cdot \varrho_{a}) = \vartheta_{a} \cdot (\varsigma \cdot \varrho)_{a} = (\vartheta \cdot (\varsigma \cdot \varrho))_{a}$
    $((\varPsi \cdot \varPhi) \cdot \varGamma)_{a} = (\varPsi \cdot \varPhi)_{a} \cdot \varGamma_{a} = (\varPsi_{a} \cdot \varPhi_{a}) \cdot \varGamma_{a}$
    $= \varPsi_{a} \cdot (\varPhi_{a} \cdot \varGamma_{a}) = \varPsi_{a} \cdot (\varPhi \cdot \varGamma)_{a} = (\varPsi \cdot (\varPhi \cdot \varGamma))_{a}$

  2. (単位律)
    $(\mathrm{id}_{\mathcal{F}} \cdot \vartheta)_{a} = (\mathrm{id}_{\mathcal{F}})_{a} \cdot \vartheta_{a} = \mathrm{id}_{\mathcal{F\ a}} \cdot \vartheta_{a} = \vartheta_{a}$
    $(\vartheta \cdot \mathrm{id}_{\mathcal{G}})_{a} = \vartheta_{a} \cdot (\mathrm{id}_{\mathcal{G}})_{a} = \vartheta_{a} \cdot \mathrm{id}_{\mathcal{G\ a}} = \vartheta_{a}$
    $(\mathrm{id}_{\mathrm{id}_{\mathcal{F}}} \cdot \varPsi)_{a} = (\mathrm{id}_{\mathrm{id}_{\mathcal{F}}})_{a} \cdot \varPsi_{a} = \mathrm{id}_{(\mathrm{id}_{\mathcal{F}})_{a}} \cdot \varPsi_{a} = \mathrm{id}_{\mathrm{id}_{\mathcal{F}\ a}} \cdot \varPsi_{a} = \varPsi_{a}$
    $(\varPsi \cdot \mathrm{id}_{\mathrm{id}_{\mathcal{G}}})_{a} = \varPsi_{a} \cdot (\mathrm{id}_{\mathrm{id}_{\mathcal{G}}})_{a} = \varPsi_{a} \cdot \mathrm{id}_{(\mathrm{id}_{\mathcal{G}})_{a}} = \varPsi_{a} \cdot \mathrm{id}_{\mathrm{id}_{\mathcal{G}\ a}} = \varPsi_{a}$


ラックス 2-関手の圏

ラックス 2-関手の圏 $\mathbf{ICON}(\boldsymbol{\mathcal{C}},\boldsymbol{\mathcal{D}})$ は
ラックス 2-関手を対象とし、
2-ICON を射とする。

まとめ

2-圏の変換手を全て把握したことで、
ラックス 2-関手に親しめた気がする。

モノイド圏は対象が1つな 2-圏なので
同様にストライプ・ダイアグラムで描ける。

モノイド関手とはラックス 2-関手
モノイド自然変換とは 2-ICON である7


  1. この記事で直接的に Haskell は登場しないが、圏論を通して間接的に Haskell っぽいと考える(シリーズものは何となくタグを揃えたいので)。 

  2. modification 

  3. perturbation 

  4. 檜山正幸のキマイラ飼育記 (はてなBlog)「変換手〈transfor〉は要らないだろう」(2019-08-20) 

  5. Identity Component Oplax Natural-transformation 

  6. 檜山正幸のキマイラ飼育記 (はてなBlog)「モノイド関手/ラックス・モノイド関手とその実例」(2016-03-23) 

  7. nLab「lax natural transformation」 

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
8