(: initial algebra)  F F- (initiality) 

F-: final coalgebra (finality) 

始代数の例

編集

 Set 1 1 + ():: X 1 + X F F- X x X( x: 1  X)  f: XX  (X, [x, f])  X N 0  succ  (N, [0, succ])  

 (N, [0, succ]) (N, [0, succ])  F- (A, [e, f]) (e  A, f: A A)  n e f n- fn(e) (= f(f((f(e)))) 

 1 + N×():: X 1 + N×X  X x X f: N× X X (X, [x, f])  cons

終余代数の例

編集

 Set  1 + ()  X p: X 2  p(x) = 0  x Xf: X X (X, p, f)  ω  N {ω}  0  p0p0(0) = 1  n N p0(n+1) = 0  p0(ω) = 00  ω  f n N f(n+1) = n f(ω) = ω (N  {ω}, p0, f) 

 1 + N×()  decons

定理

編集
  • 始代数は最小である (すなわち、真の部分代数を持たない)[1]
  • 終余代数は単純である (すなわち、真の商を持たない[2])[1]

計算機科学での利用

編集

使

 A   

 

 



 

 AX  1 + (A × X)  Set  F F- F-HaskellMLfoldr



 



 F F-[3] F-[3]Charity  ""[4]

関連項目

編集

脚注

編集
  1. ^ a b Initiality and finality from CLiki
  2. ^ Induction and Co-induction from CLiki
  3. ^ a b Philip Wadler: Recursive types for free! University of Glasgow, July 1998. Draft.
  4. ^ Robin Cockett: Charitable Thoughts (ps[リンク切れ] and ps.gz[リンク切れ])

外部リンク

編集