このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

スライス圏の大域的な定義: スラッシュ記号の解釈

圏 $`\mathcal{C}`$ とその対象 $`c`$ に対して、スライス圏〈オーバー圏〉$`\mathcal{C}/c`$ を定義できます。このとき使われるスラッシュは、二項演算子記号のように見えます。そうだとすると、スラッシュの実体(セマンティクス)である演算とはどのようなものでしょうか? 考えてみます。$`\newcommand{\mrm}[1]{ \mathrm{#1} }\newcommand{\hyp}{\text{-} }
\newcommand{\In}{\text{ in }}
\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\obj}[1]{ {{#1}\!\downarrow} }
\newcommand{\op}{ \mathrm{op} }
\newcommand{\sl}{ {/_*} } % slice
\newcommand{\opsl}{ {/^*} } % {opposite | contravariant} slice
\newcommand{\dimU}[2]{ {{#1}\!\updownarrow^{#2}} }`$

内容:

スライス圏

$`\cat{C}`$ は小さい圏とします。$`\cat{C}`$ の対象は、ラテン文字小文字の最初のほう $`a, b, \cdots`$ で表します。$`\cat{C}`$ の射は、ラテン文字小文字の中間あたりの $`f, g, \cdots`$ で表します。

$`\cat{C}`$ の対象 $`c\in |\cat{C}|`$ に対して、スライス圏〈slice category | オーバー圏 | over category)は以下のように定義されます。

  • $`\cat{C}/c`$ の対象は、$`g:a \to c`$ の形の $`\cat{C}`$ の射。つまり
    $`\quad |\cat{C}/c| := \{g\in \mrm{Mor}(\cat{C}) \mid \mrm{cod}(g) = c\}`$
  • $`\cat{C}/c`$ の対象 $`g:a \to c, h:b \to c`$ のあいだの射は、次の形の $`\cat{C}`$ の射。
    $`\quad f: a \to b \text{ where }f;h = g`$

上記定義に基づいて、射の結合〈composition〉、恒等射〈identity〉も定義して、圏の法則〈公理〉を確認できます(今ここでは割愛します)。

$`\cat{C}`$ の射を表す名前 $`f,g, h`$ などは、次の3つの意味で使われます。

  1. $`\cat{C}`$ の射としての $`f, g, h`$
  2. $`\cat{C}/c`$ の対象としての $`g, h`$
  3. $`\cat{C}/c`$ の射としての $`f`$

大変に紛らわしくて混乱しがちな状況です。次の約束で混乱を避けましょう。

  1. $`\cat{C}`$ の射としての $`f, g, h`$ は、そのまま $`f, g, h`$ と書く。
    $`\quad f, g, h \in \mrm{Mor}(\cat{C})`$
  2. $`\cat{C}/c`$ の対象としての $`g, h`$ は $`\obj{g}, \obj{h}`$ と書く。
    $`\quad \obj{g}, \obj{h} \in |\cat{C}/c|`$
  3. $`\cat{C}/c`$ の射としての $`f`$ は、余域を上付きで添えて $`f^h`$ と書く。
    $`\quad f^h : \obj{g} \to \obj{h} \In \cat{C}/c \:\text{ where } g = f;h \In \cat{C}`$

$`f^h : \obj{g} \to \obj{h} \In \cat{C}/c`$ の状況を、$`\cat{C}`$ 内に展開して描けば次のようです。

$`\quad \xymatrix{
a \ar[dr]_g \ar[rr]^f
&{}
& b \ar[dl]^h
\\
{}
& c
{}
}\\
\text{commutative}\In \cat{C}`$

$`\cat{C}`$ 内で次の状況があったとします。

$`\quad \xymatrix{
{}
& b \ar[dr]^p \ar[dd]|{h}
& {}
\\
a \ar[ur]^f \ar[dr]_g \ar@/^1pc/[rr]|{q}
&{}
& e \ar[dl]^k
\\
{}
& c
{}
}\\
\text{commutative}\In \cat{C}`$

これを $`\cat{C}/c`$ 内で見れば、次のような結合を表します。

$`\quad f^h ; p^k = q^k \In \cat{C}/c`$

[補足]
上の図式は次のレイアウトのほうがわかりやすかったかも知れません。

