18
大学数学基礎解説
文献あり

【ストリング図で学ぶ圏論 #1】圏の定義と具体例

3986
0

はじめに

ストリング図は,圏論のいくつかの概念を視覚的にわかりやすい形で表すための強力なツールとして知られています。圏論の基礎的な書籍では,ストリング図よりも可換図式が用いられていることが多いと思いますが,個人的には圏論の基礎を学ぶ際にもストリング図を用いたほうがわかりやすい場面が少なくないのではないかと考えています(人によるとは思いますが)。

そこで,ストリング図の威力とおもしろさを伝えられたらと思い,連載記事を書くことにしました。この連載では,圏論の初学者を主な対象とし,数学を専門としない人でもある程度理解しやすいように書きたいと思います。

初回である今回の記事では,圏の定義を説明しつつ,ストリング図を紹介します。また,圏の具体例をいくつか挙げます。なお,今回の記事ではストリング図が活躍する場面はあまりありませんが,今後の記事ではストリング図が威力を発揮する場面が増えると思います。

補足:
この連載では,拙著 『ストリング図で学ぶ圏論の基礎』 [2]の一部を紹介します。各概念についての詳しい説明は,本書をご参照ください。

本連載の目次

#1: 圏の定義と具体例(この記事)
#2: 関手と自然変換
#3: 垂直合成と水平合成
#4: モノイダル圏
#5: モナドとは自己関手の圏におけるモノイド対象のこと
#6: モナドの例
#7: 随伴
#8: 関手を表す線の順序の交換
#9: 普遍射と随伴・極限・カン拡張
#10: ホム関手のストリング図(前編)
#11: ホム関手のストリング図(後編)
#12: 米田の補題
番外編1: 視覚的に理解するクライスリトリプルとモナドの同値性
番外編2: 線形代数の圏論的な性質(?)を圏論なしで説明する

圏の定義

まず,圏の定義を示します。圏になじみがない読者にとってはこの定義は難しいと感じるかもしれません。しかし,この定義をすぐに完全に理解できなくても構いません。すぐ後で行う補足説明やその後で示す圏の具体例を読めば,理解が深まるのではないかと思います。

Cとは「対象とよばれるもの」の集まりと「とよばれるもの」の集まりから構成され,次の条件をすべて満たすものである。

  1. 各射はドメインとよばれる対象とコドメインとよばれる対象を一つずつもつ。以降では,ドメインがaでありコドメインがbである射faからbへの射とよび,f:abと書く。
  2. 2本の任意の射f:ab, g:bc(対象a,b,cも任意)について,fg合成とよばれる射gfgfと書くこともある)が一意に定まってgf:acである。
  3. 結合律:3本の任意の射f:ab, g:bc, h:cd(対象a,b,c,dも任意)について,h(gf)=(hg)fが成り立つ。
  4. 単位律:各対象aに対してa恒等射とよばれる射1a:aaが存在し,任意の射f:ab(対象a,bも任意)に対して1bf=f=f1aを満たす。

規則1:射のドメインとコドメイン

以降では,ストリング図のことをしばしば単に図式とよぶことにします。

各射fを次の図式で表すことにします。

射!FORMULA[24][37794][0] f (1)

規則1は,射をこの図式のように表せることを主張していると考えるとわかりやすいかもしれません。

四角形のブロックfCの射を表しており,その上下から伸びた2本の線a,bCの対象を表しています。これらが圏Cの射や対象であることを表すため,ブロックや線の左側の領域に色(ここでは黄色)を付け,さらにラベル「C」を付けています。なお,fを表すブロックの形は四角である必要はなく,丸などでも構いません。

ブロックfの上下からは線が1本ずつ伸びています。下側から伸びた線がfのドメインaを表しており,上側から伸びた線がfのコドメインbを表しています。規則1により各射fはドメインaとコドメインbを一つずつもつため,各射fに対してabが定まっています。

以降では,Cの対象の集まりをobCと書き(obはobjectの意味),Cの射の集まりをmorCと書きます(morはmorphismの意味)。また,圏Caからbへの射全体の集まりをC(a,b)と書きます。射fのドメインをdomfと書き,コドメインをcodfと書きます。aCの対象であることはaobCと表せますが,この代わりにaCと書くことがしばしばあります。aからa自身への射を,しばしばa上の射とよびます。

補足:
(1)には,「射fが圏Cに属しており,ドメインがaでコドメインがb」という情報が含まれています。数式でもfC(a,b)のように表せば,これらの情報をすべて含められます。

