見出し画像

背理法から考える古典論理と構成主義

今日は背理法について考えてみたいと思います。
背理法というのは、ある命題が成り立つことを証明するために、
“その命題の否定を仮定し、それが矛盾すること”を示す証明方法のこと。

$${\sqrt{2}}$$が無理数であることを証明せよ。という問題に対しては、
(ほぼ何も考えずに)$${\sqrt{2}}$$が有理数であると仮定する…という流れが体に染みついていると思います。

当時、私は命題の否定を何とおくかのところをそこまで深く考えたことはなかったのですが、
今になって、命題の否定を何とおくか決めるところが一番大事じゃないか!と思ったのです。

例えば先ほどの例だと、$${\sqrt{2}}$$は実数であることが定義上明らかなので全体集合を“実数”としているということと、
任意の実数は有理数か無理数のどちらかに該当するというJEPDの概念、
この二つが土俵として非常に重要になっているということです。

何を当たり前のことを…とお思いでしょうか。
う~~んではもう一つ別の例を。
"$${a^2}$$が偶数なら、$${a}$$も偶数であることを証明しまーす!"といって
"$${a^2}$$が偶数だが$${a}$$が奇数である"と仮定をおいても
これだけだと全体集合が何かが定まっていないので
“偶数ではない=奇数”が成り立ちません。
$${a}$$は整数とする、という前提条件あってこそ成立する話であるということです。

全体集合“整数”について、
$${P}$$:偶数、とすると、
$${\neg P}$$は“偶数ではない”になります。
この$${\neg P}$$:“偶数ではない”の一般系$${Q}$$を考えたときに
$${P, Q}$$という分類がJEPDであれば、排中律が成立するわけです。
ここで、排中律とは$${P}$$ か $${\neg P}$$ のどちらかは必ず真であるという法則のことで、
古典論理の根幹です。

構成主義数学では排中律は無条件では認められず、
“背理法がいつでも使えるわけではない”という哲学的問題につながるのです。

排中律がない世界で背理法が壊れる話、とんでもなく面白そうな予感しかしませんよね?
証明テクニックの話から論理の前提というステップに一段上がって一緒に進んでみましょう。

まず排中律についてもう一度。
排中律(Law of Excluded Middle)とは、
任意の命題 $${P}$$ について$${P \lor \neg P}$$ は必ず真 が成立すること。
「$${P}$$か、$${P}$$でないか、どちらかは必ず成立する」ということです。
例えば、
$${\sqrt{2}}$$は有理数である
$${\sqrt{2}}$$は有理数でない
この二つのうち、どちらかは必ず正しい。これが排中律。

背理法の中で、「$${\neg A}$$が偽なら$${A}$$が真」が成立するのは
$${A \lor \neg A}$$ が必ず真(排中律)だからです。
(※排中律と二重否定除去($${\neg\neg A \implies A}$$)が同値関係にある原理)

排中律が認められる古典論理と、排中律が認められない構成主義の違いは
存在証明に強く表れます。
先ほども述べた通り、古典論理では排中律が認められるため、
“$${A}$$が存在しないことが矛盾する→$${A}$$が存在する”をいえるわけですが、
構成主義では
“$${A}$$が存在しないことが矛盾することを証明しても、$${A}$$が存在するとはいえない"と考えます。
(逆はいえます。構成主義でも、$${A}$$の存在を証明すれば、$${A}$$が存在しないことの矛盾が成立します。)

構成主義では、
“$${A}$$が成立する”とは、“$${A}$$を成立させる具体的な構成(証拠)を与えられること”を指します。
分かりやすく言えば、「存在するというなら実際に作って見せてください」という立場ということです。

ここまで、いかがでしょうか??
もしかしたら、構成主義の「実例を見てみないと何とも言えない」的な感覚は直感に合ってるかもしれませんね。
古典論理が「真理は人間の証明能力とは独立して決まっている」という立場なのに対して
構成主義は「真理とは、構成できること」。

そもそも古典論理とか構成主義とかってなんやねん!
どうとらえたらいいのか、何をもってどっちにするとか決めるんや?ってなりますよね。

何をもって選ぶのか、結論、それは目的によって決まります。

数学者が「ある数が存在すること」を証明したいとき、
背理法もOKですし実物を出さなくてもOK。
理論の完成度を重視するからです。

一方でエンジニアが
「その数を出力してください」と言われたとき、
実装できなければ(具体的な値を返せなければ)意味がありませんよね。
計算機科学では、構成主義が自然です。

私の比喩が適切かは分かりませんが、こんな風に解釈しています。
古典論理:
編み物の教科書
この編み図なら必ずセーターが存在するといってよい

構成主義:
教科書を読んだ人が習得した知識や編み物の実績
実際に編むことでセーターが存在するといえる

さあ、では…

  • “理論上存在するけど絶対に編めないセーター”

  • “理論上存在するけど編めるか分からないセーター”

※「理論上存在する」とは背理法などで存在が保証された状態。でも編み方は示されていない。
それでも“存在する”と言ってよいのか?

この二つ、古典論理と構成主義で捉え方にどんな違いが出るか、
考えてみませんか?


いいなと思ったら応援しよう!

この記事が参加している募集