無・空・零の数理構造
―― No, None, Zero が織りなす数学的宇宙 ――
第四章 Noの論理学 ―― 否定、矛盾、そして不可能性
ゼロが数の体系のなかの一点であり、空集合が集合の体系のなかの一個の対象であったのに対し、本章で扱う「No」、すなわち否定や不存在は、それらとはまったく異なる種類の「無」である。論理におけるnoは、数や集合のような対象ではなく、命題に対する判定や、論理体系のなかで作動する操作である。「成り立たない」「存在しない」「不可能である」――これらの言葉が論理学の枠組みのなかでどのように厳密化され、いかなる帰結を持つのかを、本章では順を追って検討する。
第一節 否定演算子の基礎
古典命題論理において、否定(negation)は最も基本的な論理結合子の一つである。命題Pに対して、その否定¬Pは、「Pが真であるとき偽となり、Pが偽であるとき真となる」一価命題として定義される。この単純な定義は、しかし、それが含意する論理的帰結の豊かさにおいて、実に多くのことを語っている。
否定を二度施せば元に戻るという二重否定の法則(¬¬P⇔P)、否定と他の論理結合子のあいだに成り立つド・モルガンの法則(¬(P∧Q)⇔¬P∨¬Q、および¬(P∨Q)⇔¬P∧¬Q)、そして排中律(P∨¬P)――これらは古典論理を特徴づける基本則であり、いずれも否定演算子の振る舞いを規定するものである。とりわけ排中律は、「あらゆる命題は、それが真であるか、その否定が真であるかのいずれか一方である」という、第三の選択肢を排除する強い主張であって、これが古典論理を直観主義論理から区別する決定的な特徴となっている。
二十世紀初頭の数学基礎論争のなかで、L・E・J・ブラウワーをはじめとする直観主義者たちは、排中律を無条件に認めることに異を唱えた。彼らによれば、命題の真偽は、それが構成的に証明されてはじめて確定するのであって、未だ証明も反証もされていない命題について「真であるか、その否定が真であるかのいずれかである」と先回りして主張することは、数学的な認識の手続きを越えている。直観主義論理においては、二重否定は元の命題を含意せず、また排中律も一般には成立しない。直観主義における否定は、古典論理におけるそれよりも弱く、構成的な性格を帯びた操作として定義されるのである。
第二節 解なし ―― 不能と不定
数学的な「解なし」、すなわち英語の「no solution」という事態には、注意深く区別しなければならない二つの様相がある。一つは「不能(impossibility)」であり、もう一つは「不定(indeterminacy)」である。前者は、解が存在しえないという意味での「無」であり、後者は、解が一意に定まらないという意味での「無」である。
典型的な例として、二元連立一次方程式を考えよう。x+y=1、x+y=2、という連立方程式を解こうとすれば、第一の方程式から第二の方程式を引いて0=1という矛盾が得られる。これは、もとの連立方程式が同時に成立しうる解(x,y)の組が存在しないことを意味する。すなわち、この方程式系は不能であり、解集合は空集合である。一方、x+y=1、2x+2y=2という連立方程式は、第二の方程式が第一の方程式の二倍にすぎないため、本質的に一本の方程式しか持たない。この方程式を満たす(x,y)の組は無数に存在し、解集合は直線上のすべての点である。これは不定の場合である。
不能と不定はいずれも「一意な解が存在しない」という結果に至るが、その内実はまったく異なる。不能は「解の集合が空である」というno、不定は「解の集合が大きすぎる」という別種の問題である。前者では、解集合の濃度がゼロであり、後者では、解集合の濃度が連続体の濃度にも達しうる。両者は集合の濃度のスペクトルの両極端に位置している、対照的な事態である。
線形代数の言葉でいえば、連立一次方程式Ax=bが不能であるとは、bが行列Aの像空間に含まれないことを意味し、不定であるとは、Aの核空間が自明でないことを意味する。すなわち、不能と不定はそれぞれ、像空間の不足と、核空間の過剰として、行列Aの構造的な特徴によって特徴づけられる。「解がない」という直観的な事態は、線形代数の精緻な理論のなかで、二つの全く異なる代数的現象に分解されるのである。
第三節 不存在の証明 ―― 背理法の威力
ある対象が存在しないことを証明するというのは、それ自体、極めて挑戦的な営為である。あるxが存在することを示すには、その実例を一つ提示すれば足りるが、あるxが存在しないことを示すには、すべての可能な候補を吟味してそのいずれもが条件を満たさないことを示すか、あるいはxの存在を仮定したときに矛盾が生じることを示す、といったより複雑な論法を必要とする。後者の戦略が、いわゆる背理法(reductio ad absurdum)である。
背理法による不存在証明の古典的な例は、√2が有理数ではないという事実の証明である。仮に√2が有理数p/qで表せるとして、pとqは互いに素な整数(最大公約数が1)であると仮定する。すると2=p²/q²、したがってp²=2q²となる。左辺は偶数であるからpも偶数でなければならず、p=2kと書ける。これを代入するとq²=2k²となり、qもまた偶数となる。しかしpとqがともに偶数であることは、両者が互いに素であるという仮定に矛盾する。したがって、√2を有理数として表すことはできない。√2を有理数の形で表すような整数の組は、論理的な必然として存在しない。
もう一つの著名な例は、最大の素数が存在しないというユークリッドの証明である。仮に有限個の素数p₁、p₂、……、pₙがあって、これがすべての素数であるとする。これらの積に1を加えた数N=p₁p₂……pₙ+1を考えると、Nは任意のpᵢで割っても1余る。したがってNはどのpᵢでも割り切れない。一方、Nが1より大きい整数であれば、Nは少なくとも一つの素因数を持つはずである。その素因数は仮定にあったp₁、……、pₙのいずれとも異なる新しい素数である。これは、p₁、……、pₙがすべての素数であるという仮定に矛盾する。したがって、素数は無限に存在する。換言すれば、最大の素数というものはこの世に存在しえない。
これらの証明はいずれも、対象の不存在を、対象の存在の仮定から矛盾を導くという形式で示している。背理法は、不存在の証明という、本来は無限の候補を吟味しなければ成り立たないように見える主張を、有限個の論理的ステップによって確定させる強力な技法である。背理法の有効性は、古典論理の排中律と帰謬律(矛盾を含意する仮定は否定されるという原則)に依拠している。直観主義の立場からは、背理法による存在の証明(たとえば「Pでないと仮定すると矛盾するから、Pが存在する」という形の議論)には批判が寄せられているが、不存在の証明については、古典論理と直観主義論理の双方において、同様に承認されるのが一般的である。
第四節 ゲーデルの不完全性定理 ―― 答えられない問い
二十世紀の論理学において、命題の真偽判定にまつわる最も衝撃的な発見は、クルト・ゲーデルが一九三一年に証明した、二つの不完全性定理である。第一不完全性定理は、自然数の算術を含む十分に強力な無矛盾な形式体系のなかには、その体系の規則に従って真であるとも偽であるとも証明できない命題が存在することを示している。第二不完全性定理は、そのような体系自身の無矛盾性を、その体系のなかで証明することはできないことを示している。
これらの定理が示すのは、論理的な「答えられなさ」――いわばyesともnoとも判定できない命題の存在――である。ゲーデルが構築した命題は、おおむね「この命題は本体系のなかで証明できない」という自己言及的な内容を持つ。仮にこの命題が証明できるとすれば、その内容(証明できない)に反するから、矛盾が生じる。逆に、この命題が反証できる、すなわちその否定が証明できるとすれば、命題は実際には真であって(証明できないと主張しているにもかかわらず証明できないのだから)、これも矛盾する。したがって、無矛盾な体系のなかでは、この命題は証明も反証もされえない。これがゲーデル不完全性定理の核心である。
不完全性定理の哲学的含意は、二十世紀の数学基礎論にとって決定的なものであった。ヒルベルト計画――数学全体を有限個の公理から機械的に展開できる完璧な形式体系として構築するというダフィット・ヒルベルトの企て――は、ゲーデルの定理によって、その根本的な部分において達成不可能であることが示された。数学のなかには、いかに精緻に公理を設定しようとも、つねに「答えられない問い」が残されるのである。これは、no(不可能)の極限的な形態であって、論理体系それ自体の構造的限界として、現代論理学の根底に横たわっている。
第五節 決定不能問題と計算理論
ゲーデルの不完全性定理と密接に関連しながら、計算理論のなかで現れる「no」のもう一つの形態として、決定不能問題(undecidable problem)がある。これは、ある問題に対して、それを解決するアルゴリズムが原理的に存在しないという主張である。アラン・チューリングが一九三六年に証明した停止問題(halting problem)――任意のプログラムと入力が与えられたとき、そのプログラムが有限時間内に停止するか否かを判定するアルゴリズムは存在しない――は、その典型的な例である。
チューリングの証明は、ゲーデルの不完全性定理と類似した自己言及の構造を用いる。仮に停止判定アルゴリズムHが存在すると仮定する。すると、Hを使って、自分自身を入力として与えられたときに、Hが「停止する」と判定すれば無限ループに入り、「停止しない」と判定すれば直ちに停止するという、奇妙なプログラムDを構築できる。このDをD自身に与えたらどうなるか。Dが停止するならば、Dの定義により無限ループに入るはずである。Dが停止しないならば、Dの定義により直ちに停止するはずである。いずれの場合も矛盾が生じるから、停止判定アルゴリズムHは存在しない。
停止問題の決定不能性以降、計算理論のなかでは、多くの問題が決定不能であることが示されてきた。論理式の充足可能性問題のなかには決定可能なものもあれば決定不能なものもあり、決定可能なもののなかにも、計算量の観点から実質的に解けないものがある。NP完全問題は、すべての問題が多項式時間で解けるかどうか(P=NP問題)が、現代計算理論の最大の未解決問題として残されている。これらの問題のなかには、論理的に「解けない(no)」という事態と、実用上「解けない(no、ただし論理的にではなく時間的制約として)」という事態が、複雑に絡み合っている。
論理学における「no」は、こうして、単純な命題の否定から始まり、不能と不定の区別、背理法による不存在の証明、ゲーデルの不完全性定理、そして計算理論における決定不能問題へと、深化と拡張を繰り返しながら発展してきた。これらは、数学が「真理を確立する営為」であると同時に、「何が確立できないか」を厳密に画定する営為でもあることを示している。
第六節 矛盾許容論理 ―― 矛盾を抱える論理体系
古典論理においては、矛盾を含む体系は爆発する。すなわち、PかつnotPが同時に成り立つ体系のなかでは、いかなる命題も導出可能となってしまう。これは「爆発律」(ex contradictione quodlibet)と呼ばれる古典論理の帰結であって、矛盾の存在を体系的に許容できないことを意味する。古典論理にとって、矛盾とは体系全体を破壊する致命的な疾患である。
二十世紀後半以降、こうした古典論理の制約を緩和し、矛盾を局所的に許容する論理体系が、ニューサウスウェールズ大学のニューエン・ダ・コスタ、メルボルン大学のグラハム・プリーストらによって発展させられた。矛盾許容論理(paraconsistent logic)と呼ばれるこれらの体系では、爆発律が成り立たず、ある特定の命題に関して矛盾が生じても、体系全体が爆発することはない。これは、現実世界における不完全な知識――情報源同士が矛盾している、あるいは異なる視点から見ると食い違う事実が報告されている――を扱うための論理体系として、人工知能や法理論の分野で応用されている。
矛盾許容論理のなかでは、ある命題Pについて、「Pは真であり、かつnotPも真である」という事態を、体系の崩壊なしに記述できる。これは古典論理から見れば奇妙な事態であるが、見方を変えれば、論理の「no」をより細やかに扱う技法とも理解できる。古典論理ではnoとは絶対的な否定であり、yesと両立しない。しかし矛盾許容論理では、yesとnoが特定の文脈において共存することを許す。「無」と「有」のあいだの境界線が、より柔軟に引き直されるのである。次章では、視点を解析学に転じ、ゼロに「限りなく近づく」という、ゼロでもなくゼロでないわけでもない不思議な事態としての無限小と極限を考察する。