一階論理の証明体系(proof system for first-order logic)とは、あらかじめ定めた論理公理と推論規則だけを使い、前提の集合 $\Gamma$ から論理式 $\varphi$ への導出(有限の記号列の有限列)があることを $\Gamma\vdash\varphi$ と定める仕組みである。導出が正しいかどうかは意味を考えずに機械的に検査できる。代表的な Hilbert 流の体系は、公理図式の実例の全称化を公理とし、前件肯定だけを規則とする。$\Gamma\vdash\varphi$ なら $\Gamma\models\varphi$(健全性)、文については逆も成り立つ(Gödel の完全性定理)。自然演繹やシーケント計算など流儀は違っても、文の間の証明可能性は同じになる。
一階述語論理で「$\varphi$ が前提 $\Gamma$ から正しく導かれる」ことには、2 つの定め方がある。1 つは意味による定め方で、$\Gamma$ を満たすどの構造とどの割り当てのもとでも $\varphi$ が成り立つことをいい、$\Gamma\models\varphi$ と書く。これを確かめるには、原理的にはすべての構造を調べなければならない。もう 1 つは記号の操作による定め方で、あらかじめ決めた 公理 から出発し、決まった 推論規則 で記号列を書き換えていって、有限の手順で $\varphi$ に到達できることをいい、$\Gamma\vdash\varphi$ と書く。こちらは、与えられた記号列の並びが正しい導出になっているかどうかを、意味を一切考えずに機械的に検査できる。この 2 つ目の仕組みが 証明体系 である。
証明体系には、公理を多くして推論規則を前件肯定(modus ponens)だけにした Hilbert 流の体系、仮定を置いてあとで外す規則を並べた自然演繹、シーケントという形の式を操作するシーケント計算などがあり、見た目は大きく異なる。どれも $\Gamma\vdash\varphi$ から $\Gamma\models\varphi$ が従い(健全性)、逆も成り立つ(完全性。Gödelの完全性定理)ように作られている。本記事では、証明体系の一般的な定義を与えたうえで、代表として Hilbert 流の体系 $\mathbf H$ を 1 つ固定し、導出の例、導出可能性の基本性質、演繹定理と汎化定理、健全性定理を証明する。最後に、ほかの流儀の体系と比べる。
一階言語 $L$ の項・論理式・自由変数・代入 $\varphi[t/x]$・代入可能性は 論理式 の記事の定義「論理式」「自由変数と文」「代入と代入可能性」による。ただし本記事では、結合子は $\lnot,\to$、量化記号は $\forall$ だけを使い、ほかは略記とする。
$$
\varphi\land\psi:=\lnot(\varphi\to\lnot\psi),\qquad\varphi\lor\psi:=(\lnot\varphi\to\psi),\qquad\exists x\,\varphi:=\lnot\forall x\,\lnot\varphi.
$$
等号 $=$ は論理記号として $L$ に含める。構造 $\mathcal M$、割り当て $s$、充足関係 $\mathcal M\models\varphi[s]$ は 一階述語論理 の記事の定義「構造」「充足関係」による。上の略記は、そこでの $\land,\lor,\exists$ と同じ充足条件をもつ。
$\Gamma$ を論理式の集合、$\varphi$ を論理式とする。すべての $L$ 構造 $\mathcal M$ とすべての割り当て $s$ について、「$\Gamma$ のすべての元 $\gamma$ で $\mathcal M\models\gamma[s]$ ならば $\mathcal M\models\varphi[s]$」が成り立つとき、$\Gamma\models\varphi$ と書き、$\varphi$ は $\Gamma$ の 論理的帰結 であるという。$\emptyset\models\varphi$、すなわちすべての $\mathcal M,s$ で $\mathcal M\models\varphi[s]$ となる論理式を 妥当 であるといい、$\models\varphi$ と書く。
$\Gamma$ と $\varphi$ がすべて文のときは、文の真偽が割り当てによらないので(一階述語論理 の記事の系「文の真偽は割り当てによらない」)、これは同記事の定義「モデル・妥当性・論理的帰結」の $\Gamma\models\varphi$($\Gamma$ のどのモデルでも $\varphi$ が真)と一致する。自由変数をもつ論理式では、割り当てごとに比べるこの定義のほうが強い条件である。
一階言語 $L$ の(公理と推論規則による)証明体系 とは、次の 2 つの組である。
証明体系が 健全 であるとは、論理式の集合 $\Gamma$ と論理式 $\varphi$ について、$\Gamma\vdash\varphi$ ならばつねに $\Gamma\models\varphi$ であることをいう。完全 であるとは、文の集合 $\Gamma$ と文 $\varphi$ について、$\Gamma\models\varphi$ ならばつねに $\Gamma\vdash\varphi$ であることをいう。
導出は有限の記号列の有限列であり、上の判定可能性の条件から、与えられた列が導出かどうかは各行を順に調べれば判定できる。意味の側の $\Gamma\models\varphi$ にはこのような検査方法がない。証明体系は、意味の関係 $\models$ を、有限で検査可能な対象 $\vdash$ で捉えようとするものである。自然演繹やシーケント計算では、導出は列ではなく論理式やシーケントの木であるが、「決まった形の出発点から決まった規則で有限回」という構造は同じである(「流儀の比較」の節)。
以下で主に扱う体系を定める。論理式 $\varphi$ と変数 $x_1,\dots,x_n$($n\ge0$)について、$\forall x_1\cdots\forall x_n\,\varphi$ を $\varphi$ の 全称化 という($n=0$ なら $\varphi$ 自身)。
次の (A1)〜(A8) の形の論理式を 公理図式の実例 という。$\alpha,\beta,\gamma$ は任意の論理式、$x,y$ は任意の変数、$t$ は任意の項である。
この体系は Bil03 の Definition 7.3〜7.6(pp. 42–43)の体系と同じであり、同書の言語も $\lnot,\to,\forall,=$ を基本記号とする(Definition 5.1、p. 24)。(A1)〜(A3) は命題論理の部分、(A4)〜(A6) は量化記号、(A7)・(A8) は等号を扱う。「$x$ について一般化してよい」という推論は規則としては置かず、公理を全称化で閉じることと (A5)・(A6) で代用している。その代わり、一般化は定理として得られる(thm-first-order-proof-systems-generalization)。与えられた論理式が論理公理かどうかは、先頭の $\forall$ をはがしながら (A1)〜(A8) の形と照合すれば判定できる。
証明体系は、推論の正しさを「規則に従っているか」という形の検査に置き換える装置である。数学者の書く証明は、読み手が行間を補えることを前提にしているが、証明体系の導出には行間がない。各行は公理か前提であるか、前の行から規則 1 回で得られるかのどちらかで、機械が確かめられる。その代償として、導出は長くなり、見つけるのも難しい。そこで、「導出が存在する」ことを導出を書かずに示す道具が要る。演繹定理(「$\alpha$ を仮定して $\beta$ を導けば $\alpha\to\beta$ が導ける」)と汎化定理(「前提に現れない変数については一般化してよい」)がその代表である。健全性定理は、この機械的な検査を通った結論が意味の上でも正しいことを保証する。
導出は、各行に「どの公理図式の実例か」「どの行から MP で得たか」を添えて書く。
任意の論理式 $\varphi$ について $\vdash\varphi\to\varphi$ である。
次の列は $\mathbf H$ の導出である。
$\varphi\to\varphi$ という自明に見える式にも 5 行かかる。この導出は OLT26 の Example 22.10(pp. 337–338)と同じである(同書の体系は公理が多いが、(A1)・(A2) にあたる公理図式 (22.7)・(22.8) をもつ)。
$\vdash x=y\to y=x$ である。次の列が導出である。
$P$ を 1 項関係記号とする。$\forall x\,P(x)\to P(y)$ は (A4) の実例である($y$ は $P(x)$ の $x$ に代入可能で、$P(x)[y/x]=P(y)$)。前提 $\forall x\,P(x)$ とこの公理から MP で、$\{\forall x\,P(x)\}\vdash P(y)$ を得る。前提 $\forall x\,P(x)$ には $y$ が自由に現れないので、thm-first-order-proof-systems-generalization により $\{\forall x\,P(x)\}\vdash\forall y\,P(y)$ である。
体系 $\mathbf H$ の公理図式に付いた条件は、健全性を保つために必要である。条件を 1 つ外すと何が起きるかを表にまとめる。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| (A4) の $t$ が代入可能 | $\forall x\,\exists y\,\lnot(x=y)\to\exists y\,\lnot(y=y)$ | 論理公理が妥当であること(健全性) |
| (A6) の $x\notin\operatorname{FV}(\alpha)$ | $P(x)\to\forall x\,P(x)$ | 論理公理が妥当であること(健全性) |
| (A8) の $\alpha$ が原子論理式 | $x=y\to(\exists y\,\lnot(x=y)\to\exists y\,\lnot(y=y))$ | 論理公理が妥当であること(健全性) |
| 一般化を推論規則にしない | $\mathbf H$ に一般化規則を加えた体系での $\{P(x)\}\vdash\forall x\,P(x)$ | 制限のない演繹定理、割り当てごとの帰結についての健全性 |
| 公理と規則が十分にある | 公理も規則もない体系 | 完全性 |
いずれも、条件を外した形の論理式が妥当でないことを、構造 $\mathcal M$ として台集合 $\{0,1\}$ のものをとって示す。
次の性質は、導出が「前の行だけを参照する有限列」であることだけから従い、公理や規則の中身によらない。
公理と推論規則による任意の証明体系で、論理式の集合 $\Gamma,\Delta$ と論理式 $\varphi,\psi$ について次が成り立つ。
1:1 行の列 $\varphi$ が導出である。
2:$\Gamma$ からの導出の各行は、論理公理か、$\Gamma$ の元か、規則の結論である。$\Gamma\subset\Delta$ なので $\Gamma$ の元は $\Delta$ の元でもあり、ほかの条件は前提の集合によらない。よって同じ列が $\Delta$ からの導出である。
3:$\Gamma$ からの $\varphi$ の導出 $\varphi_1,\dots,\varphi_n$ をとり、$\Gamma_0:=\{\varphi_i\mid\varphi_i\in\Gamma\}$ とおく。$\Gamma_0$ は $n$ 個以下の元からなる有限集合で、前提として使った行はすべて $\Gamma_0$ に属するので、同じ列が $\Gamma_0$ からの導出である。
4:$\Delta$ からの $\psi$ の導出 $\psi_1,\dots,\psi_m$ をとる。その中で前提として使われた $\Delta$ の元は有限個 $\delta_1,\dots,\delta_k$ である。各 $\delta_j$ について $\Gamma$ からの導出 $D_j$ をとり、列 $D_1,\dots,D_k,\psi_1,\dots,\psi_m$ を作る。$\psi_l$ のうち前提 $\delta_j$ として正当化されていた行は、$D_j$ の最後の行の後にあり、$D_j$ で導出済みの式と同じ式なので、同じ式を繰り返し書いた行とみなせる(前の行と同じ式の行は、その前の行の正当化をそのまま使える)。ほかの行の正当化は変わらない。よってこの列は $\Gamma$ からの $\psi$ の導出である。$\square$
4 の最後の点を正確に言うと、ある式が導出の中ですでに現れているなら、その式をもう一度書いた行は、最初に現れた行と同じ理由(公理、前提、または同じ前提の行からの規則)で正当化される。3 の有限性は、無限に多くの前提があっても 1 つの導出は有限個しか使わないことを言っており、Gödelの完全性定理 の記事の補題「証明の有限性」と同じ内容である。完全性定理と合わせると、ここから意味の側のコンパクト性定理が従う(同記事の系「コンパクト性定理」)。
体系 $\mathbf H$ で、論理式の集合 $\Gamma$ と論理式 $\alpha,\beta$ について
$$
\Gamma\cup\{\alpha\}\vdash\beta\iff\Gamma\vdash\alpha\to\beta.
$$
$\Leftarrow$:$\Gamma\vdash\alpha\to\beta$ なら、単調性により $\Gamma\cup\{\alpha\}\vdash\alpha\to\beta$ であり、$\Gamma\cup\{\alpha\}\vdash\alpha$ と合わせ、2 つの導出をつないで MP を 1 回使えば $\Gamma\cup\{\alpha\}\vdash\beta$ である。
$\Rightarrow$:$\Gamma\cup\{\alpha\}$ からの導出 $\beta_1,\dots,\beta_n=\beta$ をとり、$i$ に関する帰納法で、すべての $i$ について $\Gamma\vdash\alpha\to\beta_i$ を示す。
公理 (A1)・(A2) は、ちょうどこの証明が通るように選ばれている。$\mathbf H$ では演繹定理に変数についての条件が要らないことに注意する。これは、一般化を推論規則として置かず、論理公理の全称化で代用したことによる(ex-first-order-proof-systems-gen-rule)。この定理は Bil03 の Theorem 7.10(p. 44)であり、同書は証明を命題論理の場合と同じとして演習にしている。
体系 $\mathbf H$ で、$\Gamma\vdash\varphi$ であり、変数 $x$ が $\Gamma$ のどの元にも自由に現れないならば、$\Gamma\vdash\forall x\,\varphi$ である。
$\Gamma$ からの導出 $\varphi_1,\dots,\varphi_n=\varphi$ をとり、$i$ に関する帰納法で、すべての $i$ について $\Gamma\vdash\forall x\,\varphi_i$ を示す。
この定理は Bil03 の Theorem 7.11(p. 45)である。$x$ が $\Gamma$ に自由に現れないという条件は外せない。次の例がそれを示し、あわせて表の 4 行目を確かめる。
$\{P(x)\}\vdash\forall x\,P(x)$ は $\mathbf H$ では成り立たない。成り立つとすると、後の thm-first-order-proof-systems-soundness により $\{P(x)\}\models\forall x\,P(x)$ となるが、台集合 $\{0,1\}$、$P$ の解釈 $\{0\}$、$s(x)=0$ では $P(x)$ が真で $\forall x\,P(x)$ が偽だからである。よって thm-first-order-proof-systems-generalization の条件「$x$ が $\Gamma$ に自由に現れない」は外せない。
一方、$\mathbf H$ に 一般化規則「$\psi$ から $\forall x\,\psi$ を導く」($x$ は任意)を加えた体系 $\mathbf H^{+}$ では、2 行の列 $P(x),\ \forall x\,P(x)$ が $\{P(x)\}$ からの導出になる。$\mathbf H^{+}$ でも前提なしの定理はすべて妥当である(一般化規則は妥当性を保つ。lem-first-order-proof-systems-axioms-valid の証明の最後の段落と同じ理由)。ところが、制限のない演繹定理が $\mathbf H^{+}$ で成り立つとすると $\vdash P(x)\to\forall x\,P(x)$ となり、この式は妥当でない(ex-first-order-proof-systems-conditions の 2)。よって $\mathbf H^{+}$ では演繹定理に「一般化規則を適用した変数が $\alpha$ に自由に現れない」といった制限が要る。また $\mathbf H^{+}$ は、def-first-order-proof-systems-consequence の割り当てごとの帰結については健全でない。$\mathbf H^{+}$ が保つのは、「$\Gamma$ のすべての元がある構造のすべての割り当てで真なら、$\varphi$ もその構造のすべての割り当てで真」という、構造ごとの帰結のほうである。前提と結論がすべて文なら 2 つの帰結は一致するので、文だけを扱う限りこの違いは表に出ない。
体系 $\mathbf H$ の論理公理はすべて妥当である。
構造 $\mathcal M$ と割り当て $s$ を任意にとり、各公理図式の実例が $s$ のもとで真であることを示す。以下「真」は $\mathcal M$、$s$ のもとで真であることをいう。
(A1)〜(A3):$\to$ と $\lnot$ の充足条件は真理値表と同じなので、$\alpha,\beta,\gamma$ の真偽の組み合わせを調べればよい。(A1) が偽になるには $\alpha$ が真で $\beta\to\alpha$ が偽でなければならないが、$\alpha$ が真なら $\beta\to\alpha$ は真である。(A2) が偽になるには、$\alpha\to(\beta\to\gamma)$ と $\alpha\to\beta$ が真で $\alpha\to\gamma$ が偽、すなわち $\alpha$ が真で $\gamma$ が偽でなければならない。そのとき $\alpha\to\beta$ から $\beta$ が真、$\alpha\to(\beta\to\gamma)$ から $\gamma$ が真となり矛盾する。(A3) が偽になるには、$\lnot\beta\to\lnot\alpha$ と $\lnot\beta\to\alpha$ が真で $\beta$ が偽でなければならない。そのとき $\lnot\beta$ が真なので $\lnot\alpha$ と $\alpha$ がともに真となり矛盾する。
(A4):$\forall x\,\alpha$ が真とし、$b:=t^{\mathcal M}[s]$ とおく。充足の定義から $\mathcal M\models\alpha[s_x^b]$ である。$t$ は $\alpha$ の $x$ に代入可能なので、一階述語論理 の記事の補題「代入補題」の 2 により $\mathcal M\models\alpha[t/x][s]$ である。
(A5):$\forall x\,(\alpha\to\beta)$ と $\forall x\,\alpha$ が真とする。各 $a\in M$ について $\alpha\to\beta$ と $\alpha$ が $s_x^a$ のもとで真なので、$\beta$ も $s_x^a$ のもとで真である。よって $\forall x\,\beta$ は真である。
(A6):$\alpha$ が真とする。$x\notin\operatorname{FV}(\alpha)$ なので、各 $a\in M$ について $s$ と $s_x^a$ は $\operatorname{FV}(\alpha)$ の上で一致し、一階述語論理 の記事の補題「一致補題」により $\alpha$ は $s_x^a$ のもとでも真である。よって $\forall x\,\alpha$ は真である。
(A7):$x^{\mathcal M}[s]=x^{\mathcal M}[s]$ なので真である。
(A8):$x=y$ が真、すなわち $s(x)=s(y)$ とする。まず、項 $u$ の中の $x$ の出現のいくつかを $y$ に置き換えた項を $u'$ とすると $u'^{\mathcal M}[s]=u^{\mathcal M}[s]$ であることを、項に関する帰納法で示す。$u$ が変数 $x$ なら $u'$ は $x$ か $y$ で、どちらの値も $s(x)$ である。$u$ がほかの変数か定数記号なら $u'=u$ である。$u=f(u_1,\dots,u_n)$ なら $u'=f(u_1',\dots,u_n')$(各 $u_i'$ は $u_i$ の出現のいくつかを置き換えたもの)なので、帰納法の仮定から値は等しい。原子論理式 $\alpha$ は $u_1=u_2$ か $R(u_1,\dots,u_n)$ の形で、$\beta$ はそれぞれ $u_1'=u_2'$、$R(u_1',\dots,u_n')$ の形である。各項の値が変わらないので、$\alpha$ が真なら $\beta$ も真である。
全称化:論理式 $\theta$ が妥当なら $\forall x\,\theta$ も妥当である。実際、任意の $\mathcal M$、$s$、$a\in M$ について $\theta$ は $s_x^a$ のもとで真なので、$\forall x\,\theta$ は $s$ のもとで真である。公理図式の実例はいま示したとおり妥当なので、その全称化も(全称記号の個数に関する帰納法で)妥当である。$\square$
体系 $\mathbf H$ で $\Gamma\vdash\varphi$ ならば $\Gamma\models\varphi$ である(def-first-order-proof-systems-consequence の、割り当てごとの意味で)。とくに、$\mathbf H$ の定理はすべて妥当である。
構造 $\mathcal M$ と割り当て $s$ で、$\Gamma$ のすべての元が $s$ のもとで真であるものをとる。$\Gamma$ からの導出 $\varphi_1,\dots,\varphi_n=\varphi$ の各行が $s$ のもとで真であることを、$i$ に関する帰納法で示す。$\varphi_i$ が論理公理なら lem-first-order-proof-systems-axioms-valid により真である。$\varphi_i\in\Gamma$ なら $s$ の選び方から真である。$\varphi_i$ が $\varphi_j$ と $\varphi_j\to\varphi_i$ から MP で得られたなら、帰納法の仮定によりこの 2 つは真であり、$\to$ の充足条件から $\varphi_i$ も真である。よって $\varphi=\varphi_n$ は $s$ のもとで真である。$\mathcal M,s$ は任意だったので $\Gamma\models\varphi$ である。$\square$
この定理は、文についての形で Bil03 の Theorem 8.1(p. 47)にある(同書の証明は演習)。健全性の対偶から、導出できないことを示すには、前提を真にして結論を偽にする構造と割り当てを 1 つ見つければよい。ex-first-order-proof-systems-gen-rule はこの使い方の例である。とくに、充足可能な集合 $\Gamma$ からは $\varphi$ と $\lnot\varphi$ の両方を導出することはできない。
体系 $\mathbf H$ は完全でもある。すなわち、文の集合 $\Gamma$ と文 $\varphi$ について $\Gamma\models\varphi$ ならば $\Gamma\vdash\varphi$ である。これは Gödelの完全性定理 であり、この記事では証明しない。$\mathbf H$ について可算言語の場合の主張は Bil03 の Theorem 8.17(p. 50。第 8 章は可算な言語を仮定する、p. 47)にある。健全性と合わせると、文の間では $\vdash$ と $\models$ が一致する。
可算な言語では、記号列の有限列を 1 つずつ並べていき、それぞれが導出かどうかを検査していけば、定理を 1 つずつ漏れなく書き出す機械的な手順が得られる。完全性定理と合わせると、妥当な文を 1 つずつ書き出す手順があることになる。すなわち、文が妥当なら有限時間で「妥当である」と答え、妥当でなければ止まらない手順がある(Zac25 Theorem 15.18、p. 330)。一方、任意の文が妥当かどうかを常に有限時間で正しく判定する手順は存在しない(決定問題の否定的解決。Zac25 Theorem 15.16、p. 329。Church と Turing が独立に示したことは同書 §15.1、p. 308)。この記事ではどちらも証明しない。証明体系は「導出の検査は機械的だが、導出の探索は一般には終わらない」という性格をもつ。
体系 $\mathbf H$ のように公理を多くして推論規則を少なくした体系を Hilbert 流(公理的な体系)という。ほかによく使われる流儀を、導出の形と規則の置き方で比べる。
| Hilbert 流 | 自然演繹 | シーケント計算 | タブロー | |
|---|---|---|---|---|
| 導出の形 | 論理式の列 | 論理式の木 | シーケント $\Gamma\Rightarrow\Delta$ の木 | 真偽の印を付けた論理式の木 |
| 公理 | 多い(公理図式) | ほとんどない | 始シーケント $A\Rightarrow A$ など | なし(仮定から始める) |
| 規則 | 少ない(MP など) | 結合子ごとに導入規則と除去規則 | 結合子ごとに左規則と右規則、構造規則 | 印の付いた論理式を部分論理式に分解する |
| 仮定の扱い | 前提として並べる。演繹定理は定理 | 仮定を置き、規則で外す | 左辺に置く | $\Gamma\vdash A$ は $\mathrm F\,A$ と、$\Gamma$ の有限個の元 $B$ の $\mathrm T\,B$ から始めて全枝を閉じる |
| 向いていること | 体系についての定理を示す | 実際の証明の筋をなぞる | 導出の構造を調べる | 導出や反例を機械的に探す |
表の内容は Zac25 §9.2〜9.5(pp. 154–161)の説明による。同書によれば、Hilbert 流の体系は導出が単純な列で規則も 1、2 個なので体系についての定理を示しやすいが、実際に導出を見つけるのは難しい(pp. 160–161)。シーケント計算は Gentzen が 1930 年代に導入し(p. 155)、自然演繹は Gentzen と Jaśkowski が 1930 年代に展開した(p. 157)。命題論理に限ったシーケント計算の例は、命題論理 の記事の定義「シーケント計算」と定理「健全性と完全性」にある。そこでは、規則を下から上へ逆にたどる手続きがそのまま完全性の証明になっている。
流儀が違っても、一階論理の標準的な体系はどれも健全かつ完全である。Zac25 はシーケント計算の健全性(Theorem 10.28、p. 183)、自然演繹の健全性(Theorem 11.27、p. 216)と、両者に共通の完全性定理(Theorem 12.20、p. 245)を証明している。健全かつ完全な 2 つの体系では、文 $\Gamma,\varphi$ について「$\Gamma\vdash\varphi$」がどちらも「$\Gamma\models\varphi$」と同値になるので、証明可能性の関係は体系によらずに一致する。この意味で「一階論理の証明体系」は、見た目の違う体系をまとめた 1 つの概念として扱える。ただし、自由変数をもつ論理式の扱い(ex-first-order-proof-systems-gen-rule)や、導出の長さ・形は体系ごとに異なる。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する