「モノイド自然変換としての積分: 大雑把に」にて:
勘違いや抜けがあるかも知れませんが、修正をしても大筋はたぶん維持できるでしょう。もう少し確認して、“時間と気力があるときに”具体的な構成法を書くつもりです。
この件は書くつもりでいますが、一度には無理ですね。何度かに分けて書きます。
「積分がモノイド自然変換である」ことを示すには、積分の計算と圏論の計算をします。圏論側では、主に関手と自然変換の計算をします。この計算過程を書き記すのがけっこう負担。これといって標準的な書き方が決まってないし、メジャーな記法にも問題があります。ほんとに酷い記法も横行してます。
てな事情で愚痴が入りますが、後で参照したいこともある(主にココ)ので、関手と自然変換の記法に関してまとめておきます。
内容:
酷い話
https://en.wikipedia.org/wiki/Natural_transformation では、自然変換の縦結合と横結合について、次のような記法を採用しています。
- 縦結合: η : F → G と ε : G → H に対して、その縦結合は εη : F → H
- 横結合: η : F → G : C → D と ε : J → K : D → E に対して、その横結合は ηε : JF → KG
関手も自然変換も同じ形の矢印、縦結合も横結合も単なる併置(並べるだけ)なんですよ。しかも、縦結合は反図式順(右から左)で、横結合は図式順(左から右)です。単なる間違い(誤記)なのか、それとも意図的なのか判断できません。同じ定義をPDFにしたものがあったので、下に引用します。こっちでは、横結合も反図式順です。
縦結合:
横結合:
いったいナニ考えてんでしょうか? 縦結合も横結合も併置で書いて、計算出来るわきゃないでしょ! 計算の都合をまったく、あるいはほとんど考えてない定義や説明が多すぎますよ。
酷い話だなー。
演算子記号
僕が自分で計算するときは、DOTN二号記法とストリング図、ストライプ図を使っています。DOTN二号記法はマイナー(つうか自己流)なので、コミュニケーションの都合からメジャー(比較的に多数派)の書き方に直すのですが、わざわざ分かりにくい書き方にするのがけっこうなストレス。歴史的経緯があるからしょうがない、とは思いますが、辛いなー。
ともかくも現実の多数派は反図式順(右から左)記法です。反図式順で使われる演算子記号は次のようなモノでしょう。他にも記法がありますが、目ぼしいところはこんなもんかと。
演算 | 演算子記号 | 例 |
---|---|---|
射の結合 | , 併置 | gf, gf |
関手の適用 | 丸括弧, 併置 | F(A), FA |
関手の結合 | , 併置 | GF, GF |
自然変換の適用 | 下付き添字, 併置 | αA, αA |
自然変換の縦結合 | , ・, 併置 | βα, β・α, βα |
自然変換の横結合 | , ・, *, 併置 | βα, β・α, β*α, βα |
どういう組み合わせを採用するかは人により場合により様々です。何を併置(演算子記号なしで並べるだけ)にするかもバラバラ。何の断りもなしに併置を多用されると、ほんとに解読に苦労します。
徹底して反図式順なら、それはそれで一貫性がありますが、反図式順(右から左)と図式順(左から右)が混ざることも多く、バイダイレクショナルな表記になります。添字の上下も入れるとテトラダイレクショナルかな。
僕はマルチダイレクショナルな記述をほどいて読む能力がとても劣っているので、もうやんなっちゃいますよ(ため息)。目線の細かい移動によるスキャンと脳内での再構成が人並みには出来ないみたいです。
演算子記号選択の事例
これが標準だという記号セットはないのですが、マックレーンのThe Bookでは次のようです。
演算 | 演算子記号 |
---|---|
射の結合 | |
関手の適用 | 丸括弧, 併置 |
関手の結合 | , 併置 |
自然変換の適用 | 下付き添字, 併置 |
自然変換の縦結合 | ・ |
関手と自然変換のヒゲ結合 | , 併置 |
自然変換の横結合 |
前節の表と比べると「関手と自然変換のヒゲ結合」が増えています。これは、関手と自然変換との横結合のことで、whiskering と言います。関手Fの恒等自然変換をιFとすると、αF = αιF のように、ヒゲ結合は自然変換の横結合で表せます。逆に、ヒゲ結合を使って自然変換の横結合を定義することが出来ます。
ヒゲ結合と(自然変換どうしの)横結合は、たいてい区別しないようです。しかし、Globularでは、ヒゲ結合は出来ても横結合が出来ない*1ので、両者の違いをシッカリ把握してないと混乱します。
マックレーンの記号セットを使って、関手/自然変換の計算でよく使う公式を書いてみます。最後の公式で、α::F⇒F':C→D、β::G⇒G':D→E です。
- (GF)(A) = G(F(A)) ― 関手の結合と適用
- (Fα)A = F(αA) ― ヒゲ結合と適用 1
- (αF)A = αF(A) ― ヒゲ結合と適用 2
- (β・α)A = αAβA ― 縦結合と適用と射の結合
- βα = (βF')・(Gα) = (G'α)・(βF) ― 横結合とヒゲ結合と縦結合
DOTN二号とストリング図
前節の公式をDOTN二号記法で書くと:
- A.(F*G) = A.F.G
- A.(F*α) = A.F.α
- A.(α*F) = A.α.F
- A.(α;β) = (A.α);(A.β)
- α*β = (α*G);(F'*β) = (F*β);(α*G')
これは図式順であり、次のような演算子記号を使っています。
演算 | 図式順演算子記号 |
---|---|
射の結合 | ; |
関手の適用 | . |
関手の結合 | * |
自然変換の適用 | . |
自然変換の縦結合 | ; |
関手と自然変換のヒゲ結合 | * |
自然変換の横結合 | * |
格上げ(すぐ下で説明)を使えば、「.」と「*」を区別する必要もなくなるので、同じことを「*」だけ使って書けます。ストリング図との対応も直接的で自然です。
- A*(F*G) = (A*F)*G
- A*(F*α) = (A*F)*α
- A*(α*F) = (A*α)*F
- A*(α;β) = (A*α);(A*β)
- α*β = (α*G);(F'*β) = (F*β);(α*G')
格上げとは、「対象→関手」「射→自然変換」とみなす方法で、絵算では非常に重要なテクニックです。次の記事で説明しています。
横結合の「*」を省略して併置にすれば、次のように簡略に書けます。
- A(FG) = (AF)G
- A(Fα) = (AF)α
- A(αF) = (Aα)F
- A(α;β) = (Aα);(Aβ)
- αβ = (αG);(F'β) = (Fβ);(αG')
こうすると、必要な演算子記号は「;」だけになります。ストリング図を併用すれば、混乱もほとんどありません。
今後使う予定の演算子記号
※この節は、他の記事からの参照、他の記事での再利用(コピー&修正)を予定しています(フラグメントID #cat-operator-symbols)。
単に趣味の問題だけではなくて、例えば反対圏の計算をするときには二種類の記号セットがあったほうが便利なので、反図式順記法を併用することに吝〈やぶさ〉かではありません。
しかし、多数派の記法で困るのは、「似ている概念に違う記号、異なる概念に同じ記号」になっている点です。計算で使う演算は、縦方向の演算と横方向の演算に大別されます。
- 縦方向の演算:射の結合、自然変換の縦結合
- 横方向の演算:関手の結合、関手と自然変換のヒゲ結合、自然変換の横結合
マックレーンの記法だと:
- 縦方向の演算:射の結合 、自然変換の縦結合 ・
- 横方向の演算:関手の結合 、関手と自然変換のヒゲ結合 、自然変換の横結合
と、縦方向の演算に白丸と黒丸が混じっています。このため、「黒丸は省略可能だが白丸は省略しない」という単純なルールを採用できません。ストリング図との併用では、これはけっこうな負担になります。
縦方向と横方向の演算子記号が揃ってないのは辛いので、同じ記号に揃えます。縦方向は白丸、横方向は黒丸です。こうすると、白丸は省略不可能だが、黒丸や括弧は適宜省略してよい、というルールが使えます。自然変換の成分をとる下付き添字も、書きにくいときは併置でも大丈夫です。
演算 | 反図式順演算子記号 | 図式順演算子記号 |
---|---|---|
射の結合 | ; | |
関手の適用 | 丸括弧 | . |
関手の結合 | ・ | * |
自然変換の適用 | 下付き添字 | . |
自然変換の縦結合 | ; | |
関手と自然変換のヒゲ結合 | ・ | * |
自然変換の横結合 | ・ | * |
世間に逆らっているようですが、現状のメジャーな記法はホント計算に向いてません。また残念ながら、反図式順と図式順を混ぜざるを得ないことはあります。例えば、左加群圏では反図式順、右加群圏では図式順を使うと計算が楽です。さらには、特定の状況下では、これ以外の記法を使うこともあります。
*1:Globularの計算モデルは、関手と自然変換からなる2-圏ではなくて、3次元の圏なので、ストリクトな横結合は定義できないのです。