規則2:射の合成

規則2は,2本の射fgを任意に選んだとき,fのコドメイン(つまりブロックfの上側の線)とgのドメイン(つまりブロックgの下側の線)が等しいならば合成できるという規則です。図式では,合成は次に示すように「縦方向につなげる」ことで表されます。

射の合成!FORMULA[75][1174657][0] 射の合成gf

この式の左辺は2本の射fgの合成を表しており,右辺は合成後の射gfを表していると解釈すると,わかりやすいかもしれません。この右辺が示すように,合成後の射gfのドメインはaであり,コドメインはcです。以降では,射gfのように述べた場合には,しばしば断りなくfgが合成可能である(つまりfのコドメインとgのドメインが等しい)ことを仮定しているとします。

なお,この図式の右辺における黄色の領域では,ラベルCを省略しています。この図式のように,同じ圏は同じ色で表すものとし,重複するラベルは通常は省略します。

規則3:結合律

規則3では,結合律とよばれる条件について述べられています。結合律h(gf)=(hg)fは,次の図式で表されます。

結合律:!FORMULA[89][-751046441][0] 結合律:h(gf)=(hg)f

この図式の破線は補助線を表しており,ここでは補助線内の合成を先に行うことを意味するものと思ってください。このため,左辺はh(gf),右辺は(hg)fを表しています。

この規則によりh(gf)=(hg)fが成り立つことが保証されていますので,h(gf)(hg)fのことをhgfと書いても厳密性が損なわれることはありません。上のような図式においては,両辺から補助線を削除しても問題ないことを意味します。このため,しばしばhgfのように書いたり,上のような図式から補助線を削除したりすることにします。

補足:
結合律を満たす限り,4本以上の射についても同様に合成の順序に依存しないことを示せます。たとえば(i(hg))f=(ih)(gf)が成り立ちます。

規則4:単位律

規則4では,単位律とよばれる規則について述べられています。以降では,対象aの恒等射1a:aaを次の図式で表すことにします。

恒等射!FORMULA[100][34800853][0] 恒等射1a

このとき,単位律1bf=f=f1aは次の図式で表されます。

単位律:!FORMULA[102][1006798869][0] 単位律:1bf=f=f1a

左側の等号は,f1bを合成したものがfに等しいことを表しています。同様に,右側の等号は,f1aを合成したものがfに等しいことを表しています。このため,直観的には,恒等射との合成は「何もしないこと」と同じであると解釈できます。上の図式においては,恒等射を表す破線を(単なる補助線とみなして)省略しても問題ないといえます。中央の式と比べて,左辺では線bが長くなっており,右辺では線aが長くなっていますが,線の長さの違いは無視できると解釈できます。

また,上の図式は,恒等射1aを「対象aと本質的に同じようなもの」と捉えても問題ないことを暗示しています。実際,図式では,1aaをどちらも単なる線で表して普段はこれらを区別しません。各対象aを恒等射1aのことだとみなすと,圏とは(射の合成が結合律と単位律を満たすような)射の集まりのことであるといえます。

補足:
圏論の標準的な書籍などでは射と対象を区別して扱っています。しかし,各対象aを恒等射1aに置き換えて圏の定義を書き直せることが知られており(たとえば文献[1]の第I章),そのような定義を考えることで厳密性を損なわずに対象と恒等射を同一視できます。ただし,圏論に慣れていないうちはこのような同一視を行うと混乱を招く場面があると思いますので,この記事では対象と恒等射を区別することにします。

高度な話題:
圏論では,「小さい集合」とよばれる概念がしばしば登場します。この連載では,「小さい集合」とよばれる概念を「集合」とよび,集合を含む広い概念として,「小さい集合」とはよべないようなものも含めたものを「集まり」とよぶことにします。厳密には「集合」と「集まり」を区別する必要があるのですが,これらの違いを気にしない読者は「集まり」を「集合」と読み替えても構いません。なお,一般には任意に選んだ圏Cについて,集まりC(a,b)は「集合」とは限りません。この連載ではとくに断りなく各a,bCについてC(a,b)は「集合」であると仮定します。この仮定が成り立つような圏Cは,局所小圏とよばれます。

圏の具体例

圏の具体例は数多くありますが,ここではその一部のみを紹介します。これから示す例のうちわからないものがあれば無視しても構いません。

例1:対象が1個のみの場合(モノイド)

