伝統的論理学には,ラッセルの包括の公理のような「何が存在するのか」を示す様な議論は,あまりない.
しかし,存在するものは,どの様に存在するのか,つまり,存在の構造と様態,のようなものが四原因説で詳しく語られている.
これが伝統的論理学の存在論とか形而上学にあたるもの.
では,記号論理学には,四原因説にあたるものはあるのだろうか?
記号論理学では,伝統的論理学のような「存在」「もの」の構造・様態についての明示的な記述がない.
ラッセルの論理学などにおける,{x| P}のような集合の存在を示す公理は,存在について語るが,それはイデアの世界の話で,この現実の世界の話ではない.
カルナップという哲学者は,物理学に対して,記号論理学を使って,ラッセルが数学に対して行なったようなことをしようとした(Der logische Aufbau der Welt(『世界の論理的構成』),1928),しかし,結局失敗している.
後で,説明する形式的技法という,ITの一分野は,コンピュータ・システム(ソフトウェア)を,記号論理学で記述しようとするものだが,これも非常に特殊な場合を除き,成功していない.
記号論理学で,イデアの世界である数学を再構築することはできた.しかし,この現実世界を,記号論理学で再構築することは,大変難しい.
以下,これを分析していく.
何故,ラッセルは,数学の再構築に宗教的なものを感じたのか?たとえば,東洋的・日本的な宗教では,完全ではなくて,生生流転が強調される.つまり,世界は時と共にうつろい,永遠のものは一つもない.中国哲学の宇佐美先生の話では,中国哲学においては「物体は大海の中の氷の様な物」なのだという. これは,物体,固体でさえ,境界 terminus がボンヤリとしてる世界観.
だから,宗教的恍惚といっても,文化により随分と異なる.ラッセルは,西洋的世界観に従って,数学や論理を考えていたといえる.
キリスト教神学では,動力因を元に神の性質を議論しているが,それを考慮すると,ラッセルが数学に宗教的なものを求めたことの理由が「論理的に」わかる.
まず,キリスト教神学では,神は完全だ,という前提がある.
だから,神は perfect (完全) なはずだから,eternal (永遠)で timeless(時間に関係ない) でなくてはならない.
進歩するのは不完全な証拠.よって神は進歩しない.
実は,このキリスト教神学の考え方は,アリストテレスの神学から来ている.
ブリタニカのこの記事 http://global.britannica.com/EBchecked/topic/34560/Aristotle/254718/The-unmoved-mover で分かるように,アリストテレスは,この様な存在論で,たとえば,天体の運行を説明しようとした.そして,それは中世キリスト教の宇宙論に継承された.
「私がなぜキリスト教徒ではないか」という著書も書いたラッセルは,キリスト教やアリストテレス神学を信じてはいなかったが,天空という,時間的で動きのある世界(星は運行する.月は満ち欠けする.時間・暦は,もとは天体の運行で定義された.)ではなく,timeless で動きのない数学の世界に,perfection (完成・完全), eternity (永遠)を見出している.その意味では,彼はキリスト教の世界観をそのまま受け入れているともいえる.
ということは,数学ではなく,生生流転する,この現実世界の記述には数理論理学は不向きということはないか?
もちろん,unmoved mover である神の力があれば,timeless の世界の記述力で,世界を記述できるだろう.
しかし,我々は神ではないので,それは出来ないと思った方がよいのではないか.
ラッセルが,それで数学の世界を記述しようとした記号論理学の言語は,動きがあり,生成流転する,この世界を記述するには不向きではないのか?
この疑問を鍵にして,論理学とIT,特に論理学とソフトウェアの関係を考えてみる.それには,二つの側面があり,一つは「記号論理学とソフトウェア」もうひとつは「アリストテレス論理学とソフトウェア」.主に後者を考えるが,最初に,少し前者の話をする.
ラッセルとホワイトヘッドの Principia Mathematica や,それと類似の公理的集合論というものは,数学を記述する言語として大成功を収めた.
つまり,数学のほとんどすべてを,非常に少数の概念と,原理に還元することが可能となった.(ただし,その概念や原理の「正しさ」は証明できず,信じるしかなかったのではあるが.)
その結果,ソフトウェア作成の世界でも,同じことができるのではないかという期待が生まれた.
つまり,ソフトウェアが作られる目的(目的因)を記号論理学で記述し,実際に作られるソフトが,その目的を満たすかどうかを,論理学で検証(証明あるいは否定)しようという構想が生まれた.
このアプローチは,ソフトウェア生産の工学であるソフトウェア工学では,形式的技法(formal methods)と呼ばれ,一世を風靡したが,現在は,「実現不可能」というのがコンセンサス.
林も,この方法の研究者だった.このアプローチの限界を身をもって体験した,つまり,失敗したことが,この講義や,前期の講義の内容を考えるようなった契機だった.興味がある人は,こちらの原稿下書き「あるソフトウェア工学者の失敗」を参照.(林は,現実世界の存在なので,変化・進歩する!(^_^))
私たちが日常的に使う,WEBのサービス,例えば,アマゾンや楽天の様なシステムを開発するには,記号論理学的なアプローチである「形式的技法」と呼ばれる手法では,全くと言って良いほど書けない.
こういうITのシステムの「記述」は,様々な方法で行われているが,それは最終的には,プログラミング言語で記述され,そして,稼働されると言える.
プログラミング言語は,現実世界を記述(プログラム)できるのである.
当然,プログラミング言語には,ある種の世界観が組み込まれていて,それにより,現実世界で稼働するシステムがプログラム(記述)される.
そういう世界観は,様々あるが,現在の主流は,オプジェク指向というものである.
このオブジェクト指向というものは, このプロラム言語のpopularity ランキングが示すように, 現代のプログラミングの世界で, 非常に支配的である.
ランキングのトップのC言語を除き, 他の2-9位の言語は, 全部オブジェクト指向言語か, オブジェクト指向も可能な言語である.
しかも, 昨年度, Cは2位でJavaが1位だった.Spectrum Ranking の合計数値を比べれば, 「現代のプログラミングの世界は, オブジェクト指向がほとんどすべてを占めており, 非オブジェクト指向のわずかなシェアをC言語が独占している」といえる.(ちなみに, Spectrum は, 世界最大のIT関連の学会 IEEE の主要機関誌)
実は,このオブジェクト指向の世界観が,伝統論理学の世界観に,そっくりなのである.
上のランキングは,プログラミング言語の popularityのランキングであり,使用量のランキングでないことに注意.つまり,プログラマーの多くが,オブジェクト指向的に世界を見ているということを示してはいるが,世界で作成されている情報システムの大半が,オブジェクト指向の世界観を反映したプログラミング言語で作成されているということを直接照明できるランキングではないことに注意.
しかし,これだけの圧倒的な popularity や,現実のいろいろな動向からして,現在作成されている情報システムの大半が,オブジェクト指向の世界観を使って作成されていることは,まず,間違いがないと思われる.
歴史的史料(2015年度前期月5特殊講義の資料から6月15日と22日)からは,この考え方が開発されていった1960年代の教養あるヨーロッパの技術者たちが,半ば意図的に,伝統論理学の世界観を,ソフトウェアのための世界観として採用していったことがわかる.
このオブジェクト指向の話をする前に,動きのない世界の言語で,どうやって動きを記述しているかを説明.
これはアニメーションをイメージすればよい.
http://en.wikipedia.org/wiki/Animation
動きのない赤い丸の6つの絵を続けて見ると,人間にはボールがはねているようにみえる.
この6つの絵のようなもの(ソフトの飛び飛びの時間でのスナップショット)を記述する.
社会学者アンソニー・ギデンズの社会学の基礎にある memory trace も,同じ考え方を採用している.この場合には,structure と呼ばれる,社会組織の記述が,memory traces で記述されるとする.その理論 structuration theory の解説
ギデンズ社会学も,その伝統の流れに沿うものと考えられる,マックス・ウェーバー社会学の組織論「官僚的システム」でも,システム(官僚制)の形式面が強調される.
つまり,これらの社会学理論では,個と組織の関係が,外面的な条件だけで記述される.
形式的技法を使うようなソフトウェア工学も,最初は,この外延的アプローチが強かった.
最初,それはソフトが扱うデータを中心にして記述された.つまり,ソフトというシステムが,ある瞬間に記憶しているデータの時間的変化ばかりに注目する方法で記述されていた.
記号論理学の基本は,論理の記号,∑,Π,∧,などを除くと,述語 R(x,y) であった.
これは x と y という「存在」の関係を記述するだけで,x や y の「中身」には言及していない.
つまり,x や y が外延的にのみ把握されている.
こういう外延的な記述方法は数学や物理学の世界では成功を収めたわけだが,ソフトの世界では,最初は,それで十分だったが,ソフトの応用が広がっていくに従い,段々うまくいかなくなった.
それで,オブジェクト指向のような世界観が作られるようになっていったのだが,それが,出来上がってみると,アリストテレス論理学の形而上学・存在論に,そっくりなものになっていた.
それには,ちゃんと理由がある.
ポール・ロワイヤル論理学としての伝統論理学は,そのなかに形而上学(世界の有り様,あるいは,その前提を考える学)を,特に存在論(形而上学の一部であり,特に世界の中にある存在の有り様についての学)を含んでいた.
実は,コンピュータのソフトウェアは四原因のすべてを持っている:.
現代のソフトウェア作りにおける,「情報システムの形而上学」,つまり,情報システムとは,どんなものか,情報システムの有り様,その前提は,およそアリストテレス哲学・論理学の影響を受けて,それをはるか後にまとめた the 伝統論理学,とでもいうべき,ポール・ロイヤル論理学の形而上学部分,つまり,世界の有り様と,ほぼ同じであるということ.
その理由は,ソフトウェアが,世界をネットやコンピュータの世界の中に再現するものだから.
ネットやコンピュータの世界をサイバー空間,サイバー世界というが,つまり,ソフトウェアは,サイバー世界内存在.
さらに言えば,それは,新しい世界をサイバー世界に創造することもできる.
つまり,世界の在り様と同じようなものを作るのだから,しかも,神や数学のような timeless な世界ではなくて, 動きのあるものを作るのだから,それは当然,アリストテレス形而上学・存在論のような動的構造を必要とする.
以上の説明は,抽象的なので,以下では,現代の形而上学・存在論であるオブジェクト指向の世界観と伝統論理学が,どの様に似ているかを,例をとって説明する.
xxx現代のプログラミング言語の代表とも言える Java を使って,それが,その存在論レベルで,伝統論理学の,存在論,特に,類,種,個の思想と極めて似ていることを示す.
以上の話は,林だけが言っているのではなく,実は,ソフトウェア関係者の間では,かなり有名な話.
この解説にもプラトンがでているように,本当は,アリストテレス論理学+プラトンのイデア論のようなものが使われている.
クラスはちゃんとした存在(ソフトウェアのパーツ)だが,それから,オブジェクトをいくらでも作り出せるようになっている.つまり,イデアから対象が作り出されている感じ.
アリストテレス論理学では,個は先に合って,それが terminus で記述され,その外延としてのクラス(類)が決まるので,これは逆の方向であり,そこはプラトン的になっている.
これはサイバー空間では,人間が神のごとき創造者の役割を演じているということ.
そう考えると,ソフトを使って作られるコンピュータ・ゲーム(video game)の世界観に,神話めいたものが多いのも納得できる.
この様に実はITと伝統的論理学は結びつきが濃い.この他にも,やはり伝統的論理学の存在論の分析から,自らの哲学を建設していった実存哲学者マルティン・ハイデガーの「存在と時間」の哲学を,ソフトウェアや人工知能の作成に応用するという有名な本がある.
どうして,縁もゆかりもなさそうな,ITの世界と,伝統論理学の世界が,結び付いたのだろうか?
おそらくは,http://en.wikipedia.org/wiki/Animation の6つの静止画をいくらみていても,飛び跳ねているように見えないのに,それを素早く続けて見せられると,私たちには「動くように見える」という事実がその理由.
この「動いている」という感覚を使って,私たちは世界の内にあるもの(他人,社会,ネット,スマホ,…)に対している.
その感覚,直観を排除して,世界を理解しよう,記述しようというのは,おそらく有限の存在である人間にはできないのだろう.
動画を再生するにはvideoタグをサポートしたブラウザが必要です. 非対応ブラウザの場合は,ダウンロードしてみてください.
動画を再生するにはvideoタグをサポートしたブラウザが必要です. 非対応ブラウザの場合は,ダウンロードしてみてください.
つまり,有限で制限された能力の故に,我々は世界を「生き生き」と認識できているという面があるのではないか?
そういう我々が世界を認識するには,神の世界の記号論理学的世界観ではなくて,伝統的論理学の作用因や目的因のような「人間的」部分が必要なのだろう.
どうして,縁もゆかりもなさそうな,ITの世界と,伝統論理学の世界が,結び付いたのだろうか?への上の答をもう少し掘り下げる.
それが,この講義の最後の部分,京都学派の哲学,ハイデガーの哲学,と論理の関係に結びつく.
上に書いたように,PCの画面上で色々なものが動いていると我々が感じているということは,ラッセルが言う様な意味での永遠で,時間を超越している,無限的なものの対極としての,人間の有限性の故であろう.
ITの世界では,何段ものソフトウェアやハードウェアの層が,ピラミッドの様に積み重なっていて(注1),一番下のハードウェアとしてのPCのメモリ上の,0と1のパターンの書き変わりが,たとえば,今,みなさんが見ているような「講義資料のテキスト」として見える様に作られている.
みなさんが,今,見ているプロジェクターで投影されたスクリーンの場合は,光学の問題も関連してきて説明が複雑になるので,みなさんが,この講義の資料を,復習をするために,PCのディスプレイや,タブレットの画面でみていると仮定して,話を進める.
そういうものを見ているとき,みなさんは,それを「月5の講義の,講義資料のテキスト」として読んでいる.
しかし,物理学者や,液晶ディスプレイを作っている人たちからみたら,それは実は,膨大な数の三原色の点の集まりであって,「テキスト」,つまり,文書ではない.
ルーペで,そういう画面を拡大してみると,こんな風に見えるのは知っていると思う.こういうディスプレイを作る,技術者にとって,ディスプレイ上に見えるものは,こういう小さい色の断片(画素)の集まり.
しかし,みなさんは,そう認識せず,丁度,今,見ているような文書,さらに,読んでいれば「文章」として認識する.
先ほどのアニメでいえば,2秒間に一度形が変わる赤い楕円ような染みの連続を見ているのが技術者の認識方法,それを,赤い玉が跳ねている,と認識しているのが,みなさんの認識方法,ということになる.
一件,前者の方が,「科学的」であって,優れている,高度である,様に見えるのだが,しかし,後者のように認識しない限り,同のように画素が多くて,色も綺麗なディスプレーでも,全く意味を持たない,ことは明らか.
つまり,みなさんの様に,「画面上で文章を読む」あるいは「画面上で赤い玉が跳ねるアニメを見る」というのが,ディスプレイの目的なのであって,これを基本して考えないで製品が作られると,優れた製品は出来ない.
昔,ナナオという名前だったEIZOというディスプレイメーカーが石川県にある.
この会社のディスプレイは,10数年位前までは,発色がよいので世界的に有名で,価格も他社にくらべて随分高かった(1台10数万円もした.安いもの3倍以上!).
普通に考えれば,それは液晶が優れているとか,電子回路が素晴らしいとか,そう思うところなのだが,実は,これは蓄積したチューニング技術のたまものだった.
実は,有名だったころ.ハードウェアは他社から買ってきていた.そして,それを,近隣の農家などの主婦などを雇い,その人たちの目に頼って,世界が絶賛した美しい発色を実現していた.
もちろん,そのためには,上の記事にあるようなソフトを開発したり,チューニングをする人が使うチューニング用のハードウェアなども作っていたはずだが,しかし,ディスプレイは人がみるものなので,それがディスプレイの目的因なので,その競争力の源泉は,どの様にチューンすれば,人は美しく感じる化を知っていることであるはず.
そう考えれば,人間がつかうものとしてのIT機器,さらには,ソフトウェアの,競争力の源泉は,自然科学的なもの,電子工学的なもの,ではないことが分かるはず.
つまり,優れたチューニングに求められるのは,どうすれば,それぞれの画素が良く光るかという,科学・工学的な知識ではなくて,それが「絵や文字」としてユーザー,つまり,人間,の目で見られたときに,どの様に美しく,また,読みやすく見えるか,という知識.
特に,画面に動きがある,たとえば,この講義資料をスクロールしたときの動きが,如何に自然であるか.つまり,紙の一部を枠を通してみるように,あるいは巻物(scroll,スクロール)を巻き上げるときに,ユーザが期待するであろう動きにできるかは,ディスプレイやPCに
とっては大事なことになる.
たとえば,文字を読むということだけでいえば,画面が,「カチカチ」とスクロールしても構わないはず.つまり,3ミリ単位でカタカタと下に動いても構わないだろう.
しかし,そういう動きを見ていると人間は違和感を覚えたり,場合によっては,乗り物酔いのような状態になることがある.
たとえば,最近,バーチャル・リアリティ用のゴーグルに一般向けの廉価なものが売り出されることになって,評判になっているが,使用するPCが非力だと,画像がカクカクと動いて,酔ってしまう(3D酔い)ので,PCは性能が良いもの使えと言われている.
要するに,ITは人間が使うものである以上,大切なことは,人間,つまり,ユーザの立場から,それがどういう風に見えるかが,一番大事だということ.
そして,ITの中に人間が見る世界は,我々が目の前にみる物理的現実世界であり,あるいは,さきほどのゴーグルの広告サイトにあった絵のようなファンタジーの世界.
それが現実でも,ファンタジーでも,兎に角,それは世界なので,ITのハードやソフトがユーザが買ってくれるようなもの,つまり,人間がそれを欲しいと思うようなものにするには,人間にとって自然が,より自然にみえるように記述する,ということが一番大切なこととなる.
これが,もし,ITが「機械が機械のために世界を記述して,操作するためにある」のならば,そういうことはないことに注意.そういう世界ならば,数学や数理論理学だけで記述することが可能であることがある.
たとえば,CPUの心臓部などがそれ.だから,そういう部分では,前に述べたように形式的技法が成功している例がある.
19世紀まで,あるいは,20世紀の最初のころまで,特に第一次世界大戦まで,つまり,100年前までは,世界を物理学的に,さらに言えば,ニュートン力学的に理解するという世界観が欧州を中心として根強かった.
これはディスプレイを,画素の集まりとして見るような世界観.それは,黒い縁の terminus で区切られた,画素という無数の個の集まりの世界だった.
そして,興味深いことに,丁度,その頃,生まれた数理論理学は,パースの論理学のところで見たように,ニュートン力学の記述に用いられる数学をモデルにしていた様に,むしろ19世紀的世界観に近いものだった.
しかし,20世紀になって,世界観が大きく変わっていった.例えば,哲学で言えば,現象学や実存主義哲学などの潮流が生まれ, 最後の19世紀的哲学であった新カント派の哲学が廃れた.また,物理学でいえば,一般相対性理論や量子論などの新しい世界観に基づく理論が登場するなどした.この様にして,19世紀的世界観が崩壊して,現代の世界観がある.
そして,ITの,特に,ソフトウェア技術者がもつ世界観は,19世紀的なものとは,かなり違うもので,むしろ,古代ギリシャの世界観や,あるいは,東洋的な世界観,さらにいえば,19世紀的世界観に反発した人が作った,別の世界観,たとえば,京都学派の世界観や,ハイデガーの「世界観」に近いものになっている.
次に,この話.