岡部健(kenokabe)氏のIQ145本の哲学部分に関しての註釈メモ

つい最近になって、「関数型言語を教える」という名目のような本が販売されて、プログラマ界隈で話題となりました。この本は、一見プログラム入門書のように見えますが、著者の哲学的な思惟が含まれており、それらを知らない人間にとっては、判断が付きようがない品物であることは確かで、その中身の是非を知りたいという人々がそれなりにいることに気がつきました。

自分の場合、元々バックグラウンドが哲学や現代思想をかじって遊んでいた人間というのもあり、それらの議論について、ある程度理解しているつもりですので、その辺で気になった部分に関して、メモ書きをしておこう、と思ったのがこの記事の背景です。

ちなみに、如何なる仮説であれ、それらは平等に扱われるべきです。この著書が問題となるのは、それが如何なる文献を参照し、その判断が正しいのかどうなのか、ということが余りにも不明瞭であり、また議論としても、言い切りが多く、果たしてそのような前提を導き出せるのかどうか、ということに対して、あまりにも説明が不十分であるという特質があります。もしかしたら、著者のほうが正しいという可能性は十分あります。その上で、これは疑問点を羅列するということを前提としている、と断っておきます。

彼が言う『論理』とはなにか、という問題

本書の特徴として『論理』を最上位に置いています。本書の内容から引用すると、「『論理』は人間とは関係なく、ただそこにある存在(p.58)」とし、「実は『計算』すべき『問題』なんていものは最初からどこにも存在しない。だって『論理』っていうのは、最初からあらかじめ決まっていること、なのだから(p.62)」と、本書の登場人物は説明します。

まず一つの疑問点として、彼の言う『論理』というのが如何なる存在なのかが、全くわからないところです。通常の『論理』とは、例えば「AならばB」といったり、あるいは「AしかしB」といったような文章の構成、それを形式化したものと考えられるでしょう(論理学はそのような、論理の形式化を算術的に行うための方法の一つである、と自分は理解しています)。しかし、本書の場合、この『論理』の正体が全くはっきりしませんし、私たちが考えている『論理』とは別のようにも感じます。

まず、釣り銭の出し方というのを考えてみましょう。例えば、この本は端数を切ると「1400円」になるのですが、これを「1500円」出しておつりを受け取ることを考えてみましょう。このとき、日本人だと「1500円から1400円を引けば100円のおつりだな」と考えるのですが、他の国の考え方だと「1400円に100円を足せば1500円になる。だから100円がおつりだ」と考えるのです。

この二つは、計算のしやすさなども考慮にはありますが、どちらとも「1400円の本を1500円で買うならば、おつりは100円である」ということには代わりありません。そして、両者とも「おつりを出す」ロジックとしては、間違いではありません。しかし、どうも本書の場合は、これを論理とはいわないらしく、あくまでも「計算」と呼んでいるように、自分は読解しました(蛇足ですが、このお釣りの出し方の違いにこそ、アルゴリズムの違いがある、という側面はあるかとは思います)。

とすると、『論理』とは何なのか、というところが不明確です。如何なる意味であれ、「1500円で1400円を買うならば、おつりは100円である」という部分に、彼は「論理」を見出しています。もう少し言けば、「『論理』を明らかにするのが『計算』(p.63)」と述べているのですが、少なくとも私たちが考える「論理」ではない。彼の技術の部分に関してもそうなのですが、このような「私たちが通常、このように考えて同意している」という用法から、余りにも逸脱している用法が多いのが、彼の文章の特徴であるといってもいいでしょう。

フェアに言っておきますと、彼が引用したがるスピノザは、「真理に到達するための道筋は一つでないこと」を述べてはいます。確かに「1400円に100円を足せば1500円なので、おつりは100円である」という推論と、「1500円から100円を引けば1400円なので、おつりは100円である」という推論は、どちらとも「おつりは100円」という意味で、同じ意味でしょう。しかし、この推論部分こそが、まさに論理ではないのか、という点で非常に怪しいように感じます。

さて、この辺の困難性は読み進めるにつれて、だんだんと怪しくなっていきます。

物質化とはいったい何なのか

そこで、さらに読み進めると「『論理』を明らかにする行為が『計算』。明らかにする、っていうのは具体的に言うと『物質化』よ(p.63)」という特徴のある説明がでてきます。

