§E16.9一階論理の標準形と Skolem 化

最終更新

一階論理式では、量化子が結合子の内部に現れるため、論理式の構造だけから束縛変数の依存関係を読み取ることが難しい場合がある。冠頭標準形は、すべての量化子を先頭へ移し、量化子を含まない行列を後ろに残す。 Skolem 化は、存在量化された変数を、それより前に現れる全称量化された変数の関数へ置き換える。

二つの操作は保存するものが異なる。冠頭標準形への変形は同じ言語における論理的同値を保存する。 Skolem 化は言語へ新しい関数記号を加えるため、元の文との論理的同値ではなく、構造の拡大と還元を通じて充足可能性を保存する。

1 束縛変数の標準化

本記事では、LLを集合サイズの一階言語とし、各非論理記号の項数は有限であるとする。結合子∧,∨,↔\land,\lor,\leftrightarrowと量化子∃\existsは、¬,→,∀\neg,\to,\forallから定義される略記として用いる。

定義 1.1. 論理式φ\varphiの各量化子が相異なる変数を束縛し、かつ束縛変数がFV(φ)FV(\varphi)と交わらないとき、φ\varphiは束縛変数が標準化されている (standardized apart) という。

補題 1.2. 任意の一階論理式φ\varphiに対して、φ\varphiとα\alpha同値であり、束縛変数が標準化されている論理式φ′\varphi'が存在する。

証明.φ\varphiの構文木は有限であるから、φ\varphiに現れる変数の集合と量化子の集合は有限である。変数集合は可算無限集合なので、φ\varphiに現れない相異なる変数を、量化子の個数だけ選ぶことができる。

構文木を根からたどり、各量化子QxQxに、それまでに用いておらず、φ\varphiにも現れない変数zzを一つ割り当てる。QxQxが束縛する出現だけをzzへ変更する。この変更ではzzが新鮮であるため変数捕獲は生じず、α\alpha同値が保たれる。有限個の量化子について同じ操作を行うと、各量化子が相異なる変数を束縛し、束縛変数が元の自由変数と交わらない論理式φ′\varphi'を得る。したがってφ≡αφ′\varphi\equiv_\alpha\varphi'である。▨

量化子を結合子の外へ移すときには、移動先の論理式で変数が自由に現れないことが必要である。この条件を落とすと、移動前後で変数への依存が変わる。

補題 1.3.x∉FV(β)x\notin FV(\beta)とし、QQを∀\forall又は∃\existsとする。Q‾\overline Qは、Q=∀Q=\forallのとき∃\exists、Q=∃Q=\existsのとき∀\forallを表す。このとき、次の論理的同値が成り立つ。

¬Qx α↔Q‾x ¬α,(Qx α)→β↔Q‾x (α→β),β→(Qx α)↔Qx (β→α).\begin{aligned} \neg Qx\,\alpha &\leftrightarrow \overline Qx\,\neg\alpha,\\ (Qx\,\alpha)\to\beta &\leftrightarrow \overline Qx\,(\alpha\to\beta),\\ \beta\to(Qx\,\alpha) &\leftrightarrow Qx\,(\beta\to\alpha). \end{aligned}

証明. 任意のLL構造MMと割当てssを固定する。第1式は、例えばQ=∀Q=\forallの場合には

M,s⊨¬∀x α⟺M,s[x↦a]⊭α を満たす a∈∣M∣ が存在するM,s\models\neg\forall x\,\alpha \quad\Longleftrightarrow\quad \text{$M,s[x\mapsto a]\not\models\alpha$ を満たす $a\in|M|$ が存在する}

と∃\existsの意味から従う。Q=∃Q=\existsの場合も同じ量化の否定から従う。