$`\quad \xymatrix@C+1pc{
a \ar[dr]^f \ar[ddr]_g \ar[rr]^q
& {}
& e \ar[ddl]^k
\\
{}
& b \ar[ur]^p \ar[d]|h
& {}
\\
{}
& c
& {}
}\\
\quad \text{commutative} \In \cat{C}
`$

が、レイアウトが変わったところで内容が変わるわけではありません。
[/補足]

$`\cat{C}`$ の結合と $`\cat{C}/c`$ の結合のどちらも、セミコロンをオーバーロード〈多義的使用〉して書くなら:

$`\quad f^h : \obj{(f;h)} \to \obj{h} \In \cat{C}/c \; \text{ where } g = f;h \In \cat{C}\\
\quad p^k : \obj{(p;k)} \to \obj{h} \In \cat{C}/c\; \text{ where } h = p;k \In \cat{C}\\
\quad f^h ; p^k = (f;p)^k : \obj{(f;p;k)} \to \obj{k} \In \cat{C}/c\; \text{ where } g = f;p;k \In \cat{C}
`$

二項演算子記号としてのスラッシュ

スライス圏 $`\cat{C}/c`$ に出てくるスラッシュ記号 '$`/`$' は、左を第一引数、右を第二引数とする中置演算子記号だと思えます。見てすぐわかることは:

  • 第一引数は圏である。
  • 第二引数は圏の対象である。

しかし、$`f:a \to b \In \cat{C}`$ に対して、$`\cat{C}/f`$ という書き方をすることがあります。しかも、この書き方〈記法〉はふたつの意味で運用されます。

  1. $`\cat{C}/f : \cat{C}/a \to \cat{C}/b \In {\bf Cat}`$
  2. $`\cat{C}/f : \cat{C}/b \to \cat{C}/a \In {\bf Cat}`$

どちらの運用でも、$`\cat{C}/f`$ は、$`f`$ から誘導されるスライス圏のあいだの関手になります(その意味は後述します)。一番目では、$`f`$ の向きと誘導された関手の向きが同じですが、二番目では、$`f`$ の向きと誘導された関手の向きは逆です。二番目のほうは、プルバックを持つ圏 $`\cat{C}`$ にしか定義できません。

上記の2つの用法を区別するために、'$`\sl`$' 、 '$`\opsl`$' という2つの記号を使うことにします。

  1. $`\cat{C}\sl f : \cat{C}\sl a \to \cat{C}\sl b \In {\bf Cat}`$
  2. $`\cat{C}\opsl f : \cat{C}\opsl b \to \cat{C}\opsl a \In {\bf Cat}`$

対象に対しては、$`\cat{C}\sl a = \cat{C}\opsl a = \cat{C}/a`$ なので、2つの記号を区別する必要はありません。また、$`f_* := \cat{C}\sl f`$ 、$`f^* := \cat{C}\opsl f`$ という略記を使うと次のように書けます。

  1. $`f_* : \cat{C}/ a \to \cat{C}/ b \In {\bf Cat}`$
  2. $`f^* : \cat{C}/ b \to \cat{C}/ a \In {\bf Cat}`$

二番目の $`f^*`$ は定義に条件が必要で複雑でもあるので、ここでは一番目だけを扱います。射 $`f:a \to b \In \cat{C}`$ から誘導される関手 $`f_*`$ は次のようです。

  • $`\cat{C}/a`$ の対象 $`\obj{u} \in |\cat{C}/a|`$ に、$`\obj{(u;f)} \in |\cat{C}/b|`$ を対応させる。
  • $`\cat{C}/a`$ の射 $`v^w : \obj{u} \to \obj{w} \In \cat{C}/a`$ に、$`v^{w;f} : \obj{(u;f)}\to \obj{(w;f)} \In \cat{C}/b`$ を対応させる。

上記の(部分的)定義から、実際に関手 $`f_* = \cat{C}\sl f`$ が構成できることは確認が必要です。やってみてください。

以上とはまた別なスラッシュの用法があります。$`F:\cat{C} \to \cat{D}`$ が関手のとき、次のような関手を定義できます。

$`\quad F/c : \cat{C}/c \to \cat{D}/F(c) \In {\bf Cat}`$

