圏論
圏論(category theory)
圏(category)を扱う数学の分野。
圏は 対象 (object) の集まりとその間を走る射 (arrow / morphism) の集まりから成る
対象は圏に含まれるモノ
射は対象の間に定義される「向きのある関係」
射は合成できて結合的
合成(composition)
2つの射から1つの射を求める演算
合成ができるのは域(domain、始域、定義域)、余域(codomain、終域、値域)が一致している場合のみ
関連: 域と余域
結合的は結合律を満たすという意味
全ての対象は恒等射(identity)を持つ(単位律)
グラフ理論的視点だと、
圏とは,隣あったエッジの合成が定義されているマルチエッジ有向グラフ
対象はノード(node)
射は有向辺(directed edge)
有向エッジ
向きのある辺
射は自己ループを持つ(恒等射)
(ref: 『計算機科学のための 圏論の基礎の基礎』)
プログラミング言語(の圏)で考えると
対象 は 型
射 は 関数
こういうものはHask圏、クライスリ圏と関係がある(はず)
TypeScriptのような関数名 : 型の記法で書くとする。
関数f : A、g : Bの合成$ g \circ f をCで書くと以下のようになる。
code:memo.c
f(a: A): B;
g(b: B): C;
g_after_f(a: A): C
{
return g(f(a));
}
対象の集合$ \{ X_0, X_1, X_2, X_3 \} 、有向辺の集合$ \{ f, g, h \} から圏の公理を満たすものを作ると、以下になる。
https://gyazo.com/31343f0ee84213a6bba8245152e93bac
圏論で圏を一般化?して考えるやつは高次元圏という分野になるはず
関手
圏の具体例
圏の種類
直積集合
デカルト積
直和集合
極限と余極限
圏論的確率論
始対象と終対象
初等トポス
厳密な圏、対象、射の定義はETCSとかいろいろなものを見る
『ベーシック圏論』
『Category Theory』Steve Awodey
より進んだものは、
高次元圏
高次トポス論
高次グルーポイド
ホモトピー型理論
確認用
Q. 圏
圏は[]とその間を走る[]の集まりからなる
圏は[]射を持つ
射は[]ができて、[]律を満たす
Q. 対象
対象は[]に含まれるモノ
Q. 射
Q. プログラムの圏で考えると
Q. 対象
Q. 射
Q. 対象の集合の定義
Q. 射の集合の定義
Q. 始域(dom)
Q. 終域(cod)
Q. ホムセット
Q. 直積
Q. 余直積
Q. 極限
Q. 余極限
参考
学習教材作成の試み
とりあえずの圏論の導入ー圏・関手・自然変換ー(前編)圏 - YouTube
『計算機科学のための 圏論の基礎の基礎』
プログラマのための圏論 (執筆中)
1.1 関数としての射|プログラマのための圏論 (執筆中)
もう諦めない圏論入門 - Qiita
もう諦めない圏論入門―対象と射― - Qiita
もう諦めない圏論入門―圏と関手― - Qiita
檜山正幸のキマイラ飼育記 (はてなBlog)
はじめての圏論 その第1歩:しりとりの圏 - 檜山正幸のキマイラ飼育記 (はてなBlog)
はじめての圏論 - しりとりの圏 - ボクノス
はじめての圏論 その第2歩:行列の圏 - 檜山正幸のキマイラ飼育記 (はてなBlog)
圏論 | 壱大整域
認知科学者が圏論を始めるための参照情報: 圏論にまつわる Q & A,圏論の認知科学における効用, 文献情報
プログラマであるあなたが圏論を学んで得られる事、得られない事 - Creatable a => a -> IO b
圏と関手 【 圏論とモナド #1 / 数学 解説 】 - YouTube
『圏論の基礎』
『高次元圏入門』
『演習形式で学ぶ圏論の基礎の基礎』
category in nLab
圏論の文献
関連
数学的構造
半順序集合(Posets)
調査用
Google.icon 圏論(日)
Google.icon Category theory(英)
Wikipedia.icon
圏論 - Wikipedia(日)
圏論(検索) - Wikipedia(日)
Wikipedia.icon
Category theory - Wikipedia(英)
Category theory(検索) - Wikipedia(英)