質問: 述語論理の学習方針について 「論理学をつくる」(名古屋大学出版 外山田和久)で 論理学を勉強し始めた者です。 順調に読み進めてきたのですが、述語論理の意味論 (セマンティクス)へ足を踏み入れた途端、訳が解らなく なって困っております。 「モデル」、「変種」、「アサインメント」など、急に概念の レベルが高く感じられるような用語が多用されており、 そもそも何を目的としているのかが理解できなくなって おります。 意味論ということなので、論理式の真偽について議論 する分野だと思うのですが、抽象語が多く足踏みをして いる状態です。 考え方のコツがあれば、教えて下さい。 よろしくお願いします。
回答: どなたからも回答が寄せられていないようなので。。。 専門家ではありませんが、その昔、いわゆる「人工知能言語」とみなされていたlisp(リスト処理系)やprolog(一階の述語論理を扱う処理系)を使ったことのある立場からの発言になります。 ※逆に分かりにくくなるかも知れませんので、ご注意願います。 1.論理式は「真・偽」の2値に対する論理演算であり、ビット(2進数一桁、ゼロかイチか)を最小単位とする現行のコンピュータ(計算機)の論理的基礎にもなっている。 2.一定の長さ(たとえば8ビット)の0と1の羅列で作られた符号そのものには、意味という概念は想定しにくいが、たとえば、8ビットの符号にアルファベットやカナなどを対応させるとき、asciiコード表やankコード表といった「意味」のある符号列として扱うことができる。ただし、おなじ値をとる8ビット符号列であっても、対応させる表を変えることで、様々な文字に読み替えることができてしまう。 3.また、一定のコード表(たとえばascii7ビット)のみに基づいて、自然言語としての英単語を生成し、それら単語の一連の繋がり(ネットワーク構造)において、(人間にとって)共通の何らかの「意味」を見いだすことができるなら、その「繋がり」そのものに「意味」というラベル(このラベルに書く文字列も、一定のコード表に基づいた文字列になる)を貼り付けることができる。単語(ないし構造)同士を結びつけるネットワークの線に意味のあるラベルを貼り付けたものが、セマンティック(意味)ネットワークと呼ばれる構造になる。 4.したがって、「意味」という概念は、論理式そのものには含まれず、解釈する主体によって認識されることで、はじめて「本来の意味」となる。逆に言えば、「意味」そのものは、論理式のみで表現されるものではない。 述語論理は、あるコードの塊とあるコードの塊とを結びつけたものを述語として1つのコードの塊とする(http://oshiete.goo.ne.jp/qa/5462523.html)のですが、その結びつけに術語の名前(ラベル)を用い、そこに「意味」(解釈)を人間側が割り当てるのです。 真偽表に基づく術語の論理演算のレベルでは、「意味」に無関係に、術語の記号的側面(同一の記号か否か)にて計算することができます。したがって、一階の述語論理に基づいた推論をprologといった計算機言語にて処理することができるわけです。 抽象語が多数でてくる理由は、おそらく、論理演算レベルではない人間側の解釈・意図であるところの「意味」という概念を扱うからこそだと思われます。 参考になるかどうか分かりませんが、書かないよりマシだと思って記述しました。