関手 $`F/c`$ の定義は次のようです。

  • $`\cat{C}/c`$ の対象 $`\obj{g} \in |\cat{C}/c|`$ に、$`\obj{F(g)} \in |\cat{D}/F(c)|`$ を対応させる。
  • $`\cat{C}/c`$ の射 $`f^h : \obj{g} \to \obj{h} \In \cat{C}/c`$ に、$`F(f)^{F(h)} : \obj{F(g)}\to \obj{F(h)} \In \cat{C}/F(c)`$ を対応させる。

これら、似てはいるけど異なる3つの用法を持つスラッシュが区別されない記述を見て、僕はだいぶ混乱してしまいました。なので、ここでスラッシュの正体をハッキリさせることにします。

第一引数〈左〉が圏で第二引数が射のときは、'$`\sl`$' または '$`\opsl`$' を使います。ただし、この記事では '$`\sl`$' だけを扱います。第一引数が関手のときは、単なるスラッシュ '$`/`$' を使います。どちらの場合も、第二引数〈右〉には、第一引数に依存した対象や射が入ります。

関手に対するスラッシュ

関手に対するスラッシュ記法 $`F/c`$ の意味〈セマンティクス〉を、依存二項演算として定義します。依存二項演算とは、第一引数を決めないと、第二引数を決められない二項演算です。

スラッシュの定義のために、マーク付き圏という概念を導入します。マーク付き圏は、「最近の型理論: 型判断/シーケントの意味論に向けて」でも使っています。その定義を繰り返すと; 圏 $`\cat{C}`$ に、1個の対象 $`c\in |\cat{C}|`$ を指定した構造 $`(\cat{C}, c)`$ をマーク付き圏〈marked category〉と呼ぶことにします。pointed set にあわせて pointed category と呼びたいところですが、pointed category は別な意味で既に使われています。

2つのマーク付き圏 $`(\cat{C}, c)`$ と $`(\cat{D}, d)`$ のあいだのマーク付き関手〈marked functor | mark preserving functor〉とは、$`F(c) = d`$ となる関手 $`F:\cat{C} \to \cat{D}`$ のことです。

小さいマーク付き圏と、そのあいだのマーク付き関手からなる圏を $`{\bf MarkedCat}`$ とします。圏 $`{\bf MarkedCat}`$ はスラッシュ演算の域〈ソース圏〉として使います。記号 '$`/`$' のセマンティクスとなる関手を $`\mrm{Slice}`$ と書くことにします。

$`\quad \mrm{Slice} : {\bf MarkedCat} \to \dimU{\bf Cat}{1} \In {\bf CAT}`$

ここで、$`\dimU{\bf Cat}{1}`$ は、2-圏である $`{\bf Cat}`$ の2-射〈自然変換〉を捨てた1-圏です(「圏の次元調整」を参照してください)。

関手 $`\mrm{Slice}`$ の定義は次のようです。

  • $`{\bf MarkedCat}`$ の対象 $`(\cat{C}, c) \in |{\bf MarkedCat}|`$ に、スライス圏 $`\cat{C}/c \in |\dimU{\bf Cat}{1}|`$ を対応させる。
  • $`{\bf MarkedCat}`$ の射 $`(F, c) : (\cat{C}, c) \to (\cat{D}, d) \In {\bf MarkedCat}`$ に、関手 $`F/c : \cat{C}/c \to \cat{D}/d \In \dimU{\bf Cat}{1}`$ を対応させる。

ここで、$`(F, c)`$ は $`F(c) = d`$ である関手、つまりマーク付き関手です。$`\mrm{Slice}`$ は、マーク付き関手に関手を対応させる関手ですが、$`\mrm{Slice}`$ の関手性は次のように表せます。セミコロンは関手の図式順結合記号としてもオーバーロードします*1

$`\quad \mrm{Slice}(\,(F, c) ; (G, d)\,) = \mrm{Slice}(\,(F,c)\,); \mrm{Slice}(\,(G, d)\,) \In {\bf CAT}\\
\quad \mrm{Slice}(\,(\mrm{Id}_{\cat{C}}, c) \,) = \mrm{Id}_{\cat{C}/c} \In {\bf CAT}
`$

