関手
関手(函手)(かんしゅ、functor)
圏の構造を保つ射
圏同士をつなぐもの
圏から圏への対応付け
対象の集合から別の対象の集合
射の集合から別の射の集合
圏と圏の間の準同型
圏から圏への射
より抽象的?な視点に立って、圏から圏への矢印(関手)を眺めてみると圏から圏への射に見える
関手である条件
恒等射の保存
恒等射を保つ
合成の保存
射は合成ができる
射は結合律を満たす
推移律は合成のようなもの?
関連: 同値関係
圏と同値関係
定義
圏$ \bm{C},\ \bm{D} の対応、関手$ F: \bm{C} \to \bm{D} すなわち
対象の対応$ F_0: Obj(\bm{C}) \to Obj(\bm{D}) と
射の対応$ F_1: Mor(\bm{C}) \to Mor(\bm{D}) を考える。
関手による対象の対応付け
関手$ F: \bm{C} \rightarrow \bm{D} によって$ a \in Obj(\bm{C}) が対応付けられる圏$ \bm{D} の対象を$ F\ a \quad ( \in Obj(\bm{D})) と表す。
code:mermaid
flowchart LR
subgraph C
direction LR
a --> |f|b
end
C-->|F|D
subgraph D
direction LR
fa"F a"-->|"F f"|fb"F b"
end
関手による射の対応付け
関手$ F: \bm{C} \rightarrow \bm{D} によって圏$ \bm{C} の射$ f が対応付けられる圏$ \bm{D} の射を$ F\ f と表す。
圏 $ \bm{C} における射の集合$ \bm{C}(a,b) から
圏$ \bm{D} における射の集合$ \bm{D}(F \ a,F \ b) への
$ F:\bm{C}(a,b) \to \bm{D}(F \ a,F \ b) と表す。
次の条件を満たすとき、$ F は関手である。
1. (恒等射の保存) $ F \ \mathrm{id}_a = \mathrm{id}_{F \ a}
$ \mathrm{id} : 恒等射(identity)
読み方: 対象$ a の恒等射に関手$ F で写したものと、対象$ a を関手$ F で写したものの恒等射は等しい
code:mermaid
flowchart LR
subgraph C
direction LR
a-->|id_a|a
end
C-->|F|D
subgraph D
direction LR
fa"F a"-->|"id_F a"|fa
end
2. (合成の保存) $ F \ (f \ggg g)=F \ f \ggg F \ g
$ \ggg は合成の演算子
読み方: 射$ f, g を合成してから関手$ F で写したものと、関手$ F で写したものを合成した結果は等しい
$ F \ (f \circ g)=F(f) \circ F(g) という書き方でも良さそう。
関手の例
大小関係を保存する関手
いろいろな関手
自己関手
恒等関手
忠実関手
充満関手
随伴関手
共変関手、反変関手
忘却関手
加法的関手
完全関手
表現可能関手
ホモロジー関手
多項式関手
前層
HaskellではFunctorクラス?
確認用
Q. 関手
Q. 圏の構造を保つとは
Q. 対象の対応
Q. 射の対応
Q. 関手の定義
Q. 関手の例
Q. 同型射
関連
自然変換
準同型
Hom関手
代数と余代数
参考
圏・関手・自然変換 ~ベーシック圏論をゆるく読む会の記録2018~ - Corollaryは必然に。
もう諦めない圏論入門―圏と関手― - Qiita
関手 - Wikipedia
『圏と関手』
https://youtu.be/y4RFWNzEezk
https://youtu.be/I6HxnynPkSA
https://www.youtube.com/watch?v=8ycVEcgH4bI
忘却関手
【圏論】関手入門1: 関手の定義と例【初心者向け】 - YouTube
メモ
圏と関手の基本
圏論初心者が関手に入門し、Scalaで実装した話 - MicroAd Developers Blog
圏論から見るHaskellのFunctor | Mathlog
Functorが意味を捉える - YouTube
#圏論