トップ «前の日記(2002-03-30) 最新 次の日記(2002-04-01)» 月表示 編集

日々の流転


2002-03-31 10メートルは長すぎる [長年日記]

λ. 原始帰納関数

そういえば、情報数学Ⅰの授業で原始帰納関数を扱ったときに、原始帰納関数の概念を表すダイアグラムが参考に載っていたのを思い出した。

そのときは理解できなかったけど、今なら理解できる。ある関数 f: N→X が原始帰納関数だというのは、以下のダイアグラムが可換になること。あぁ、圏論って良いね。

       0         s
 1 ───→ N ───→ N
 │        │         │
 │      <Id,f>       │f
 │        ↓         ↓
 └──→ N×X ──→ X
   <0,c>         h

【2006-01-22 追記】 この形での原始帰納関数の定義は paramorphism として一般化できる。詳しくは Categorical programming with inductive and coinductive types. を参照。

【2006-01-22 追記】 ところで、この定義は余計な引数がない分だけ通常のの定義よりも弱いように思える。冪(exponential)によって関数を値として扱えば通常の原始帰納関数を全て表現できるが、今度はアッカーマン関数のように通常の原始帰納関数に含まれない関数が表現できてしまう(詳しくは 2003-01-14,2003-01-21,2003-02-05 を参照)。 高階関数を排除しつつ通常の原始帰納関数を表現するためには、Decomposing Typed Lambda Calculus Into a Couple of Categorical Programming Language のκ-calculus のように contextual completeness を使えば良いのかな...

Tags: 圏論

λ. F

品切れ。しょぼーん(´・ω・`)

λ. linear category がピンとこない、他

linear category がピンとこない。equilizerに関する練習問題が解けない。pointed set の圏について誤解していた事に気づく。

Tags: 圏論