関手 $`\mrm{Slice}`$ の略記としてスラッシュを使います。

  • $`\cat{C}/c := \mrm{Slice}(\,(\cat{C}, c) \,)\;\in |{\bf Cat}|`$
  • $`F/c := \mrm{Slice}(\,(F, c) \,)\; : \cat{C}/c \to \cat{D}/d \In {\bf Cat}`$

マーク付き圏達の圏は要素の圏

前節の関手 $`\mrm{Slice}`$ を一般化するために、その域〈ソース圏〉である $`{\bf MarkedCat}`$ について調べておきます。$`{\bf MarkedCat}`$ はとある余前層の要素の圏であることがキモです。

前節同様、$`\dimU{\bf Cat}{1}`$ は小さい圏達を対象とする1-圏とします。小さい圏 $`\cat{C}`$ にその対象集合 $`\mrm{Obj}(\cat{C}) = |\cat{C}|`$ を対応させる関手は、次のように書けます。

$`\quad \mrm{Obj}: \dimU{\bf Cat}{1} \to {\bf Set} \In {\bf CAT}`$

$`\mrm{Obj}(F)`$ は、関手 $`F`$ の対象パート〈object part)です。$`\mrm{Obj}`$ は、圏から集合圏への共変関手なので、余前層〈copresheaf〉です。

前層/余前層には、要素の圏category of elements〉を考えることができます。要素の圏はグロタンディーク構成の特別な場合で、$`\mrm{Obj}`$ の要素の圏 $`\mrm{El}(\mrm{Obj})`$ は次のように定義します。

  • $`\mrm{El}(\mrm{Obj})`$ の対象は、圏 $`\cat{C}`$ とその要素 $`c\in |\cat{C}|`$ の依存ペア $`(\cat{C}, c)`$ 。シグマ型を使うと次のように書ける。
    $`\quad |\mrm{El}(\mrm{Obj})| := \sum_{\cat{C} \in |{\bf Cat}|} \mrm{Obj}(\cat{C})`$
  • $`\mrm{El}(\mrm{Obj})`$ の対象 $`(\cat{C}, c), (\cat{D}, d)`$ のあいだの射は、関手 $`F:\cat{C}\to \cat{D}`$ で $`F(c) = d \In \cat{D}`$ であるもの。

余前層は、特殊な余インデックス付き圏〈coindexed category〉であり、上記の要素の圏の作り方は、余インデックス圏のグロタンディーク構成〈余グロタンディーク構成〉です。グロタンディーク構成を積分記号で表す(「グロタンディーク構成と積分記号 」参照)なら:

$`\quad \mrm{El}(\mrm{Obj}) := \int^{\dimU{\bf Cat}{1}} \mrm{Obj}(\hyp) \;\in |{\bf CAT}|`$

余インデックス付き圏のグロタンディーク構成は、積分記号の上側にインデキシング圏を書く約束です。

余前層 $`\mrm{Obj}`$ の要素の圏 $`\mrm{El}(\mrm{Obj})`$ がマーク付き圏達の圏になることは、その作り方から明らかでしょう。

$`\quad {\bf MarkedCat} = \mrm{El}(\mrm{Obj}) = \int^{\dimU{\bf Cat}{1}} \mrm{Obj}(\hyp)
\;\in |{\bf CAT}|
`$

同語反復余インデックス付き圏のグロタンディーク構成

前節で述べたことから、スラッシュ記号が表す関手 $`\mrm{Slice}`$ は次のように書けます。

$`\quad \mrm{Slice} : \int^{\dimU{\bf Cat}{1}} \mrm{Obj}(\hyp) \to \dimU{\bf Cat}{1} \In {\bf CAT}\\
\text{Where }\\
\quad \mrm{Obj} : {\bf Cat} \to {\bf Set} \In {\bf CAT}
`$

余前層 $`\mrm{Obj}`$ の代わりに余インデックス付き圏 $`\mrm{Taut}`$ を使って、グロタンディーク構成をしてみます。$`\mrm{Taut}`$ は次のような余インデックス付き圏〈共変インデックス付き圏〉です。

$`\quad \mrm{Taut} : \dimU{\bf Cat}{1} \to \dimU{\bf Cat}{1} \In {\bf CAT}\\
\text{For } \cat{C} \in |\dimU{\bf Cat}{1}| \\
\quad \mrm{Taut}(\cat{C}) := \cat{C}\\
\text{For } F: \cat{C} \to \cat{D} \In \dimU{\bf Cat}{1}\\
\quad \mrm{Taut}(F) := F
`$