第2式でQ=∀Q=\forallとする。左辺が偽であることは、M,s⊨∀xαM,s\models\forall x\alphaかつM,s⊭βM,s\not\models\betaと同値である。x∉FV(β)x\notin FV(\beta)と§E16.6 定理 4.1により、後者は任意のa∈∣M∣a\in|M|についてM,s[x↦a]⊭βM,s[x\mapsto a]\not\models\betaと同値である。したがって左辺が偽であることは、任意のaaについてM,s[x↦a]⊨αM,s[x\mapsto a]\models\alphaであり、かつM,s[x↦a]⊭βM,s[x\mapsto a]\not\models\betaであることと同値である。この条件はM,s⊭∃x(α→β)M,s\not\models\exists x(\alpha\to\beta)と同値である。Q=∃Q=\existsの場合には、左辺が偽であることがM,s[x↦a]⊨αM,s[x\mapsto a]\models\alphaかつM,s[x↦a]⊭βM,s[x\mapsto a]\not\models\betaを満たすa∈∣M∣a\in|M|が存在することに等しく、右辺∀x(α→β)\forall x(\alpha\to\beta)の不成立と一致する。

第3式では、x∉FV(β)x\notin FV(\beta)によりβ\betaの真理値がs[x↦a]s[x\mapsto a]のaaに依存しない。β\betaが偽なら両辺は真であり、β\betaが真なら両辺はそれぞれQxαQx\alphaと同じ真理値をもつ。任意のM,sM,sで各同値が成立するため、三つの式は論理的に同値である。▨

2 冠頭標準形

定義 2.1. 一階論理式が

Q1x1⋯Qnxn θQ_1x_1\cdots Q_nx_n\,\theta

の形をもち、各QiQ_iが∀\forall又は∃\existsであり、θ\thetaが量化子を含まないとき、この論理式を冠頭標準形 (prenex normal form) という。Q1x1⋯QnxnQ_1x_1\cdots Q_nx_nを量化子接頭部 (quantifier prefix)、θ\thetaを行列 (matrix) という。行列には、接頭部で束縛されない自由変数が現れてよい。n=0n=0の場合も許し、量化子を含まない論理式自身を冠頭標準形とみなす。

定理 2.2 (冠頭標準形定理). 任意の一階論理式φ\varphiに対して、φ\varphiと論理的に同値な冠頭標準形の論理式φp\varphi^pが存在し、

FV(φp)=FV(φ)FV(\varphi^p)=FV(\varphi)

が成り立つ。特にφ\varphiが文ならば、φp\varphi^pも文である。

証明の方針は、最初に束縛変数を標準化し、構文木の下から上へ量化子を移すことである。束縛変数を先に分離することにより、補題 1.3の自由変数条件を各段階で満たす。

証明.補題 1.2により、φ\varphiを束縛変数が標準化されたα\alpha同値な論理式へ置き換える。§E16.6 定理 5.2により、α\alpha同値な論理式の充足は一致するので、この置換は論理的同値を保つ。また、§E16.5 命題 5.4により自由変数集合も変わらない。以下では、標準化後の論理式とその各部分論理式について、「自由変数集合を保つ論理的に同値な冠頭標準形が存在する」という強化した主張を構造帰納法で証明する。

φ\varphiの構造に関する帰納法を用いる。原子式は量化子接頭部が空の冠頭標準形であり、自由変数集合も変わらない。α\alphaが、帰納法の仮定によりQ1x1⋯QmxmθQ_1x_1\cdots Q_mx_m\thetaと同値であるとする。補題 1.3の第1式を外側から順に用いると、¬α\neg\alphaはQ‾1x1⋯Q‾mxm¬θ\overline Q_1x_1\cdots\overline Q_mx_m\neg\thetaと同値になる。量化子が束縛する変数と行列中の自由変数は変わらないので、変形後の自由変数集合はFV(¬α)=FV(α)FV(\neg\alpha)=FV(\alpha)に等しい。

次にα→β\alpha\to\betaを考える。帰納法の仮定により、α\alphaとβ\betaをそれぞれ

Q1x1⋯Qmxmθ,R1y1⋯RkykηQ_1x_1\cdots Q_mx_m\theta, \qquad R_1y_1\cdots R_ky_k\eta

へ変形することができる。束縛変数は全体で標準化されているため、各xix_iはη\etaに自由に現れず、各yjy_jはθ\thetaに自由に現れない。第2式をQ1x1,…,QmxmQ_1x_1,\ldots,Q_mx_mへ、第3式をR1y1,…,RkykR_1y_1,\ldots,R_ky_kへ順に適用すると、

