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

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

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

参照用 記事

上空にいる足し算の親玉を捕まえる

足し算を持つような圏Cに対して、その圏Cの自己関手圏End(C)内に棲んでいる代数系が、Cの足し算構造を牛耳っている様子を観察します。実は蒸し返しだけど。

内容:

足し算を持つ圏

足し算を持つ圏というと、半加法圏(semiadditive category)と加法圏(additive category)があります。その定義は、nLabやWikipediaを参照してください。

半加法圏も加法圏も双積(biproduct)\oplusを持ち、双積\oplusをベースにして足し算が定義されます。より具体的に言うと、対角を ΔA:A→A\oplusA 、余対角を ∇B:B\oplusB→B とすると、f, g:A→B に対して、次のようにして足し算を定義できます。

  • f + g := ΔA;(f\oplusg);∇B : A→B

半加法圏の場合は、必ずしも引き算が出来るとは限りません。加法圏の場合は、引き算が自由に出来ることが保証されます。

上記の「足し算の定義」を見れば分かるように、足し算よりもっと基本的なものとして、自然変換Δ, ∇があります。他に、iA:0→A, !A:A→0 という自然変換も重要です。ここで、0は零対象、すなわち始対象かつ終対象です。加法圏の場合は、x|→(-x) (ベクトルを反対向きにする演算)に相当する ΜA:A→A があります(どうでもいいけど、Μはエムではなくて、大文字ミューです)。

自己関手圏内の代数系

足し算を持つ圏(=半加法圏または加法圏)をCとすると、前節で出てきたΔ, ∇, i, !, Μ(Μは加法圏のみ)などは、Cの自己関手と自然変換からなる圏End(C)の射です。つまり、足し算の原材料と足し算を統制する法則は圏End(C)に棲んでいることになります。

Cの足し算を牛耳っている親玉は、Cより上位の世界(メタレベル)にいるのですが、上位の世界のなかでどんな姿をしているのでしょうか。実は、割とお馴染みの代数系の構造を持つのです。

  • (Δ, !)は、End(C)において余可換コモノイドとなる。
  • (∇, i)は、End(C)において可換モノイドとなる。
  • (∇, i, Δ, !)は、End(C)において双可換双モノイドとなる(双可換は可換かつ余可換の意味)。
  • Cが加法圏のとき、(∇, i, Δ, !, Μ)は、End(C)において双可換ホップ・モノイドとなる(Μが対蹠)。

この事実に気づいて「ほーっ」と思ったんですが、2011年に同じことを書いていました(苦笑)。

というわけで、この記事の内容は蒸し返しです。書き始めの時点で蒸し返しのつもりじゃなかったのですが、関連記事を検索してみたら同じ内容の記事が出てきちゃった、ってことです。

関連する内容は次の記事にもあります。

自己関手圏のモノイド構造

過去記事を参照してるだけでは芸がないので、足し算の親玉が棲んでいる自己関手圏について少し詳しく述べます。

自己関手圏End(C)内のモノイドというと、モナドを思い浮かべる人がいるかもしれません。しかし、モノイド(∇, i)はモナドとは全く別物です。そもそも、自己関手圏End(C)に入れるモノイド構造が全然違うのです。

  • モナドを定義するときのEnd(C)のモノイド積は、関手の結合と自然変換の横結合を使う。このモノイド積は非対称な厳密モノイド積である。
  • (∇, i)などを定義するときのEnd(C)のモノイド積は、Cの双積\oplusから作られたモノイド積を使う。このモノイド積は対称な非厳密モノイド積である。

Cの自己関手圏」とはいいながら、モノイド構造まで考えると、モナドと(∇, i)などは別な世界に棲んでいるのです。

Cを、双積をモノイド積とするモノイド圏として詳しく書けば、C = (C, \oplus, 0, σ, α, λ, ρ) となります。イコールの右辺のCは単なる圏としてのCです(記号の乱用)。0は(特定された)零対称、σは対称、α, λ, ρは、非厳密モノイド圏としての結合律子, 左単位律子, 右単位律子です。

(∇, i)などが棲む上位の世界もまた対称非厳密モノイド圏です。その圏を (End(C), □, Z, σ, α, λ, ρ) と書きましょう。Cと混同しないように、構成素の文字やフォントを変えています。□がモノイド積、Zが単位対象、σが対称、α, λ, ρが律子です。