$`\mrm{Taut}`$ は恒等関手を余インデックス付き圏とみなしたものです。同語反復余インデックス付き圏〈tautological coindexed category〉と呼ぶことにします。

同語反復余インデックス付き圏 $`\mrm{Taut}`$ のグロタンディーク構成は、要素の圏 $`\mrm{El}(\mrm{Obj})`$ と似てますが、少しだけ複雑になっています。$`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ は次のような圏です。

  • $`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ の対象は、圏 $`\cat{C}`$ とその要素 $`c\in |\cat{C}|`$ の依存ペア $`(\cat{C}, c)`$ 。$`\mrm{Obj}`$ の要素の圏と同じ。
  • $`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ の対象 $`(\cat{C}, c), (\cat{D}, d)`$ のあいだの射は、関手 $`F:\cat{C}\to \cat{D}`$ と $`f: F(c) \to d \In \cat{D}`$ のペア $`(F, f)`$ 。対象 $`c`$ も添えてトリプル $`(F, c, f)`$ の形で表示する。

$`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ の射 $`(F, c, f)`$ は、次の特徴を持ちます。

  • $`(F, c)`$ は、マーク付き圏 $`(\cat{C}, c)`$ からマーク付き圏 $`(\cat{D}, F(c))`$ へのマーク付き関手。$`F(c) = d`$ とは限らない
  • $`f:F(c) \to d \In \cat{D}`$ は、関手 $`\cat{D}\sl f : \cat{D}\sl F(c) \to \cat{D}\sl d`$ を誘導する。

スライシング関手

関手 $`\mrm{Slice}`$ を、前節で定義した $`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ 上に拡張しましょう。名前は同じ名前 $`\mrm{Slice}`$ を使い続けることにします。

$`\quad \mrm{Slice} : \int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp) \to \dimU{\bf Cat}{1} \In {\bf CAT}`$

$`F/c`$ をスライス関手と呼ぶことがありそうなので、$`\mrm{Slice}`$ はスライシング関手〈slicing functor〉と呼ぶことにします。スライシング関手は、スラッシュ記号 '$`/`$' の実体〈セマンティクス〉を与えます。

拡張した関手 $`\mrm{Slice}`$ の定義は次のようです。

  • $`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ の対象 $`(\cat{C}, c) \in |\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)|`$ に、スライス圏 $`\cat{C}/c \in |\dimU{\bf Cat}{1}|`$ を対応させる。
  • $`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ の射 $`(F, c, f) : (\cat{C}, c) \to (\cat{D}, d) \In \int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ に、関手 $`(F/c); (\cat{D}\sl f) : \cat{C}/c \to \cat{D}/d \In \dimU{\bf Cat}{1}`$ を対応させる(以下の図)。

$`\quad \xymatrix{
{\cat{C}/c} \ar[r]^{(F, c)} \ar[dr]_{(F/c); (\cat{D}\sl f)}
& {\cat{D}/F(c)} \ar[d]^{\cat{D}\sl f}
\\
{}
&{\cat{D}/d}
}\\
\quad \In \dimU{\bf Cat}{1}
`$

圏 $`\int^{\dimU{\bf Cat}{1}} \mrm{Taut}(\hyp)`$ は、標準射影によりファイバー付き圏になります。ベース方向の射(実体は関手) $`F:\cat{C}\to \cat{D}`$ に対する対象によるスライシングにより、
$`\quad F/c: \cat{C}/c \to \cat{D}/F(c)`$
が作れます。それに続けて、ファイバー方向の射 $`f:F(c) \to d \In \cat{D}`$ が誘導する関手を繋げて、目的の関手 $`\mrm{Slice}(\, (F, c, f)\,)`$ を構成できます。

「似てはいるけど異なるスラッシュの用法があるけれど、全体としてひとつの意味も持ちそう」という感覚は、拡張したスライシング関手 $`\mrm{Slice}`$ で説明できるでしょう。

*1:2-圏 $`{\bf Cat}`$ の場合は、図式順結合記号に $`*`$ を使ってますが、1-圏にしているので $`;`$ を使います。