まず,対象が1個(とおきます)のみであるような圏について考えます。このような圏はモノイドとよばれます。モノイドMは,その対象はしかありませんから,射の集まり(Mと表すことにします)のみから構成されているとみなせます。対象がのみであることを考慮すると,モノイドの定義は次のように言い換えられます。

モノイド

集合Mが次の規則をすべて満たすとき,モノイドとよぶ。
(備考:規則(1)~(3)が定義1の規則(2)~(4)にそれぞれ対応している。)

  1. 任意のf,gMに対して,gfMとよばれる)が一意に定まる。
  2. 結合律:任意のf,g,hMに対してh(gf)=(hg)fが成り立つ。
  3. 単位律:ある1Mが存在し(単位元とよばれる),任意のfMに対して1f=f=f1を満たす。

補足1:
通常,定義2を満たす集合Mのことをモノイドとよびますが,ここでは1個の対象のみからなる圏Mも(広義の意味で)モノイドとよんでいます。

補足2:
モノイドになじみのある方は,モノイドを(複数の対象をもつことができるように)一般化したものが圏であるという観点で捉えるとわかりやすいかもしれません。圏は,モノイドの多対象版とよばれることもあります。

なお,定義2における積は射の合成のことであり,単位元1の恒等射です。

モノイドの具体例をいくつか示します。

例1.1:自然数と和

0以上の整数を自然数とよび,自然数全体から成る集合をNとおきます。M=Nであるような(つまりNの各要素を射とするような)モノイドが考えられます。ただし,射f,gMの合成は自然数の和f+gとします。0が単位元です。

念のため,この例が規則2~4を満たすことを確認しておきます。規則2(射の合成)を満たすことは,たとえば次式からわかります。

射の合成の例(!FORMULA[146][1115354][0]と!FORMULA[147][1115385][0]の合成は!FORMULA[148][1115416][0]) 射の合成の例(+1+2の合成は+3

ただし,わかりやすく表現するため,射(つまり自然数)fを表すブロックを「+f」のように表しています。より一般的には,任意のf,gMに対してf+gMが成り立ちます。なお,図式における線のラベル*は省略しています(モノイドは1個の対象しかもちませんので,線のラベルを省略しても問題ありません)。

規則3の結合律h+(g+f)=(h+g)+fを満たすことは,たとえば次式(を一般化したもの)から容易にわかります。

結合律の例 結合律の例

規則4の単位律0+f=f=f+0を満たすことは,たとえば次式(を一般化したもの)からわかります。

単位律の例 単位律の例

以降の例では規則2~4を満たすことの確認は省略しますが,いずれの例でもすぐに確かめられると思います。

例1.2:群

群とよばれる構造は,モノイドの特別な場合です。具体的には,モノイドのうち,各射fに対してff1=1=f1f(ただし1は単位元)を満たすような射f1逆元とよばれます)が存在するようなものがとよばれます。

補足:
群になじみのある方は
一般化モノイド一般化
のようなイメージで捉えると理解しやすいかもしれません。

例1.3:正方行列と積

1以上の整数nを固定したとき,n次正方行列を射とする,つまりMn次正方行列全体であるようなモノイドが考えられます。射(つまりn次正方行列)A,BMの合成は行列としての積BAとします。n次単位行列が単位元です。なお,逆行列をもたないようなn次正方行列が存在するため,このモノイドは群ではありません。

補足:
この連載では,行列を扱う場合が何度かありますが,行列の各成分は実数であるものとします。

例1.4:タスク

タスクを射とするモノイドが考えられます。ここで,タスクとは「朝食を食べる」や「歯を磨く」のような作業のことを表していると考えてください。射f,gMの合成gfは,タスクfを行った後でタスクgを行うという一連のタスクであるとします。たとえば,タスク「ドアの鍵をかける」とタスク「駅に出かける」の合成は,タスク「ドアの鍵をかけてから駅に出かける」です。「何もしない」が単位元です。(ただし,「何もしない」と任意のタスクfの合成はタスクfであり,タスクfと「何もしない」の合成もタスクfであるとします。)

補足:
例1.1における整数fを「fを足す」というタスクだと考えると,例1.1はこの例の特別な場合とみなせます。実際,g+fは「fを足してからgを足す」というタスクだといえます。同様に,例1.3におけるn次正方行列Aを「任意のn次元ベクトルxn次元ベクトルAxに写す」というタスクだと考えると,例1.3はこの例の特別な場合とみなせます。

例2:対象が一般に複数ある場合

次に,モノイドとは限らない(つまり対象が一般に複数個ある)ような圏の例を挙げます。