Q‾1x1⋯Q‾mxmR1y1⋯Rkyk(θ→η)\overline Q_1x_1\cdots\overline Q_mx_m R_1y_1\cdots R_ky_k(\theta\to\eta)

を得る。この論理式の行列は量化子を含まない。各量化子移動は、移動する変数が反対側の行列に自由に現れないという条件の下で行われるため、新しい自由変数を導入せず、既存の自由変数も束縛しない。従って、得られた論理式の自由変数集合はFV(α)∪FV(β)=FV(α→β)FV(\alpha)\cup FV(\beta)=FV(\alpha\to\beta)である。

∀xα\forall x\alphaの場合には、α\alphaの冠頭標準形の先頭へ∀x\forall xを付ければよい。全体の束縛変数は標準化されているため、xxはα\alphaの冠頭標準形の接頭部に現れる束縛変数とは異なる。帰納法の仮定から自由変数集合は

FV(∀xα)=FV(α)∖{x}FV(\forall x\alpha)=FV(\alpha)\setminus\{x\}

のままである。原始結合子¬,→,∀\neg,\to,\forallのすべての場合を処理したので、構造帰納法により結論が従う。▨

例 2.3 (冠頭標準形への変形).xxがBBに、yyがAAに自由に現れず、zzはAAとBBに自由に現れることを許すとする。このとき開論理式

(∀x A(x,z))→(∃y B(y,z))(\forall x\,A(x,z))\to(\exists y\,B(y,z))

は

∃x∃y (A(x,z)→B(y,z))\exists x\exists y\,(A(x,z)\to B(y,z))

と論理的に同値である。両方の自由変数集合は{z}\{z\}である。左側の全称量化子が含意の前件から外へ出るとき、量化子が存在量化子へ変わる。

3 Skolem 化

冠頭標準形定理は開論理式にも適用するが、以下で Skolem 化の入力とするφ\varphiは文に限定する。開論理式を Skolem 化する場合は、frontmatter の scope のとおり自由変数を外側で全称量化して文にしてから同じ構成を適用する。

定義 3.1. 束縛変数が標準化された冠頭標準形の文を

φp=Q1x1⋯Qnxn θ\varphi^p=Q_1x_1\cdots Q_nx_n\,\theta

とする。接頭部の存在量化子∃xi\exists x_iごとに、それより左にある全称量化された変数を、出現順にy1,…,yry_1,\ldots,y_rとする。LLに現れない新しいrr項関数記号fif_iを加え、行列中のxix_iをfi(y1,…,yr)f_i(y_1,\ldots,y_r)へ捕獲を避けて代入する。r=0r=0のときfif_iは新しい定数記号である。

すべての存在量化子を除き、残った全称量化子を先頭に置いたLSkL^{\mathrm{Sk}}文を Sk⁡(φ)\operatorname{Sk}(\varphi) (Skolemization) という。異なる存在量化子には異なる新記号を割り当てる。

例 3.2 (Skolem 関数が表す依存関係). 文

∀x∃y∀z∃w R(x,y,z,w)\forall x\exists y\forall z\exists w\,R(x,y,z,w)

の Skolem 化は、新しい一項関数記号ffと二項関数記号ggを用いて

∀x∀z R(x,f(x),z,g(x,z))\forall x\forall z\,R(x,f(x),z,g(x,z))

となる。yyの証人は先行する全称変数xxに依存し、wwの証人はx,zx,zに依存する。先行する存在変数yyは、すでにf(x)f(x)へ置き換えられているため、ggの独立した引数にはしない。

Skolem 化の二つの保存方向を別々に証明する。還元方向では選択公理を必要としない。

定理 3.3.NNをLSkL^{\mathrm{Sk}}構造とする。N⊨Sk⁡(φ)N\models\operatorname{Sk}(\varphi)ならば、元の言語への還元N↾LN\mathbin{\upharpoonright}Lはφ\varphiを満たす。

