1 有限台同時代入
定義 1.1.Σを一階シグネチャとする。写像
σ:Var⟶TermΣ(Var)であって
supp(σ)={x∈Var:σ(x)=x}が有限であるものを有限台項代入 (finite-support term substitution) という。また
FV(σ)=x∈supp(σ)⋃Var(σ(x))と定める。σ∖xはxをxへ写し、y=xをσ(y)へ写す代入とする。
定義 1.2. 項tへの 同時代入 (simultaneous substitution)tσを
xσcσf(t1,…,tn)σ=σ(x),=c,=f(t1σ,…,tnσ)によって構造再帰的に定める。
例 1.3 (同時代入の同時性).σ(x)=y、σ(y)=f(x)とし、ほかの変数では恒等写像とする。このとき
f(x,y)σ=f(y,f(x))である。xをyへ置き換えた後に、置き換えて生じたyへ再びf(x)を代入するのではない。各変数の像は同時に一回だけ用いる。
2 論理式への捕獲回避代入
原子論理式、否定、含意には項代入をそのまま伝えることができる。全称量化では、束縛変数を代入の作用から遮断し、必要な場合には束縛変数を先に改名する。
定理 2.2.σを有限台項代入とする。各論理式φに対し、次の節を満たすα同値類φσが一意に定まる。
(t=u)σR(t1,…,tn)σ(¬φ)σ(φ→ψ)σ=(tσ=uσ),=R(t1σ,…,tnσ),=¬(φσ),=(φσ→ψσ).量化式では次の規則を用いる。
-
x∈/FV(σ∖x)なら
(∀xφ)σ=∀x(φ(σ∖x)).
-
x∈FV(σ∖x)なら、有限集合
K=Varall(φ)∪FV(σ)∪supp(σ)∪{x}
の外から変数zを選び、∀xφを捕獲回避的に∀zφ′へ改名して
(∀xφ)σ=∀z(φ′(σ∖z))
とする。
結果は入力のα同値類、選んだ代表元、選んだ新変数に依存しない。
証明. まず、各論理式の自由変数集合、supp(σ)、FV(σ)は有限である。Varは無限であるから、第二の場合の有限集合Kの外に変数zが存在する。
任意の有限集合E⊆Varに対し、論理式θのすべての束縛変数をEの外へ捕獲回避的に改名したα同値な論理式が存在することを示す。θに関する構造帰納法を用いる。原子、否定、含意では直下の論理式へ帰納法の仮定を適用する。θ=∀xηの場合、E∪Varall(η)と、帰納的にすでに選んだ有限個の束縛変数の外から新しいzを選ぶ。外側をzに改名してから直下の論理式へ帰納法の仮定を適用する。構文木が有限であるから選択を要する変数は有限個である。以上の主張を新変数化補題と呼ぶ。
表示された節に従って論理式の高さに関する再帰を行えば、少なくとも一つの結果を構成することができる。量化の場合も、再帰呼出しは直下の論理式に対して行われるため停止する。ただし、この段階では再帰の途中で選んだ新変数を記録した代表式を出力とし、well-defined 性はまだ仮定しない。
well-defined 性に必要な改名と代入の可換性を先に証明する。η[x⇝z]により、外側の量化子∀xが束縛する出現だけをzへ改名した本体を表す。z,uが
Varall(η)∪supp(σ)∪FV(σ)∪{x}の外にあるとき、高さがη以下である再帰結果について
∀z((η[x⇝z])(σ∖z))≡α∀u((η[x⇝u])(σ∖u))(1)が成り立つ。これを項と論理式に関する同時構造帰納法で示す。原子式では、外側のxに束縛された変数だけがzまたはuとなり、ほかの変数の代入像にはz,uが現れない。したがって左辺の外側のzをuへ改名すると、両本体は項ごとに一致する。否定と含意では直下の帰納法の仮定を用いる。内側が∀yξの場合は三つに分かれる。y=xなら内側の量化子が外側の束縛を遮断するため、その本体では改名しない。y=zまたはy=uは新鮮性から改名前のηには生じない。yがx,z,uと異なるなら、外側の改名とyによる遮断は可換であり、直下へ帰納法の仮定を適用する。直下の代入がさらに量化変数を改名するときは、二つの有限な禁止集合の外から同じ変数を選び、同じ議論を一段低い論理式へ適用する。以上は高さの小さい再帰結果だけを用い、証明しようとしている well-defined 性を用いていない。
この可換性から、任意の外側変数yに対する次の強化命題を得る。uがVarall(θ)∪supp(σ)∪FV(σ)∪{y}の外にあるなら、表示した再帰規則が(∀yθ)σに対して作る任意の raw 結果は
∀u((θ[y⇝u])(σ∖u))(2)にα同値である。第二規則が新変数zを選ぶ場合は (1) をz,uに適用する。第一規則がyを保つ場合はy∈/FV(σ∖y)である。したがってθ(σ∖y)に代入から生じた自由なyはなく、外側のyをuへ捕獲回避的に改名することができる。項、否定、含意、および内側の量化子について上と同じ同時帰納法を用いると、改名後の本体は(θ[y⇝u])(σ∖u)とα同値になる。この場合分けにより、もとの代表元の束縛変数y自身がsupp(σ)に属する場合も強化命題の対象になる。
新変数選択の diamond 性を示す。量化節でzとwを選んだ二つの結果に対し、両方の禁止集合と{z,w}の外からuを選ぶ。(1) をz,uとw,uにそれぞれ適用すると、両結果は同じuを外側の束縛変数とする結果へα同値である。したがって二つの選択から得た結果も互いにα同値である。
次に代表元からの独立性を示す。α同値の一回の生成規則
∀xη≡α∀zη[x⇝z]を考え、両代表元とσの禁止集合の外から共通のuを選ぶ。左の代表元と右の代表元へ強化命題 (2) を適用すると、両方の raw 結果は、いずれも
∀u((η[x⇝u])(σ∖u))にα同値である。否定、含意、全称量化の合同規則には直下の論理式に対する帰納法の仮定を適用する。さらにα同値の導出について帰納し、反射律、対称律、推移律を順に用いれば、任意の二代表元が同じ出力類を与える。これは生成規則、合同規則、同値閉包をすべて扱っており、単なる新変数選択の独立性だけではない。
最後に一意性を示す。同じ節を満たす二つの操作を取る。原子、否定、含意では構造帰納法により出力類が一致する。量化では両方の出力を強化命題 (2) により共通の新変数へ移し、直下の論理式に対する帰納法の仮定を用いる。ゆえにすべての論理式で出力のα同値類が一致する。▨
例 2.3 (変数捕獲を避ける代入).φ=∀yR(x,y)、σ(x)=yとする。単純な文字置換は∀yR(y,y)を与え、代入項の自由変数yを捕獲する。新しいzを選んでから代入すると
φσ≡α∀zR(y,z)となる。右辺のyは自由なままである。
3 代入の合成
定義 3.1. 有限台項代入σ,τに対して
ρ(x)=(σ(x))τと定め、ρ=σ⋆τ (composition of substitutions) と書く。先にσ、次にτを適用する向きである。
定理 3.2. 有限台項代入σ,τとρ=σ⋆τに対して、次が成り立つ。
- ρは有限台項代入である。
- 任意の項tについて(tσ)τ=tρである。
- 任意の論理式φについて(φσ)τ≡αφρである。
証明.x∈/supp(σ)∪supp(τ)ならρ(x)=(x)τ=xである。したがってsupp(ρ)は二つの有限集合の和に含まれ、有限である。
(2)をtに関する構造帰納法で示す。t=xの場合は合成の定義そのものである。定数の場合は両辺が同じ定数である。関数適用の場合は各引数に帰納法の仮定を適用する。
(3)を示す。新変数化補題により、φの束縛変数を
E=supp(σ)∪supp(τ)∪supp(ρ)∪FV(σ)∪FV(τ)∪FV(ρ)の外へ改名した代表元を選ぶ。入力代表元と新変数の選択からの独立性は定理 2.2で証明済みであるため、この代表元で比較すれば十分である。
原子の場合は(2)を各項へ適用する。否定と含意の場合は直下の論理式に対する帰納法の仮定を用いる。φ=∀xψの場合、xはEの外にあるので、三つの代入はいずれもxを固定し、代入項にxは現れない。したがって量化の定理 2.2 条件 (a)だけが適用され、
((∀xψ)σ)τ≡α∀x((ψ(σ∖x))(τ∖x)).ここで、制限した代入の合成がρ∖xに等しいことを変数ごとに確認する。y=xでは
((σ∖x)⋆(τ∖x))(x)=x=(ρ∖x)(x)である。y=xでは、x∈/FV(σ)であるからxは項σ(y)に現れず、項への代入の定義より
((σ∖x)⋆(τ∖x))(y)=(σ(y))(τ∖x)=(σ(y))τ=ρ(y)=(ρ∖x)(y)となる。したがって二つの制限代入は実際に等しい。帰納法の仮定により直下はψ(ρ∖x)とα同値であるから、右辺は(∀xψ)ρとα同値である。この議論は量化節での制限と合成の交換を省略せず、量化が入れ子になった場合にも各段で同じ等式を用いる。▨
4 割当てに誘導される変更
定義 4.1.MをΣ-構造、s:Var→Mを割当て、σを有限台項代入とする。割当てsσ (assignment induced by a substitution) を
sσ(x)=[[σ(x)]]sMによって定める。
補題 4.2.MをΣ-構造、sを割当て、σを有限台項代入、tを項とする。このとき
[[tσ]]sM=[[t]]sσMである。
証明.tに関する構造帰納法を用いる。t=xの場合、左辺は[[σ(x)]]sM=sσ(x)であり、右辺も同じ値である。定数の場合は両辺がcMである。関数適用の場合は各引数に帰納法の仮定を適用し、同じ関数fMを用いる。▨
系 4.3.ρ=σ⋆τとする。任意のΣ-構造Mと割当てsについて
sρ=(sτ)σである。
証明. 任意の変数xについて、項評価代入補題をt=σ(x)に適用すると
sρ(x)=[[(σ(x))τ]]sM=[[σ(x)]]sτM=(sτ)σ(x)となる。したがって割当ては等しい。▨
5 充足代入補題
量化の場合に必要となる割当ての等式を先に示す。
補題 5.1.x∈/FV(σ∖x)とする。任意のa∈Mについて
(s[x↦a])σ∖x=sσ[x↦a]である。
証明. 変数yごとに値を比較する。y=xなら左辺は[[x]]s[x↦a]M=aであり、右辺もaである。y=xなら(σ∖x)(y)=σ(y)である。仮定によりx∈/Var(σ(y))であるから、項評価の局所性により
[[σ(y)]]s[x↦a]M=[[σ(y)]]sM=sσ(y).右辺の更新もy=xではsσ(y)である。▨
定理 5.2 (充足代入補題).MをΣ-構造、sを割当て、σを有限台項代入、φを論理式とする。このとき
M,s⊨φσ⟺M,sσ⊨φである。
証明. 捕獲回避代入と充足はともにα同値で不変である。新変数化補題により、φのすべての束縛変数がFV(σ)∪supp(σ)の外にある代表元を選ぶ。この代表元について構造帰納法を用いる。
等号原子と関係原子の場合、補題 4.2を各項へ適用すると両辺の項の値が一致する。否定と含意の場合は充足関係の対応する節と帰納法の仮定から従う。
φ=∀xψとする。代表元の選択によりx∈/FV(σ∖x)であり、
(∀xψ)σ=∀x(ψ(σ∖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ψ.第二の同値は帰納法の仮定、第三の同値は補題 5.1による。以上で量化の場合も閉じる。▨
系 5.3.tがφにおけるxへ自由に代入可能であるとする。すなわち、置換されるxの自由出現を支配する量化記号の変数がtに現れないとする。φ[t/x]を通常の一変数代入とすると
M,s⊨φ[t/x]⟺M,s[x↦[[t]]sM]⊨φ.
証明.σ(x)=t、y=xではσ(y)=yとする。自由代入可能性によりφσ≡αφ[t/x]である。実際、捕獲回避代入が、置換されるxの自由出現を支配しない量化子を新鮮化する場合、通常代入との間に生じる差は束縛変数名だけである。例えばxが現れない∀yR(z)へt=yを指定すると、通常代入は元の式を保つ一方、捕獲回避代入は代表元として∀wR(z)を選ぶことがあるが、両者はα同値である。置換される自由出現を支配する量化子では、自由代入可能性によりtの変数は捕獲されず、直下の式に対する同じ主張を構造帰納的に用いることができる。また
sσ=s[x↦[[t]]sM]である。§E16.6 定理 5.2でφ[t/x]からφσへ移り、定理 5.2 (充足代入補題)を適用すれば主張を得る。▨
例 5.4 (充足代入補題の計算). 整数加法群でφをm(x,y)=e、σ(x)=i(y)とし、ほかの変数では恒等写像とする。代入後はm(i(y),y)=eであり、すべての割当てで真である。右辺ではsσ(x)=−s(y)となるため、m(x,y)=eの評価も−s(y)+s(y)=0となる。
6 演習
問題 6.1.
- supp(σ)が有限ならFV(σ)も有限である理由を述べよ。
- (∀yR(x,y))[y/x]を捕獲回避的に求めよ。
- 合成ρ=σ⋆τの向きを、sρ=(sτ)σから説明せよ。
解答 (確認問題の解答).
- 各項に現れる変数は有限個であり、有限個の有限集合の和は有限だからである。
- zをx,yと異なる新変数として、∀zR(y,z)を得る。
- ρ(x)=(σ(x))τであるから、構文では先にσ、次にτを適用する。評価では外側のτが先に割当てsτを作り、その割当てでσ(x)を評価するため(sτ)σとなる。
▨
捕獲回避代入は、束縛変数を必要に応じて改名した後に構造再帰を適用する操作である。充足代入補題は、この構文操作が割当てsσによる意味論的評価と正確に一致することを示す。