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

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

関数合成をするコンビネータ

ひたすら計算とは違った感じで合成(結合)を扱ってみる。

(f;g)(x) = g^・(f^・x) が成立することを示す。まず、を考える。正確には、<f, g, x| Exec(g^, Exec(f^, x))> だが略記した。これをフルカリー化すると <|λf.λg.λx.(g^・(f^・x) >、この引数なし関数(値はコンビネータ)をcとする。c()をcとも書く。

c・f^・g^ は、(f;g)^ になっている。よって、

  • (f;g)^ = c・f^・g^
  • (f;g)(a) = (f;g)^・a = c・f^・g^・a

それと、K = Λ(Λπ) なんてのも出る。πは直積の射影。