因果関係を記号論理でどう表すか

 因果関係を表す文、すなわち「AだからB」は日常生活でもよく使われる。この文は直感的に真理関数であるように思われる。なぜならば、AとBの真偽によって「AだからB」の真偽が定まるように思われるからである。たとえばAが真でBが偽のとき、「AだからB」は偽になるだろう。つまり、原因があるのに結果が伴わない場合、それはもはや原因とは呼べない。こういった真理関数はなんらかの記号で表すことができる。では因果関係は具体的にはどのような記号で表される真理関数になるのだろうか。以下ではそれを探っていこう。

A→Bはどうか?

表1

A B A→B

 さて、素朴に考えるならば「AだからB」は「A→B(A⊃B)」と表せそうだ。しかしこの解釈には問題がある。もし、この解釈を採用するならば「→」の定義に従って真理表は表1のようになる。前段落で言及した「Aが真でBが偽のとき、「AだからB」は偽」は表1で満たされている。この点だけを考えるならば、「AだからB」は「A→B」と表してもよいように思える。ところが、Aに「a氏は末期癌だ」Bに「a氏は死んだ」を代入した場合を考えよう。文全体は「a氏は末期癌だからa氏は死んだ」となる。ここで表1の下二段をみると、Aが偽のときBの真偽に関わらずA→Bは真になるとされているが、これは奇妙だ。なぜならAが偽ということは、「a氏は末期癌でない」ということを示す。にもかかわらず「a氏は末期癌だからa氏は死んだ」という文が真になってしまうのはおかしい。つまり、Aが偽のとき「AだからB」が偽にならなければならないような例が存在する。本稿ではこの問題を「a氏問題」と呼ぼう。この問題があるので我々は「AだからB」を単純に「A→B」とすることを諦めなければならない。

A∧Bはどうか?

表2

A B A∧B

 では、「AだからB」が真なのはAもBも真のときに限るのだろうか。a氏問題を解決するためには、そうせざるを得ない。なぜなら、前述のようにAが偽のとき「AだからB」が偽にならなければならず、Aが真でBが偽のときに「AだからB」は偽にならなければならないからだ。これを記号に置き換えれば「A∧B」となるだろう。これを真理表で表せば表2となる。この表し方以外ではa氏問題を解決できないことを確認してほしい。しかし、この解決法は同程度に重大な問題を引き起こす。たとえばAに「冥王星は存在する」Bに「筆者はこの文章を書いている」を代入してみよう。文全体は「冥王星は存在するから筆者はこの文章を書いている」となる。筆者の知る限り、AもBも真である。したがって「A∧B」も真になる。しかし、「冥王星は存在するから筆者はこの文章を書いている」は偽であるように思われる。このように「A∧B」ではAとBが無関係な内容でも真になってしまう。これを「冥王星・筆者問題」と呼ぼう。この問題ゆえに「A∧B」で「AだからB」を表すことも諦めねばならない。

命題論理の問題点

 ところで冥王星・筆者問題は「A∧B」の形に特有のものではなく、命題論理に通有の問題である。つまり、真理表(表1)をみれば明らかなように、最上段の条件は「A→B」と「A∧B」で変わらない。したがって、「A→B」だろうと「A∧B」だろうとAとBの内容は真偽に関係がない。どの結合子を選ぼうと、これと同じ問題が付きまとう。ではどうするべきなのか。そう、命題論理自体から離れねばならないのだ。

特殊と一般の区別

 命題論理を離れてこの二つの問題を解決する導入として、特殊な命題と一般的な命題の区別を行おう。「AだからB」と述べる場合には、「“ある場合に”AだからB」を意味するときと「“一般的に”AだからB」を意味するときの二種類の場合がある。例えば「猿は胎生だから哺乳類である」と「一般的に胎生だから哺乳類である*1」を比べてみよう。前者はすでに検討したように、「猿は胎生である」と「猿は哺乳類である」が成り立たねばならない。もし猿が胎生でないか哺乳類でなければ、この命題は成り立たないだろう。しかし後者は胎生でないような生物(たとえば鳥)や哺乳類でない生物(たとえば魚)の存在によって成り立たなくなることはない。成り立たなくなるのは、胎生かつ哺乳類でないような生物が存在する場合である。

