論理学FAQのブログ

授業でもらったコメントに対して書いたリプライを、ブログ形式に編集しました。

真理値を数にするのはなぜ

2019年5月7日のコメントペーパーより。レジュメは古典命題論理

コメント:真理値は「真」「偽」をそれぞれ1, 0という数で表しますが、それによって計算ができるわけではないので、冗長であるように感じました。あえて数を導入することに意味はあるのでしょうか。

回答:基本的には、2つの異なるものがあればよいので、10でも真偽でもTFでも犬猫でもかまいません。ただ、「計算ができるわけではない」の「計算」の意味が少し狭いように感じられます。おそらく「計算」ということで、四則演算を考えているのだと思いますが、例えば、最大最小値をとる操作などを認めてよいのなら、
 \neg x = 1-x

 a \wedge b =\min\{a,b\}

 a \vee b =\max\{a,b\}

 a\supset b = \max\{\neg a,b\}

などと定義することができます。数学的な操作で真理値の「計算」はできるわけです。

で、数で表すことには次のような重要性があるのではないかと思います。現在、計算可能性の理論は自然数 ( 0,1,2,3,\ldots) 上の操作を対象に定式化されています。そして、それ以外の操作、たとえばグーグルで検索するとかお風呂に入るとかは、それを自然数上の操作に符号化 (エンコード) することで、計算可能かどうかを判定します。ということで、真理値を何らかの自然数 (別に10でなくてもよいがとにかく自然数) で表わして、各結合子の真理値表を上のように自然数に対する操作として表せば、それらが「計算可能」であるかどうかを判定できるわけです(じっさい計算可能です) *1

*1: \neg x はさいしょ  |x-1| と絶対値をとる操作にしてましたが、修正しました。 1-x とすれば絶対値はいらないですね。ぼけてました。

小林聡@京都産業大学 on Twitter: "どうして¬x=1-xにしないんだろう?
まあ、大した問題じゃないけど。… "

小林聡さんにご指摘いただきました。ありがとうございました。