排中律(law of excluded middle)とは、どの命題 $P$ についても「$P$ であるか $P$ でないか」のどちらかが成り立つという原理で、論理式 $P\lor\lnot P$ で表され、直観主義論理に公理図式として加えると古典論理になる。直観主義論理では一般には証明できないが否定もできず、命題論理では、排中律を使って証明できる式は二重否定を付ければ排中律なしで証明できる(Glivenko の定理)。弱い排中律 $\lnot P\lor\lnot\lnot P$ は De Morgan の法則の片側と同値で排中律より真に弱く、直観主義論理の上の集合論では選択公理が排中律を導く(Diaconescu の定理)。
「どんな命題 $P$ についても、$P$ であるか $P$ でないかのどちらかである」という原理を 排中律(law of excluded middle)という。論理式では $P\lor\lnot P$ と書く。通常の数学は排中律を自由に使う。「$P$ のときは…、$P$ でないときは…」という場合分けや背理法はその典型である。排中律を使うと、どちらの場合が実際に起きているかを決めないまま結論を出せる。その代わり、存在を主張する定理を証明しても、存在する対象を具体的に示さないことがある。
排中律を一般の原理としては認めない論理が直観主義論理であり、そこに排中律を加えると古典論理になる。この記事では排中律を定義し、何を主張して何を主張しないかを例で確かめたうえで、次の 3 つを証明する。命題論理では、排中律を使って証明できる式は、二重否定を付ければ排中律なしで証明できる(Glivenko の定理)。弱い排中律 $\lnot P\lor\lnot\lnot P$ は De Morgan の法則の片側と同値で、排中律より真に弱い。直観主義論理の上で集合論を展開するとき、選択公理は排中律を導く(Diaconescu の定理)。
記法は 直観主義論理 の記事に合わせる。命題論理の論理式は、命題変数と定数 $\bot$(矛盾)から結合子 $\land,\lor,\to$ で作り、否定を $\lnot\varphi:=(\varphi\to\bot)$ で定める。同記事の定義「直観主義命題論理の公理系」の公理 1〜7 と前件肯定による導出可能性を $\Gamma\vdash_{\mathrm{I}}\varphi$ と書き、公理の番号もその定義に従う。
論理式 $\varphi$ について、論理式 $\varphi\lor\lnot\varphi$ を $\varphi$ についての 排中律(law of excluded middle)という。すべての論理式 $\varphi$ について $\varphi\lor\lnot\varphi$ を公理とすることを、公理図式としての排中律 という。直観主義命題論理の公理 1〜7 に公理図式としての排中律を加えた体系での導出可能性を $\Gamma\vdash_{\mathrm{C}}\varphi$ と書く。
述語論理では、自由変数 $x_1,\dots,x_n$ をもつ論理式 $\varphi$ について $\forall x_1\cdots\forall x_n\,(\varphi\lor\lnot\varphi)$ を排中律という。
$\vdash_{\mathrm{C}}$ は古典命題論理の導出可能性であり、$\vdash_{\mathrm{C}}\varphi$ は $\varphi$ が恒真式であることと同値である(直観主義論理 の記事の定義「直観主義命題論理の公理系」の直後の段落)。排中律の代わりに二重否定除去 $\lnot\lnot\varphi\to\varphi$ や Peirce の法則 $((\varphi\to\psi)\to\varphi)\to\varphi$ を公理図式として加えても、証明できる式は変わらない(同記事の命題「排中律と二重否定除去」と注意「Peirce の法則」。排中律と二重否定除去の同値は OLT26 Theorem 24.2 にもある)。
古典論理ではどの式も決定可能である。
直観主義論理 の記事の注意「証明による意味づけ(BHK 解釈)」の読み方では、$\varphi\lor\psi$ の証明は「どちらを証明するかの指定」とその証明の組である。したがって $\varphi\lor\lnot\varphi$ の証明とは、$\varphi$ を証明するか反駁するかを実際に決めることであり、排中律を公理図式として認めることは、すべての命題についてそれができると主張することになる。この読み方では、排中律は「真理は私たちが知っているかどうかと無関係に決まっている」という前提の表明であり、自明な論理法則ではない。
一方で、排中律を否定することもできない。$\lnot\lnot(\varphi\lor\lnot\varphi)$ は直観主義論理で証明できる(同記事の命題「直観主義論理で証明できる式」の 4、OLT26 Example 58.7)。「$\varphi$ でも $\lnot\varphi$ でもない」と仮定すると、$\lnot\varphi$ が出て、それが $\lnot\varphi$ でないことと矛盾するからである。排中律を認めない立場は、排中律が偽だと言うのではなく、すべての式についての一様な証明がないと言うのである。後で示す Glivenko の定理は、この観察を命題論理全体に広げたものになっている。
実数 $x$ について、「$x+\sqrt2$ と $x-\sqrt2$ の少なくとも一方は無理数である」。実際、両方が有理数なら差 $(x+\sqrt2)-(x-\sqrt2)=2\sqrt2$ が有理数になり、$\sqrt2$ が有理数でないこと(有理数 の記事の命題「2の平方根は有理数でない」)に反する。
この証明が直接示すのは、$A$ を「$x+\sqrt2$ は有理数」、$B$ を「$x-\sqrt2$ は有理数」として $\lnot(A\land B)$ である。結論 $\lnot A\lor\lnot B$ を得るには De Morgan の法則の片側 $\lnot(A\land B)\to(\lnot A\lor\lnot B)$ を使っており、これは排中律なしには証明できない(De Morganの法則 の記事の「例と反例」の節)。後の prop-lem-weak-demorgan によれば、ここで必要なのは $A$ についての弱い排中律 $\lnot A\lor\lnot\lnot A$ である。$x=\sqrt2$ のように $x$ が具体的に分かっていればどちらが無理数かも分かる($x-\sqrt2=0$ は有理数なので $x+\sqrt2=2\sqrt2$ が無理数)が、証明そのものはその情報を含まない。
自然数 $n$ について、$n$ が $4$ 以上の偶数で $2$ つの素数の和で表せず、しかも $4\le m< n$ を満たすすべての偶数 $m$ が $2$ つの素数の和で表せるとき $a_n:=1$、そうでないとき $a_n:=0$ とする。各 $a_n$ は有限回の計算で決まり、$a_n=1$ となる $n$ は高々 $1$ つ($2$ つの素数の和で表せない最小の偶数)である。
$$
r:=\sum_{n=0}^{\infty}a_n2^{-n}
$$
とおくと、$0\le r\le1$ であり、$\left\lvert r-\sum_{n=0}^{N}a_n2^{-n}\right\rvert\le\sum_{n>N}2^{-n}=2^{-N}$ なので、$r$ はいくらでも精密に計算できる。さらに $r=0$ であることは、すべての $a_n$ が $0$ であること、すなわち $4$ 以上のすべての偶数が $2$ つの素数の和で表せること(Goldbach予想)と同値である。$2$ つの素数の和で表せない偶数があれば、その最小のものを $n_0$ として $r=2^{-n_0}>0$ だからである。
したがって排中律の例 $r=0\lor r\ne0$ を BHK 解釈の意味で証明することは、Goldbach 予想を証明するか反証することにほかならない。OLT26 §58.3 は、証明も反証もされていない命題の例として Goldbach 予想を挙げ、こうした命題のために排中律は一般には主張できないと説明している。もちろん古典論理では $r=0\lor r\ne0$ は正しく、$\lnot\lnot(r=0\lor r\ne0)$ は直観主義論理でも成り立つ。
$X=\{1,2\}$ の冪集合 $B=\{\emptyset,\{1\},\{2\},X\}$ は、和集合・共通部分・補集合で 4 元の Boole 代数になる(最小元 $\emptyset$、最大元 $X$)。命題変数 $p$ に $\{1\}$ を割り当てると、古典論理 の記事の定義「Boole 代数での値」の意味で
$$
[\![p\lor\lnot p]\!]=\{1\}\cup\{2\}=X
$$
であり、排中律は最大元をとる。$p\lor\lnot p$ は恒真式なので、これはどの Boole 代数・どの付値でも同じである(同記事の定理「Boole 代数に関する妥当性」)。しかし $p$ 自身の値 $\{1\}$ は最小元でも最大元でもない。
これに対し、3 元の鎖 $\{0< h<1\}$ を Heyting代数 とみて $p$ に $h$ を割り当てると、$p\lor\lnot p$ の値は $h\ne1$ である(直観主義論理 の記事の例「反例:3 元の鎖と排中律」)。排中律が成り立つかどうかを分けるのは、真理値の個数ではなく、各元が補元をもつ(Boole 代数である)かどうかである。
排中律を使った証明から排中律を取り除くとき、結論に二重否定を付ければ足りる。その鍵は、二重否定が前件肯定と両立することである。
任意の論理式 $\varphi,\psi$ について
$$
\vdash_{\mathrm{I}}\lnot\lnot(\varphi\to\psi)\to(\lnot\lnot\varphi\to\lnot\lnot\psi)
$$
である。
$\Gamma:=\{\lnot\lnot(\varphi\to\psi),\ \lnot\lnot\varphi,\ \lnot\psi\}$ とおく。$\Gamma,\varphi\to\psi,\varphi$ からは前件肯定で $\psi$ が出て、$\lnot\psi$ と合わせて $\bot$ が出る。演繹定理(直観主義論理 の記事の命題「演繹定理」)により $\Gamma,\varphi\to\psi\vdash_{\mathrm{I}}\lnot\varphi$ であり、これと $\lnot\lnot\varphi=(\lnot\varphi\to\bot)$ から $\Gamma,\varphi\to\psi\vdash_{\mathrm{I}}\bot$ となる。再び演繹定理により $\Gamma\vdash_{\mathrm{I}}\lnot(\varphi\to\psi)$ であり、$\lnot\lnot(\varphi\to\psi)$ と合わせて $\Gamma\vdash_{\mathrm{I}}\bot$ である。演繹定理を 3 回使うと
$$
\vdash_{\mathrm{I}}\lnot\lnot(\varphi\to\psi)\to\bigl(\lnot\lnot\varphi\to(\lnot\psi\to\bot)\bigr)
$$
を得る。$\lnot\psi\to\bot$ は $\lnot\lnot\psi$ そのものである。$\square$
命題論理の論理式 $\varphi$ について、$\vdash_{\mathrm{C}}\varphi$ であることと $\vdash_{\mathrm{I}}\lnot\lnot\varphi$ であることは同値である。
主張は 直観主義論理 の記事の定理「Glivenko の定理」と同じである。
$\vdash_{\mathrm{C}}\varphi$ とし、$\varphi$ で終わる導出 $\chi_1,\dots,\chi_m$ をとる。各 $\chi_k$ は公理 1〜7 のどれかであるか、排中律 $\psi\lor\lnot\psi$ の形であるか、前の 2 つから前件肯定で得られる。$k$ についての帰納法で $\vdash_{\mathrm{I}}\lnot\lnot\chi_k$ を示す。
証明は、古典論理の導出の各行に $\lnot\lnot$ を付けると直観主義論理の導出の骨組みになることを示している。排中律の行は、直観主義論理で証明できる $\lnot\lnot(\psi\lor\lnot\psi)$ に置き換わる。
命題論理の論理式について、次が成り立つ。
1 は thm-lem-glivenko と $\lnot\lnot\lnot\psi\to\lnot\psi$ から、2 は $\lnot\bot$ が証明可能であることから、3 は恒真式が古典論理で証明可能であることから従う。
1. $\vdash_{\mathrm{C}}\lnot\psi$ なら thm-lem-glivenko により $\vdash_{\mathrm{I}}\lnot\lnot\lnot\psi$ であり、直観主義論理 の記事の命題「直観主義論理で証明できる式」の 3($\lnot\lnot\lnot\psi\to\lnot\psi$)と前件肯定で $\vdash_{\mathrm{I}}\lnot\psi$ である。逆向きは公理 1〜7 が古典論理の体系にも含まれることによる。
2. $\vdash_{\mathrm{C}}\bot$ なら thm-lem-glivenko により $\vdash_{\mathrm{I}}\lnot\lnot\bot$、すなわち $\vdash_{\mathrm{I}}(\lnot\bot)\to\bot$ である。$\lnot\bot=(\bot\to\bot)$ は証明可能(同記事の命題「演繹定理」の証明の冒頭の $\varphi\to\varphi$)なので、前件肯定で $\vdash_{\mathrm{I}}\bot$ である。逆向きは 1 と同じ理由による。直観主義命題論理では $\bot$ が証明できない(同記事の系「直観主義論理で証明できない式」)ので、$\vdash_{\mathrm{C}}\bot$ でもない。
3. 恒真式は古典命題論理で証明可能である(def-lem-main の直後の段落)ので、thm-lem-glivenko による。$\square$
述語論理では、結論全体に二重否定を付けるだけでなく、原子論理式・選言・存在記号に二重否定を入れる Gödel–Gentzen の二重否定翻訳 $\varphi\mapsto\varphi^N$ を使い、$\varphi$ が古典論理で証明可能なら $\varphi^N$ は直観主義論理で証明可能である(OLT26 Theorem 24.3)。
ex-lem-sqrt2 で使った De Morgan の法則の片側は、排中律のすべてを必要とするわけではない。
任意の論理式 $\varphi,\psi$ について、次が成り立つ。
1 は弱い排中律 $\lnot\varphi\lor\lnot\lnot\varphi$ で場合を分け、$\lnot\lnot\varphi$ の場合に $\lnot\psi$ を導く。2 は無矛盾律 $\lnot(\varphi\land\lnot\varphi)$ が証明できることから従う。
1. $\Gamma:=\{\lnot\varphi\lor\lnot\lnot\varphi,\ \lnot(\varphi\land\psi)\}$ とおく。公理 5 により $\Gamma\vdash_{\mathrm{I}}\lnot\varphi\to(\lnot\varphi\lor\lnot\psi)$ である。次に $\Gamma,\lnot\lnot\varphi,\psi,\varphi$ を考えると、公理 4 により $\varphi\land\psi$ が出て、$\lnot(\varphi\land\psi)$ と合わせて $\bot$ が出る。演繹定理により $\Gamma,\lnot\lnot\varphi,\psi\vdash_{\mathrm{I}}\lnot\varphi$ であり、$\lnot\lnot\varphi$ と合わせて $\Gamma,\lnot\lnot\varphi,\psi\vdash_{\mathrm{I}}\bot$、したがって $\Gamma,\lnot\lnot\varphi\vdash_{\mathrm{I}}\lnot\psi$ である。公理 5 と演繹定理で $\Gamma\vdash_{\mathrm{I}}\lnot\lnot\varphi\to(\lnot\varphi\lor\lnot\psi)$ を得る。公理 6 の $$ (\lnot\varphi\to\chi)\to\bigl((\lnot\lnot\varphi\to\chi)\to((\lnot\varphi\lor\lnot\lnot\varphi)\to\chi)\bigr),\qquad\chi:=\lnot\varphi\lor\lnot\psi $$ に前件肯定を 3 回使うと $\Gamma\vdash_{\mathrm{I}}\lnot\varphi\lor\lnot\psi$ であり、演繹定理で 1 を得る。
2. 無矛盾律 $\lnot(\varphi\land\lnot\varphi)$ は直観主義論理で証明できる(rem-lem-bivalence)ので、前件肯定による。
最後の主張は、1 により前者の体系で後者の公理がすべて証明でき、2 で $\psi:=\lnot\varphi$ とすると後者の体系で前者の公理がすべて証明できることによる。演繹定理は公理を加えても成り立つ(直観主義論理 の記事の命題「演繹定理」の証明は公理 1・2 と前件肯定しか使わない)。$\square$
1 の証明で使った弱い排中律は $\varphi$ についての 1 つだけである。ex-lem-sqrt2 の議論は、「$x+\sqrt2$ は有理数」という 1 つの命題についての弱い排中律があれば排中律なしに完結する。
$\varphi$ についての弱い排中律は、$\lnot\varphi$ についての排中律 $\lnot\varphi\lor\lnot\lnot\varphi$ そのものである。したがって公理図式としての排中律は弱い排中律を含む。逆は成り立たない。
$p$ を命題変数とする。弱い排中律の例 $\chi_1,\dots,\chi_n$(それぞれある論理式 $\varphi_i$ について $\chi_i=\lnot\varphi_i\lor\lnot\lnot\varphi_i$)をどのように有限個とっても、$\chi_1,\dots,\chi_n\vdash_{\mathrm{I}}p\lor\lnot p$ とはならない。したがって、直観主義命題論理に公理図式として弱い排中律を加えた体系では、$p\lor\lnot p$ は証明できない。
3 元の鎖 $\{0< h<1\}$ では弱い排中律の例の値がすべて $1$ になるが、$p$ に $h$ を割り当てると $p\lor\lnot p$ の値は $h$ になることを、健全性と組み合わせる。
3 元の鎖 $H=\{0< h<1\}$ を 直観主義論理 の記事の例「反例:3 元の鎖と排中律」の Heyting 代数とする。否定は $\lnot0=1$、$\lnot h=0$、$\lnot1=0$ なので、どの $a\in H$ についても $\lnot a\in\{0,1\}$ であり、$\lnot a=0$ なら $\lnot\lnot a=1$、$\lnot a=1$ なら $\lnot a$ 自身が $1$ である。よって $\lnot a\lor\lnot\lnot a=\max\{\lnot a,\lnot\lnot a\}=1$ である。したがって、どの付値 $v$ についても、弱い排中律の例の値はすべて $1$ である(同記事の定義「Heyting 代数での値」)。
$\chi_1,\dots,\chi_n\vdash_{\mathrm{I}}p\lor\lnot p$ と仮定すると、演繹定理を $n$ 回使って $$ \vdash_{\mathrm{I}}\chi_1\to\bigl(\chi_2\to\cdots\to(\chi_n\to(p\lor\lnot p))\cdots\bigr) $$ となる。$v(p)=h$ とする付値をとる。同記事の定理「Heyting 代数に関する健全性」により、この式の値は $1$ である。一方、Heyting 代数では $c\le(1\Rightarrow b)\iff c\land1\le b\iff c\le b$ なので $1\Rightarrow b=b$ であり、各 $\chi_i$ の値は $1$ なので、この式の値は $[\![p\lor\lnot p]\!]_v=h\lor0=h\ne1$ に等しい。これは矛盾である。
体系での導出は、使った有限個の公理の例を仮定とする直観主義論理の導出なので、後半が従う。$\square$
$\{0< h<1\}$ のように全順序をなす Heyting 代数では否定の値が $0$ か $1$ しかないので、弱い排中律はつねに成り立つ。排中律が破れるのは中間の値 $h$ 自身が補元をもたないからである。弱い排中律は「$\varphi$ が不可能か、$\lnot\varphi$ が不可能か」と読め、否定の形の命題についてだけ排中律を認めることに当たる。
ZFC公理系 は古典論理の上の理論であり、排中律ははじめから使える。集合論を直観主義論理の上で展開すると、どの公理が排中律を引き込むかが問題になる。ここでは、直観主義述語論理(等号を含む)の上で、次の公理を仮定する(Shu18 §2 の形)。
上の公理のもとで、任意の論理式 $\varphi$ について $\varphi\lor\lnot\varphi$ が証明できる。
$\varphi$ を論理式とし、変数 $x$ は $\varphi$ に自由に現れないとする。分出により
$$
A:=\{x\in2\mid x=0\lor\varphi\},\qquad B:=\{x\in2\mid x=1\lor\varphi\}
$$
をとる。$0\in A$、$1\in B$ なので、$A,B$ はどちらも元をもつ。対の公理により $a:=\{A,B\}$ をとると、$a$ の元は $A$ か $B$ に等しいので、どれも元をもつ。選択公理により、$a$ 上の関数 $f$ で $f(A)\in A$、$f(B)\in B$ となるものがある。$A,B\subset2$ なので
$$
(f(A)=0\lor f(A)=1)\land(f(B)=0\lor f(B)=1)
$$
である。この 2 つの選言で場合を分ける。
効いているのは、$2$ の元が $0$ か $1$ に決まること、$f$ が等しい集合に同じ値を返す関数であること、分出が任意の論理式に許されていることの 3 つである。
このため、直観主義論理の上の集合論(構成的集合論)は、選択公理を一般の形では採らず、可算選択などの弱い形に限ることが多い。UFP13 §10.1.4 の末尾(p. 345)は、トポス の理論でも選択公理が排中律の十分条件としてよく知られていることを述べている。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 結論に二重否定を付ける(thm-lem-glivenko) | $p\lor\lnot p$ | 古典論理で証明できる式が、直観主義論理で証明できること |
| 加える公理が排中律(弱い排中律に弱める) | 3 元の鎖 $\{0< h<1\}$ で $p$ に $h$ を割り当てる | $p\lor\lnot p$ が導けること(prop-lem-weak-strict) |
| 二重否定除去をすべての式に加える(1 つの命題変数 $p$ についての $\lnot\lnot p\to p$ だけにする) | $\mathbb{R}$ の開集合の Heyting 代数で $p$ に $(-\infty,0)$ を割り当てる | $p\lor\lnot p$ が導けること |
| 真理値が $0$ と $1$ の 2 つ(Boole 代数に広げる) | 4 元の Boole 代数で $p$ に $\{1\}$ を割り当てる | 排中律が成り立つなら各命題の値が $0$ か $1$ であること |
| $f$ が関数である($A$、$B$ から別々に元を選ぶだけにする) | $A$ から $0$、$B$ から $1$ を選ぶ | thm-lem-diaconescu の 3 つ目の場合で $\lnot\varphi$ を導くこと |
各行の反例は本文の例と命題、直観主義論理 の記事の系で確かめられる。
1 行目:$p\lor\lnot p$ は古典論理で証明できるが、直観主義論理 の記事の系「直観主義論理で証明できない式」により直観主義論理では証明できない。thm-lem-glivenko が直観主義論理での証明を保証するのは、二重否定を付けた $\lnot\lnot(p\lor\lnot p)$ だけである。
2 行目:prop-lem-weak-strict の証明そのものである。
3 行目:直観主義論理 の記事の注意「Peirce の法則」の次の段落による。$U=(-\infty,0)$ では $\lnot\lnot U=U$ なので $\lnot\lnot p\to p$ の値は $\mathbb{R}$ だが、$p\lor\lnot p$ の値は $\mathbb{R}\setminus\{0\}$ である。prop-lem-weak-strict の証明と同じく、健全性により $\lnot\lnot p\to p\vdash_{\mathrm{I}}p\lor\lnot p$ ではない。命題「排中律と二重否定除去」は、すべての式についての公理図式どうしの比較である。
4 行目:ex-lem-boolean による。$p\lor\lnot p$ の値は最大元 $X$ だが、$p$ の値 $\{1\}$ は $\emptyset$ でも $X$ でもない。
5 行目:$0\in A$、$1\in B$ なので、この選び方は $\varphi$ について何も仮定せずにできる。$\varphi$ が成り立って $A=B$ となっても、「$A$ から $0$、$B$ から $1$」という 2 つの選び方は矛盾しない。$A=B$ のとき $\{(A,0),(B,1)\}$ は 1 つの元に 2 つの値を対応させるので関数ではなく、選択公理の与える $f$ にはならない。$f$ が関数であることを使わないと、3 つ目の場合で矛盾を導けない。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する