圏Cのなかで、f:X→A, g:X→B の組をスパンと呼び、(A←f-X-g→B) と書きます。fはスパンの左足、gは右足です。スパン (A←f-X-g→B) に対して dom((A←f-X-g→B)) = A, cod((A←f-X-g→B)) = B と定義して、域(dom)がAで余域(cod)がBであるスパンの全体を SPANC(A, B) と書きます。以下、圏Cは了解されているものとして、下付きのCは省略します。
f = (A←f1-X-f2→B), g = (B←g1-Y-g2→C) として、Bのところで余スパン (X-f2→B←g1-Y) を考えます。外の圏Cにはファイバー積(引き戻し)があるとして、余スパン (X-f2→B←g1-Y) に対するファイバー積を (X←x-Z-y→Y) とします。h1 = x;f1, h2 = y;g2 として新しいスパン h = (A←h1-Z-h2→C) を作って、h = f;g だと定義します。
以上のようにして、Cと同じ対象を持つ圏SPANが定義できそうです。しかし、実際には問題があります。
- 与えられたf, gに対して、その結合hがup-to-isoでしか決まらない。
- 結合律、左右の単位律もup-to-isoの法則となる。
- ホムセット SPAN(A, B) が巨大になることがある。
そこで、スパンのあいだに同値関係を入れます。f = (A←f1-X-f2→B) と f' = (A←f'1-X'-f'2→B) が同値だとは:
- 同型 i:X→X' がある。
- i;f'1 = f1 と i;f'2 = f2 が成立する。
この同値関係を〜として、商集合 Span(A, B) := SPAN(A, B)/〜 を作ります。SPANではなくSpanのなかで考えると、射の結合は一意的に定まり、結合律と単位律もon-the-noseで成立します。
これでめでたく圏Spanが構成できた。ほんとに? C = Set のケースで考えてみましょう。A = B = 1 = 単元集合として、Span(1, 1) を考えます。このホムセットに入るスパンの左右の足は自明なので、スパンのボディである集合だけを考えればいいことになります。つまり、f = (1←f1-X-f2→1) と f' = (1←f'1-X'-f'2→1) が同値だとは:
- 集合の同型 i:X→X' がある。
これだけです。f 〜 f' とは結局、XとX'の基数が同じことです。よって、Span(1, 1) は基数の全体と同じです。基数の全体って小さかった? 小さくできる?
なんか条件を付けたり細工をして小さくする手もあるでしょうが、次のような圏もどき構造を(安全な範囲で)考えてもいいような気がします。
- ホムセットが小さいとは限らない。
- 射の結合はup-to-isoで決まればよい。
- 結合律、単位律は、up-to-isoで成立すればよい。
ルーリーなどが使っている擬圏(quasi-category)がそのようなものだと思うけど、ホムセットのサイズはハッキリしないなー。