証明.φ\varphiの接頭部を左から読み、全称量化された変数には任意の要素を割り当てる。存在量化されたxix_iに到達した場合には、その変数より左にある全称変数の現在の値をa1,…,ara_1,\ldots,a_rとし、xix_iへfiN(a1,…,ar)f_i^N(a_1,\ldots,a_r)を割り当てる。

すべての全称変数の値を固定すると、以上の規則は各存在変数の値を定める。N⊨Sk⁡(φ)N\models\operatorname{Sk}(\varphi)であるから、得られた値を Skolem 化後の行列へ代入すると行列は真である。§E16.7 定理 5.2により、この行列の真理値は、元の行列で各存在変数へ上記の値を割り当てた場合の真理値と一致する。全称変数の値は任意であり、各存在変数について実際の証人を与えたので、接頭部を右から左へ充足関係の定義に従って戻すとN↾L⊨φpN\mathbin{\upharpoonright}L\models\varphi^pを得る。冠頭標準形定理によりφ\varphiとφp\varphi^pは同値なので、N↾L⊨φN\mathbin{\upharpoonright}L\models\varphiである。▨

定理 3.4.MMをLL構造とする。M⊨φM\models\varphiならば、MMと同じ台集合をもち、Sk⁡(φ)\operatorname{Sk}(\varphi)を満たすLSkL^{\mathrm{Sk}}拡大MSkM^{\mathrm{Sk}}が存在する。この存在証明では選択公理を用いる。

証明の方針は、量化子接頭部が与える有限の選択過程を左から構成することである。各存在変数の証人は、それより前に選ばれた全称変数の値だけを外部引数として受け取る。

証明.定理 2.2によりM⊨φpM\models\varphi^pである。接頭部を左から有限回たどる。最初の存在量化子∃xi\exists x_iに到達するまでの全称変数の値をaˉ∈∣M∣r\bar a\in|M|^rとする。それ以前の存在変数については、すでに構成した関数によって値が定まっている。充足関係の定義と、それまでの構成が残りの接尾部を真に保つという帰納法の仮定により、各aˉ\bar aに対して、残りの接尾部を真にするxix_iの値の集合WaˉW_{\bar a}は空でない。

集合族(Waˉ)aˉ∈∣M∣r(W_{\bar a})_{\bar a\in|M|^r}に選択公理を適用し、各aˉ\bar aに証人baˉ∈Waˉb_{\bar a}\in W_{\bar a}を選ぶ。fiMSk(aˉ)=baˉf_i^{M^{\mathrm{Sk}}}(\bar a)=b_{\bar a}と定める。r=0r=0の場合には添字集合が一元集合なので、同じ選択は一つの証人を選び、新しい定数の値とする操作である。この定義により、任意の先行全称変数の値について、残りの接尾部を真にする選択が固定される。

存在量化子は有限個なので、この操作を左から順に有限回反復することができる。後の存在変数を処理するとき、先行する存在変数の値は、すでに定めた Skolem 関数を先行全称変数へ適用した値である。したがって、後の Skolem 関数の外部引数には、先行する全称変数だけを用いればよい。

すべての新関数記号を以上の関数で解釈した拡大をMSkM^{\mathrm{Sk}}とする。任意の全称変数の値に対して、構成した各関数は元の存在量化子の証人を与えるため、MSkM^{\mathrm{Sk}}は Skolem 化後の量化子を含まない行列を満たす。ゆえにMSk⊨Sk⁡(φ)M^{\mathrm{Sk}}\models\operatorname{Sk}(\varphi)である。▨

系 3.5.φ\varphiがLL構造で充足可能であることと、Sk⁡(φ)\operatorname{Sk}(\varphi)がLSkL^{\mathrm{Sk}}構造で充足可能であることは同値である。

証明.φ\varphiのモデルには定理 3.4を適用し、Sk⁡(φ)\operatorname{Sk}(\varphi)のモデルには定理 3.3を適用する。▨

注意 3.6 (論理的同値ではない).∃x P(x)\exists x\,P(x)の Skolem 化は、新しい定数記号ccを用いたP(c)P(c)である。前者はLL文であり、後者はL∪{c}L\cup\{c\}文なので、同じ構造と同じ言語について真理値を比較する論理的同値の対象ではない。正確な関係は、P(c)P(c)のモデルをLLへ還元すると∃xP(x)\exists xP(x)のモデルになり、∃xP(x)\exists xP(x)の各モデルをP(c)P(c)のモデルへ拡大することができるという関係である。