述語論理へ

 これを踏まえて、因果関係を述語論理で記号化しよう。まず、因果関係の一般的な形は∀x(Ax→Bx)*2と表せる。すなわち、Aを「xは胎生である」Bを「xは哺乳類である」とすれば、xに猿を代入しても鳥を代入しても偽にならない。筆者は寡聞にしてそのような生物をしらないが、もし胎生であって哺乳類でない生物xが存在すれば、∀x(Ax→Bx)は偽になる。これは「Aには必ずBが伴う」という一般法則を表している。
 ここで冥王星・筆者問題は克服されている。冥王星・筆者問題で焦点になった命題を量化すればこれは明らかだ。「冥王星は存在するから筆者は文章を書いている」を量化して「すべての星xとすべての書き手yについて、xが存在するとき、yは文章を書いている」となる。これは明らかに偽だ。冥王星はいつでも存在するが、筆者はいつでも文章を書いているわけではない。このようにして、内容に関係がない二つの事柄は特殊な命題を真にしても一般的な命題を真にすることはできない。
 さて、ここまでくれば特殊な因果関係も扱うことができる。すなわち、(Aa∧Ba)∧∀x(Ax→Bx)と表せばよい*3。こうしてa氏問題も解決される。aは「a氏」、Axは「xは末期癌である」Bxは「xは死んだ」としてみよう。すると(Aa∧Ba)∧∀x(Ax→Bx)は「a氏は末期癌でかつ死んだ。さらに末期癌になった者は必ず死ぬ」という文を表すことになる。こうしてa氏に関しては末期癌であり、死んだことが主張される。さらにそれだけではなく、全ての人は末期癌になれば死ぬことが主張されている。したがって、a氏が末期癌でないかまだ生きているか、あるいは末期癌になってもまだ生きている人*4がいた場合、この命題は偽となる。つまり、a氏問題と冥王星・筆者問題が同時に解決されたのである。

結論

 まとめよう。因果関係は記号論理で以下のように表せる。

  • 一般法則の場合、∀x(Ax→Bx)
  • 特殊例の場合、(Aa∧Ba)∧∀x(Ax→Bx)

 改めて振り返ってみれば、ごく当たり前のことだが、こんなものだ。単純に式を扱うような場合、論理学の命題はだいたい当たり前のことでできている。

補遺――日常言語の「だから」

 ところで、日常言語における「だから」は∀x(Ax→Bx)ほど強力な主張をしているとは思えない。たとえば、「寒かったから暖房をつけた」という文を考えてみよう。これを厳密な因果関係として解釈すると、「寒いときには必ず暖房をつける」という一般的な法則を指すことになる。しかしよっぽど酔狂な人でない限り、「寒かったから暖房をつけた」と述べることによって、「寒いときでも暖房をつけずに厚着する・我慢する・震えるなどの行為をすることはありえない」などと主張することはないだろう。この日常言語との解離には以下のような場合が考えられる。

  • 原因はよくわかっていないが、合わせて起こる現象を仮に原因として考えている場合。
  • 原因の一部を述べている場合。

 前者の場合はとくに述べる必要はないだろう。これは我々の認識能力の限界・混乱を示すものであって、望ましいものではないが仕方ない。
 後者の場合はすなわち、一般法則が∀x((A1x∧A2x∧……∧Anx)→Bx)と表される場合、特に重要と思われる一つのAを選んで「AだからB」と述べている場合である。「寒かったから暖房をつけた」の場合は「寒く、かつそこに暖房器具があったから暖房をつけた」のうち寒いという主観的に重要そうな要因を選んできたものと捉えることもできるだろう。「一因を為す」や「諸要因がある」という言葉はこれを表すものだといえる。
 このように考えると、この述語論理による因果関係の把握は、多少の乖離はあれどそれほどに日常言語とかけ離れているわけではないだろう。

*1:自然言語としてはやや変な表現だがご容赦いただきたい。

*2:ここでは変項を一つしか使っていないが、いくつでも特に関係ないだろう。なお、議論領域は適切に設定されているものとする。以下同じ。

*3:この式はAa∧∀x(Ax→Bx)と同値なので、Baが冗長だが、わかりやすさのためにこのように記す。

*4:蛇足だが、まだ生きていると表現したのは、末期癌でなくとも人はいつか死ぬからである。他意は無い。