読者です 読者をやめる 読者になる 読者になる

北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

今日は 圏論勉強会 第6回 の日です

レポート math

圏論勉強会ではない方の圏論勉強会 第6回です。資料ustreamは公開されています。

第6回: 積・余積・極限 / 講師 @9_ties さん

  • 普遍性の概念によって定義される極限と余極限について
  • 終対象 任意の対象から射がひとつだけ存在
    • 同型を除いて一意
    • 1と1'があれば、!1 . !1' : 1 → 1、id : 1 → 1なので、唯一性から!1 . !1' = id
  • Well-defined性
    • 定義が複数通りある場合に、矛盾が起きないこと
    • 終対象も複数あるが、どれをとっても議論に影響しない
  • 始対象 → 双対圏における終対象
    • よって、同型を除いて一意
  • 双対性原理 → 任意の圏における正しい文は、双対圏においても正しい
  • Setsの始対象 → 空集合(1つだけ)、終対象 → 単集合(複数個ある)
    • Setsの圏は非対称性がある
  • Monの始対象、終対象 → 単位元のみのモノイド
    • 準同型のため、単位元単位元に移るしかないため
    • null object → 始対象かつ終対象
  • (N, ≦)の始対象は0、終対象はない
  • Catの始対象 → 0、終対象 → 1
  • global element → f:1→A
    • Sets(1, A) ≃ Aであった。その一般化
    • ただし、圏によっては要素にならないので注意(Monなど)
  • 積、余積 → 定義の復習
  • Setsにおける積 {(a, b) | a∈A, b∈B}、余積 {(0, a) | a∈A} ∪ {(0,b) | b∈B}
    • 積、余積の定義を満たすことを確認
    • (f×g)(x) = f(x), g(x)
    • f+g(n,x) = f(x) if n=0, g(a) if n=1
  • Haskellでの例
    • 直積 (1, "Hello") :: (Int, String)。fstとsndが射影。Arrowの(&&&)が積
    • 例えば、(+ 1) &&& showが一個の射となる
    • 直和 data Coproduct a b = L a | R bのとき L 0 :: Coproduct Int Stiring
    • EitherのLeftとRightがq1、q2。(|||)が直和
    • 例えば、(+ 1) ||| length
    • 来週のプログラム運算でこれらを使う
  • 証明の圏の積は∧、余積は∨
  • 積、余積に類似する概念を一括して述べる
    • 「Pへ向かう射がただ一つ存在する」積も終対象も同じ
  • (f:X→A, g:X→B)が対象、(f':X'→A, g':X'→B)についてX→X'が射であるような圏
    • この圏の終対象が積になる
  • (f:A→X, g:B→X)で圏を作れば、始対象が余積となる
  • 底面A、Bの形を決めれば直積の定義になる。底面の形で一般化できそう
    • 対象が2つの離散圏からの関手は、A、Bと同一視できる → 関手が底面を決める
    • このとき、元の圏(上では離散圏)をインデックス圏と呼ぶ
  • Xから底Dへの錐(cone) → 関手Dについて、すべての対象D_iについてx_i:X→D_iがあり、可換となる
    • 錐から錐への射 → X→X'の射で、全て可換
    • Xから底への射を、錐の射を経由してX'の底への射で書けるという状況
  • 底からの錐 → 底への錐の双対。cocone (ただし、教科書によっては逆)
    • 第5章にあるので、読んでみて
  • 関手Dの底への錐のなす圏の終対象 → Dの射影的極限(projective limit)。lim_←
    • インデクスが有限個であれば、finite limit
    • 正確には、錐が極限、錐の頂点が極限対象
  • 底からの圏の始対象: 余極限、もしくは、機能的極限(inductive limit)。lim_→
    • 帰納法とも関連する(来週のトピック)
  • 極限 → 任意の錐が、極限と射に一意的に分解できる
    • このような性質を普遍性という
    • 極限は、普遍性を持つ構成の定義の1つ
    • 終対象、始対象は、空圏をインデクスにとった場合の極限
    • イコライザ、プルバックなども。来週以降
  • 積の表記 → A×B、<f, g>。余積の表記 → A+B、[f, g]
  • 積から積への射 → f × g := <f.p1, g.p2>。余積から余積への射も同様
  • Haskellには、(***)と(+++)がある
    • (+ 1) *** reverse == (+ 1) . fst &&& reverse . snd
    • show +++ reverse == Left . show ||| Right . reverse
  • Q. fst、sndのような人間が自然と思う射影は必ずあるのか
    • A. Conceptual Mathmaticsや記号論理学講義になら書いてるかも
  • 任意の離散圏をインデクスに取れば、任意個の要素の積を作れる
    • ΠA_jと書く。余積は上下逆向きで書く
    • 一方、3つのオブジェクトの積は(A×B)×C、A×(B×C)も考えられる
    • これらはすべて同型となる
    • ((A×B)×C, p0.p'0, p0.p'1, p1)なるconeは終対象なので極限。なので同型
  • 任意のA, Bについて積があれば、2点以上の有限な離散圏について積が存在
    • 1個の対象の積はその対象(恒に存在)、0個の対象の積は終対象(終対象の存在、が必要)
    • 終対象と任意の2個の対象の積があれば、任意の有限個の離散圏について極限が存在
  • 始対象と余積についても同様のことが言える
  • A×B ≃ B×A、1×A ≃ A、A+B≃B+A、0+A ≃ A → 証明は簡単なので各自
    • 圏の上での代数計算。モナドの理解に必要な話
  • C(X, A×B)≃C(X,A)×C(X,B) → 積のHomをとると、本当の集合の直積になるということ
    • Hom(X, -)を関手とみると、ある種の準同型に見える→ホムのホムとか。来週やるよ
  • C(A+B, X) ≃ C(A, X)×(B, X) 余積は集合の直積となる。反変関手とも関連?
  • C(X, 1) ≃ C(0, X) ≃ 1 始対象が集合の終対象となる
  • 来週からは前半が圏論、後半は応用、という内容に