最近、前層/層〈presheaf/sheaf〉の話をしました。
前層というのは、Open(X)→C という関手です。位相空間Xの開集合の圏Open(X)は、要は順序集合です。順序集合からのC値関手ということなら、いくらでも例があります。層論〈sheaf theory | 層の理論〉とは関係なさそうな例も出せます。
なので、けっこうなコジツケで「…も前層の仲間だ」と言えます。そんなコジツケの事例をひとつ; フィルターも前層の仲間だ。
内容:
フィルター
フィルターについては、Wikipedia項目「フィルター」などを参照してください。特に、「冪集合の上のフィルター」を話題にします。
集合Xのベキ集合〈powerset | 冪集合〉Pow(X)は、包含順序'⊆'により順序集合になります。また、部分集合の共通部分を取る演算'∩'を持ちます。Pow(X)の部分集合、つまりXの部分集合の族がフィルター〈filter〉だとは、次の条件を満たすことです。
- A∈, A⊆B ならば、B∈
- A, B ∈ ならば、A∩B∈
- は空ではない。
上方閉〈upper closed〉で、共通部分〈ミート〉演算に関して閉じている非空な部分集合族がフィルターですね。
他に、の固有性( ≠ Pow(X))も仮定することが多いですが、それは補足的な条件であって、重要な性質は上の3つです。
Xが位相空間のとき、X上の(Xのベキ集合上の)フィルターは、一般化した収束の議論に使えます。フィルターの収束により、ハウスドルフ性やコンパクト性をうまく特徴付けることができます。
論理の文脈でも、フィルター(やその双対概念であるイデアル)は面白い対象物です。論理的に定義された順序集合(または可換環)の極大フィルター(または極大イデアル)は、モデルの同値類の空間になったりします -- だいぶ昔の記事があります。
- 2005年 コンパクト空間と論理/モデル論
- 2006年 古典論理は可換環論なんだよ
- 補足記事: “古典論理=可換環論”の計算と種明かし
- 補足記事: イデアルと論理 番外の補足:ベキ等元と連結性
- 2013年 超フィルター(ultrafilter)って何なんだ: 点? 確率測度?
前層と余前層
位相空間X上のC値前層とは、Open(X)op→C の形の関手です。Open(X)上で定義された反変の関手になります。共変の関手 Open(X)→C のほうは、(C値の)余前層〈copresheaf〉とか前余層〈precosheaf〉と呼びます。
余前層自体は特に難しいものではなく(だって共変関手だから)、その全体は関手圏 C-CoPSh[X] = [Open(X), C] を構成します。C-CoPSh[X] に関する簡単な性質や構成なら、C-PSh[X] = [Open(X)op, C] と同様に議論できます。
前層と余前層は双対だから何でも並行的に議論できるかのかと言うと、そういうわけにはいきません。圏論の形式的双対は、具体レベルではまったく別物になったりします。例えば、「前層の層化」に対応する「余前層の余層化」はだいぶ難しいです(以下の論文参照)。
- Title: Cosheafification
- Author: Andrei V. Prasolov
- Pages: 45p
- URL: http://www.tac.mta.ca/tac/volumes/31/38/31-38abs.html
モノイド状況での前層/余前層
前層にしろ余前層にしろ、Open(X)の順序構造を圏とみなして(反変または共変の)関手として定義します。Open(X)は単なる圏以上のものです。例えば、共通部分〈ミート〉演算'∩'を持ちます。(Open(X), ∩, X) は、'∩'をモノイド積、Xを単位対象とするモノイド圏とみなせるわけです。であるなら、単なる関手ではなくてモノイド関手を考えることができます。
C = (C, , I, α, λ, ρ) をモノイド圏〈monoidal category〉とします。α, λ, ρ はそれぞれ、結合律、左単位律、右単位律を表す律子〈一貫性自然同型 | 一貫性制約 | 構造自然同型〉です。
Open(X)をモノイド圏(厳密モノイド圏になる)とみなせば、モノイド圏Cへの反変モノイド関手としてモノイド前層〈monoidal presheaf〉を定義できます。しかし、モノイド関手には幾つかの種類がありました(以下の記事参照)。
- モノイド関手/ラックス・モノイド関手とその実例
- ラックス・モノイド関手について、もうちょっと
- モノイド自然変換とモノイド同値関手
- モナド論をヒントに圏論をする(弱2-圏の割と詳しい説明付き) // 圏論の用語法の問題点と対策
次のような記法を使いましょう。
- Lax[Open(X)op, C] : Open(X)上のC値ラックス・モノイド反変関手とモノイド自然変換からなる関手圏
- OpLax[Open(X)op, C] : Open(X)上のC値反ラックス・モノイド反変関手とモノイド自然変換からなる関手圏
- Tight[Open(X)op, C] : Open(X)上のC値タイト・モノイド反変関手とモノイド自然変換からなる関手圏
つまり、モノイド前層は、ラックス/反ラックス/タイトの三種類があります。
- C-LaxMonPSh[X] := Lax[Open(X)op, C] -- X上のC値ラックス・モノイド前層〈lax monoidal presheaf〉
- C-OpLaxMonPSh[X] := OpLax[Open(X)op, C] -- X上のC値反ラックス・モノイド前層〈oplax monoidal presheaf〉
- C-TightMonPSh[X] := Tight[Open(X)op, C] -- X上のC値タイト・モノイド前層〈tight monoidal presheaf〉
モノイド余前層についても同じです。
- C-LaxMonCoPSh[X] := Lax[Open(X), C] -- X上のC値ラックス・モノイド余前層〈lax monoidal copresheaf〉
- C-OpLaxMonCoPSh[X] := OpLax[Open(X), C] -- X上のC値反ラックス・モノイド余前層〈oplax monoidal copresheaf〉
- C-TightMonCoPSh[X] := Tight[Open(X), C] -- X上のC値タイト・モノイド余前層〈tight monoidal copresheaf〉
ラックス・モノイド余前層としてのフィルター
Open(X) = (Open(X), ∩, X) をモノイド圏として、X上のラックス・モノイド余前層を考えます。単なる前層/余前層のターゲット圏Cは圏なら何でもいいですが、モノイド状況を考えるなら、Cはモノイド圏でなくてはなりません。
モノイド余前層のターゲット・モノイド圏として、集合{0 1}に厳密モノイド圏の構造を入れたBを考えます。
- |B| = {0, 1}
- 射は、順序関係: 0≦0, 0≦1, 1≦1
- id0 = (0≦0), id1 = (1≦1)
- 射の結合は、順序関係の推移律: (0≦1);(1≦1) = (0≦1) など
- モノイド積は通常の掛け算 0・0 = 0, 0・1 = 0 など
- モノイド単位対象は 1
F:Open(X)→B が(共変の)関手であることは、次のように書けます。
- F(A⊆B) = F(A)≦F(B) -- 射は射に移る
- F(A⊆A) = F(A)≦F(A) -- 恒等射は恒等射に移る
- F((A⊆B);(B⊆C)) = F(A⊆B);F(B⊆C) -- 結合が保存される
これは、Fが順序的に単調写像でることです。
Fがラックス・モノイド関手であることは、次のように書けます。
- F(A)・F(B) ≦ F(A∩B)
- 1 ≦ F(X)
F(A), F(B) の値は0か1しか取らないので、条件はもっと簡略に書けます。
- F(A) = 1 かつ A⊆B ならば、F(B) = 1
- F(A) = 1 かつ F(B) = 1 ならば、F(A∩B) = 1
- F(X) = 1
さて、ラックス・モノイド関手Fに対して、|Open(X)|の部分集合(開集合の族)を次のように定義します。
- := {U∈|Open(X)| | F(U) = 1}
つまり、次が成立します。
- F(U) = 1 ⇔ U∈
を使って、先のラックス・モノイド関手である条件を書き直すと:
- A∈ かつ A⊆B ならば、B∈
- A∈ かつ B∈ ならば、A∩B∈
- X∈
最後の X∈ からは空ではなく、逆にが空でないなら、が上方閉であることから X∈ です。
よって、は、順序集合(ないしは圏)Open(X)上のフィルターになります。特に、位相空間Xを離散位相空間とするなら、はベキ集合Pow(X)上のフィルターです。
それで?
こんなコジツケをしてみて、「それがどうした?」という感じは否めないですね。十分に一般的で広範囲な概念なら、色々な特殊例を含むのは当たり前ですから。
次のように考えると、多少の意味があるかも知れません; モノイド前層/層、モノイド余前層/余層は無意味な概念ではないでしょう。一般的なモノイド{余}?{前}?層(ここ、正規表現)での議論が難しすぎる場合、フィルターに関して調べてみると何かヒントが得られるかも知れません。フィルターは、モノイド{余}?{前}?層のオモチャ〈toy〉として、遊ぶ道具にはなるでしょう。