『論理学入門』
執筆日時:

- 作者: 丹治信春
- 出版社/メーカー: 筑摩書房
- 発売日: 2014/05/08
- メディア: 文庫
- この商品を含むブログ (1件) を見る
“タブロー”という証明方法を使った入門書。
タブローの方法(英 tableau method)とは、真理の木(truth tree)あるいは意味論的タブロー(semantic tableau)または分析タブロー(analytic tableau)と呼ばれるものを用いて、論証の妥当性や、論理式が矛盾しているかやトートロジーであるかを機械的に調べる判定手続き(decision procedure)の一種である。ヤーッコ・ヒンティッカらのモデル集合という考え方を応用して作られ、レイモンド・スマリヤンによって広められた。
複雑な論理式をバラバラにして、末端に残った矛盾をツブしていく感じ。
たとえば、 が true ならば、A = True と B = True バラせる。
けれど、 が true ならば、A = True, B = False という組み合わせと、A = False, B = True という組み合わせの二つにバラせる(枝分かれ)。
そんな感じに全部バラバラにしていって、最初の true と枝先があってるかをみればよい……という仕組みのようだ。
たとえば、 という論理式の場合、これ全体を False と仮定し、
……(1)
まず、最後にある をバラす。
ならば A:True、B:False なので(その逆もアリじゃない? って自分は思ったんだけど。後述)、
……(2)
……(3)
このようにバラせる。(3) はバラしきったので、次は (2) をバラす。論理和で繋がれた式が真ならば、両方真のはず。
……(4)
……(5)
あれ、ちょっとわかんなくなってきた。やっぱり、p.58 の“タブローの一般的な規則”を頭に叩き込んで、機械的な手続きでバラせるように訓練しなきゃいけないみたい。
が真であれば、
は偽である
が偽であれば、
は真である
が真であれば、
は真、
も真である
が偽であれば、
が偽であるか
が偽である
が真であれば、
が真であるか
が真である
が偽であれば、
は偽、
も偽である
が真であれば、
が偽であるか
が真である
が偽であれば、
は真、
は偽である
最初 の部分があまり納得いかなかったが、「~ならば」と考えるのがだめであって、C# でいえば
return A ? (B ? true : false) : false;
だと考えれば至極もっともだった。「“A ならば B”が真だったら、“A が真、B が偽”っていう組み合わせとその逆があるだろ」というわけじゃない。“A が偽”だった時点で評価は終わり、論理式自体が 偽 になる。
よって、(4) と (5) はバラすときに分岐が発生する。先に (4) をバラす。
後ろの分岐は (3) と矛盾するから閉じる。
……(6)
次に (5) をバラす。
さっきと同様、後ろの分岐は (3) と矛盾するから閉じる。
……(7)
これは
……(7)
にバラせるが、(6) と矛盾するので閉じる。
よって、すべてが矛盾で閉じられたので、 は常に偽、つまり
は常に真(トートロジー)。
おぉ……ちょっとだけわかった気がする。論理記号が、または・かつ・ならば・でない じゃなくて、単なる論理操作を表すモノに見えるまで訓練しないとだめだなぁ。