なぜλ計算はλ計算と呼ばれているのか

jppostal

π計算のπは、λ計算のλからギリシャ文字順に選んだそうです *1 。僕も "process" の p だと思ってました。では、λ計算はなぜλなのか。λはアルファベットの l の祖先ですが、"function" には l は現れません。これは学生時代に調べたことがあって、答えは表記の変遷の中にありました (?)


以下 [1] によります。まず、パラドックスで有名なバートランド・ラッセルは、x を受け取って 2x+1 を返す関数を次のように書いていました。


2\hat{x}+1


つまり仮引数の上にハットを置く。これにちなんで、λ計算の生みの親であるアロンゾ・チャーチは次のように書きました。


\hat{x}.2x+1


しかしチャーチの文章を出版するとき、当時の印刷技術ではハット付きの文字が印刷できなかった (!) ので、

^x.2x+1

と写植屋さんが書き換えてしまいました。さらに、これをみた別の写植屋さんが ^ をλと勘違いしてしまった (!!) ため、

λx.2x+1

という今の表記が生まれたそうです。つまりλ計算の由来は「当時の印刷技術の制限」+「誤植」である、と。面白いですね *2


というのが、数年前に研究室にいたときの調査結果 *3 だったのですが、[2] によると、生前のチャーチが「理由は特にない」と言っていたという証言や、出版前のチャーチの手書き原稿にλがいっぱい書かれていたという目撃情報もあるようです。都市伝説みたいなものかもしれません。


[1] H. Barendregt, The Impact of the Lambda Calculus in Logic and Computer Science (182 ページ)
[2] F. Kamareddine, T. Laan, R. Nederpelt, Types in Logic and Mathematics before 1940 (196 ページの脚注部分)

*1:発音しにくい文字をパスするあたりがこじつけくさく感じるけど。

*2:さらに Haskell の人たちは、λを \ と勘違いしてしまったため \x -> 2 * x + 1 と書きます (嘘)

*3:先輩 (現助教) ありがとうございます。