例2.1:離散圏

極端な例として,恒等射以外の射をもたない圏を考えます。このような圏は,離散圏とよばれます。離散圏では射は恒等射しかありませんので,対象の集まりが定まれば射の集まりは自動的に定まります。とくに,任意の集合Xは,Xの各要素xを対象x(および恒等射1x)に対応付ければ離散圏とみなせます。

例2.2:行列と積

1以上の整数をいくつか集めた集合(たとえばN:={1,2,4,8})を対象の集まりとして,各m,nNに対してmn列の行列(各成分は実数)を対象nから対象mへの射とする圏(Matとおきます)が考えられます。2本の射ABの合成は,行列としての積BAとします。n次単位行列がn上の恒等射です。

射の合成の例を示します。

圏!FORMULA[206][-958137872][0]における射の合成の例(!FORMULA[207][997696373][0]行列!FORMULA[208][36678][0]と!FORMULA[209][-799254955][0]行列!FORMULA[210][36647][0]の積は!FORMULA[211][997696373][0]行列!FORMULA[212][1137953][0]) Matにおける射の合成の例(l×m行列Bm×n行列Aの積はl×m行列BA

補足:
この例においてN={n}nは任意の自然数)の場合を考えると,例1.3で述べたモノイドになります。この意味で,例2.2は例1.3の一般化といえます。

例2.3:集合と写像

いくつかの集合の集まりX:={X1,X2,,Xn}を対象の集まりとして,各対象Xi,Xjに対してXiからXjへの写像を対象Xiから対象Xjへの射とする圏が考えられます。射の合成は写像の合成とします。Xi上の恒等写像(つまりXiの各要素をその要素自身に写す写像)がXi上の恒等射です。

さらに具体的な例として,(素朴な)プログラムの圏とでもいえるような圏Progを考えます。この圏における射の合成の例を示します。

圏!FORMULA[225][463917048][0]における射の合成の例 Progにおける射の合成の例

ここで,Int(整数全体),Bool:={true,false}String(文字列全体)はProgの対象とします。この圏の射は関数で,対象は関数の引数や戻り値の型だと解釈できます(ここでは,「プログラム」らしさを出すために,写像のことを「関数」とよんでいます)。射f:IntBoolの例としては,奇数をtrueに写して偶数をfalseに写すような写像が考えられます。また,射g:BoolStringの例としては,trueを文字列"odd"に写してfalseを文字列"even"に写すような写像が考えられます。このとき射gf:IntStringは,奇数を"odd"に写して偶数を"even"に写すような写像です。

補足:
例2.3を少し改良して,対象Xiから対象Xjへの射をある特別な性質を満たす写像(たとえば線形写像や連続写像とよばれるようなもの)のみに限定することもできます。このような限定を考えたとき,例1.1や例2.2はこの特別な場合とみなせます。実際,例1.1は,例2.3においてX:={N}とおいて,写像をNnn+fN(ただしfN)の形で表せるもののみに限定すれば得られます。また,例2.2においてk個の要素から成る集合N:={n1,n2,,nk}を考えたとき,例2.3においてX:={Rn1,Rn2,,Rnk}(ただしRnn次元実列ベクトル全体)とおいて,写像を線形写像に限定すれば得られます。

例2.4:集合の圏Set

例2.3の特別な場合として,すべての集合の集まりを対象の集まりとして,集合Xから集合Yへの写像を対象Xから対象Yへの射とする圏が考えられます。この圏を集合の圏とよびSetと書きます。射fと射gの合成は写像としての合成gfであり,恒等射は恒等写像です。

この圏Setを利用して任意の集合の要素を図式で表す方法を導入しておきます。この連載では,1個の要素から成る集合(1点集合とよびます)の一つを代表して{}と書くことにします。任意の集合Xとその要素xXを考え,xに対応する次の写像を考えます。
x~:{}xX
つまり,x~は1点集合{}の唯一の要素Xの要素xに写すような写像です。この写像x~は,明らかにxのみから一意に定まります。また,逆にx~が与えられれば,xx=x~()と求まります。このため,xx~は本質的には同じものを表しているといえて,これらを同一視できます。以降ではこれらを同一視します。このとき,x(つまりx~)は1点集合{}から集合Xへの写像(つまりSetの射)として,次の図式で表せます。

!FORMULA[279][-890499689][0]を写像!FORMULA[280][-1584452296][0]として表す xXを写像xとして表す

この図式のように,1点集合{}をグレーの点線で表し,ラベル「{}」はしばしば省略します。

