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

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

定義と仕様

次のようなシーケントスタイルの定義は、

For C in Cat, D in 0Cat
For FO : C.Obj → D.Obj in Set
For FM(A, B in C.Obj) : C(A, B) → D(FO(A), FO(B)) in Set
Define
  F : C → D in Cat // F is-a-functor
  :⇔
  F = (FO, FM)
  SuchTaht
  ...
End

仕様としてまとめられる。

specification functor := {
 dom in 0Cat as C,
 cod in 0Cat as D,
 obj-part : C.Obj → C.Obj in Set as FO,
 hom-part(A, B in C) : C(A, B) → D(FO(A), FO(B)) as FH,
! laws
 ...
}

仕様と定義は同じだが、仕様のほうがモジュール化されている。