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

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

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

参照用 記事

圏論:射を識別する基準

「圏論:米田埋め込みと射の社会性」でトチ狂ったワケワカンナイことを書いてしまい、「昨日の内容への謝罪+圏もどきから圏を作る話」でゴメンナサイと言ったわけですが、その事情は; とある問題を考えていて、そこで当面していた特定状況と一般論が混同・混乱していたのです。

「当面していた特定状況」は、「昨日の内容への謝罪+圏もどきから圏を作る話」でも触れましたが、もう少し解説っぽく書いておきます。

圏の生成系(識別系)

Cが圏で、GをCの対象類の部分集合とします; G⊆|C| 。Gが圏Cの生成系(family of generators)だとは、任意の f, g:A→B in C に対して次が成立することです。

  • [∀X∈G.∀k:X→A.(k;f = k;g)] ⇒ f = g

ここで、Gがほんとに集合、つまりサイズが小さいことが重要です。そのことをハッキリさせるため、{Xi | i∈I} と添字族の形に書くこともあります。このスタイルだと、上の条件は次の形になります。

  • [∀i∈I.∀k:Xi→A.(k;f = k;g)] ⇒ f = g

生成系が単一の対象からなるとき、その対象を生成対象(generator)と呼びます。双対的に、余生成系、余生成対象も定義できます。

何人かの人が「生成系」という呼び名はよくないと言っていて、separatorsを使うことがあります。直訳すれば分離系ですが、意味的には識別系とか弁別系とかでしょう。以下、「識別系」、「識別対象」を使います。

圏論的な点(または要素)

圏Cが識別系 {Xi | i∈I} を持っていて、集合Iに対して直和(余極限)を作れるなら、X = Σ(i∈I : Xi) は識別対象になります。十分に直和が作れる圏なら、識別系も識別対象も同じことです。

圏Cが終対象1を持っていて、1が識別対象になっているとき、その圏は“十分に点を持つ”(well-pointed)と呼びます。なぜ「点」なのかというと、終対象からの射を点(point)とか要素(element)と呼ぶからです。集合圏で考えると、終対象(単元集合)からの射と集合の要素が同一視できるので、点/要素という用語も納得できると思います。

別な例として、スライス圏C/Mを考えます。C/Mの終対象は idM:M→M in C です。C/Mの対象 α:A→M in C を取り、C/M での射 f:1→α を考えると、それはC内では、f:M→A, f;α = idM となり、αのセクション(断面)であることがわかります。αをM上のバンドルだと思うと、fは大域セクションなので、圏論的な点/要素を大域点/大域要素(global point, global element)と呼ぶこともあります。

Cがモノイド圏として、1が終対象ではなくて、モノイド単位とします(終対象とモノイド単位が一致するときも別なときもあります)。モノイド単位からの射を点/要素と呼ぶこともあります。ベクトル空間にテンソル積を考えた圏だと、モノイド単位はスカラー*1となり、スカラー体からの射(線形写像)はベクトルと同一視できるので、この場合も点/要素と言ってもいい気はします。

射の集まりとしての識別系

{Xi | i∈I} が識別系のとき、Xi→A という形の射の全体をKとします。Iが集合でも、Kは集合とは限りません。が、サイズの問題は棚上げしておきます。対象Xが識別対象のときは、Kは余スライス圏C\Xの対象類と(集まりとしては)同じです。Xが終対象やモノイド単位のときは、Kは点/要素の全体ということになります。

以上のようにKを定義したとき、次が成立します。

  • [∀k∈K.(k;f = k;g)] ⇒ f = g

ここで、k;f などは「定義可能なとき」という注釈が付くものとします。

識別系 {Xi | i∈I} から作った射の集まりKに関しては上の命題が成立します(それが識別系の定義です)が、一般的な射の集まりKに対してはこの命題は保証されません。

対象の集合から作られたとは限らない射の集まりKが、「[∀k∈K.(k;f = k;g)] ⇒ f = g」を満たすとき、これも識別系と呼ぶことにします。恒等を集めた {idA | A∈|C|} は明らかに識別系です。実際上は、あまり大きくない識別系を探すことが課題になります。

K-同値

圏Cの射の集まりK(とりあえず特に条件を付けない)に対して、同値関係〜を次のように定義します。

  • f 〜 g ⇔ [∀k∈K.(k;f = k;g)]

この同値関係は、各ホムセットC(A, B)内の同値関係を寄せ集めたものだと考えるとよいでしょう。K/A = {k∈K | cod(k) = A} とすると、C(A, B) 内の同値関係は次のように書けます。

  • f 〜 g ⇔ [∀k∈K/A.(k;f = k;g)]

この同値関係は、射の集まりKで決定されるので、K-同値と呼びましょう。Kを決めれば、Cの各ホムセット、あるいはCの射の全体に同値関係が定義できます。しかし、K-同値関係が次を満たすかどうかはわかりません。

  • [(f 〜 f') ∧ (g 〜 g')] ⇒ f;g 〜 f';g'

もし、K-同値関係がこのような性質を持つなら、この同値関係で割り算して(商を作って)圏を作ることができます。

K-同値は良い同値関係なのか?

さて、K⊆C をうまく選んでK-同値関係 〜K を作り、C/〜Kを作る方法は機能するのでしょうか? うまくいくときもあるのですが、一般的には、Kをどう選んでいいのかわかりません。Kの選び方によっては、同値関係が強すぎて(集約をやりすぎて)、区別すべき射も同一視してしまうこともあります。

今まで説明してきてアレなんですが、あんまり使いやすい道具だとは思えません。とはいえ、特定の状況下では使えるし、使い方のコツがあるのかもしれません。「こんな方法もあるよ」くらいは言っておいてもいいでしょう。

僕は、圏もどきから圏を作る方法としてパスの圏(自由圏)とK-同値を使おうとしていたんですが、結局のところ、別な方法に乗り換えることにしました(苦笑)。その別な方法でも釈然としない気分が残るんだけど、割り切ってしまえばマーうまくいくようです。そっちの話もいずれするかもしれません。

*1:正確に言えば、スカラー体と同型なベクトル空間です。