では、上位の世界=メタレベルのモノイド圏を定義していきます。

  • End(C)の2つの対象、つまり F, G:CC に対して、F□G := ΔC;(F×G);(\oplus) : CC。ここで、ΔC:CC×C は圏の対角埋め込み(Cの対角とは違う)、(\oplus)は双積を定義する二項関手 C×CC。別な書き方をすると:
    • (F□G)(A) := F(A)\oplusG(A)
    • (F□G)(f:A→B) := (F(f:A→B)\oplusG(f:A→B) : F(A)\oplusG(A)→F(B)\oplusG(B))
  • End(C)の2つの射、つまり自然変換 φ::F⇒F':CC, ψ::G⇒G':CC に対して、
    • (φ□ψ)A := φA\oplusψA : F(A)\oplusG(A)→F'(A)\oplusG'(A)
  • Z:CC は、Z := Const0。ここで、Constは定数関手、
    • Z(A) := 0
    • Z(f:A→B) := id0
  • End(C)の2つの対象 F, G:CC に対して、σF,G:F□G→G□F は、C上の関手のあいだの自然変換なので、A∈|C| の成分ごとに、(σF,G)A:(F□G)(A)→(G□F)(A) を決めればよい。
    • (σF,G)A := σF(A),G(A)
    • σF(A),G(A):F(A)\oplusG(A)→G(A)\oplusG(A) だが、F(A)\oplusG(A) = (F□G)(A), G(A)\oplusF(A) = (G□F)(A) だから、σF(A),G(A):(F□G)(A)→(G□F)(A)。
  • 結合律子αは、Cの自己関手F, G, Hに対する αF,G,H:(F□G)□H→F□(G□H) in End(C) の族だが、関手と自然変換として書けば αF,G,H::(F□G)□H⇒F□(G□H):CC なので、A∈|C| の成分ごとに定義すればよい。
    • (αF,G,H)A := αF(A),G(A),H(A) : (F(A)\oplusG(A))\oplusH(A)→F(A)(\oplus(G(A)\oplusH(A)) in C
  • λ, ραと同様に定義する。

以上の定義は素材を準備しただけなので、これらの素材が対称非厳密モノイド圏の公理を満たすことを確認する必要があります。Cのモノイド構造が、End(C)へと持ち上がる感じなので、めんどくさいけど難しくはないと思います。

半加法圏/加法圏Cから上記の手順で作った“関手圏にモノイド構造を載せた圏”をなんて呼んだらいいか分からないのですが、足し算(sum, addition)に関連したメタレベルの圏ということで、Cメタ和圏(meta-sum category)とでも呼んで、MetaSum(C)と書くことにします。

足し算の親玉

モノイド圏では、そのなかでモノイドやコモノイドを定義できます。さらに対称性があれば、可換性/余可換性が定義できます。Cが半加法圏または加法圏のとき、MetaSum(C) = (End(C), □, Z, σ, α, λ, ρ) は対称モノイド圏になるので、MetaSum(C)内ではモノイド/コモノイド、その可換性/余可換性などを云々できます。

C上の自然変換Δ, ∇, !, i, Μは、MetaSum(C)の射としては以下のプロファイルを持ちます。IdはCの恒等自然変換です。念のため注意しておくと、IdはMetaSum(C)の単位対象ではありません。単位対象は定数値関手Zです。モナドとは状況が違います。

  • Δ:Id→Id□Id
  • ∇:Id□Id→Id
  • !:Id→Z
  • i:Z→Id
  • M:Id→Id

出現するMetaSum(C)の対象(自己関手)はIdだけです。これらの射を組み合わせることにより、MetaSum(C)内の代数系を構成できます。

  • (∇, i)は、台対象Id上の可換モノイド
  • (Δ, !)は、台対象Id上の余可換コモノイド
  • (∇, i, Δ, !)は、台対象Id上の双可換(可換かつ余可換)双モノイド
  • (∇, i, Δ, !, M)は、台対象Id上の双可換ホップ・モノイド

Cが半加法圏の場合は、MetaSum(C)内の双可換双モノイド(∇, i, Δ, !)が足し算の親玉で、Cが加法圏の場合は、双可換ホップ・モノイド(∇, i, Δ, !, Μ)が足し算の親玉です。

雰囲気的に言うと、地上の圏Cの足し算構造を、上空にあるメタ圏内のただひとつの代数系が支配していることになります。

何が面白いの?

Cが持つ足し算構造を、MetaSum(C)内の代数系(双可換双モノイド、または双可換ホップ・モノイド)で表すと何かいいことあるのでしょうか?

とりあえず、メタ圏MetaSum(C)の構成の手間はかかりますが、足し算構造がただひとつの代数系に集約されるので、記述がコンパクトになるメリットがあります。

CDが足し算構造を持つとき、その足し算構造を保存するような関手、つまり(半)加法関手 Φ:CD を定義できます。このような関手Φは、MetaSum(C)内の親玉とMetaSum(D)内の親玉を対応付けているはずです。その対応はどんな形をしているのでしょう? この問題は自明とも言えません。対応のメカニズムとして新しい(僕が知らなかった)構造が出てきそうです。

今回作ったモノイド圏(End(C, □, Z, σ, α, λ, ρ)は、モナドを作るときに使う厳密モノイド圏(End(C), *, Id)とは別物です。しかし、台圏(underlying category)End(C)は同じです。であるなら、2つのモノイド構造を一緒にEnd(C)に載せると何が出来るのでしょうか? これは、2つのモノイド積を持つ圏の事例になるでしょう。非可換環の類似物ではないでしょうか?

というわけで、足し算の親玉とその生息地であるメタ圏を調べるのは無意味ではない気がします。