Hero Image
思考の道具としての記法:アイバーソン

1962 年、ハーバードで教えたのち IBM で働いていたカナダのケネス・アイバーソンは、『あるプログラミング言語』(A Programming Language)という本を出版した。題名に反して、それは数学の記法の本だった。数のリストや表をまるごと扱う演算のための新しい記号を使って、アルゴリズムを簡潔かつ正確に書く方法である。数年後、IBM 自身がこの記法をコンピュータで実行できる言語に変え、本の名をとって APL と名づけた。 床、天井、そしてかっこ アイバーソンの記号のいくつかは、APL を出てふつうの数学に入った。もっともよく知られているのは、床関数と天井関数の組である。 $$\lfloor x \rfloor = x \text{ 以下の最大の整数}, \qquad \lceil x \rceil = x \text{ 以上の最小の整数}.$$彼以前は $[x]$ や「$x$ の整数部分」と書かれ、天井関数の記号はなかった。二つがあれば、いくつもの場合分けが必要だった計算が一行に収まる。$1$ から $100$ までの $7$ の倍数の個数は $\lfloor 100/7 \rfloor = 14$ である。 もうひとつの記号、アイバーソンの括弧は、命題を数に変える。 $$[P] = \begin{cases} 1, & P \text{ が真のとき}, \\ 0, & P \text{ が偽のとき}. \end{cases}$$これを使えば、「$1$ から $n$ までの偶数を数える」はふつうの和 $\sum_{k=1}^{n} [k \text{ は偶数}]$ になり、その和はいつもの規則で扱える。ドナルド・クヌースは 1992 年に『記法についての二つの覚え書き』(Two notes on notation)という論文でこの括弧を擁護し、ロナルド・グレアム、オーレン・パタシュニクとの共著『コンピュータの数学』(Concrete Mathematics)の全体で使った。前の文章のクロネッカーのデルタは特別な場合にすぎない。$\delta_{ij} = [i = j]$ である。