すべてが@__kanになる
DESCRIPTION
kan拡張の定義を話しました。 (japanese onlyTRANSCRIPT
自己紹介名前: @hiratara@__kanの同僚趣味: 数学
勤務
Data::Monadモナモナ言うモナド入門
FreakOut
FreakOut国内初のDSP
DSP=リアルタイムオークション膨大なトラフィックと高度なロジックの両立Perl
ロックな職場 技術者募集中
@941さんレポート
登壇の経緯@__kanさんが土俵入りすると聞いた登壇者の中にFreakOutが居なかった「> 登壇者が会社や仕事云々を抜きにして自身の考えの境地を発表いたします」
好き放題
今日のテーマせっかくなので@__kanの凄さを伝えたい。
最近流行りの「かん**」と言えば
かん拡張
圏論の基礎すべての概念はカン拡張である p.336
「すべて」をカン拡張として表現することで終わる p.315
カン拡張 - Kan extensionsDaniel Marinus Kan (イスラエル、MIT名誉教授)極限や随伴の概念の一般化Haskellのライブラリ (Data.Functor.Kan.Ran, Lan)
カン拡張 - Kan extensions を圏、 を関手とする。
が の に沿った右カン拡張であるとは、 が関手で、 が自然変換であり、任意の別のペア
に対して、 なる がただ一つ存在すること。
, , K : ³ , T : ³ (R, 1) T K R : ³
1 : RK ó T(H, �) � = 1 2 (� 1 K) �
この を と書く。R TanK
R�H
K
T
R H�1 �
RK1
HK�1K
��
T
つまり、 が自然同型。(HK, T) ^ (H, T) anK
全ては@__kanか例として、直積をカン拡張で述べる。
直積2点からなる離散圏からの関手の極限。圏 の対象 と につい
て書き下すと、以下の図式。 A B
Xf g<f ,g>
A A × B�1 �2B
材料2点からなる離散圏を と書く。関手
を考える。{1, 2}
T : {1, 2} ³ Sets, K : {1, 2} ³ 1
1
{1, 2}K
T Sets
右カン拡張するカン拡張は関手 と自然変換 になる。 関
手 は の集合1つと対応する。T : 1 ³ SetsanK 1
Ra TnK Sets
1TanK
{1, 2}K
T Sets
T 1 KanK
1
T
自然変換 はその1つの集合から、 が定める2つの集合への射なので、コンポーネントが2つ。元の圏に射はないので、可換
性は気にしなくてよい。
1 T
T(0)anK11 T(1)
T(0)anK12 T(2)
普遍性をチェックする同様の関手と自然変換 を任意にとる。普遍射は
なる自然変換であった。(H, �)
� : H ³ TanK
1TanK
H
{1, 2}K
T Sets
T 1 KanK
1
HK
�T
は1点から1点の自然変換。まとめると以下の図となり、これは直積と一致。
�
H(0)�1 �2�0
T(1) T(0)anK11 12T(2)
直積は@__kanになった!
Haskellでの表現data Ran' k t a = forall r. Functor r => Ran' (forall x. r (k x) -> t x) (r a)
R
�H
K
T
R H�1 �
RK
1
HK�1K
��
T
まとめ
横綱級エンジニア@__kanにご期待下さい
KAN EXTENSIONS AND NONSENSICALGENERALIZATIONS