連載の1回目と2回目では、はるか2400年ほど前にさかのぼって「ソクラテス」「プラトン」という、古代ギリシアの哲学の誕生期に登場した哲学者を取り上げました。今回は、プラトンの弟子にあたるアリストテレスの論理学を紹介します。

数えられないものを式で表す

プログラミングって、なにがおもしろいのでしょうか。なかなかうまく答えられませんが、少なくとも人間がつくりだしたもののなかでもとてもユニークなものだから、と言えるように思います。

人間同士、または他の動物(たとえばペットの犬や猫)であれば、言葉や身振りなどで、命令や指示ができることは、経験上すでにおわかりのことと思います。

プログラミングも、基本的な考え方としては、計算をさせたり画面に数字や文字を表示させたりすることからはじまっています。つまり、すべて命令や指示の塊だということです。ある命令をすると、必ず同じ結果が現れる……これは「真理」や「普遍性」の話に近いものがあります。

人と人のコミュニケーションの場合、なにかを指示・命令しても、大半はこちらの希望通りにはなりません。相手が100人いれば、100通り異なる可能性があります。しかし、コンピューターは、バグやエラーさえなければ、必ず同じ結果をもたらしてくれます。それがプログラミングというものです。

しかし、こうしたプログラミングが実際に使えるようになるには、とても長い年月を要しました。コンピューターがない時代にも、そういう欲望は絶えず人間にはあり、大きく言うと、数えられるものは数学(計算式)、数えられないものは哲学(論理式)で追求されてきました。常に同じ結果をもたらす論理式を見つけだした人物、それがアリストテレスです。

どんな場合でも共通する言葉や考え方を求めて

プラトンとアリストテレスには、師弟関係にあったにもかかわらず、とても大きな違いがあります。アリストテレスは今で言う自然科学に非常に深く関心をもちました。その結果、プラトンが導き出した「イデア」論(この世のものはこの世に存在しない究極の理想形にもとづいているという考え)をそのまま鵜呑みにせず、どうして人間が「イデア」のような目に見えず形をもたない抽象的なものを見いだしたのか、その根拠を探っていったと言えます。

アリストテレスの構想したプログラムは全学問体系にわたり、大きく「理論」「実践」「制作」の3つに分かれ、なかでも「理論」を重視しました。これら3つの学問の基礎となる部分を「オルガノン」(予備学)と呼び、ここに「論理学」を置きました

アリストテレスの学問体系と論理学の関係

 0予備学(オルガノン)=論理学
 1理論学
  1-1形而上学(現代で言う化学や分子生物学が含まれる)
  1-2数学
  1-3自然学
   1-3-1物理学・天文学
   1-3-2心理学
   1-3-3生物学
 2実践学
  2-1修辞学
  2-2政治学・倫理学
  2-3経済学
 3制作学
  3-1弁論術
  3-2詩学

何もアリストテレスは、ソクラテスやプラトンといった自分の師匠たちの考えを否定したかったわけではありません。しかしプラトンの弟子たちの多くは、それ以前の詭弁家たちと同じようにプラトンのイデア論をありがたがるばかりで、結局のところソクラテスが強調した「対話」による真理の追究の道を正しく歩もうとはしませんでした。そうした学問的態度がアリストテレスは気に入らなかったのでしょう。プラトンがつくった学園(アカデメイア)からアリストテレスは離れ、イデアを強調しない探求の仕方を進めていきます。その大前提が「論理」をしっかりと身につけることでした。

画像: どんな場合でも共通する言葉や考え方を求めて

三段論法のもつ力

アリストテレスは「推論」によって、現在にまで通用する学問(認識)全般の「方法」を提起しました。「推論」とは、矛盾する内容が2つある場合、いずれかが正しいかを決める手続きのことです。真理の探究である、学問の方法であり真理獲得のための道具として「分析論(アナリティケー)」が必要と考えたのです。

この推論は、古代ローマ時代に「論理学(ロジケー)」と呼ばれ、その後、キリスト教が浸透していくヨーロッパでは一度姿を消すのですが、イスラム世界で継承され、アラビア科学が発展しました。さらに、その後十字軍の時代にヨーロッパに逆輸入され、以後、哲学のみならず、諸学問の創始者の一人として位置付けられてきました。

