プログラミングと論理学
プログラミングと言えば、論理学に関連してきますので、現代論理学の創始者として、また、それを基にした言語哲学の祖として知られているゴットロープ・フレーゲを古田徹也共著『経験論から言語哲学へ』から学びます。
アリストテレス以来の伝統的論理学は「名辞論理」とも呼ばれている。というのは、推論を構成する命題の基本型は、ーー例えば「動物は生物である」のようにーー、「主語+述語」とし、主語も述語も名辞として理解するからです。
名辞論理がカバーできる推論の範囲は、次に述べるように狭いと古田氏は述べる。
一方、フレーゲの構築した新しい論理学は、名辞論理学が陥っている範囲を超えて、多重量化 の論理的構造を表現できる豊かさをもつ、と古田氏は指摘する。
具体的に表現すると、伝統的論理学では名辞として捉えた「動物」や「猫」等の概念を、それ自体命題として理解し、「xは猫である」のように動物をxという記号の形で示すということです。つまり、概念を名辞ではなく、xのような関数として理解しているということになります。
さらに拡張して、「xはyを愛している」の関係性も関数とみなして、これをGxyのように記号化することができる。
そしてこのとき、事項xとyの値を人間に限定すれば、多重量化を含んだ命題「すべての人間は誰か(ある人間)を愛している」は、
「すべてのxについて、Gxyであるyが存在する」
という関数として、その論理構造を明晰に表現することができるのである。
さらにまた「すべてのxについて」という全量を与えることを下図にような記号で表し
「・・・であるyが存在する」という不定量を与えることを下図の記号とする。
そうすると、「すべてのxについて、Gxyであるyが存在する」は、全て下図のように記号のみで表現できるようになる。
フレーゲは、上記の記号だけではなく、他にも彼独自に案出した人工言語があり、それを「概念記法」と呼んでいる。
こうした名辞ではなく命題に基づいた論理学の体系自体は、古代のストア学派なども開発していたが、フレーゲの功績は、下記の通りである、と古田氏は言う。
こうした論理学の革新をフレーゲが進めたのは,算 術 (数学のうちで幾何学と大別されるもの)の基礎づけ、という課題で あった、と言う。
ところが、彼の構想は、ラッセルにより矛盾を指摘されて、挫折した。しかし、彼の試みの過程で、現代論理学が創始され、さらに道具立てを用いた言語哲学を誕生させたことが重要である、と言うのです。
ラッセルが指摘した矛盾は「ラッセルのパラドックス」と称されているが、その後、このパラドックスを回避することを試みられている。その回避方法については、本書の範囲を超えているので、省かれています。
フレーゲが構築した新しい論理学が、現在のプログラミングやAI人工知能に貢献しているということでしょう。
この記事が気に入ったらサポートをしてみませんか?