彼の図式を整理しましょう。『論理』というのは「人間とは単独に存在している何か」で、それをちゃんとした数式に直したり、値を出したりするのが『計算』。そして、それで出したのが『物質化』ということになります。

しかし、ちょっとこれは疑問です。次の説明に出てくる「『論理』を『物質化』してくれる『物質世界』にあるマシンが絶対に必要(p.65)」とし、それをハードウェアの役割とし、そして、「コードは、ソフトウェアであり『論理』なのよ(p.65)」とします。しかし、これはとても不思議です。先ほども述べたように、本書の『論理』とは「1500円で1400円を買うならば、おつりは100円である」といったようなものです。

「物質化」の根拠は、「コンピューターだろうか、紙の上で計算しようが、頭の中で計算しようが、計算の仮定には必ず物質上の手助けが必要である」ということに基づいています。しかし、ちょっとこれは怪しい。なぜなら、この前提を受け入れた時点で、「ソフトウェアが『論理』である」という言い方がおかしくなります(ソフトウェアも、何らかの媒介を使って記述されているものですから!)。少なくとも、整合性を保つためには、我々が知らない「ソフトウェア」の世界を仮定しないといけなくなるでしょう。

フェアに述べておきますと、哲学的には、ソフトウェアは物質的な手助けを必要とするとした考え方はあります(cf. キットラー)。といいますのも、私たちがソフトウェアを書くに当たって、何らかの記憶容量を利用して書いているということは出来るわけです。例として、この文章もメモリなどを利用した、何らかの媒介によって書かれているわけですし、貴方がこの文章を読めるのも、なんらかのハードウェアに保存されているからです。これについては、ある程度妥当性があるといってもよさそうです。