とくに彼の論理学には「三段論法」(シロギスモス)という「推論」があり、プログラミングをはじめ、今なお大きな影響力をもっています。データ収集することからはじまる、自然をはじめとした学問の方法論としての実証主義、経験主義のはじまりがここにあり、自然学全般はその後、各自然科学および工学を形成することとなったわけですから、この「方法」には歴史的な重みがあります。

実際の推論の例

推論の例としては、有名な文章があります。「ソクラテスは人間である。人間はいつか死ぬ。ゆえにソクラテスはいつか死ぬ」というものです。まず、これを文章としてではなく、数式のような形にもっていくことからはじめます。

  1. ソクラテス → 人間
  2. 人間 → いつか死ぬ
  3. ソクラテス → いつか死ぬ

「ソクラテス」は「人間」というカテゴリーに含まれている、ということが、最初の「ソクラテス → 人間」の式の意味です。

2番目の文書は少し異なっており、すべての「人間」の性質として「いつか死ぬ」という事実を説明しています。「人間」というカテゴリーに含まれている個々の人々は「いつか死ぬ」という事実から決して逃れられないという前提が含まれています。

すると、「ソクラテス」は「人間」の一人であるから、結論として、3番目の文章の「ソクラテス」という「人間」は、「いつか死ぬ」という正しい「推論」が導き出せるわけです。これが三段論法です。

よい機会ですので、この式を「記号」を用いて書いてみましょう。「ソクラテス」を「p」に、「人間」を「q」とし、「いつか死ぬ」を「r」とします。すると、最初の式は「p→q」となり、2番目は「q→r」となります。わかりやすく言えば、「q」が共通する場合、「q」の両側にある「p」と「r」を「p→r」とつなげることができます

画像1: 実際の推論の例

 

これを集合からとらえることともできます。pとqとrの関係は下の図のようになります。

画像2: 実際の推論の例

すると、当然「ソクラテス」よりも「人間」が大きなカテゴリーであり、「いつか死ぬ」は「人間」よりも大きなカテゴリーであることがわかります。

もちろん、「ソクラテス」の代わりに「プラトン」を入れても「アリストテレス」を入れても、これを読まれている「あなたの名前」を入れても、この式は変わらず妥当性をもちます。一方「人間」というところはここでは変えられません。ただし「いつか死ぬ」は「生物」または「生命」と言い換えてもいいように「人類」とか「古代ギリシア人」とか別の言い方に変えたり、集合関係として変わらないカテゴリーであれば差し替えることができます。

こうして、数字以外の、言葉になっている観念を文章から切り分けて概念化し、概念と概念のつながり(関係)を数学と同じような扱いで考えて整理することが可能であることがわかってくるでしょう。これこそ、プログラミングが成立するための第一歩と言えます。

逆に言えば、数学も最初に記号や計算のルールを定めなければならないのですが、その部分にあらためて論理学は光を当てたとも言えます。

もちろんアリストテレスが、現在用いられているコンピューターやプログラミングを予期していたわけではありません。しかし、明らかにアリストテレスが見いだした論理学がコンピューターやプログラミングを生み出す基盤となったとは言えるでしょう

画像: アリストテレスの論理学とプログラミング【哲学とプログラミング】

アリストテレス Aristotle(Ἀριστοτέλης,384B.C.-322B.C.)

  • 2,400年程前(日本は弥生時代初期)の、古代ギリシア(マケドニア)の哲学者
  • プラトンの弟子の一人
  • アレキサンダー大王が子どもの頃の家庭教師
  • イスラム世界に伝播し近代自然科学の基礎を築き、西洋中世においてスコラ学形成の基礎となったこともあり、プラトンと相並んで哲学の主源
  • 哲人政治を目指すが、失敗に終わる。
  • 現代では「プラトニック・ラブ」という言葉に名を残す。
  • この世にはない理想形「イデア」がある、と主張。
  • 中世キリスト教の考えにも継承される。
コメントを読む・書く

This article is a sponsored article by
''.