§E16.7代入補題

最終更新

項を変数へ代入するとき、量化記号の下へ入った自由変数が意図せず束縛されてはならない。本稿では有限台の同時代入をα\alpha同値類上で定義し、構文上の代入が意味論上の割当て変更に一致することを証明する。

1 有限台同時代入

定義 1.1.Σ\Sigmaを一階シグネチャとする。写像

σ:Var⟶Term⁡Σ(Var)\sigma:\mathrm{Var}\longrightarrow\operatorname{Term}_\Sigma(\mathrm{Var})

であって

supp⁡(σ)={x∈Var:σ(x)≠x}\operatorname{supp}(\sigma)=\{x\in\mathrm{Var}:\sigma(x)\ne x\}

が有限であるものを有限台項代入 (finite-support term substitution) という。また

FV⁡(σ)=⋃x∈supp⁡(σ)Var⁡(σ(x))\operatorname{FV}(\sigma) =\bigcup_{x\in\operatorname{supp}(\sigma)}\operatorname{Var}(\sigma(x))

と定める。σ∖x\sigma\setminus xはxxをxxへ写し、y≠xy\ne xをσ(y)\sigma(y)へ写す代入とする。

定義 1.2. 項ttへの 同時代入 (simultaneous substitution)tσt\sigmaを

xσ=σ(x),cσ=c,f(t1,…,tn)σ=f(t1σ,…,tnσ)\begin{aligned} x\sigma&=\sigma(x),\\ c\sigma&=c,\\ f(t_1,\ldots,t_n)\sigma&=f(t_1\sigma,\ldots,t_n\sigma) \end{aligned}

によって構造再帰的に定める。

例 1.3 (同時代入の同時性).σ(x)=y\sigma(x)=y、σ(y)=f(x)\sigma(y)=f(x)とし、ほかの変数では恒等写像とする。このとき

f(x,y)σ=f(y,f(x))f(x,y)\sigma=f(y,f(x))

である。xxをyyへ置き換えた後に、置き換えて生じたyyへ再びf(x)f(x)を代入するのではない。各変数の像は同時に一回だけ用いる。

2 論理式への捕獲回避代入

原子論理式、否定、含意には項代入をそのまま伝えることができる。全称量化では、束縛変数を代入の作用から遮断し、必要な場合には束縛変数を先に改名する。

定義 2.1. Var⁡all(φ)\operatorname{Var}_{\mathrm{all}}(\varphi) (set of all variable names in a formula) を、φ\varphiに自由または束縛されて現れるすべての変数名の集合とする。原子では項に現れる変数の和、否定と含意では直下の集合の和、量化式∀x φ\forall x\,\varphiではVar⁡all(φ)∪{x}\operatorname{Var}_{\mathrm{all}}(\varphi)\cup\{x\}と再帰的に定める。有限構文木に関する構造帰納法により、この集合は有限である。

定理 2.2.σ\sigmaを有限台項代入とする。各論理式φ\varphiに対し、次の節を満たすα\alpha同値類φσ\varphi\sigmaが一意に定まる。

(t=u)σ=(tσ=uσ),R(t1,…,tn)σ=R(t1σ,…,tnσ),(¬φ)σ=¬(φσ),(φ→ψ)σ=(φσ→ψσ).\begin{aligned} (t=u)\sigma&=(t\sigma=u\sigma),\\ R(t_1,\ldots,t_n)\sigma&=R(t_1\sigma,\ldots,t_n\sigma),\\ (\neg\varphi)\sigma&=\neg(\varphi\sigma),\\ (\varphi\to\psi)\sigma&=(\varphi\sigma\to\psi\sigma). \end{aligned}

