数学基礎論講義をこっそり読む(その3)

引き続きこっそり読んでいます。この本の冒頭に挙げられた問いの一つは

問1 ある形式体系Tにおいて、\exists x\varphi(x)が証明できても、\varphi(t)が証明できるような、あるtが存在するとは限らない。その例を挙げよ。

で、直観には真っ向反していますが、こういうことが起こりうるのが形式体系の面白さなのか、わけわからなさなのか。


テキストではp.34において、この問題に関する概略の解答が提示されています。まだ、テキストにはでてきませんが、ある算術の公理系Tでは、証明も反証もできない命題\sigmaが存在し、これを使って上記の問題に対する例を作ります。その証明をすこし丁寧にたどってみます。突然、論理記号\wedgeやら\veeが使われていますが、まあ、ここは目をつぶります。


\varphi(x)(x=0\wedge \sigma)\vee(x=1\wedge \neg\sigma)とします。



より、T\vdash\varphi(0)\vee\varphi(1). さらに



より、T\vdash\exists x\varphi(x)


さて、もし \varphi(t)が証明できるような、あるtが存在したとして、tが変数を含む場合は適当に定数を代入したものをt'とすると、\varphi(t')も証明できる。ここで、もし\neg(t'=0)または\neg(t'=1)が証明できる場合は、たとえば\neg(t'=1)が証明できる場合、



\sigmaが証明できることになり、矛盾です。


これで問題の解答ができたように見えますが、一点だけちょっと気になる点があります。かなり病的なケースとは思われますが、\neg(t'=0)\neg(t'=1)も証明できない場合はちと困ります。t'=0が証明できると\neg(t'=1)が証明できるので、結局 t'=0t'=1ら自身が証明も反証もできない命題になっている場合です。ある特定の項t'が0か1かどうかすら証明も反証もできないというどうしようもない体系なのですが、算術の体系から公理\forall x \neg(S(x)=0)を取り除いてしまうとそんなものができそうな気配もします。


このあたりのことを考えていてふと疑問がわいたのは、まともな体系でも、任意の2つの定項t,t'(変数を含まない項)を持ってきたときに、t=t'もしくは\neg(t=t')のどちらかが証明できるという保証はあるのか?という点です。体系が演算や関数を持っている場合、それにかかわる公理がうまく作られていないと、この保証はないし、もちろん自明でもなく、(メタ)証明が必要であると思います。


それはさておき、ここまで読んで以前から気になっていたことのひとつが解消しました。前回の記事で前原昭二著『数学基礎論入門』を紹介しましたが、この本のp.39に『Aが自由変数xを含む場合には、は一般には証明できない』とあります。左向き矢印は公理なので、問題はA \to \forall x Aなのですが、推論規則 \frac{A}{\forall xA}があるのになんで?という感じです。演繹定理から一発で出るのでは?… いや、もちろんだめです。演繹定理には\varphiは文との制限があるからです。しかし、以前にこの注意書きを読んだときから、なんとなく気持ちが悪いままでした。

しかし、『数学基礎論講義』の問1からこれに対する例が作れます。
Aとして、\neg \varphiと取ります。もしA \to \forall x Aが証明できたとすると、その対偶 \neg \forall x A \to \neg A すなわち \exists x \varphi \to \varphi が証明でき、\exists x \varphiは証明できるので、\varphi(x)が証明でき、特に\varphi(0)すなわち\sigmaが証明できることになり、矛盾です。


最後にエルブランの定理の短い証明を。
全ての項tについて和集合 \Sigma = \{\neg\varphi(t) \}を考える。もし、\Sigmaの有限集合\Sigma'でモデルを持たないものがあると仮定する。すると、\neg (\wedge_{\Sigma'} \neg\varphi(t))。すなわち 、\vee_{\Sigma'}\varphi(t)となり、完全性定理より \vdash \vee_{\Sigma'}\varphi(t)。これが求める結果である。そこで、\Sigmaの有限集合\Sigma'が全てモデルを持つとする。コンパクト性定理より\Sigmaがモデルを持つ。しかし、このモデルにおいては \exists x\varphi(x) は真とはならず、、\exists x\varphi(x) すなわち \vdash \exists x\varphi(x) に矛盾する。