20210120『数理論理学』輪講のノート

いま扱っている範囲のモチベーションは、「述語論理における妥当な推論のパターンを追求する」ということです。現在のところ、私たちは「命題論理における妥当な推論は、そのまま述語論理にも当てはまる」という知識しか持ち合わせていません。しかし、5.72や5.73のような「この推論が妥当なら、あの推論も妥当である」という定理を用いることにより、手持ちの妥当な推論パターンから新しいパターンを次々に量産することが可能になります。

例えば、\(G(y)\)という仮定から\(F(x)\rightarrow G(y)\)という結論を導く推論は命題論理の知識によって妥当であることが分かっています。すなわち、\[G(y)\vDash F(x)\rightarrow G(y)\]が成り立っていますが、この結論の論理式は\( (F(z)\rightarrow G(y))[x/z]\)と見ることもできます。そこで、定理5.73において\(\Gamma, \varphi,\zeta,\xi\)として各々\(G(y),F(z)\rightarrow G(y),x,z\)を選んだものを考えると\[G(y)\vDash (F(z)\rightarrow G(y))[x/z]\]\[ならば\]\[G(y)\vDash\forall z(F(z)\rightarrow G(y))\]となります。いま「ならば」の前が成り立つことは既に分かっていますので、「ならば」の後も成り立ち、かくして妥当な推論が新たにひとつ得られたわけです。

この推論が妥当であることは直感的に頷けるならばそれに越したことはありませんが、定理5.73に頼らなくとも、個別に妥当性を確かめることが可能です。すなわち\([\![G(y)]\!]_{M,g}=1\)なる任意の解釈\(\langle M,g\rangle\)をとり、\([\![\forall z(F(z)\rightarrow G(y))]\!]_{M,g}=1\)となることを示せばよい。任意の\(a\in D_M\)をとると、\(z\notin fv(G(y))\)により\([\![G(y)]\!]_{M,g[z\mapsto a]}=[\![G(y)]\!]_{M,g}=1\)、したがって\([\![F(z)\rightarrow G(y)]\!]_{M,g[z\mapsto a]}=1\)となって示されました。

ところで、\(F(x)\rightarrow G(y)\)は\( (F(x)\rightarrow G(z))[y/z]\)と見ることも可能です。それならば今度は\(\varphi,\zeta\)を\( F(x)\rightarrow G(z),y\)に変更して定理5.73を適用すれば\[G(y)\vDash\forall z(F(x)\rightarrow G(z))\]が成り立つことになります。しかし実際にはこれは妥当な推論ではありません。どこに誤謬があったのか、定理5.73の但し書きを見返すと、\(\zeta\notin fv(\Gamma)\)はここでは\(y\notin fv(G(y))\)という意味になり、これが守られていないことに気づきます。

もうひとつ5.73を適用する例を挙げると、\(\Gamma\)を空列とし、\(\varphi,\zeta,\xi\)として各々\(F(z)\rightarrow F(z),x,z\)を選べば\[\vDash (F(z)\rightarrow F(z))[x/z]\]\[ならば\]\[\vDash\forall z(F(z)\rightarrow F(z))\]となります。いま「ならば」の前は(結論が\(F(x)\rightarrow F(x)\)という恒真式なので)成り立ち、したがって「ならば」の後ろが新しい妥当推論として得られます。いっぽう\(F(x)\rightarrow F(x)\)を、あえて\( (F(x)\rightarrow F(z))[x/z]\)と見ることもできます。すると今度は\[\vDash\forall z(F(x)\rightarrow F(z))\]が得られますが、こちらは妥当な推論ではありません。これはもうひとつの但し書きであった\(\zeta\notin fv(\forall\xi\varphi)\)が、\(x\in fv(\forall z(F(x)\rightarrow F(z)))\)のせいで守られていないことに起因しています。