述語論理で書くということ(1)

述語論理のresolutionについて考える前に、述語論理に馴染んでおきたい。

述語論理だが、変数を使わないならば、実質、命題論理と同じである。そういう、命題論理と述語論理の境界みたいな領域を主にここでは考えていきたい。

ここでの書き方やその説明は私の勝手な思い込みもあるので、教科書などと食い違っていたり、間違っているところもあるだろうと、言い訳をしておく。

まず、命題論理のresolutionの説明で書いてきた、clause集合Σ(*1)からconjecture Cへの証明 ∑⊢c があるとき、この証明の中では∑がとにかく真であると考えるということがある。この「真である」というのが難しい。数学では無から概念を構築するので、真は決まっていて、何かが「真」であるかどうかは「証明できる」かどうかということになるのだろう。

私が興味を持っているのは、数学以外の分野で述語論理を使って、どんなことをどんなふうに書けるのかということであり、そういう世界では、定義が明確ではなかったり「証明」が作れなかったりするので「真」かどうかは自明ではないと思う。たぶん、それぞれの分野で「真である」ということを定義する必要があり、それが「真」かどうかを判定する方法を定義するところから始めなくてはならないのかもしれない。

 例1) 兄弟関係

数学ではないけれど、数学のように定義がある程度はっきりしている例として兄弟について考える。
英語のBrotherはどっちが兄でどっちが弟かは気にしないけれど、日本語では兄と弟のようにどっちが年上かを区別した言葉がある。これらの概念を述語で表現することを考える。
具体的な登場する人物として「太郎」と「次郎」を考える。このように述語論理では、真偽の関係だけでなく、「物の世界」( この場合は「人の世界」)があり、その世界の登場人物を名前をつけて引き合いに出す。この「太郎」とか「次郎」という名前のことを、議論の間変化しないという意味で「定数」と呼ぶ。

まず、太郎と次郎に関していくつか書いてみる。

 +Brother(太郎、次郎)  … (1)

これは、太郎と次郎が兄弟であることを示す。+がついているので、真であると言っている。これが-だと太郎と次郎は他人であるとか、片方が女性であるとかいうことになるだろう。一方で、日本語の場合は兄弟といってもどちらが兄なのかを明確にするので

 +兄(太郎, 次郎) … (2)

という書き方をすることにする。太郎が次郎の兄であることを示している。
+でなく-兄だと、太郎と次郎が他人であるか、次郎が太郎の兄であるのかもしれない。
上の二つでは書ききれていない次の関係も書いておこう。

 +兄(太郎,次郎)∧-兄(次郎,太郎) … (3)
 +Brother(太郎,次郎)∧+Brother(次郎,太郎) …(4)

(3)は、
 「太郎が次郎の兄であるとき、次郎は太郎の兄ではない」
というようなことを主張している。
(4)は、
 「太郎と次郎がBrotherであるとき、次郎と太郎はBrotherである」
というようなことを主張している。太郎と次郎の書かれている順番が関係ないということだ。

(1)から(4)までは、太郎と次郎が存在して、彼らが通常の意味で兄弟のとき、その上で述語Brotherと兄が定義されていれば、真偽を判定することができる。

その定義の仕方を考えると、
現実の兄弟関係に基づいて定義するならば、Brotherと兄の定義は、血縁関係を定義し、それに基づいて定義することになるだろう。

血縁関係から定義する方法の他に、人類のすべてを列挙してそれらの間の関係(グラフ)としてBrotherや兄を定義する方法もある。実際に全人類の兄弟関係を網羅するのは現実的ではないかもしれない。全人類の戸籍はまだ存在しないから。

*まとめ
述語論理で書くといっても、いろいろな書き方がありうる。
そこで用いる語彙は客観的な方法で確認できるものでなくてはならない。数学と違って「真である」ことを具体的に確かめる方法が必要だからだ。

*余談
述語Brotherと兄の関係は単純に書けるだろう。変数x,yを使い「二人の人間を選んで、仮にxとyと書くとすると、Brotherはxかyのどちらかが兄になるような関係」というようなことである。

 ∀x∀y.(+Brother(x,y)⇔+兄(x,y)∨+兄(y,x))  … (5)

「∀x〜」は「任意のxについて〜」というような意味であり、たとえば

 ∀x.+動物である(x)⇒+親がいる(x)  … (6)

  つまり、「動物ならみんな親がいる」ということを表している。最初に出現した動物の個体はどうなんだという気はするが、おおまかにみて成り立っているだろう。

 「すべての」に対して「存在する」ということも書けて、その例はこういうふうに書く。

 ∃x.(+動物である(x)∧-子供がいる(x))

 これは、「子供のいない動物がいる」ということで、そういうこともあるだろう。

以上、途中意味のわかりにくいことも書いたが、こんなふうに書くのだという例である。
 
一方で、日常に使う概念の中で『好き』とか『憧れている』とか『尊敬する』といった関係は、確認する方法がひとりひとりの主張しかなく、日によって変わることもあるので、述語論理で書くのには適さない。もちろんこれらの概念を整理して書けるようになる日がいずれ来ないとも言えない。