量化式では次の規則を用いる。

  1. x∉FV⁡(σ∖x)x\notin\operatorname{FV}(\sigma\setminus x)なら

    (∀x φ)σ=∀x (φ(σ∖x)).(\forall x\,\varphi)\sigma =\forall x\,(\varphi(\sigma\setminus x)).
  2. x∈FV⁡(σ∖x)x\in\operatorname{FV}(\sigma\setminus x)なら、有限集合

    K=Var⁡all(φ)∪FV⁡(σ)∪supp⁡(σ)∪{x}K=\operatorname{Var}_{\mathrm{all}}(\varphi)\cup\operatorname{FV}(\sigma) \cup\operatorname{supp}(\sigma)\cup\{x\}

    の外から変数zzを選び、∀x φ\forall x\,\varphiを捕獲回避的に∀z φ′\forall z\,\varphi'へ改名して

    (∀x φ)σ=∀z (φ′(σ∖z))(\forall x\,\varphi)\sigma =\forall z\,(\varphi'(\sigma\setminus z))

    とする。

結果は入力のα\alpha同値類、選んだ代表元、選んだ新変数に依存しない。

証明. まず、各論理式の自由変数集合、supp⁡(σ)\operatorname{supp}(\sigma)、FV⁡(σ)\operatorname{FV}(\sigma)は有限である。Var\mathrm{Var}は無限であるから、第二の場合の有限集合KKの外に変数zzが存在する。

任意の有限集合E⊆VarE\subseteq\mathrm{Var}に対し、論理式θ\thetaのすべての束縛変数をEEの外へ捕獲回避的に改名したα\alpha同値な論理式が存在することを示す。θ\thetaに関する構造帰納法を用いる。原子、否定、含意では直下の論理式へ帰納法の仮定を適用する。θ=∀x η\theta=\forall x\,\etaの場合、E∪Var⁡all(η)E\cup\operatorname{Var}_{\mathrm{all}}(\eta)と、帰納的にすでに選んだ有限個の束縛変数の外から新しいzzを選ぶ。外側をzzに改名してから直下の論理式へ帰納法の仮定を適用する。構文木が有限であるから選択を要する変数は有限個である。以上の主張を新変数化補題と呼ぶ。

表示された節に従って論理式の高さに関する再帰を行えば、少なくとも一つの結果を構成することができる。量化の場合も、再帰呼出しは直下の論理式に対して行われるため停止する。ただし、この段階では再帰の途中で選んだ新変数を記録した代表式を出力とし、well-defined 性はまだ仮定しない。

well-defined 性に必要な改名と代入の可換性を先に証明する。η[x⇝z]\eta[x\rightsquigarrow z]により、外側の量化子∀x\forall xが束縛する出現だけをzzへ改名した本体を表す。z,uz,uが

Var⁡all(η)∪supp⁡(σ)∪FV⁡(σ)∪{x}\operatorname{Var}_{\mathrm{all}}(\eta)\cup \operatorname{supp}(\sigma)\cup\operatorname{FV}(\sigma)\cup\{x\}

の外にあるとき、高さがη\eta以下である再帰結果について

∀z ((η[x⇝z])(σ∖z))≡α∀u ((η[x⇝u])(σ∖u))(1)\forall z\,\bigl((\eta[x\rightsquigarrow z])(\sigma\setminus z)\bigr) \equiv_\alpha \forall u\,\bigl((\eta[x\rightsquigarrow u])(\sigma\setminus u)\bigr) \tag{1}

が成り立つ。これを項と論理式に関する同時構造帰納法で示す。原子式では、外側のxxに束縛された変数だけがzzまたはuuとなり、ほかの変数の代入像にはz,uz,uが現れない。したがって左辺の外側のzzをuuへ改名すると、両本体は項ごとに一致する。否定と含意では直下の帰納法の仮定を用いる。内側が∀y ξ\forall y\,\xiの場合は三つに分かれる。y=xy=xなら内側の量化子が外側の束縛を遮断するため、その本体では改名しない。y=zy=zまたはy=uy=uは新鮮性から改名前のη\etaには生じない。yyがx,z,ux,z,uと異なるなら、外側の改名とyyによる遮断は可換であり、直下へ帰納法の仮定を適用する。直下の代入がさらに量化変数を改名するときは、二つの有限な禁止集合の外から同じ変数を選び、同じ議論を一段低い論理式へ適用する。以上は高さの小さい再帰結果だけを用い、証明しようとしている well-defined 性を用いていない。

この可換性から、任意の外側変数yyに対する次の強化命題を得る。uuがVar⁡all(θ)∪supp⁡(σ)∪FV⁡(σ)∪{y}\operatorname{Var}_{\mathrm{all}}(\theta)\cup\operatorname{supp}(\sigma) \cup\operatorname{FV}(\sigma)\cup\{y\}の外にあるなら、表示した再帰規則が(∀y θ)σ(\forall y\,\theta)\sigmaに対して作る任意の raw 結果は

∀u ((θ[y⇝u])(σ∖u))(2)\forall u\,\bigl((\theta[y\rightsquigarrow u])(\sigma\setminus u)\bigr) \tag{2}

にα\alpha同値である。第二規則が新変数zzを選ぶ場合は (1) をz,uz,uに適用する。第一規則がyyを保つ場合はy∉FV⁡(σ∖y)y\notin\operatorname{FV}(\sigma\setminus y)である。したがってθ(σ∖y)\theta(\sigma\setminus y)に代入から生じた自由なyyはなく、外側のyyをuuへ捕獲回避的に改名することができる。項、否定、含意、および内側の量化子について上と同じ同時帰納法を用いると、改名後の本体は(θ[y⇝u])(σ∖u)(\theta[y\rightsquigarrow u])(\sigma\setminus u)とα\alpha同値になる。この場合分けにより、もとの代表元の束縛変数yy自身がsupp⁡(σ)\operatorname{supp}(\sigma)に属する場合も強化命題の対象になる。

新変数選択の diamond 性を示す。量化節でzzとwwを選んだ二つの結果に対し、両方の禁止集合と{z,w}\{z,w\}の外からuuを選ぶ。(1) をz,uz,uとw,uw,uにそれぞれ適用すると、両結果は同じuuを外側の束縛変数とする結果へα\alpha同値である。したがって二つの選択から得た結果も互いにα\alpha同値である。

次に代表元からの独立性を示す。α\alpha同値の一回の生成規則

∀x η≡α∀z η[x⇝z]\forall x\,\eta\equiv_\alpha \forall z\,\eta[x\rightsquigarrow z]

を考え、両代表元とσ\sigmaの禁止集合の外から共通のuuを選ぶ。左の代表元と右の代表元へ強化命題 (2) を適用すると、両方の raw 結果は、いずれも

∀u ((η[x⇝u])(σ∖u))\forall u\,\bigl((\eta[x\rightsquigarrow u])(\sigma\setminus u)\bigr)

にα\alpha同値である。否定、含意、全称量化の合同規則には直下の論理式に対する帰納法の仮定を適用する。さらにα\alpha同値の導出について帰納し、反射律、対称律、推移律を順に用いれば、任意の二代表元が同じ出力類を与える。これは生成規則、合同規則、同値閉包をすべて扱っており、単なる新変数選択の独立性だけではない。

最後に一意性を示す。同じ節を満たす二つの操作を取る。原子、否定、含意では構造帰納法により出力類が一致する。量化では両方の出力を強化命題 (2) により共通の新変数へ移し、直下の論理式に対する帰納法の仮定を用いる。ゆえにすべての論理式で出力のα\alpha同値類が一致する。▨

例 2.3 (変数捕獲を避ける代入).φ=∀y R(x,y)\varphi=\forall y\,R(x,y)、σ(x)=y\sigma(x)=yとする。単純な文字置換は∀y R(y,y)\forall y\,R(y,y)を与え、代入項の自由変数yyを捕獲する。新しいzzを選んでから代入すると

φσ≡α∀z R(y,z)\varphi\sigma\equiv_\alpha\forall z\,R(y,z)

となる。右辺のyyは自由なままである。

3 代入の合成

定義 3.1. 有限台項代入σ,τ\sigma,\tauに対して

ρ(x)=(σ(x))τ\rho(x)=(\sigma(x))\tau

と定め、ρ=σ⋆τ\rho=\sigma\star\tau (composition of substitutions) と書く。先にσ\sigma、次にτ\tauを適用する向きである。

定理 3.2. 有限台項代入σ,τ\sigma,\tauとρ=σ⋆τ\rho=\sigma\star\tauに対して、次が成り立つ。

  1. ρ\rhoは有限台項代入である。
  2. 任意の項ttについて(tσ)τ=tρ(t\sigma)\tau=t\rhoである。
  3. 任意の論理式φ\varphiについて(φσ)τ≡αφρ(\varphi\sigma)\tau\equiv_\alpha\varphi\rhoである。

証明.x∉supp⁡(σ)∪supp⁡(τ)x\notin\operatorname{supp}(\sigma)\cup\operatorname{supp}(\tau)ならρ(x)=(x)τ=x\rho(x)=(x)\tau=xである。したがってsupp⁡(ρ)\operatorname{supp}(\rho)は二つの有限集合の和に含まれ、有限である。

(2)をttに関する構造帰納法で示す。t=xt=xの場合は合成の定義そのものである。定数の場合は両辺が同じ定数である。関数適用の場合は各引数に帰納法の仮定を適用する。

(3)を示す。新変数化補題により、φ\varphiの束縛変数を

E=supp⁡(σ)∪supp⁡(τ)∪supp⁡(ρ)∪FV⁡(σ)∪FV⁡(τ)∪FV⁡(ρ)E=\operatorname{supp}(\sigma)\cup\operatorname{supp}(\tau) \cup\operatorname{supp}(\rho)\cup\operatorname{FV}(\sigma) \cup\operatorname{FV}(\tau)\cup\operatorname{FV}(\rho)

の外へ改名した代表元を選ぶ。入力代表元と新変数の選択からの独立性は定理 2.2で証明済みであるため、この代表元で比較すれば十分である。

原子の場合は(2)を各項へ適用する。否定と含意の場合は直下の論理式に対する帰納法の仮定を用いる。φ=∀x ψ\varphi=\forall x\,\psiの場合、xxはEEの外にあるので、三つの代入はいずれもxxを固定し、代入項にxxは現れない。したがって量化の定理 2.2 条件 (a)だけが適用され、

((∀x ψ)σ)τ≡α∀x ((ψ(σ∖x))(τ∖x)).((\forall x\,\psi)\sigma)\tau \equiv_\alpha \forall x\,((\psi(\sigma\setminus x))(\tau\setminus x)).

ここで、制限した代入の合成がρ∖x\rho\setminus xに等しいことを変数ごとに確認する。y=xy=xでは

((σ∖x)⋆(τ∖x))(x)=x=(ρ∖x)(x)((\sigma\setminus x)\star(\tau\setminus x))(x)=x =(\rho\setminus x)(x)

である。y≠xy\ne xでは、x∉FV⁡(σ)x\notin\operatorname{FV}(\sigma)であるからxxは項σ(y)\sigma(y)に現れず、項への代入の定義より

((σ∖x)⋆(τ∖x))(y)=(σ(y))(τ∖x)=(σ(y))τ=ρ(y)=(ρ∖x)(y)((\sigma\setminus x)\star(\tau\setminus x))(y) =(\sigma(y))(\tau\setminus x) =(\sigma(y))\tau =\rho(y) =(\rho\setminus x)(y)

となる。したがって二つの制限代入は実際に等しい。帰納法の仮定により直下はψ(ρ∖x)\psi(\rho\setminus x)とα\alpha同値であるから、右辺は(∀x ψ)ρ(\forall x\,\psi)\rhoとα\alpha同値である。この議論は量化節での制限と合成の交換を省略せず、量化が入れ子になった場合にも各段で同じ等式を用いる。▨

4 割当てに誘導される変更

定義 4.1.M\mathcal MをΣ\Sigma-構造、s:Var→Ms:\mathrm{Var}\to Mを割当て、σ\sigmaを有限台項代入とする。割当てsσs_\sigma (assignment induced by a substitution) を

sσ(x)=⟦σ(x)⟧sMs_\sigma(x)=\llbracket\sigma(x)\rrbracket_s^{\mathcal M}

によって定める。

補題 4.2.M\mathcal MをΣ\Sigma-構造、ssを割当て、σ\sigmaを有限台項代入、ttを項とする。このとき

⟦tσ⟧sM=⟦t⟧sσM\llbracket t\sigma\rrbracket_s^{\mathcal M} =\llbracket t\rrbracket_{s_\sigma}^{\mathcal M}

である。

証明.ttに関する構造帰納法を用いる。t=xt=xの場合、左辺は⟦σ(x)⟧sM=sσ(x)\llbracket\sigma(x)\rrbracket_s^{\mathcal M}=s_\sigma(x)であり、右辺も同じ値である。定数の場合は両辺がcMc^{\mathcal M}である。関数適用の場合は各引数に帰納法の仮定を適用し、同じ関数fMf^{\mathcal M}を用いる。▨

系 4.3.ρ=σ⋆τ\rho=\sigma\star\tauとする。任意のΣ\Sigma-構造M\mathcal Mと割当てssについて

sρ=(sτ)σs_\rho=(s_\tau)_\sigma

である。

証明. 任意の変数xxについて、項評価代入補題をt=σ(x)t=\sigma(x)に適用すると

sρ(x)=⟦(σ(x))τ⟧sM=⟦σ(x)⟧sτM=(sτ)σ(x)s_\rho(x) =\llbracket(\sigma(x))\tau\rrbracket_s^{\mathcal M} =\llbracket\sigma(x)\rrbracket_{s_\tau}^{\mathcal M} =(s_\tau)_\sigma(x)

となる。したがって割当ては等しい。▨

5 充足代入補題

量化の場合に必要となる割当ての等式を先に示す。

補題 5.1.x∉FV⁡(σ∖x)x\notin\operatorname{FV}(\sigma\setminus x)とする。任意のa∈Ma\in Mについて

(s[x↦a])σ∖x=sσ[x↦a](s[x\mapsto a])_{\sigma\setminus x}=s_\sigma[x\mapsto a]

である。

証明. 変数yyごとに値を比較する。y=xy=xなら左辺は⟦x⟧s[x↦a]M=a\llbracket x\rrbracket_{s[x\mapsto a]}^{\mathcal M}=aであり、右辺もaaである。y≠xy\ne xなら(σ∖x)(y)=σ(y)(\sigma\setminus x)(y)=\sigma(y)である。仮定によりx∉Var⁡(σ(y))x\notin\operatorname{Var}(\sigma(y))であるから、項評価の局所性により

⟦σ(y)⟧s[x↦a]M=⟦σ(y)⟧sM=sσ(y).\llbracket\sigma(y)\rrbracket_{s[x\mapsto a]}^{\mathcal M} =\llbracket\sigma(y)\rrbracket_s^{\mathcal M}=s_\sigma(y).

右辺の更新もy≠xy\ne xではsσ(y)s_\sigma(y)である。▨

定理 5.2 (充足代入補題).M\mathcal MをΣ\Sigma-構造、ssを割当て、σ\sigmaを有限台項代入、φ\varphiを論理式とする。このとき

M,s⊨φσ⟺M,sσ⊨φ\mathcal M,s\models\varphi\sigma \quad\Longleftrightarrow\quad \mathcal M,s_\sigma\models\varphi

である。

証明. 捕獲回避代入と充足はともにα\alpha同値で不変である。新変数化補題により、φ\varphiのすべての束縛変数がFV⁡(σ)∪supp⁡(σ)\operatorname{FV}(\sigma)\cup\operatorname{supp}(\sigma)の外にある代表元を選ぶ。この代表元について構造帰納法を用いる。

等号原子と関係原子の場合、補題 4.2を各項へ適用すると両辺の項の値が一致する。否定と含意の場合は充足関係の対応する節と帰納法の仮定から従う。

φ=∀x ψ\varphi=\forall x\,\psiとする。代表元の選択によりx∉FV⁡(σ∖x)x\notin\operatorname{FV}(\sigma\setminus x)であり、

(∀x ψ)σ=∀x (ψ(σ∖x)).(\forall x\,\psi)\sigma =\forall x\,(\psi(\sigma\setminus x)).

したがって

M,s⊨(∀x ψ)σ  ⟺  すべての a∈M について M,s[x↦a]⊨ψ(σ∖x)  ⟺  すべての a∈M について M,(s[x↦a])σ∖x⊨ψ  ⟺  すべての a∈M について M,sσ[x↦a]⊨ψ  ⟺  M,sσ⊨∀x ψ.\begin{aligned} \mathcal M,s\models(\forall x\,\psi)\sigma &\iff \text{すべての }a\in M\text{ について } \mathcal M,s[x\mapsto a]\models\psi(\sigma\setminus x)\\ &\iff \text{すべての }a\in M\text{ について } \mathcal M,(s[x\mapsto a])_{\sigma\setminus x}\models\psi\\ &\iff \text{すべての }a\in M\text{ について } \mathcal M,s_\sigma[x\mapsto a]\models\psi\\ &\iff \mathcal M,s_\sigma\models\forall x\,\psi. \end{aligned}

第二の同値は帰納法の仮定、第三の同値は補題 5.1による。以上で量化の場合も閉じる。▨

系 5.3.ttがφ\varphiにおけるxxへ自由に代入可能であるとする。すなわち、置換されるxxの自由出現を支配する量化記号の変数がttに現れないとする。φ[t/x]\varphi[t/x]を通常の一変数代入とすると

M,s⊨φ[t/x]⟺M,s[x↦⟦t⟧sM]⊨φ.\mathcal M,s\models\varphi[t/x] \quad\Longleftrightarrow\quad \mathcal M,s[x\mapsto\llbracket t\rrbracket_s^{\mathcal M}]\models\varphi.

証明.σ(x)=t\sigma(x)=t、y≠xy\ne xではσ(y)=y\sigma(y)=yとする。自由代入可能性によりφσ≡αφ[t/x]\varphi\sigma\equiv_\alpha\varphi[t/x]である。実際、捕獲回避代入が、置換されるxxの自由出現を支配しない量化子を新鮮化する場合、通常代入との間に生じる差は束縛変数名だけである。例えばxxが現れない∀y R(z)\forall y\,R(z)へt=yt=yを指定すると、通常代入は元の式を保つ一方、捕獲回避代入は代表元として∀w R(z)\forall w\,R(z)を選ぶことがあるが、両者はα\alpha同値である。置換される自由出現を支配する量化子では、自由代入可能性によりttの変数は捕獲されず、直下の式に対する同じ主張を構造帰納的に用いることができる。また

sσ=s[x↦⟦t⟧sM]s_\sigma=s[x\mapsto\llbracket t\rrbracket_s^{\mathcal M}]

である。§E16.6 定理 5.2でφ[t/x]\varphi[t/x]からφσ\varphi\sigmaへ移り、定理 5.2 (充足代入補題)を適用すれば主張を得る。▨

例 5.4 (充足代入補題の計算). 整数加法群でφ\varphiをm(x,y)=em(x,y)=e、σ(x)=i(y)\sigma(x)=i(y)とし、ほかの変数では恒等写像とする。代入後はm(i(y),y)=em(i(y),y)=eであり、すべての割当てで真である。右辺ではsσ(x)=−s(y)s_\sigma(x)=-s(y)となるため、m(x,y)=em(x,y)=eの評価も−s(y)+s(y)=0-s(y)+s(y)=0となる。

6 演習

問題 6.1.

  1. supp⁡(σ)\operatorname{supp}(\sigma)が有限ならFV⁡(σ)\operatorname{FV}(\sigma)も有限である理由を述べよ。
  2. (∀y R(x,y))[y/x](\forall y\,R(x,y))[y/x]を捕獲回避的に求めよ。
  3. 合成ρ=σ⋆τ\rho=\sigma\star\tauの向きを、sρ=(sτ)σs_\rho=(s_\tau)_\sigmaから説明せよ。
解答 (確認問題の解答).
  1. 各項に現れる変数は有限個であり、有限個の有限集合の和は有限だからである。
  2. zzをx,yx,yと異なる新変数として、∀z R(y,z)\forall z\,R(y,z)を得る。
  3. ρ(x)=(σ(x))τ\rho(x)=(\sigma(x))\tauであるから、構文では先にσ\sigma、次にτ\tauを適用する。評価では外側のτ\tauが先に割当てsτs_\tauを作り、その割当てでσ(x)\sigma(x)を評価するため(sτ)σ(s_\tau)_\sigmaとなる。

▨

捕獲回避代入は、束縛変数を必要に応じて改名した後に構造再帰を適用する操作である。充足代入補題は、この構文操作が割当てsσs_\sigmaによる意味論的評価と正確に一致することを示す。

参考文献

  1. David Marker, Model Theory: An Introduction, Graduate Texts in Mathematics, Springer, 2002.
  2. Wilfrid Hodges, A Shorter Model Theory, Cambridge University Press, 1997.

前提記事