補足:
Xの要素xと写像x~を同一視するのは単に話を簡単にするためです。これらを同一視しなくても本質的に同じ議論が行えます。

例2.5:ベクトル空間の圏VecK

任意の体Kについて,K上のすべてのベクトル空間の集まりを対象の集まりとして,ベクトル空間Vからベクトル空間Wへの線形写像を対象Vから対象Wへの射とする圏が考えられます。この圏をベクトル空間の圏とよび,VecKと書きます。射fと射gの合成は写像としての合成gfであり,恒等射は恒等写像です。

また,圏VecKと同様ですが,対象を有限次元ベクトル空間に限定した圏を有限次元ベクトル空間の圏とよび,FinVecKと書きます。つまり,圏FinVecKの対象はK上の有限次元ベクトル空間で,射は線形写像で,射の合成は写像としての合成で,恒等射は恒等写像です。

補足:
Kに不慣れな方は,Kを実数全体Rに読み替えても問題ありません。この場合,体K上のベクトル空間とはRnのような実ベクトル空間のことです。また,線形写像に不慣れな方は,有限次元ベクトル空間のみを考えて,n次元ベクトル空間Vからm次元ベクトル空間Wへの線形写像とはmn列の実行列のことだと考えても概ね問題ありません。

例2.6:モノイドの圏Mon

すべてのモノイドの集まりを対象の集まりとして,モノイドMからモノイドNへのモノイド準同型とよばれる写像を対象Mから対象Nへの射とする圏が考えられます。この圏をモノイドの圏とよびMonと書きます。射fと射gの合成は写像としての合成gfであり,恒等射は恒等写像です。

補足:
モノイド準同型とは,直観的にはモノイドとしての性質を保つような写像のことです。具体的には,写像f:MNモノイド準同型であるとは,(1)f(ba)=f(b)f(a) (a,bM)および(2)f(1)=1を満たすことをいいます。なお,条件(1)は,各a,bMに対して「積をとってからfで写したもの」f(ba)が「それぞれをfで写してから積をとったもの」f(b)f(a)に等しいことを意味しています。このため,直観的には,「積をとる」ことと「fで写す」ことの順序を入れ替えられることといえます。条件(2)は,fMの単位元1Nの単位元1に写すことを意味しています。なお,二つのモノイド準同型を合成したものがモノイド準同型になることや,恒等写像がモノイド準同型であることは,容易に確かめられます。

モノイドMがその任意の射f,gに対してfg=gfを満たすとき,可換であるとよびます。このとき,圏Monと同様ですが,対象を可換モノイドに限定した圏を可換モノイドの圏とよびCMonと書きます。

例2.7:自然数と大小関係

自然数を対象とするような圏(Posとおきます)を考えます。ただし,各対象x,yNについて,この圏Posxからyへの射はxyならば1本のみ存在して,x>yならば存在しないものとします。これにより,xからyへの射が存在することはxyであることと同値です。各aNに対してaaですので恒等射1aが存在します。

射の合成の例を示します。abcを満たす任意のa,b,cNに対して,次式が成り立ちます。

圏!FORMULA[356][-954951196][0]における射の合成の例 Posにおける射の合成の例

この式は,圏Posにおける射の合成を表しています。または,不等号が推移律(つまりabかつbcならばacであるという規則)を満たすことを表していると解釈できます。

まとめ

圏論における基本的な概念である圏の定義を示し,対象や射を図式(ストリング図)で表す方法を紹介しました。圏はある規則を満たすような対象の集まりと射の集まりのことといえます。図式を用いると,圏が満たすべき規則を視覚的に理解できると思います。今後の連載では,このような図式を積極的に用いて,圏論の基礎的な概念をわかりやすく説明したいと思います。

参考文献

[1]
S. Mac Lane (著), 三好博之, 高木理 (訳), 圏論の基礎 (Categories for the Working Mathematician), 丸善出版, 2012
[2]
中平健治, ストリング図で学ぶ圏論の基礎, 森北出版, 2025
投稿日:2024927
更新日:12日前
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

量子論 / 量子情報理論 / 量子測定 の研究者です。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 本連載の目次
  3. 圏の定義
  4. 規則1:射のドメインとコドメイン
  5. 規則2:射の合成
  6. 規則3:結合律
  7. 規則4:単位律
  8. 圏の具体例
  9. 例1:対象が1個のみの場合(モノイド)
  10. 例2:対象が一般に複数ある場合
  11. まとめ
  12. 参考文献