4 理論全体の Skolem 化

理論を Skolem 化するときには、異なる文または異なる存在量化子が同じ新記号を偶然共有しないようにする必要がある。

定理 4.1.T⊆Sent⁡(L)T\subseteq\operatorname{Sent}(L)を集合とする。各σ∈T\sigma\in Tを冠頭標準形へ変形し、各存在量化子の出現(σ,i)(\sigma,i)に固有の新しい Skolem 関数記号を割り当てる。得られた文の集合をSk⁡(T)\operatorname{Sk}(T)とする。このとき、次が成り立つ。

  1. 新しい記号全体は集合であり、LSkL^{\mathrm{Sk}}は集合サイズの一階言語である。
  2. TTが充足可能であることと、Sk⁡(T)\operatorname{Sk}(T)が充足可能であることは同値である。

証明. 各文の構文木は有限なので、各σ\sigmaの存在量化子の出現集合は有限である。したがって、すべての出現の集合はTTで添字付けられた有限集合の合併であり、集合である。各出現へ一つの有限項数の記号を割り当てても、新記号全体は集合である。

N⊨Sk⁡(T)N\models\operatorname{Sk}(T)ならば、各σ∈T\sigma\in Tについて定理 3.3を適用することができるので、N↾L⊨TN\mathbin{\upharpoonright}L\models Tである。

逆にM⊨TM\models Tとする。各σ∈T\sigma\in Tについて、定理 3.4の証明が与える Skolem 関数解釈の集合は空でない。異なる文には異なる新記号を割り当てたので、文ごとの解釈は互いに衝突しない。文ごとの空でない解釈候補からなる集合族に選択公理を適用し、すべてのσ\sigmaについて解釈を同時に一つずつ選ぶ。選んだ解釈を合わせるとMMの一つのLSkL^{\mathrm{Sk}}拡大MSkM^{\mathrm{Sk}}が定まり、各Sk⁡(σ)\operatorname{Sk}(\sigma)を満たす。したがってMSk⊨Sk⁡(T)M^{\mathrm{Sk}}\models\operatorname{Sk}(T)である。▨

5 演習

問題 5.1.

  1. ∃x∀y∃z R(x,y,z)\exists x\forall y\exists z\,R(x,y,z)を Skolem 化し、各新記号の項数を答えよ。
  2. x∈FV(β)x\in FV(\beta)の場合に(∀xα)→β(\forall x\alpha)\to\betaと∃x(α→β)\exists x(\alpha\to\beta)が同値とは限らないことを、二要素構造の例で示せ。
  3. Skolem 化された文が充足不可能ならば、元の文も充足不可能であることを証明せよ。
解答 (確認問題の解答).
  1. 最初の∃x\exists xには先行する全称変数が無いので新しい定数ccを用いる。後の∃z\exists zにはyyが先行するので新しい一項関数ffを用いる。 Skolem 化は∀y R(c,y,f(y))\forall y\,R(c,y,f(y))である。
  2. 台集合を{0,1}\{0,1\}とし、α(x)\alpha(x)を常に真、β(x)\beta(x)をx=0x=0とする。s(x)=1s(x)=1とすれば、左辺(∀xα)→β(\forall x\alpha)\to\betaは偽であるが、右辺はa=0a=0に対して真となるので真である。この構造と割当てが求める反例である。
  3. 対偶を証明する。元の文が充足可能なら、定理 3.4により Skolem 化された文も充足可能である。したがって、Skolem 化された文が充足不可能ならば元の文も充足不可能である。

▨

参考文献

  1. Herbert B. Enderton, A Mathematical Introduction to Logic, 2nd ed., Academic Press, 2001.冠頭標準形、Skolem 関数、および一階論理の意味論の扱いを参考にした。
  2. Dirk van Dalen, Logic and Structure, 5th ed., Universitext, Springer, 2013.量化子の変形と Skolem 標準形の扱いを参考にした。

前提記事