このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

自然演繹にだいたい対応する回路図

図そのものより、図示の基礎を書く。

デカルト閉圏Cを固定して、I := IdC、直積を∧、単位を1、始対象を0とする。Δ:CC×C はコピー、Πi:C×CC は射影、K:CI は一点への潰し、S:C×CC×Cスワップ

自然変換
自然変換の記号 プロファイル 名前 略称
ι I⇒I 恒等 ident
δ I⇒Δ*∧ 複写 dup
π1 ∧⇒Π1 第1射影 proj1
π2 ∧⇒Π2 第2射影 proj2
ε 1×▷)*∧⇒Π2 評価 eval
σ ∧⇒S*∧ 対称 symm
! I⇒K*T 終射 term
θ K*⊥⇒I 始射 init
κ1 Π1⇒∨ 第1入射 inj1
κ2 Π2⇒∨ 第2入射 inj2
自然変換の成分表示
  1. ιA:A→A
  2. δA:A→A∧A
  3. π1A,B:A∧B→A
  4. π2A,B:A∧B→B
  5. εA,B:A∧A▷B→B
  6. σA,B:A∧B→B∧A
  7. !A:A→1
  8. θA:0→A
関手
関手の記号 プロファイル
I CC ワイヤー
Δ CC×C 分岐
C×CC 合流
Cop×CC 左指数
C×CopC 右指数
K CI 潰し
T IC 真定数
IC 偽定数
S C×CC×C スワップ
Π1 C×CC 一本消去
Π2 C×CC 一本消去

↑で反対圏の射を表す。▷, ◁は反対圏を必要とする。

外部オペレータ
  • カリー化、反カリー化 Λ, Λ-1 ∀X,A,B. C(A∧X, B)\stackrel{\sim}{=}C(X, A▷B)
  • 圏、関手、自然変換の直積
  • 関手、自然変換の横結合
  • 自然変換の縦結合

Cの内部オペレータとして、

  • 対象、射のモノイド積
  • 射の結合
図示
  • 横併置: 関手、自然変換の直積
  • 縦スタッキング: 射の結合、自然変換の縦結合 / 一部は関手の(横)結合
混乱
  • 単独の射(例:公理射)と自然変換の成分表示が区別されてない。
  • 変数(パラメータ)と定数の区別が付いてない。
  • クラスとインスタンスの区別が付いてない。
  • その他、色々と無茶苦茶。

パラメータ(命題変数)、シェマ(テンプレート)、インスタンス(代入例)で少しは区別を付けよう。対象パラメータの使い方は、関手の対象部分の表現。自然変換を表現するときも、プロファイルとしてパラメータが使われる。

  • 昔関数と関数値を区別しなかったように、関手と関手の対象値を区別できてない。
  • 関手の射部分を意識してない。特に指数関手で問題が出る。

{primitive | basic | atomic | builit-in} と {composed | composite | compound | defined | constructed | macro | inferred | derived} の区別。同義語いっぱいだし。