ですが、これは本書で述べている「物質化」というとちょっと違う。この物質化という言葉も曖昧で、少なくとも「論理」とは層が違うもので、『「計算」することによって明らかになる何か』というようなものです。「物質化」という場合における、「物質」という存在が、私たちが考える素朴な意味での「物質」ではなく、何かしらの答えを出すことを「物質」と呼んでいるように思いますが、これも何処か「数学」における「解を求める」といった類のものを想定すると、これもまたなんか不思議な感じがします。(例えば微積分に関しては、あれは「物質化」されているのかどうなのか、とか。

これらにクエッションマークを付けながら読んでいきますと、段々とこの違和感というのが悪い意味で解決していきます。

『論理世界』とは「論理世界」ではない

また、本書ではプラトンのイデア論について、それを『論理世界』の結びつきから考察(p.177)していますが、これはかなり飛躍があるといっていいでしょう。通常、イデアとは、例えば我々が目にしているコンピューターやキーボードとは別に「理想としてのコンピューターが存在している」と考えるということが、一般的な概説書の説明になるかと記憶しています。

ただ、ここの記述はちょっと注目するべきところがあります。というのは、彼が考えている『論理世界』というのが、つまりイデア(=永遠の真理性を持つ究極的な存在)であると言う風に、彼の中で結びついているわけです。とすると、彼の言う「論理」というのは、すなわち何かしらのこのような永遠の真理性を保証してくれるような何か、ということになります。

ここで、私たちが考える「論理」と、彼の考える「論理」について、大きい隔たりがあることが理解できます。少なくとも、彼にとっての「論理」とは、いわゆる「真理」のことであり、抽象的に言えば、まだそこに姿を表していない何か、ということになるでしょう。そうすると、彼があれほどまでに「論理」と「計算」が抽象的だったのかがわかってきます。そして、ソフトウェアというのは、そのような「そこに姿を表していない何か」であり、それが表れることを『物質化』と呼んでいる、そのように整理できるわけです。

基本的には、彼の発想は「論理=イデア」という発想に基づくものなのですが、これはなかなか理解出来ないし、自分としても同意できない部分です。少なくとも上記の、概説書レベルでのイデア論だとそうなりますし、彼自身の考え方に潜り込んで理解しても、怪しいのです。だからこそ、「『論理世界』密着型の宣言型プログラミングの『必要な時に必要な分だけ計算する方法』では、コードにすべての『イデア』が表現できる(!)」という、突飛な発想になっているように感じます。

このような混乱は、数に対する議論にも伺えます。彼は、数をイデアと同一に見ています。例として「『ない』と『無限』というイデアは特殊(p.183)」としています。彼にとって数学的に記述できることそれをもってイデアと述べている(p.181)のですが、しかし例えば、哲学的には犬のイデアとか、あるいはこの文章を書きながら飲んでいるコーヒーのイデアというのも想定できますが、これが数学的な存在というとまた別物です。もしかしたら、そういう学派も存在するのかもしれませんが、数もまた人間が想定している概念である以上、そして彼自身も述べているように「論理世界が物質世界の影のような存在である(p.178)」と述べている以上、数と論理世界を架橋する存在について、不明瞭のようにも感じます。

もしかしたら、善意に解釈すれば、彼は「論理=イデア」としてしまったがゆえに、二つの語彙についてゆらぎが生じているのかもしれません。ある時にはイデアを「論理」としてしまったり(そのように考えるなら、コードにすべての論理が表現できる、というのはおかしくはないですが、それは命令型でも同じことではあります)、論理を「イデア」としてしまうことによって、ご都合的な詭弁になっている印象を受けてしまいます。

俺の知っているデカルト・プラトンと違う……

さて、上記のように理解すれば、だいたい彼の哲学的に非常に曖昧かつ、不明瞭な部分が多いということがわかるでしょう。

デカルトについては、一般的にすべてのことを疑い、そして『我思う、故に我あり』へと結論付けることに関しては、特に問題は無いのですが、それを持ってして、『論理世界』と『精神世界』の分離というと疑わしいところがある。ただ、フェアに述べると、手元の社会学辞典を読むと、確かに「機械的自然観」と「思惟主体」という二つ(噛み砕くと、法則にしたがって動く自然と、考える私という二つ)を分離したという風に考えています。最大に善意に考えると、「機械的自然観」=『論理世界』ということになるのですが、しかし、これ自体は物質の層に当たるものですから、彼の言う『論理世界』というのには当てはまらず、この記述は、この辞書の定義を抜きにしても少々勇み足のように感じます。

さらに『論理世界』というものを、「自分の『意識』『精神』が抱える『神』っていう概念は一体なんだろう?そういう絶対的な観念、完璧な観念、無限の観念、これはぶっちゃけプラトンが言う『イデア』のことなんだけど(p.247)」というわけなんですが、これは少なくとも怪しい。どう怪しいかというと、明確にデカルト自身は『省察』という本の中で「神」を想定しているわけです(どういうことかというと、すべてを疑ったあとに、この考えている自分が何処から生まれてくるか、という疑問が必ず出てきます。その起源を必ず何処かに求めなければならず、そこで神を導入しなければいけないようになってしまいます。これは観念論と呼ばれる一連の哲学においては割とよくある論法の一つです)。

彼の体系として読解するならば、「神の目」というのが、実は安易な比喩なのではなく、明確な目的を持ってかかれていたものであるということがわかります。つまり「神=論理=イデア=真理」ということであり、つまりそれを体現するためのソフトウェア(!!)ということなわけです。

神になりたかった男

さて、本書の哲学的概要はだいたい掴めたと思います。では、自分自身の結論はどうか。少なくとも以下のことが指摘できるかと思えます。

まず、本書を読む上において、自分たちが考える「物質」「論理」などの用法を、彼の用法としての「物質」「論理」として想定すると、そのズレに苦労し、読解できないところがたくさん出てきます。彼は彼なりの独特の用法で運用されており、これ自体は哲学的にはよくあることなので、それほど非難するところではないのですが、しかし、その辺の用法のズレを巧妙に具体的にしないので、非常に曖昧でかつわかりにくいものになっています。

そして、彼の体系というのは、『論理』を第一級の神として君臨するような体系であり、それを体現するのが「ソフトウェア」という存在であり、それを厳密に記述するための装置が「関数型プログラミング」である、というのが見取り図になります。しかし、ここで語られている「論理」と呼ばれるものは、むしろ触れることのできない「真理」の類となっています。それを「ソフトウェア」として体現させることにおいて、かなり無理な飛躍があるのではないか、ということを感じざるを得ません。

もう少し述べますと、これらの「論理」「物質」の概念を合わせること自体が、そもそも「関数型プログラミング」と関係あったのか、ということに関しては、彼自身の中では必然的なのかもしれませんが、しかし本書を読んでも、そこの解決はいまいちよくわかりませんでした。これは構成の悪さもありますが、果たして、このような図式がうまくいっているかというと若干疑問を覚えざるを得ません。

結論

こんなことでGWを無駄にするな!!!!!

この記事が気に入ったらサポートをしてみませんか?