はじめに
ストリング図は,圏論のいくつかの概念を視覚的にわかりやすい形で表すための強力なツールとして知られています。圏論の基礎的な書籍では,ストリング図よりも可換図式が用いられていることが多いと思いますが,個人的には圏論の基礎を学ぶ際にもストリング図を用いたほうがわかりやすい場面が少なくないのではないかと考えています(人によるとは思いますが)。
そこで,ストリング図の威力とおもしろさを伝えられたらと思い,連載記事を書くことにしました。この連載では,圏論の初学者を主な対象とし,数学を専門としない人でもある程度理解しやすいように書きたいと思います。
初回である今回の記事では,圏の定義を説明しつつ,ストリング図を紹介します。また,圏の具体例をいくつか挙げます。なお,今回の記事ではストリング図が活躍する場面はあまりありませんが,今後の記事ではストリング図が威力を発揮する場面が増えると思います。
本連載の目次
#1: 圏の定義と具体例(この記事)
#2:
関手と自然変換
#3:
垂直合成と水平合成
#4:
モノイダル圏
#5:
モナドとは自己関手の圏におけるモノイド対象のこと
#6:
モナドの例
#7:
随伴
#8:
関手を表す線の順序の交換
#9:
普遍射と随伴・極限・カン拡張
#10:
ホム関手のストリング図(前編)
#11:
ホム関手のストリング図(後編)
#12:
米田の補題
番外編1:
視覚的に理解するクライスリトリプルとモナドの同値性
番外編2:
線形代数の圏論的な性質(?)を圏論なしで説明する
圏の定義
まず,圏の定義を示します。圏になじみがない読者にとってはこの定義は難しいと感じるかもしれません。しかし,この定義をすぐに完全に理解できなくても構いません。すぐ後で行う補足説明やその後で示す圏の具体例を読めば,理解が深まるのではないかと思います。
圏
圏とは「対象とよばれるもの」の集まりと「射とよばれるもの」の集まりから構成され,次の条件をすべて満たすものである。
- 各射はドメインとよばれる対象とコドメインとよばれる対象を一つずつもつ。以降では,ドメインがでありコドメインがである射をからへの射とよび,と書く。
- 2本の任意の射(対象も任意)について,との合成とよばれる射(と書くこともある)が一意に定まってである。
- 結合律:3本の任意の射(対象も任意)について,が成り立つ。
- 単位律:各対象に対しての恒等射とよばれる射が存在し,任意の射(対象も任意)に対してを満たす。
規則1:射のドメインとコドメイン
以降では,ストリング図のことをしばしば単に図式とよぶことにします。
各射を次の図式で表すことにします。
射
規則1は,射をこの図式のように表せることを主張していると考えるとわかりやすいかもしれません。
四角形のブロックがの射を表しており,その上下から伸びた2本の線がの対象を表しています。これらが圏の射や対象であることを表すため,ブロックや線の左側の領域に色(ここでは黄色)を付け,さらにラベル「」を付けています。なお,を表すブロックの形は四角である必要はなく,丸などでも構いません。
ブロックの上下からは線が1本ずつ伸びています。下側から伸びた線がのドメインを表しており,上側から伸びた線がのコドメインを表しています。規則1により各射はドメインとコドメインを一つずつもつため,各射に対してとが定まっています。
以降では,の対象の集まりをと書き(はobjectの意味),の射の集まりをと書きます(はmorphismの意味)。また,圏のからへの射全体の集まりをと書きます。射のドメインをと書き,コドメインをと書きます。がの対象であることはと表せますが,この代わりにと書くことがしばしばあります。から自身への射を,しばしば上の射とよびます。
補足:
式には,「射が圏に属しており,ドメインがでコドメインが」という情報が含まれています。数式でものように表せば,これらの情報をすべて含められます。規則2:射の合成
規則2は,2本の射とを任意に選んだとき,のコドメイン(つまりブロックの上側の線)とのドメイン(つまりブロックの下側の線)が等しいならば合成できるという規則です。図式では,合成は次に示すように「縦方向につなげる」ことで表されます。
射の合成
この式の左辺は2本の射との合成を表しており,右辺は合成後の射を表していると解釈すると,わかりやすいかもしれません。この右辺が示すように,合成後の射のドメインはであり,コドメインはです。以降では,射のように述べた場合には,しばしば断りなくとが合成可能である(つまりのコドメインとのドメインが等しい)ことを仮定しているとします。
なお,この図式の右辺における黄色の領域では,ラベルを省略しています。この図式のように,同じ圏は同じ色で表すものとし,重複するラベルは通常は省略します。
規則3:結合律
規則3では,結合律とよばれる条件について述べられています。結合律は,次の図式で表されます。
結合律:
この図式の破線は補助線を表しており,ここでは補助線内の合成を先に行うことを意味するものと思ってください。このため,左辺は,右辺はを表しています。
この規則によりが成り立つことが保証されていますので,やのことをと書いても厳密性が損なわれることはありません。上のような図式においては,両辺から補助線を削除しても問題ないことを意味します。このため,しばしばのように書いたり,上のような図式から補助線を削除したりすることにします。
補足:
結合律を満たす限り,4本以上の射についても同様に合成の順序に依存しないことを示せます。たとえばが成り立ちます。規則4:単位律
規則4では,単位律とよばれる規則について述べられています。以降では,対象の恒等射を次の図式で表すことにします。
恒等射
このとき,単位律は次の図式で表されます。
単位律:
左側の等号は,にを合成したものがに等しいことを表しています。同様に,右側の等号は,にを合成したものがに等しいことを表しています。このため,直観的には,恒等射との合成は「何もしないこと」と同じであると解釈できます。上の図式においては,恒等射を表す破線を(単なる補助線とみなして)省略しても問題ないといえます。中央の式と比べて,左辺では線が長くなっており,右辺では線が長くなっていますが,線の長さの違いは無視できると解釈できます。
また,上の図式は,恒等射を「対象と本質的に同じようなもの」と捉えても問題ないことを暗示しています。実際,図式では,とをどちらも単なる線で表して普段はこれらを区別しません。各対象を恒等射のことだとみなすと,圏とは(射の合成が結合律と単位律を満たすような)射の集まりのことであるといえます。
補足:
圏論の標準的な書籍などでは射と対象を区別して扱っています。しかし,各対象を恒等射に置き換えて圏の定義を書き直せることが知られており(たとえば文献[1]の第I章),そのような定義を考えることで厳密性を損なわずに対象と恒等射を同一視できます。ただし,圏論に慣れていないうちはこのような同一視を行うと混乱を招く場面があると思いますので,この記事では対象と恒等射を区別することにします。高度な話題:
圏論では,「小さい集合」とよばれる概念がしばしば登場します。この連載では,「小さい集合」とよばれる概念を「集合」とよび,集合を含む広い概念として,「小さい集合」とはよべないようなものも含めたものを「集まり」とよぶことにします。厳密には「集合」と「集まり」を区別する必要があるのですが,これらの違いを気にしない読者は「集まり」を「集合」と読み替えても構いません。なお,一般には任意に選んだ圏について,集まりは「集合」とは限りません。この連載ではとくに断りなく各については「集合」であると仮定します。この仮定が成り立つような圏は,局所小圏とよばれます。圏の具体例
圏の具体例は数多くありますが,ここではその一部のみを紹介します。これから示す例のうちわからないものがあれば無視しても構いません。
例1:対象が1個のみの場合(モノイド)
まず,対象が1個(とおきます)のみであるような圏について考えます。このような圏はモノイドとよばれます。モノイドは,その対象はしかありませんから,射の集まり(と表すことにします)のみから構成されているとみなせます。対象がのみであることを考慮すると,モノイドの定義は次のように言い換えられます。
モノイド
集合が次の規則をすべて満たすとき,モノイドとよぶ。
(備考:規則(1)~(3)が定義1の規則(2)~(4)にそれぞれ対応している。)
- 任意のに対して,(積とよばれる)が一意に定まる。
- 結合律:任意のに対してが成り立つ。
- 単位律:あるが存在し(単位元とよばれる),任意のに対してを満たす。
補足1:
通常,定義2を満たす集合のことをモノイドとよびますが,ここでは1個の対象のみからなる圏も(広義の意味で)モノイドとよんでいます。補足2:
モノイドになじみのある方は,モノイドを(複数の対象をもつことができるように)一般化したものが圏であるという観点で捉えるとわかりやすいかもしれません。圏は,モノイドの多対象版とよばれることもあります。なお,定義2における積は射の合成のことであり,単位元はの恒等射です。
モノイドの具体例をいくつか示します。
例1.1:自然数と和
0以上の整数を自然数とよび,自然数全体から成る集合をとおきます。であるような(つまりの各要素を射とするような)モノイドが考えられます。ただし,射の合成は自然数の和とします。0が単位元です。
念のため,この例が規則2~4を満たすことを確認しておきます。規則2(射の合成)を満たすことは,たとえば次式からわかります。
射の合成の例(との合成は)
ただし,わかりやすく表現するため,射(つまり自然数)を表すブロックを「」のように表しています。より一般的には,任意のに対してが成り立ちます。なお,図式における線のラベル*は省略しています(モノイドは1個の対象しかもちませんので,線のラベルを省略しても問題ありません)。
規則3の結合律を満たすことは,たとえば次式(を一般化したもの)から容易にわかります。
結合律の例
規則4の単位律を満たすことは,たとえば次式(を一般化したもの)からわかります。
単位律の例
以降の例では規則2~4を満たすことの確認は省略しますが,いずれの例でもすぐに確かめられると思います。
例1.2:群
群とよばれる構造は,モノイドの特別な場合です。具体的には,モノイドのうち,各射に対して(ただしは単位元)を満たすような射(逆元とよばれます)が存在するようなものが群とよばれます。
補足:
群になじみのある方はのようなイメージで捉えると理解しやすいかもしれません。例1.3:正方行列と積
1以上の整数を固定したとき,次正方行列を射とする,つまりが次正方行列全体であるようなモノイドが考えられます。射(つまり次正方行列)の合成は行列としての積とします。次単位行列が単位元です。なお,逆行列をもたないような次正方行列が存在するため,このモノイドは群ではありません。
補足:
この連載では,行列を扱う場合が何度かありますが,行列の各成分は実数であるものとします。例1.4:タスク
タスクを射とするモノイドが考えられます。ここで,タスクとは「朝食を食べる」や「歯を磨く」のような作業のことを表していると考えてください。射の合成は,タスクを行った後でタスクを行うという一連のタスクであるとします。たとえば,タスク「ドアの鍵をかける」とタスク「駅に出かける」の合成は,タスク「ドアの鍵をかけてから駅に出かける」です。「何もしない」が単位元です。(ただし,「何もしない」と任意のタスクの合成はタスクであり,タスクと「何もしない」の合成もタスクであるとします。)
補足:
例1.1における整数を「を足す」というタスクだと考えると,例1.1はこの例の特別な場合とみなせます。実際,は「を足してからを足す」というタスクだといえます。同様に,例1.3における次正方行列を「任意の次元ベクトルを次元ベクトルに写す」というタスクだと考えると,例1.3はこの例の特別な場合とみなせます。例2:対象が一般に複数ある場合
次に,モノイドとは限らない(つまり対象が一般に複数個ある)ような圏の例を挙げます。
例2.1:離散圏
極端な例として,恒等射以外の射をもたない圏を考えます。このような圏は,離散圏とよばれます。離散圏では射は恒等射しかありませんので,対象の集まりが定まれば射の集まりは自動的に定まります。とくに,任意の集合は,の各要素を対象(および恒等射)に対応付ければ離散圏とみなせます。
例2.2:行列と積
以上の整数をいくつか集めた集合(たとえば)を対象の集まりとして,各に対して行列の行列(各成分は実数)を対象から対象への射とする圏(とおきます)が考えられます。2本の射との合成は,行列としての積とします。次単位行列が上の恒等射です。
射の合成の例を示します。
圏における射の合成の例(行列と行列の積は行列)
補足:
この例において(は任意の自然数)の場合を考えると,例1.3で述べたモノイドになります。この意味で,例2.2は例1.3の一般化といえます。例2.3:集合と写像
いくつかの集合の集まりを対象の集まりとして,各対象に対してからへの写像を対象から対象への射とする圏が考えられます。射の合成は写像の合成とします。上の恒等写像(つまりの各要素をその要素自身に写す写像)が上の恒等射です。
さらに具体的な例として,(素朴な)プログラムの圏とでもいえるような圏を考えます。この圏における射の合成の例を示します。
圏における射の合成の例
ここで,(整数全体),,(文字列全体)はの対象とします。この圏の射は関数で,対象は関数の引数や戻り値の型だと解釈できます(ここでは,「プログラム」らしさを出すために,写像のことを「関数」とよんでいます)。射の例としては,奇数をに写して偶数をに写すような写像が考えられます。また,射の例としては,を文字列"odd"に写してを文字列"even"に写すような写像が考えられます。このとき射は,奇数を"odd"に写して偶数を"even"に写すような写像です。
補足:
例2.3を少し改良して,対象から対象への射をある特別な性質を満たす写像(たとえば線形写像や連続写像とよばれるようなもの)のみに限定することもできます。このような限定を考えたとき,例1.1や例2.2はこの特別な場合とみなせます。実際,例1.1は,例2.3においてとおいて,写像を(ただし)の形で表せるもののみに限定すれば得られます。また,例2.2において個の要素から成る集合を考えたとき,例2.3において(ただしは次元実列ベクトル全体)とおいて,写像を線形写像に限定すれば得られます。例2.4:集合の圏
例2.3の特別な場合として,すべての集合の集まりを対象の集まりとして,集合から集合への写像を対象から対象への射とする圏が考えられます。この圏を集合の圏とよびと書きます。射と射の合成は写像としての合成であり,恒等射は恒等写像です。
この圏を利用して任意の集合の要素を図式で表す方法を導入しておきます。この連載では,1個の要素から成る集合(1点集合とよびます)の一つを代表してと書くことにします。任意の集合とその要素を考え,に対応する次の写像を考えます。
つまり,は1点集合の唯一の要素をの要素に写すような写像です。この写像は,明らかにのみから一意に定まります。また,逆にが与えられれば,はと求まります。このため,とは本質的には同じものを表しているといえて,これらを同一視できます。以降ではこれらを同一視します。このとき,(つまり)は1点集合から集合への写像(つまりの射)として,次の図式で表せます。
を写像として表す
この図式のように,1点集合をグレーの点線で表し,ラベル「」はしばしば省略します。
補足:
の要素と写像を同一視するのは単に話を簡単にするためです。これらを同一視しなくても本質的に同じ議論が行えます。例2.5:ベクトル空間の圏
任意の体について,上のすべてのベクトル空間の集まりを対象の集まりとして,ベクトル空間からベクトル空間への線形写像を対象から対象への射とする圏が考えられます。この圏をベクトル空間の圏とよび,と書きます。射と射の合成は写像としての合成であり,恒等射は恒等写像です。
また,圏と同様ですが,対象を有限次元ベクトル空間に限定した圏を有限次元ベクトル空間の圏とよび,と書きます。つまり,圏の対象は上の有限次元ベクトル空間で,射は線形写像で,射の合成は写像としての合成で,恒等射は恒等写像です。
補足:
体に不慣れな方は,を実数全体に読み替えても問題ありません。この場合,体上のベクトル空間とはのような実ベクトル空間のことです。また,線形写像に不慣れな方は,有限次元ベクトル空間のみを考えて,次元ベクトル空間から次元ベクトル空間への線形写像とは行列の実行列のことだと考えても概ね問題ありません。例2.6:モノイドの圏
すべてのモノイドの集まりを対象の集まりとして,モノイドからモノイドへのモノイド準同型とよばれる写像を対象から対象への射とする圏が考えられます。この圏をモノイドの圏とよびと書きます。射と射の合成は写像としての合成であり,恒等射は恒等写像です。
補足:
モノイド準同型とは,直観的にはモノイドとしての性質を保つような写像のことです。具体的には,写像がモノイド準同型であるとは,(1) および(2)を満たすことをいいます。なお,条件(1)は,各に対して「積をとってからで写したもの」が「それぞれをで写してから積をとったもの」に等しいことを意味しています。このため,直観的には,「積をとる」ことと「で写す」ことの順序を入れ替えられることといえます。条件(2)は,がの単位元をの単位元に写すことを意味しています。なお,二つのモノイド準同型を合成したものがモノイド準同型になることや,恒等写像がモノイド準同型であることは,容易に確かめられます。モノイドがその任意の射に対してを満たすとき,可換であるとよびます。このとき,圏と同様ですが,対象を可換モノイドに限定した圏を可換モノイドの圏とよびと書きます。
例2.7:自然数と大小関係
自然数を対象とするような圏(とおきます)を考えます。ただし,各対象について,この圏のからへの射はならば1本のみ存在して,ならば存在しないものとします。これにより,からへの射が存在することはであることと同値です。各に対してですので恒等射が存在します。
射の合成の例を示します。を満たす任意のに対して,次式が成り立ちます。
圏における射の合成の例
この式は,圏における射の合成を表しています。または,不等号が推移律(つまりかつならばであるという規則)を満たすことを表していると解釈できます。
まとめ
圏論における基本的な概念である圏の定義を示し,対象や射を図式(ストリング図)で表す方法を紹介しました。圏はある規則を満たすような対象の集まりと射の集まりのことといえます。図式を用いると,圏が満たすべき規則を視覚的に理解できると思います。今後の連載では,このような図式を積極的に用いて,圏論の基礎的な概念をわかりやすく説明したいと思います。