§E16.20算術化の PA 内での形式化

最終更新

上流の記事は、有限列符号と原始再帰関数をLAL_A論理式へ移し、固定した標準自然数を代入した場合にその正しさをQQが証明することを示した。§E16.19 定理 4.5も§E16.19 定理 7.1も、入力ごとに別々の有限導出を与えるだけであり、入力を自由変数として残した一様な主張を与えていない。§E16.19 注意 8.2は、この差が原理的なものであることを述べている。

長さの定まらない証明列や計算列を自由変数として扱う議論は、この差を埋めなければ始まらない。本記事は、帰納法公理スキーマをもつ Peano 算術PAPAを対象に、同じ符号と同じ算術式について一様な主張を証明する。すなわち、PAPAが有限列の長さ・成分・連結・末尾追加の法則を証明すること、原始再帰関数の全域性と定義方程式がPAPAの定理であること、および数詞符号と閉項符号の性質と代入可能性の判定をPAPAが扱うことを示す。

本記事は特定の理論TTの証明可能性を扱わない。ここで整えるのはPAPA自身の算術と構文についての事実であり、証明述語を含む主張は後続の記事が扱う。

1 1. PA の内部で用いる初等的な数論

以下、LA={0,S,+,×}L_A=\{0,S,+,\times\}とし、順序は§E16.15 定義 1.1の略記

x<y: ⁣ ⁣⟺∃z (y=x+Sz),x≤y: ⁣ ⁣⟺∃z (y=x+z)x<y:\!\!\Longleftrightarrow\exists z\,(y=x+Sz), \qquad x\le y:\!\!\Longleftrightarrow\exists z\,(y=x+z)

に従う。PAPAは§E16.15 定義 3.1の理論であり、帰納法公理スキーマはすべてのLAL_A論理式について成り立つ。以下の帰納法は、いずれもこの図式の一つの例であって、論理式の複雑さによる制限を受けない。

補題 1.1.PAPAは次を証明する。

  1. 加法と乗法の結合律と交換律、および分配律x×(y+z)=x×y+x×zx\times(y+z)=x\times y+x\times z。
  2. 加法の消約律x+z=y+z→x=yx+z=y+z\to x=y、およびz≠0z\ne0のときの乗法の消約律x×z=y×z→x=yx\times z=y\times z\to x=y。
  3. x≤y∨y≤xx\le y\lor y\le x、≤\leの反射律・推移律・反対称律、およびx<y↔Sx≤yx<y\leftrightarrow Sx\le y。
  4. x≠0→∃u (x=Su)x\ne0\to\exists u\,(x=Su)、y≤0→y=0y\le0\to y=0、y≤Sx→(y≤x∨y=Sx)y\le Sx\to(y\le x\lor y=Sx)、y<Sx→y≤xy<Sx\to y\le x。
  5. 加法と乗法の単調性x≤y→x+z≤y+zx\le y\to x+z\le y+zおよびx≤y→x×z≤y×zx\le y\to x\times z\le y\times z。
  6. 乗法の単調性の逆0<z∧x×z≤y×z→x≤y0<z\land x\times z\le y\times z\to x\le y。

証明.(1)を示す。0+x=x0+x=xはxxに関する帰納法による。x=0x=0では (Q4)、xxからSxSxへは (Q5) により0+Sx=S(0+x)=Sx0+Sx=S(0+x)=Sxである。Sx+y=S(x+y)Sx+y=S(x+y)もyyに関する帰納法で得る。この二つから、yyに関する帰納法でx+y=y+xx+y=y+xを得る。結合律(x+y)+z=x+(y+z)(x+y)+z=x+(y+z)はzzに関する帰納法により、(Q4) と (Q5) だけから従う。

分配律x×(y+z)=x×y+x×zx\times(y+z)=x\times y+x\times zはzzに関する帰納法による。z=0z=0では (Q4) と (Q6)、zzからSzSzへは (Q5) と (Q7) および加法の結合律・交換律を用いる。0×x=00\times x=0はxxに関する帰納法で、Sx×y=x×y+ySx\times y=x\times y+yはyyに関する帰納法で示し、これらからyyに関する帰納法でx×y=y×xx\times y=y\times xを得る。乗法の結合律はzzに関する帰納法と分配律による。

(2)の加法の消約律はzzに関する帰納法による。z=0z=0では (Q4)、zzからSzSzへは (Q5) と (Q2) を用いる。乗法の消約律は(3)の後に示す。

(3)を示す。∀y (x≤y∨y≤x)\forall y\,(x\le y\lor y\le x)をxxに関する帰納法で示す。x=0x=0ではy=0+yy=0+yより0≤y0\le yである。xxからSxSxへ進む段でyyを取る。y≤xy\le xならばx=y+dx=y+dと書くことができ、Sx=y+SdSx=y+Sdよりy≤Sxy\le Sxである。x≤yx\le yならばy=x+dy=x+dと書くことができる。d=0d=0ならy=x≤Sxy=x\le Sxである。d=Sud=Suならy=x+Su=Sx+uy=x+Su=Sx+uよりSx≤ySx\le yである。反射律と推移律は加法の結合律から従う。反対称律は、y=x+dy=x+dとx=y+ex=y+eからx=x+(d+e)x=x+(d+e)を得て、消約律によりd+e=0d+e=0、(Q1) と (Q5) によりd=e=0d=e=0となることによる。x<y↔Sx≤yx<y\leftrightarrow Sx\le yはx+Sz=Sx+zx+Sz=Sx+zから従う。

(4)の第1式は (Q3) である。y≤0y\le0は0=y+d0=y+dを与え、y=Suy=Suならy+d=S(u+d)y+d=S(u+d)が (Q1) に反するのでy=0y=0である。y≤Sxy\le SxはSx=y+dSx=y+dを与え、d=0d=0ならy=Sxy=Sx、d=Sed=SeならSx=S(y+e)Sx=S(y+e)と (Q2) からx=y+ex=y+e、すなわちy≤xy\le xである。y<Sxy<SxはSx=y+Sz=S(y+z)Sx=y+Sz=S(y+z)を与え、(Q2) からx=y+zx=y+z、すなわちy≤xy\le xである。

(5)の加法の単調性は結合律から直ちに従う。乗法の単調性は分配律から従う。

(2)の乗法の消約律を示す。z≠0z\ne0としx×z=y×zx\times z=y\times zとする。(3)によりx≤yx\le yとしてよい。x≠yx\ne yならばy=x+Sdy=x+Sdと書くことができ、分配律によりy×z=x×z+Sd×zy\times z=x\times z+Sd\times zである。消約律によりSd×z=0Sd\times z=0である。一方Sd×z=d×z+zSd\times z=d\times z+zであり、z≠0z\ne0からSd×z≠0Sd\times z\ne0である。これは矛盾なのでx=yx=yである。

(6)を示す。0<z0<zとしx×z≤y×zx\times z\le y\times zとする。(3)によりx≤yx\le yまたはy≤xy\le xである。前者ならば示すことがない。後者でx≠yx\ne yとすると、x=y+Sdx=y+Sdを満たすddが存在し、分配律によりx×z=y×z+Sd×zx\times z=y\times z+Sd\times zである。一方x×z≤y×zx\times z\le y\times zからy×z=x×z+wy\times z=x\times z+wを満たすwwが存在するので、y×z=y×z+Sd×z+wy\times z=y\times z+Sd\times z+wとなり、加法の消約律によりSd×z+w=0Sd\times z+w=0であり、Sd×z≤0Sd\times z\le0と(4)によりSd×z=0Sd\times z=0である。Sd×z=d×z+zSd\times z=d\times z+zと0<z0<zからこれは矛盾である。よってx=yx=yであり、いずれにせよx≤yx\le yである。▨

補題 1.2.φ(x,z⃗)\varphi(x,\vec z)を任意のLAL_A論理式とする。PAPAは

∃x φ(x,z⃗)→∃x (φ(x,z⃗)∧∀y<x ¬φ(y,z⃗))\exists x\,\varphi(x,\vec z) \to \exists x\,\bigl(\varphi(x,\vec z)\land\forall y<x\,\neg\varphi(y,\vec z)\bigr)

を証明する。

証明. 対偶を示す。∀x (φ(x,z⃗)→∃y<x φ(y,z⃗))\forall x\,\bigl(\varphi(x,\vec z)\to\exists y<x\,\varphi(y,\vec z)\bigr)を仮定する。論理式ψ(x): ⁣ ⁣⟺∀y≤x ¬φ(y,z⃗)\psi(x):\!\!\Longleftrightarrow\forall y\le x\,\neg\varphi(y,\vec z)にPAPAの帰納法を適用する。

x=0x=0の場合、補題 1.1 (4)によりy≤0y\le0はy=0y=0を与えるので、¬φ(0,z⃗)\neg\varphi(0,\vec z)を示せばよい。φ(0,z⃗)\varphi(0,\vec z)を仮定すると、仮定からy<0y<0を満たすyyが存在することになる。しかし0=y+Sd=S(y+d)0=y+Sd=S(y+d)は (Q1) に反する。よって¬φ(0,z⃗)\neg\varphi(0,\vec z)である。

xxからSxSxへ進む段では、ψ(x)\psi(x)を仮定する。φ(Sx,z⃗)\varphi(Sx,\vec z)とすると、y<Sxy<Sxかつφ(y,z⃗)\varphi(y,\vec z)を満たすyyが存在する。補題 1.1 (4)によりy≤xy\le xであり、ψ(x)\psi(x)に反する。よって¬φ(Sx,z⃗)\neg\varphi(Sx,\vec z)であり、補題 1.1 (4)のy≤Sx→(y≤x∨y=Sx)y\le Sx\to(y\le x\lor y=Sx)と合わせてψ(Sx)\psi(Sx)を得る。

従って∀x ψ(x)\forall x\,\psi(x)であり、とくに∀x ¬φ(x,z⃗)\forall x\,\neg\varphi(x,\vec z)である。▨

補題 1.3.PAPAは次を証明する。0<b0<bとすると、

a=q×b+r,r<ba=q\times b+r,\qquad r<b

を満たすq,rq,rがちょうど一組存在する。

証明. 存在をaaに関する帰納法で示す。a=0a=0ではq=r=0q=r=0とすればよい。aaからSaSaへ進む段では、a=q×b+ra=q\times b+r、r<br<bとする。Sa=q×b+SrSa=q\times b+Srである。Sr<bSr<bならばこの組でよい。そうでなければ補題 1.1 (3)と補題 1.1 (4)によりSr=bSr=bであるから、Sa=q×b+b=Sq×b+0Sa=q\times b+b=Sq\times b+0となり、0<b0<bよりこの組でよい。

一意性を示す。q×b+r=q′×b+r′q\times b+r=q'\times b+r'、r<br<b、r′<br'<bとする。補題 1.1 (3)によりq≤q′q\le q'としてよく、q′=q+eq'=q+eと書く。分配律によりq×b+r=q×b+e×b+r′q\times b+r=q\times b+e\times b+r'であり、加法の消約律によりr=e×b+r′r=e\times b+r'である。e≠0e\ne0ならばe×b≥be\times b\ge bであるからr≥br\ge bとなり、r<br<bに反する。よってe=0e=0、すなわちq=q′q=q'であり、消約律からr=r′r=r'である。▨

定義 1.4 (PA 内の整除式と合同式).LAL_A論理式の略記を

d∣a: ⁣ ⁣⟺∃q (a=q×d),a≡b (mod m): ⁣ ⁣⟺∃s ∃t (a+m×s=b+m×t)d\mid a \quad:\!\!\Longleftrightarrow\quad \exists q\,(a=q\times d), \qquad a\equiv b\ (\mathrm{mod}\ m) \quad:\!\!\Longleftrightarrow\quad \exists s\,\exists t\,(a+m\times s=b+m\times t)

と定める。左の略記を PA 内の整除式 (divisibility formula in PA)、右の略記を PA 内の合同式 (congruence formula in PA) という。合同の定義に自然数の引き算を用いていないので、右辺はそのままLAL_A論理式である。

補題 1.5.PAPAは次を証明する。

  1. ≡ (mod m)\equiv\ (\mathrm{mod}\ m)は反射的、対称的、推移的であり、a≡ba\equiv bかつc≡dc\equiv dならばa+c≡b+da+c\equiv b+dかつa×c≡b×da\times c\equiv b\times dである。
  2. 0<d0<d、d∣ad\mid a、a+r=a′a+r=a'、d∣a′d\mid a'ならばd∣rd\mid rである。
  3. m∣Mm\mid Mかつa≡b (mod M)a\equiv b\ (\mathrm{mod}\ M)ならばa≡b (mod m)a\equiv b\ (\mathrm{mod}\ m)である。
  4. 0<m0<mとする。a≡b (mod m)a\equiv b\ (\mathrm{mod}\ m)であることと、aaとbbをmmで割った余りが等しいこととは同値である。とくにb<mb<mならば、a≡b (mod m)a\equiv b\ (\mathrm{mod}\ m)はaaをmmで割った余りがbbであることと同値である。

証明.(1)の反射律と対称律は定義から直ちに従う。推移律は、a+ms=b+mta+ms=b+mtとb+ms′=c+mt′b+ms'=c+mt'からa+m(s+s′)=c+m(t+t′)a+m(s+s')=c+m(t+t')を得ることによる。加法との両立は二つの等式を辺ごとに加えることによる。乗法との両立は、まずa+ms=b+mta+ms=b+mtの両辺にccを掛けてac+m(sc)=bc+m(tc)ac+m(sc)=bc+m(tc)を得てac≡bcac\equiv bcとし、同様にbc≡bdbc\equiv bdを得て推移律を用いることによる。

(2)を示す。a=qda=qd、a′=q′da'=q'dとするとqd+r=q′dqd+r=q'dであり、とくにq×d≤q′×dq\times d\le q'\times dである。0<d0<dであるから補題 1.1 (6)によりq≤q′q\le q'であり、q′=q+wq'=q+wと書くことができる。分配律と加法の消約律によりr=wdr=wd、すなわちd∣rd\mid rである。

(3)は、M=m×kM=m\times kとa+Ms=b+Mta+Ms=b+Mtからa+m(ks)=b+m(kt)a+m(ks)=b+m(kt)を得ることによる。

(4)を示す。補題 1.3によりa=q×m+ρa=q\times m+\rho、b=q′×m+ρ′b=q'\times m+\rho'、ρ,ρ′<m\rho,\rho'<mと書くことができる。ρ=ρ′\rho=\rho'ならばa+mq′=b+mqa+m q'=b+m qとなりa≡ba\equiv bである。逆にa+ms=b+mta+ms=b+mtとすると、ρ+m(q+s)=ρ′+m(q′+t)\rho+m(q+s)=\rho'+m(q'+t)である。補題 1.1 (3)によりq+s≤q′+tq+s\le q'+tとしてよく、q′+t=(q+s)+eq'+t=(q+s)+eと書くと、消約律によりρ=ρ′+m×e\rho=\rho'+m\times eを得る。e≠0e\ne0ならばρ≥m\rho\ge mとなりρ<m\rho<mに反するのでe=0e=0、すなわちρ=ρ′\rho=\rho'である。最後の主張は、b<mb<mのときbbをmmで割った余りがbb自身であることによる。▨

2 2. Bézout の等式と中国剰余定理

有限族の表符号は、二つずつ互いに素な法に対する合同式の同時可解性から得る。§E16.19 補題 4.2は同じ事実をメタ理論で証明しているが、そこでは整数と可変長の積を用いており、PAPAの内部の主張ではない。ここでは自然数だけを用いてPAPA内の版を証明する。

0<a0<aかつ0<b0<bのとき、aaとbbが互いに素であるとは、e∣ae\mid aかつe∣be\mid bを満たす任意のeeについてe=1e=1であることをいう。

補題 2.1 (PA における Bézout の等式).PAPAは次を証明する。0<a0<aかつ0<b0<bとし、LAL_A論理式

σa,b(z): ⁣ ⁣⟺0<z∧∃u ∃v (z+b×v=a×u)\sigma_{a,b}(z):\!\!\Longleftrightarrow 0<z\land\exists u\,\exists v\,(z+b\times v=a\times u)

を満たす最小のzzをddとする。このときddは存在し、d∣ad\mid aかつd∣bd\mid bである。さらに、e∣ae\mid aかつe∣be\mid bを満たす任意のeeについてe∣de\mid dである。

証明.u=1u=1、v=0v=0と取るとa+b×0=a×1a+b\times0=a\times1であるから、0<a0<aと合わせてσa,b(a)\sigma_{a,b}(a)が成り立つ。補題 1.2をσa,b\sigma_{a,b}へ適用して、σa,b\sigma_{a,b}を満たす最小のddを取る。d+bv0=au0d+b v_0=a u_0を満たすu0,v0u_0,v_0を固定する。

d∣bd\mid bを示す。補題 1.3によりb=q×d+rb=q\times d+r、r<dr<dと書く。r=0r=0でないと仮定する。A:=qu0A:=q u_0、B:=1+qv0B:=1+q v_0、s:=A+Bs:=A+Bと置く。0<b0<bよりbs≥s≥Ab s\ge s\ge Aであるから、U+A=bsU+A=b sを満たすUUが存在する。0<a0<aよりas≥s≥Ba s\ge s\ge Bであるから、V+B=asV+B=a sを満たすVVが存在する。

U+A=bsU+A=bsの両辺にaaを掛けてaU+aA=absaU+aA=abs、V+B=asV+B=asの両辺にbbを掛けてbV+bB=absbV+bB=absを得る。従って

aU+aqu0=bV+b+bqv0aU+a q u_0=bV+b+b q v_0

である。d+bv0=au0d+bv_0=au_0の両辺にqqを掛けるとqd+qbv0=qau0qd+q b v_0=q a u_0であり、左辺のaqu0aqu_0をこれで置き換えると

aU+qd+qbv0=bV+b+bqv0aU+qd+q b v_0=bV+b+b q v_0

となる。加法の消約律によりaU+qd=bV+baU+qd=bV+bである。b=qd+rb=qd+rを代入して再び消約するとaU=bV+raU=bV+r、すなわちr+bV=aUr+bV=aUを得る。0<r0<rであるからσa,b(r)\sigma_{a,b}(r)が成り立ち、r<dr<dはddの最小性に反する。よってr=0r=0、すなわちd∣bd\mid bである。

d∣ad\mid aを示す。補題 1.3によりa=q×d+ra=q\times d+r、r<dr<dと書き、r=0r=0でないと仮定する。0<b0<bよりb×qu0≥qu0b\times q u_0\ge q u_0であるから、U+qu0=1+b×qu0U+q u_0=1+b\times q u_0を満たすUUが存在する。またd+bv0=au0d+bv_0=au_0からbv0≤au0b v_0\le a u_0であり、0<b0<bよりv0≤bv0≤au0v_0\le b v_0\le a u_0であるからqv0≤a×qu0q v_0\le a\times q u_0であり、V+qv0=a×qu0V+q v_0=a\times q u_0を満たすVVが存在する。

U+qu0=1+bqu0U+qu_0=1+b q u_0の両辺にaaを掛けてaU+aqu0=a+abqu0aU+a q u_0=a+ab q u_0、V+qv0=aqu0V+qv_0=a q u_0の両辺にbbを掛けてbV+bqv0=abqu0bV+b q v_0=ab q u_0を得る。従って

aU+aqu0=a+bV+bqv0aU+a q u_0=a+bV+b q v_0

である。上と同じくaqu0=qd+qbv0aqu_0=qd+qbv_0を代入し、消約するとaU+qd=a+bVaU+qd=a+bVとなる。a=qd+ra=qd+rを代入して消約するとaU=r+bVaU=r+bVを得る。0<r0<rであるからσa,b(r)\sigma_{a,b}(r)が成り立ち、r<dr<dは最小性に反する。よってr=0r=0、すなわちd∣ad\mid aである。

共通の約数がddを割ることを示す。a=ea′a=e a'、b=eb′b=e b'とする。0<a0<aよりe≠0e\ne0である。d+eb′v0=ea′u0d+e b' v_0=e a' u_0からeb′v0≤ea′u0e b' v_0\le e a' u_0であり、0<e0<eと補題 1.1 (6)によりb′v0≤a′u0b' v_0\le a' u_0である。b′v0+w=a′u0b' v_0+w=a' u_0と書くとd+eb′v0=eb′v0+ewd+e b' v_0=e b' v_0+e wとなり、消約によりd=ewd=e w、すなわちe∣de\mid dである。▨

系 2.2.PAPAは次を証明する。0<d0<d、0<C0<Cとし、ddとCCが互いに素であるとする。このときd∣e×Cd\mid e\times Cならばd∣ed\mid eである。

証明.補題 2.1をa:=da:=d、b:=Cb:=Cへ適用する。σd,C\sigma_{d,C}を満たす最小の数d0d_0はddとCCの共通の約数であるから、互いに素という仮定によりd0=1d_0=1である。従って1+Cv=du1+C v=d uを満たすu,vu,vが存在する。両辺にeeを掛けて

e+eCv=edue+e C v=e d u

を得る。eC=dke C=d kと書くとe+dkv=d×eue+d k v=d\times e uである。とくにd×(kv)≤d×(eu)d\times(k v)\le d\times(e u)であり、0<d0<dと補題 1.1 (6)によりkv≤euk v\le e uであるから、kv+w=euk v+w=e uを満たすwwが存在する。これを代入するとe+dkv=dkv+dwe+d k v=d k v+d wとなり、消約によりe=dwe=d w、すなわちd∣ed\mid eである。▨

補題 2.3 (二つの法に対する中国剰余定理).PAPAは次を証明する。0<m0<m、0<n0<nとし、mmとnnが互いに素であるとする。このとき、x<mx<mとy<ny<nを満たす任意のx,yx,yに対して

c<m×n,c≡x (mod m),c≡y (mod n)c<m\times n, \qquad c\equiv x\ (\mathrm{mod}\ m), \qquad c\equiv y\ (\mathrm{mod}\ n)

を満たすccが存在する。

証明.補題 2.1をa:=ma:=m、b:=nb:=nへ適用する。σm,n\sigma_{m,n}を満たす最小の数d0d_0はmmとnnの共通の約数であるから、互いに素という仮定によりd0=1d_0=1である。従って

1+nv=mu(1)1+n v=m u \tag{1}

を満たすu,vu,vが存在する。0<m0<mよりm=Sm′m=Sm'を満たすm′m'が存在する。(1) の両辺にm′m'を掛けるとm′+nvm′=mum′m'+n v m'=m u m'であり、両辺に11を加えると

m+n×(vm′)=m×(um′)+1(2)m+n\times(v m')=m\times(u m')+1 \tag{2}

を得る。ここでEm:=n×(vm′)E_m:=n\times(v m')、En:=muE_n:=m uと置く。

(2) はEm+m×1=1+m×(um′)E_m+m\times1=1+m\times(um')を意味するのでEm≡1 (mod m)E_m\equiv1\ (\mathrm{mod}\ m)であり、EmE_mはnnの倍数なのでEm≡0 (mod n)E_m\equiv0\ (\mathrm{mod}\ n)である。(1) はEn=1+nvE_n=1+n vを意味するのでEn≡1 (mod n)E_n\equiv1\ (\mathrm{mod}\ n)であり、EnE_nはmmの倍数なのでEn≡0 (mod m)E_n\equiv0\ (\mathrm{mod}\ m)である。

c0:=x×Em+y×Enc_0:=x\times E_m+y\times E_nと置く。補題 1.5 (1)により

c0≡x×1+y×0=x (mod m),c0≡x×0+y×1=y (mod n)c_0\equiv x\times1+y\times0=x\ (\mathrm{mod}\ m), \qquad c_0\equiv x\times0+y\times1=y\ (\mathrm{mod}\ n)

である。0<m×n0<m\times nであるから補題 1.3によりc0c_0をm×nm\times nで割った余りccを取ることができ、c<m×nc<m\times nかつc≡c0 (mod m×n)c\equiv c_0\ (\mathrm{mod}\ m\times n)である。m∣m×nm\mid m\times nとn∣m×nn\mid m\times nに補題 1.5 (3)を適用し、推移律を用いると、c≡x (mod m)c\equiv x\ (\mathrm{mod}\ m)かつc≡y (mod n)c\equiv y\ (\mathrm{mod}\ n)を得る。▨

3 3. 表符号の存在

§E16.19 定義 4.1は、可変長の復号履歴を一つの対(B,C)(B,C)へ収める式として

M(i,C):=S((Si)×C),Tab⁡Q0(B,C,i,x): ⁣ ⁣⟺x<M(i,C)∧∃q (q≤B∧B=(q×M(i,C))+x)M(i,C):=S((Si)\times C), \qquad \operatorname{Tab}^{0}_Q(B,C,i,x) :\!\!\Longleftrightarrow x<M(i,C)\land\exists q\,\bigl(q\le B\land B=(q\times M(i,C))+x\bigr)

と、その一意性節を加えたCell⁡Q(B,C,i,x)\operatorname{Cell}_Q(B,C,i,x)を固定している。M(i,C)M(i,C)はLAL_Aの項である。

補題 3.1.PAPAは次を証明する。

  1. 任意のB,C,iB,C,iについてCell⁡Q(B,C,i,x)\operatorname{Cell}_Q(B,C,i,x)を満たすxxがちょうど一つ存在する。
  2. Cell⁡Q(B,C,i,x)\operatorname{Cell}_Q(B,C,i,x)が成り立つことと、x<M(i,C)x<M(i,C)かつB≡x (mod M(i,C))B\equiv x\ (\mathrm{mod}\ M(i,C))が成り立つこととは同値である。

証明.M(i,C)=S((Si)×C)M(i,C)=S((Si)\times C)は後続者の値なので (Q1) により0<M(i,C)0<M(i,C)である。補題 1.3により、B=q×M(i,C)+xB=q\times M(i,C)+xかつx<M(i,C)x<M(i,C)を満たすq,xq,xがちょうど一組存在する。0<M(i,C)0<M(i,C)と乗法の単調性によりq≤q×M(i,C)≤Bq\le q\times M(i,C)\le Bであるから、Tab⁡Q0(B,C,i,x)\operatorname{Tab}^{0}_Q(B,C,i,x)が成り立つ。逆にTab⁡Q0(B,C,i,z)\operatorname{Tab}^{0}_Q(B,C,i,z)ならば、zzは同じ除法の余りであるから一意性によりz=xz=xである。従ってCell⁡Q(B,C,i,x)\operatorname{Cell}_Q(B,C,i,x)が成り立ち、他の値では第2連言が破れるのでxxは一意である。これが(1)である。

(2)は、補題 1.5 (4)により、x<M(i,C)x<M(i,C)の下で「B≡xB\equiv x」と「BBをM(i,C)M(i,C)で割った余りがxxである」が同値であることによる。▨

補題 3.2.φ(i,y,z⃗)\varphi(i,y,\vec z)を任意のLAL_A論理式とする。PAPAは次を証明する。kkとz⃗\vec zを固定し、i<ki<kの各iiに対してφ(i,y,z⃗)\varphi(i,y,\vec z)を満たすyyが一意に存在するとする。このとき、

∀i<k  ∀y (φ(i,y,z⃗)→Cell⁡Q(B,C,i,y))\forall i<k\;\forall y\,\bigl(\varphi(i,y,\vec z)\to\operatorname{Cell}_Q(B,C,i,y)\bigr)

を満たすB,CB,Cが存在する。

証明. 以下はすべてPAPAの内部の議論である。

法を定めるCCを選ぶ。kkに関する帰納法により、0<P0<Pかつ1≤t≤k1\le t\le kを満たすすべてのttについてt∣Pt\mid PとなるPPが存在する。k=0k=0ではP=1P=1とし、kkからSkSkへ進む段では前段のPPにSkSkを掛ける。次に、i<ki<kの各iiの値を上から抑えるbbを取る。補題の仮定が値の一意な存在を与えるのはi<ki<kの範囲だけであるから、kk自身へ帰納法を行うことはできない。そこで、kkを固定したままllに関する帰納法を行い、l≤kl\le kを満たすすべてのllについて

Θ0(l):∃b ∀i<l ∀y (φ(i,y,z⃗)→y≤b)\Theta_0(l):\quad \exists b\,\forall i<l\,\forall y\,\bigl(\varphi(i,y,\vec z)\to y\le b\bigr)

を示す。l=0l=0ではb:=0b:=0とすればよく、i<0i<0を満たすiiが無いので全称条件は空虚に成り立つ。llからSlSlへ進む段ではSl≤kSl\le kとする。このときl<kl<kであるから、補題の仮定をi:=li:=lについて用いることができ、φ(l,yl,z⃗)\varphi(l,y_l,\vec z)を満たすyly_lが一意に存在する。Θ0(l)\Theta_0(l)の証人blb_lを取り、補題 1.1 (3)によりblb_lとyly_lの大きいほうをbSlb_{Sl}とすれば、i<Sli<Slのすべての値がbSlb_{Sl}以下である。l=kl=kにおけるΘ0(k)\Theta_0(k)の証人をbbとする。ここでC:=P×SbC:=P\times Sbと置く。0<P0<Pよりb<Cb<Cであり、1≤t≤k1\le t\le kを満たすすべてのttがCCを割る。

法が二つずつ互いに素であることを示す。i<j<ki<j<kとし、e∣M(i,C)e\mid M(i,C)かつe∣M(j,C)e\mid M(j,C)とする。j=i+fj=i+fと書くと1≤f≤k1\le f\le kであり、

M(j,C)=S((Sj)×C)=S((Si)×C)+f×C=M(i,C)+f×CM(j,C)=S((Sj)\times C)=S((Si)\times C)+f\times C=M(i,C)+f\times C

である。e=0e=0とするとM(i,C)=0M(i,C)=0となり (Q1) に反するので0<e0<eである。補題 1.5 (2)によりe∣f×Ce\mid f\times Cである。次にeeとCCが互いに素であることを示す。t∣et\mid eかつt∣Ct\mid Cとする。t=0t=0とするとe=0e=0となるので0<t0<tである。t∣M(i,C)=S((Si)×C)t\mid M(i,C)=S((Si)\times C)かつt∣(Si)×Ct\mid(Si)\times Cであるから、補題 1.5 (2)によりt∣1t\mid1、すなわちt=1t=1である。従って系 2.2によりe∣fe\mid fである。1≤f≤k1\le f\le kよりf∣Cf\mid Cであるからe∣Ce\mid Cである。eeはeeとCCの共通の約数であるから、互いに素であることによりe=1e=1である。

表符号を作る。N:=kN:=kと置き、Ψ(P,l): ⁣ ⁣⟺∀e ∀j (l≤j∧j<N∧e∣P∧e∣M(j,C)→e=1)\Psi(P,l):\!\!\Longleftrightarrow\forall e\,\forall j\,\bigl(l\le j\land j<N\land e\mid P\land e\mid M(j,C)\to e=1\bigr)とする。llに関する帰納法により、l≤Nl\le Nを満たすすべてのllについて次の主張Θ(l)\Theta(l)を示す。

Θ(l):∃B ∃P (0<P∧B<P∧∀i<l (M(i,C)∣P)∧Ψ(P,l)∧∀i<l ∀y (φ(i,y,z⃗)→B≡y (mod M(i,C))))\Theta(l):\quad \exists B\,\exists P\,\Bigl( 0<P\land B<P\land \forall i<l\,\bigl(M(i,C)\mid P\bigr)\land \Psi(P,l)\land \forall i<l\,\forall y\,\bigl(\varphi(i,y,\vec z)\to B\equiv y\ (\mathrm{mod}\ M(i,C))\bigr)\Bigr)

積PPを証人として持ち回るので、法の積をLAL_Aの項として書く必要はない。

l=0l=0ではB:=0B:=0、P:=1P:=1とする。0<P0<PとB<PB<Pはいずれも0<10<1から従い、二つの全称条件は空虚に成り立つ。Ψ(1,0)\Psi(1,0)はe∣1→e=1e\mid1\to e=1から従う。

llからSlSlへ進む段ではSl≤NSl\le Nとし、Θ(l)\Theta(l)の証人Bl,PlB_l,P_lを取る。ml:=M(l,C)m_l:=M(l,C)と置くと0<ml0<m_lである。Ψ(Pl,l)\Psi(P_l,l)をj:=lj:=lについて用いると、PlP_lとmlm_lは互いに素である。仮定によりφ(l,yl,z⃗)\varphi(l,y_l,\vec z)を満たすyly_lが一意に存在し、ml=S((Sl)×C)≥SCm_l=S((Sl)\times C)\ge SCであるからyl≤b<C<mly_l\le b<C<m_lである。補題 2.3を法PlP_lとmlm_l、剰余Bl<PlB_l<P_lとyl<mly_l<m_lへ適用すると、

BSl<Pl×ml,BSl≡Bl (mod Pl),BSl≡yl (mod ml)B_{Sl}<P_l\times m_l, \qquad B_{Sl}\equiv B_l\ (\mathrm{mod}\ P_l), \qquad B_{Sl}\equiv y_l\ (\mathrm{mod}\ m_l)

を満たすBSlB_{Sl}を得る。PSl:=Pl×mlP_{Sl}:=P_l\times m_lと置く。0<PSl0<P_{Sl}とBSl<PSlB_{Sl}<P_{Sl}は明らかである。i<Sli<SlについてM(i,C)∣PSlM(i,C)\mid P_{Sl}であることは、i<li<lではM(i,C)∣Pl∣PSlM(i,C)\mid P_l\mid P_{Sl}から、i=li=lではml∣PSlm_l\mid P_{Sl}から従う。

剰余の条件を確かめる。i=li=lの場合は上で得た合同式そのものである。i<li<lの場合、M(i,C)∣PlM(i,C)\mid P_lとBSl≡Bl (mod Pl)B_{Sl}\equiv B_l\ (\mathrm{mod}\ P_l)に補題 1.5 (3)を適用するとBSl≡Bl (mod M(i,C))B_{Sl}\equiv B_l\ (\mathrm{mod}\ M(i,C))である。Θ(l)\Theta(l)が与えるBl≡yi (mod M(i,C))B_l\equiv y_i\ (\mathrm{mod}\ M(i,C))と推移律を合わせてBSl≡yi (mod M(i,C))B_{Sl}\equiv y_i\ (\mathrm{mod}\ M(i,C))を得る。

Ψ(PSl,Sl)\Psi(P_{Sl},Sl)を示す。Sl≤j<NSl\le j<Nとし、e∣Pl×mle\mid P_l\times m_lかつe∣M(j,C)e\mid M(j,C)とする。e=0e=0とするとM(j,C)=0M(j,C)=0となり (Q1) に反するので0<e0<eである。t∣et\mid eかつt∣mlt\mid m_lとするとttはM(j,C)M(j,C)とM(l,C)M(l,C)の共通の約数であり、l<j<Nl<j<Nであるから、上で示した二つずつの互いに素性によりt=1t=1である。従ってeeとmlm_lは互いに素であり、系 2.2によりe∣Ple\mid P_lである。Ψ(Pl,l)\Psi(P_l,l)を同じjjについて用いるとe=1e=1を得る。

l=N=kl=N=kにおけるΘ(k)\Theta(k)の証人をB,PB,Pとする。各i<ki<kについてB≡yi (mod M(i,C))B\equiv y_i\ (\mathrm{mod}\ M(i,C))かつyi<M(i,C)y_i<M(i,C)であるから、補題 3.1 (2)によりCell⁡Q(B,C,i,yi)\operatorname{Cell}_Q(B,C,i,y_i)である。▨

4 4. 対関数と Cons 符号の PA 内での法則

§E16.17 補題 1.2は対関数の全単射性をメタ理論で証明している。自由変数を残した議論では同じ事実をPAPAの内部で証明し直さなければならない。ここでは§E16.19 定義 4.1が固定した raw 式

Pair⁡Q0(a,b,c): ⁣ ⁣⟺∃w (w=a+b∧c≤(w×Sw)+(b+b)∧c+c=(w×Sw)+(b+b))\operatorname{Pair}^{0}_Q(a,b,c) :\!\!\Longleftrightarrow \exists w\,\bigl(w=a+b\land c\le(w\times Sw)+(b+b)\land c+c=(w\times Sw)+(b+b)\bigr)

の定義そのものへ戻って証明する。

補題 4.1.PAPAは次を証明する。

  1. 任意のa,ba,bについてPair⁡Q(a,b,c)\operatorname{Pair}_Q(a,b,c)を満たすccがちょうど一つ存在する。このccをpair⁡(a,b)\operatorname{pair}(a,b)と書く。
  2. a≤pair⁡(a,b)a\le\operatorname{pair}(a,b)かつb≤pair⁡(a,b)b\le\operatorname{pair}(a,b)である。
  3. pair⁡(a,b)=pair⁡(a′,b′)\operatorname{pair}(a,b)=\operatorname{pair}(a',b')ならばa=a′a=a'かつb=b′b=b'である。
  4. 任意のppについてpair⁡(a,b)=p\operatorname{pair}(a,b)=pを満たすa,ba,bが存在する。
  5. 任意のa,ta,tについてCons⁡Q(a,t,c)\operatorname{Cons}_Q(a,t,c)を満たすccがちょうど一つ存在する。このccをCons⁡(a,t)\operatorname{Cons}(a,t)と書き、Cons⁡(a,t)=Spair⁡(a,t)\operatorname{Cons}(a,t)=S\operatorname{pair}(a,t)である。とくに0<Cons⁡(a,t)0<\operatorname{Cons}(a,t)、a<Cons⁡(a,t)a<\operatorname{Cons}(a,t)、t<Cons⁡(a,t)t<\operatorname{Cons}(a,t)である。
  6. 0<s0<sならばDec⁡Q(s,a,t)\operatorname{Dec}_Q(s,a,t)を満たす対(a,t)(a,t)がちょうど一つ存在する。このa,ta,tをHead⁡(s)\operatorname{Head}(s)、Tail⁡(s)\operatorname{Tail}(s)と書き、s=0s=0のときはHead⁡(0)=Tail⁡(0)=0\operatorname{Head}(0)=\operatorname{Tail}(0)=0と定める。Dec⁡Q(0,a,t)\operatorname{Dec}_Q(0,a,t)を満たすa,ta,tは存在しない。
  7. 任意のssについてHead⁡Q0(s,a)\operatorname{Head}^{0}_Q(s,a)を満たすaaがちょうど一つ存在し、その値はHead⁡(s)\operatorname{Head}(s)である。

証明.(1)を示す。wwに関する帰納法により、w×Sw=h+hw\times Sw=h+hを満たすhhが存在する。w=0w=0ではh=0h=0である。wwからSwSwへ進む段では、(Q7) と補題 1.1 (1)により

Sw×S(Sw)=Sw×Sw+Sw=(w×Sw+Sw)+Sw=(h+Sw)+(h+Sw)Sw\times S(Sw)=Sw\times Sw+Sw=(w\times Sw+Sw)+Sw=(h+Sw)+(h+Sw)

であるからh+Swh+Swを取ればよい。w:=a+bw:=a+bに対するhhを取り、c:=h+bc:=h+bと置くとc+c=(w×Sw)+(b+b)c+c=(w\times Sw)+(b+b)であり、c≤c+cc\le c+cであるからPair⁡Q0(a,b,c)\operatorname{Pair}^{0}_Q(a,b,c)が成り立つ。逆にc′+c′=c+cc'+c'=c+cならば、補題 1.1 (3)と加法の単調性によりc′=cc'=cである。従って raw 式の出力は一意であり、Unique⁡\operatorname{Unique}を加えたPair⁡Q\operatorname{Pair}_Qについても存在と一意性が成り立つ。

(2)を示す。2pair⁡(a,b)=w×Sw+(b+b)≥b+b2\operatorname{pair}(a,b)=w\times Sw+(b+b)\ge b+bよりb≤pair⁡(a,b)b\le\operatorname{pair}(a,b)である。a=0a=0ならばa≤pair⁡(a,b)a\le\operatorname{pair}(a,b)は明らかである。0<a0<aならば0<w0<wであるからSw≥S1Sw\ge S1であり、w×Sw≥w+w≥a+aw\times Sw\ge w+w\ge a+aである。従って2pair⁡(a,b)≥a+a2\operatorname{pair}(a,b)\ge a+aでありa≤pair⁡(a,b)a\le\operatorname{pair}(a,b)である。

(3)を示す。w:=a+bw:=a+b、w′:=a′+b′w':=a'+b'とする。w<w′w<w'と仮定するとSw≤w′Sw\le w'であり、乗法の単調性から

w′×Sw′≥Sw×S(Sw)=w×Sw+(Sw+Sw)w'\times Sw'\ge Sw\times S(Sw)=w\times Sw+(Sw+Sw)

である。一方b≤wb\le wよりb+b<Sw+Swb+b<Sw+Swであるから

2pair⁡(a,b)=w×Sw+(b+b)<w×Sw+(Sw+Sw)≤w′×Sw′≤2pair⁡(a′,b′)2\operatorname{pair}(a,b)=w\times Sw+(b+b)<w\times Sw+(Sw+Sw)\le w'\times Sw'\le 2\operatorname{pair}(a',b')

となり、pair⁡(a,b)=pair⁡(a′,b′)\operatorname{pair}(a,b)=\operatorname{pair}(a',b')に反する。w′<ww'<wの場合も同様である。従ってw=w′w=w'であり、消約律からb=b′b=b'、さらにa+b=a′+b′a+b=a'+b'と消約律からa=a′a=a'である。

(4)を示す。ppを取る。w:=p+pw:=p+pはp+p<(Sw)×S(Sw)p+p<(Sw)\times S(Sw)を満たすので、この条件を満たすwwは存在する。補題 1.2により最小のwwを取る。w=0w=0ならばw×Sw=0≤p+pw\times Sw=0\le p+pである。w=Sw0w=Sw_0ならば、wwの最小性によりw0w_0は条件を満たさないのでSw0×S(Sw0)≤p+pSw_0\times S(Sw_0)\le p+p、すなわちw×Sw≤p+pw\times Sw\le p+pである。いずれにせよ

w×Sw≤p+p<w×Sw+(Sw+Sw)w\times Sw\le p+p<w\times Sw+(Sw+Sw)

である。w×Sw=h+hw\times Sw=h+hを満たすhhを取るとh+h≤p+ph+h\le p+pであるからh≤ph\le pであり、h+b=ph+b=pを満たすbbが存在する。このときb+b<Sw+Swb+b<Sw+Swよりb≤wb\le wであり、a+b=wa+b=wを満たすaaが存在する。2pair⁡(a,b)=w×Sw+(b+b)=(h+h)+(b+b)=p+p2\operatorname{pair}(a,b)=w\times Sw+(b+b)=(h+h)+(b+b)=p+pであるからpair⁡(a,b)=p\operatorname{pair}(a,b)=pである。

(5)はCons⁡Q0(a,t,c): ⁣ ⁣⟺∃p (Pair⁡Q0(a,t,p)∧c=Sp)\operatorname{Cons}^{0}_Q(a,t,c):\!\!\Longleftrightarrow\exists p\,(\operatorname{Pair}^{0}_Q(a,t,p)\land c=Sp)と(1)から従う。(Q1) により0<Spair⁡(a,t)0<S\operatorname{pair}(a,t)であり、(2)によりa,t≤pair⁡(a,t)<Cons⁡(a,t)a,t\le\operatorname{pair}(a,t)<\operatorname{Cons}(a,t)である。

(6)を示す。0<s0<sとするとs=Sps=Spを満たすppが存在する。(4)によりp=pair⁡(a,t)p=\operatorname{pair}(a,t)を満たすa,ta,tが存在し、(5)によりCons⁡Q(a,t,s)\operatorname{Cons}_Q(a,t,s)である。(2)によりa<sa<sかつt<st<sであるからDec⁡Q(s,a,t)\operatorname{Dec}_Q(s,a,t)が成り立つ。一意性は(3)と (Q2) による。s=0s=0の場合はCons⁡Q(a,t,0)\operatorname{Cons}_Q(a,t,0)が0=Sp0=Spを要求し、(Q1) に反する。

(7)はHead⁡Q0\operatorname{Head}^{0}_Qの定義と(6)による。▨

5 5. 有限列符号の法則を PA 内で証明する

§E16.19 定義 4.1のAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)は、ssからDec⁡Q\operatorname{Dec}_Qをii回たどった反復尾がttであることを表す。第ii成分はこれとは別で、Entry⁡Q0(s,i,a)\operatorname{Entry}^{0}_Q(s,i,a)が与える反復尾の先頭である。以下ではこの区別を保つ。

記法:一意に定まる値を項のように書く記法R(x⃗,y)R(\vec x,y)をLAL_A論理式とし、PAPAが∀x⃗ ∃!y R(x⃗,y)\forall\vec x\,\exists!y\,R(\vec x,y)を証明するとする。このときLAL_A論理式θ(y)\theta(y)に対して

θ(fR(x⃗))を∃y (R(x⃗,y)∧θ(y))\theta(\mathrm{f}_R(\vec x)) \quad\text{を}\quad \exists y\,\bigl(R(\vec x,y)\land\theta(y)\bigr)

の略記とし、fR\mathrm{f}_Rに固有の名前を付けて用いる。全域性と一意性により、PAPAはこの略記と∀y (R(x⃗,y)→θ(y))\forall y\,(R(\vec x,y)\to\theta(y))との同値を証明する。等式fR(x⃗)=fR′(x⃗′)\mathrm{f}_R(\vec x)=\mathrm{f}_{R'}(\vec x')も同じ規約で読む。LAL_Aに新しい関数記号を追加してはいない。

補題 5.1.PAPAは次を証明する。

  1. At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)かつAt⁡Q0(s,i,t′)\operatorname{At}^{0}_Q(s,i,t')ならばt=t′t=t'である。
  2. At⁡Q0(s,0,s)\operatorname{At}^{0}_Q(s,0,s)である。
  3. At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)ならばt+i≤st+i\le sである。
  4. At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)かつt≠0t\ne0ならばAt⁡Q0(s,Si,Tail⁡(t))\operatorname{At}^{0}_Q(s,Si,\operatorname{Tail}(t))である。
  5. 次の三つをすべて満たすnnが存在する。第一にAt⁡Q0(s,n,0)\operatorname{At}^{0}_Q(s,n,0)である。第二に、i≤ni\le nを満たすすべてのiiについてAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)を満たすttが存在する。第三に、i<ni<nを満たすすべてのiiとAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)を満たすすべてのttについてt≠0t\ne0である。
  6. At⁡Q0(s,Si,t′)\operatorname{At}^{0}_Q(s,Si,t')ならば、At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)、t≠0t\ne0、t′=Tail⁡(t)t'=\operatorname{Tail}(t)を満たすttが存在する。

証明.(1)を示す。jjに関する帰納法により、次を示す。Prefix⁡Q(B,C,s,k)\operatorname{Prefix}_Q(B,C,s,k)、Prefix⁡Q(B′,C′,s,k′)\operatorname{Prefix}_Q(B',C',s,k')、j≤kj\le k、j≤k′j\le k'、Cell⁡Q(B,C,j,x)\operatorname{Cell}_Q(B,C,j,x)、Cell⁡Q(B′,C′,j,x′)\operatorname{Cell}_Q(B',C',j,x')ならばx=x′x=x'である。j=0j=0では、Prefix⁡Q\operatorname{Prefix}_Qの第1連言が両方の第00セルをssに定めるので、補題 3.1の一意性からx=x′=sx=x'=sである。jjからSjSjへ進む段では、Sj≤kSj\le kとSj≤k′Sj\le k'からj<kj<kかつj<k′j<k'であるので、Prefix⁡Q\operatorname{Prefix}_Qの第2連言が、第jjセルの値xx、第SjSjセルの値yy、およびDec⁡Q(x,a,y)\operatorname{Dec}_Q(x,a,y)を与える。B′,C′B',C'についても同様である。帰納法の仮定によりx=x′x=x'であり、補題 4.1 (6)の一意性によりy=y′y=y'である。(1)は、この主張をj:=ij:=i、k=k′:=ik=k':=iとして用いれば従う。

(2)を示す。補題 3.2を論理式y=sy=sとk:=1k:=1へ適用すると、Cell⁡Q(B,C,0,s)\operatorname{Cell}_Q(B,C,0,s)を満たすB,CB,Cが存在する。Prefix⁡Q(B,C,s,0)\operatorname{Prefix}_Q(B,C,s,0)は第1連言だけなので成り立ち、0≤s0\le sであるからAt⁡Q0(s,0,s)\operatorname{At}^{0}_Q(s,0,s)である。

(3)を示す。jjに関する帰納法により、Prefix⁡Q(B,C,s,k)\operatorname{Prefix}_Q(B,C,s,k)、j≤kj\le k、Cell⁡Q(B,C,j,x)\operatorname{Cell}_Q(B,C,j,x)ならばx+j≤sx+j\le sであることを示す。j=0j=0ではx=sx=sである。jjからSjSjへ進む段では、Dec⁡Q(x,a,y)\operatorname{Dec}_Q(x,a,y)がy<xy<xを含むのでSy≤xSy\le xであり、帰納法の仮定x+j≤sx+j\le sと合わせてy+Sj=Sy+j≤x+j≤sy+Sj=Sy+j\le x+j\le sである。

(4)を示す。At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)の証人(B,C)(B,C)を取る。t≠0t\ne0であるから補題 4.1 (6)によりDec⁡Q(t,Head⁡(t),Tail⁡(t))\operatorname{Dec}_Q(t,\operatorname{Head}(t),\operatorname{Tail}(t))が成り立つ。論理式

φ(j,y): ⁣ ⁣⟺(j≤i∧Cell⁡Q(B,C,j,y))∨(j=Si∧y=Tail⁡(t))∨(Si<j∧y=0)\varphi(j,y):\!\!\Longleftrightarrow (j\le i\land\operatorname{Cell}_Q(B,C,j,y)) \lor(j=Si\land y=\operatorname{Tail}(t)) \lor(Si<j\land y=0)

は、補題 3.1によりj<S(Si)j<S(Si)の各jjに対して一意なyyを定める。補題 3.2をk:=S(Si)k:=S(Si)へ適用して(B′,C′)(B',C')を得る。j<ij<iでは旧い表と同じ値をもつのでPrefix⁡Q\operatorname{Prefix}_Qの第2連言が保たれ、j=ij=iでは第iiセルがt≠0t\ne0、第SiSiセルがTail⁡(t)\operatorname{Tail}(t)でありDec⁡Q(t,Head⁡(t),Tail⁡(t))\operatorname{Dec}_Q(t,\operatorname{Head}(t),\operatorname{Tail}(t))が成り立つ。従ってPrefix⁡Q(B′,C′,s,Si)\operatorname{Prefix}_Q(B',C',s,Si)とCell⁡Q(B′,C′,Si,Tail⁡(t))\operatorname{Cell}_Q(B',C',Si,\operatorname{Tail}(t))を得る。(3)によりt+i≤st+i\le sであり0<t0<tであるからSi≤sSi\le sである。よってAt⁡Q0(s,Si,Tail⁡(t))\operatorname{At}^{0}_Q(s,Si,\operatorname{Tail}(t))である。

(5)を示す。Λ(i): ⁣ ⁣⟺∃t (At⁡Q0(s,i,t)∧t≠0)\Lambda(i):\!\!\Longleftrightarrow\exists t\,(\operatorname{At}^{0}_Q(s,i,t)\land t\ne0)と置く。(3)によりΛ(i)\Lambda(i)ならばSi≤sSi\le s、すなわちi<si<sである。従って¬Λ(s)\neg\Lambda(s)である。補題 1.2を¬Λ\neg\Lambdaへ適用し、¬Λ(n)\neg\Lambda(n)を満たす最小のnnを取る。n≤sn\le sである。

iiに関する帰納法により、i≤n→∃t At⁡Q0(s,i,t)i\le n\to\exists t\,\operatorname{At}^{0}_Q(s,i,t)を示す。i=0i=0は(2)による。iiからSiSiへ進む段でSi≤nSi\le nとするとi<ni<nであるからnnの最小性によりΛ(i)\Lambda(i)であり、(4)によりAt⁡Q0(s,Si,Tail⁡(t))\operatorname{At}^{0}_Q(s,Si,\operatorname{Tail}(t))を得る。

従ってi≤ni\le nを満たす各iiについて反復尾が存在し、とくにAt⁡Q0(s,n,tn)\operatorname{At}^{0}_Q(s,n,t_n)を満たすtnt_nについて¬Λ(n)\neg\Lambda(n)からtn=0t_n=0である。これが第二の主張と第一の主張である。i<ni<nについてはΛ(i)\Lambda(i)と(1)から、At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)を満たすttは00でない。これが第三の主張である。

(6)を示す。At⁡Q0(s,Si,t′)\operatorname{At}^{0}_Q(s,Si,t')の証人(B,C)(B,C)を取ると、Prefix⁡Q(B,C,s,Si)\operatorname{Prefix}_Q(B,C,s,Si)の第2連言はj<ij<iについても成り立つのでPrefix⁡Q(B,C,s,i)\operatorname{Prefix}_Q(B,C,s,i)である。(3)によりt′+Si≤st'+Si\le sであるからi≤si\le sであり、(B,C)(B,C)の第iiセルの値をttとするとAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)である。Prefix⁡Q\operatorname{Prefix}_Qの第2連言をj:=ij:=iについて用いるとt≠0t\ne0かつDec⁡Q(t,a,y)\operatorname{Dec}_Q(t,a,y)であり、補題 3.1の一意性からy=t′y=t'である。補題 4.1 (6)によりt′=Tail⁡(t)t'=\operatorname{Tail}(t)である。▨

次の補題が本記事の中心である。以下では長さ、成分、連結の値を記法の記法で書く。

補題 5.2.PAPAは次を証明する。

  1. 長さ。 任意のssについてLen⁡Q0(s,n)\operatorname{Len}^{0}_Q(s,n)を満たすnnがちょうど一つ存在する。このnnをLen⁡(s)\operatorname{Len}(s)と書く。Len⁡(s)=0\operatorname{Len}(s)=0であることとs=0s=0であることは同値である。At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)を満たすttが存在するのはi≤Len⁡(s)i\le\operatorname{Len}(s)のとき、かつそのときに限る。
  2. 成分。 任意のs,is,iについてEntry⁡Q0(s,i,a)\operatorname{Entry}^{0}_Q(s,i,a)を満たすaaがちょうど一つ存在する。このaaをEntry⁡(s,i)\operatorname{Entry}(s,i)と書く。Len⁡(s)≤i\operatorname{Len}(s)\le iのときEntry⁡(s,i)=0\operatorname{Entry}(s,i)=0である。
  3. 先頭追加。Len⁡(Cons⁡(a,s))=SLen⁡(s)\operatorname{Len}(\operatorname{Cons}(a,s))=S\operatorname{Len}(s)、Entry⁡(Cons⁡(a,s),0)=a\operatorname{Entry}(\operatorname{Cons}(a,s),0)=a、および任意のiiについてEntry⁡(Cons⁡(a,s),Si)=Entry⁡(s,i)\operatorname{Entry}(\operatorname{Cons}(a,s),Si)=\operatorname{Entry}(s,i)である。とくに0<s0<sのときs=Cons⁡(Head⁡(s),Tail⁡(s))s=\operatorname{Cons}(\operatorname{Head}(s),\operatorname{Tail}(s))でありLen⁡(s)=SLen⁡(Tail⁡(s))\operatorname{Len}(s)=S\operatorname{Len}(\operatorname{Tail}(s))である。
  4. 連結。 任意のs,ts,tについてConcat⁡Q0(s,t,u)\operatorname{Concat}^{0}_Q(s,t,u)を満たすuuがちょうど一つ存在する。このuuをConcat⁡(s,t)\operatorname{Concat}(s,t)と書く。
  5. 連結の再帰。Concat⁡(0,t)=t\operatorname{Concat}(0,t)=tであり、Concat⁡(Cons⁡(a,s),t)=Cons⁡(a,Concat⁡(s,t))\operatorname{Concat}(\operatorname{Cons}(a,s),t)=\operatorname{Cons}(a,\operatorname{Concat}(s,t))である。
  6. 連結の長さと成分。Len⁡(Concat⁡(s,t))=Len⁡(s)+Len⁡(t)\operatorname{Len}(\operatorname{Concat}(s,t))=\operatorname{Len}(s)+\operatorname{Len}(t)であり、i<Len⁡(s)i<\operatorname{Len}(s)についてEntry⁡(Concat⁡(s,t),i)=Entry⁡(s,i)\operatorname{Entry}(\operatorname{Concat}(s,t),i)=\operatorname{Entry}(s,i)、j<Len⁡(t)j<\operatorname{Len}(t)についてEntry⁡(Concat⁡(s,t),Len⁡(s)+j)=Entry⁡(t,j)\operatorname{Entry}(\operatorname{Concat}(s,t),\operatorname{Len}(s)+j)=\operatorname{Entry}(t,j)である。
  7. 末尾追加。Snoc⁡(s,a):=Concat⁡(s,Cons⁡(a,0))\operatorname{Snoc}(s,a):=\operatorname{Concat}(s,\operatorname{Cons}(a,0))と定めると、Len⁡(Snoc⁡(s,a))=SLen⁡(s)\operatorname{Len}(\operatorname{Snoc}(s,a))=S\operatorname{Len}(s)、i<Len⁡(s)i<\operatorname{Len}(s)についてEntry⁡(Snoc⁡(s,a),i)=Entry⁡(s,i)\operatorname{Entry}(\operatorname{Snoc}(s,a),i)=\operatorname{Entry}(s,i)、およびEntry⁡(Snoc⁡(s,a),Len⁡(s))=a\operatorname{Entry}(\operatorname{Snoc}(s,a),\operatorname{Len}(s))=aである。

証明.(1)を示す。補題 5.1 (5)が与えるnnについて、補題 5.1 (5)の証人(B,C)(B,C)はPrefix⁡Q(B,C,s,n)\operatorname{Prefix}_Q(B,C,s,n)とCell⁡Q(B,C,n,0)\operatorname{Cell}_Q(B,C,n,0)を満たし、補題 5.1 (3)によりn≤sn\le sである。従ってLen⁡Q0(s,n)\operatorname{Len}^{0}_Q(s,n)である。Len⁡Q0(s,n′)\operatorname{Len}^{0}_Q(s,n')を満たすn′n'を取る。n′n'の証人はAt⁡Q0(s,n′,0)\operatorname{At}^{0}_Q(s,n',0)を与える。n<n′n<n'とすると、Prefix⁡Q\operatorname{Prefix}_Qの第2連言が第nnセルの値が00でないことを要求するが、補題 5.1 (1)によりその値は00である。n′<nn'<nとすると、補題 5.1 (5)の第三の主張により第n′n'反復尾は00でないが、Cell⁡Q\operatorname{Cell}_Qの一意性から00である。いずれも矛盾なのでn′=nn'=nである。

s=0s=0ならば補題 5.1 (2)によりAt⁡Q0(0,0,0)\operatorname{At}^{0}_Q(0,0,0)であり、第00反復尾が00であるから補題 5.1 (5)が与えるnnは00である。従ってLen⁡(0)=0\operatorname{Len}(0)=0である。逆にLen⁡(s)=0\operatorname{Len}(s)=0ならばAt⁡Q0(s,0,0)\operatorname{At}^{0}_Q(s,0,0)であり、補題 5.1 (1)と補題 5.1 (2)からs=0s=0である。反復尾の存在範囲は、補題 5.1 (5)の第二の主張が与える「i≤ni\le nのとき存在する」ことと、i>ni>nのときPrefix⁡Q\operatorname{Prefix}_Qが第nnセルの値が00でないことを要求して矛盾することによる。

(2)を示す。n:=Len⁡(s)n:=\operatorname{Len}(s)を取る。i<ni<nならば(1)により反復尾ttが一意に存在し、補題 5.1 (5)によりt≠0t\ne0であるから、補題 4.1 (7)によりHead⁡Q0(t,a)\operatorname{Head}^{0}_Q(t,a)を満たすaaが一意に存在する。n≤in\le iならばEntry⁡Q0\operatorname{Entry}^{0}_Qの第2選言がa=0a=0を与える。長さnnが一意であるから、二つの選言が同時に成り立つことはない。よってaaは一意である。

(3)を示す。c:=Cons⁡(a,s)c:=\operatorname{Cons}(a,s)と置く。補題 4.1 (5)と補題 4.1 (6)によりDec⁡Q(c,a,s)\operatorname{Dec}_Q(c,a,s)であり、Head⁡(c)=a\operatorname{Head}(c)=a、Tail⁡(c)=s\operatorname{Tail}(c)=sである。iiに関する帰納法により、任意のttについてAt⁡Q0(c,Si,t)\operatorname{At}^{0}_Q(c,Si,t)とAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)が同値であることを示す。i=0i=0では、補題 5.1 (2)と補題 5.1 (4)によりAt⁡Q0(c,1,s)\operatorname{At}^{0}_Q(c,1,s)であり、補題 5.1 (1)の一意性から同値である。iiからSiSiへ進む段では、まずAt⁡Q0(s,Si,t′)\operatorname{At}^{0}_Q(s,Si,t')を仮定する。補題 5.1 (6)によりAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)、t≠0t\ne0、t′=Tail⁡(t)t'=\operatorname{Tail}(t)を満たすttを取ることができ、帰納法の仮定によりAt⁡Q0(c,Si,t)\operatorname{At}^{0}_Q(c,Si,t)であり、補題 5.1 (4)によりAt⁡Q0(c,S(Si),t′)\operatorname{At}^{0}_Q(c,S(Si),t')である。逆にAt⁡Q0(c,S(Si),t′)\operatorname{At}^{0}_Q(c,S(Si),t')を仮定すると、補題 5.1 (6)と帰納法の仮定と補題 5.1 (4)を逆向きにたどってAt⁡Q0(s,Si,t′)\operatorname{At}^{0}_Q(s,Si,t')を得る。従ってccの第SiSi反復尾はssの第ii反復尾である。また、補題 5.1 (2)によりccの第00反復尾はccであり、補題 4.1 (5)によりc≠0c\ne0である。よってLen⁡(c)=SLen⁡(s)\operatorname{Len}(c)=S\operatorname{Len}(s)であり、成分についての二つの等式も(2)から従う。0<s0<sのときの分解は補題 4.1 (6)による。

(4)の存在。n:=Len⁡(s)n:=\operatorname{Len}(s)とし、Prefix⁡Q(B,C,s,n)\operatorname{Prefix}_Q(B,C,s,n)とCell⁡Q(B,C,n,0)\operatorname{Cell}_Q(B,C,n,0)を満たす(B,C)(B,C)を取る。llに関する帰納法により、l≤nl\le nを満たすすべてのllについて次を示す。

Ξ(l):∃D ∃E (Cell⁡Q(D,E,n,t)∧∀j (j<n∧n≤j+l→Γ(D,E,j)))\Xi(l):\quad \exists D\,\exists E\,\Bigl( \operatorname{Cell}_Q(D,E,n,t)\land \forall j\,\bigl(j<n\land n\le j+l\to\Gamma(D,E,j)\bigr)\Bigr)

ここでΓ(D,E,j)\Gamma(D,E,j)は、Cell⁡Q(B,C,j,x)\operatorname{Cell}_Q(B,C,j,x)、Cell⁡Q(B,C,Sj,y)\operatorname{Cell}_Q(B,C,Sj,y)、Dec⁡Q(x,a,y)\operatorname{Dec}_Q(x,a,y)、Cell⁡Q(D,E,j,r)\operatorname{Cell}_Q(D,E,j,r)、Cell⁡Q(D,E,Sj,r′)\operatorname{Cell}_Q(D,E,Sj,r')、Cons⁡Q(a,r′,r)\operatorname{Cons}_Q(a,r',r)を満たすx,y,a,r,r′x,y,a,r,r'が存在することを表す。第2表はen=te_n=t、ej=Cons⁡(aj,eSj)e_j=\operatorname{Cons}(a_j,e_{Sj})という後ろ向きの再帰で定まるので、第1表を作ったときの前向きの構成をそのまま流用することはできない。そこで、Ξ(l)\Xi(l)では末尾からll段だけ定めた表を主張する。

l=0l=0では条件j<n∧n≤jj<n\land n\le jが成り立たないので、補題 3.2を論理式(j=n∧y=t)∨(j≠n∧y=0)(j=n\land y=t)\lor(j\ne n\land y=0)とk:=Snk:=Snへ適用して得た(D,E)(D,E)でよい。

llからSlSlへ進む段でSl≤nSl\le nとする。Ξ(l)\Xi(l)の証人(D,E)(D,E)を取る。j0+Sl=nj_0+Sl=nを満たすj0j_0が存在し、j0<nj_0<nである。Prefix⁡Q(B,C,s,n)\operatorname{Prefix}_Q(B,C,s,n)から、Cell⁡Q(B,C,j0,x)\operatorname{Cell}_Q(B,C,j_0,x)、Cell⁡Q(B,C,Sj0,y)\operatorname{Cell}_Q(B,C,Sj_0,y)、x≠0x\ne0、Dec⁡Q(x,a,y)\operatorname{Dec}_Q(x,a,y)を満たすx,y,ax,y,aを取る。(D,E)(D,E)の第Sj0Sj_0セルの値をr′r'とし、r:=Cons⁡(a,r′)r:=\operatorname{Cons}(a,r')と置く。補題 3.2を論理式(j=j0∧y′=r)∨(j≠j0∧Cell⁡Q(D,E,j,y′))(j=j_0\land y'=r)\lor(j\ne j_0\land\operatorname{Cell}_Q(D,E,j,y'))とk:=Snk:=Snへ適用して(D′,E′)(D',E')を得る。j0<nj_0<nより第nnセルはttのままである。j<nj<nかつn≤j+Sln\le j+Slを満たすjjを取る。n≤j+ln\le j+lの場合、j0<jj_0<jであるから第jjセルと第SjSjセルは(D,E)(D,E)と同じ値であり、Ξ(l)\Xi(l)の条件がそのまま移る。n=j+Sln=j+Slの場合はj=j0j=j_0であり、Sj0≠j0Sj_0\ne j_0から第Sj0Sj_0セルがr′r'のままであるので、構成によりΓ(D′,E′,j0)\Gamma(D',E',j_0)が成り立つ。

l=nl=nにおけるΞ(n)\Xi(n)では条件j<n∧n≤j+nj<n\land n\le j+nがj<nj<nと一致する。Ξ(n)\Xi(n)の証人の第00セルをuuとすると、n≤sn\le sと合わせてConcat⁡Q0(s,t,u)\operatorname{Concat}^{0}_Q(s,t,u)が成り立つ。

(4)の一意性。Concat⁡Q0(s,t,u)\operatorname{Concat}^{0}_Q(s,t,u)とConcat⁡Q0(s,t,u′)\operatorname{Concat}^{0}_Q(s,t,u')の証人を取る。Prefix⁡Q\operatorname{Prefix}_Qと終端セルの条件はLen⁡Q0(s,n)\operatorname{Len}^{0}_Q(s,n)そのものであるから、(1)により両者のnnは一致し、補題 5.1 (1)の証明で示した主張により第1表のセルも一致する。llに関する帰納法により、j≤nj\le nかつn≤j+ln\le j+lを満たすjjについて二つの第2表のセルが一致することを示す。l=0l=0ではj=nj=nであり、どちらもttである。llからSlSlへ進む段では、n=j+Sln=j+Slの場合を見ればよい。二つの表はいずれも第jjセルをCons⁡(aj,⋅)\operatorname{Cons}(a_j,\cdot)の形に定め、aja_jは一致した第1表からDec⁡Q\operatorname{Dec}_Qの一意性で定まり、第SjSjセルは帰納法の仮定により一致する。従って第jjセルも一致する。l=nl=n、j=0j=0としてu=u′u=u'を得る。

(5)を示す。Concat⁡(0,t)=t\operatorname{Concat}(0,t)=tを示す。Len⁡(0)=0\operatorname{Len}(0)=0よりConcat⁡Q0(0,t,u)\operatorname{Concat}^{0}_Q(0,t,u)のnnは00であり、∀j<n\forall j<nの条件は空虚である。残る条件は、第1表についてCell⁡Q(B,C,0,0)\operatorname{Cell}_Q(B,C,0,0)、第2表についてCell⁡Q(D,E,0,u)\operatorname{Cell}_Q(D,E,0,u)とCell⁡Q(D,E,0,t)\operatorname{Cell}_Q(D,E,0,t)だけである。補題 3.2によりこれらを満たす表は存在し、補題 3.1の一意性からu=tu=tである。

第二の等式を示す。s+:=Cons⁡(a,s)s^{+}:=\operatorname{Cons}(a,s)と置き、n+:=Len⁡(s+)=SLen⁡(s)n^{+}:=\operatorname{Len}(s^{+})=S\operatorname{Len}(s)、n:=Len⁡(s)n:=\operatorname{Len}(s)とする。Concat⁡Q0(s+,t,u)\operatorname{Concat}^{0}_Q(s^{+},t,u)の証人(B,C)(B,C)と(D,E)(D,E)を取る。補題 3.2を論理式Cell⁡Q(B,C,Sj,y)\operatorname{Cell}_Q(B,C,Sj,y)とk:=Snk:=S nへ適用して(B′′,C′′)(B'',C'')を、論理式Cell⁡Q(D,E,Sj,y)\operatorname{Cell}_Q(D,E,Sj,y)と同じkkへ適用して(D′′,E′′)(D'',E'')を得る。すなわち添字を一つずらした表である。

(B,C)(B,C)の第11セルはs+s^{+}の第11反復尾、すなわちssであり、第n+n^{+}セルは00である。従ってPrefix⁡Q(B′′,C′′,s,n)\operatorname{Prefix}_Q(B'',C'',s,n)とCell⁡Q(B′′,C′′,n,0)\operatorname{Cell}_Q(B'',C'',n,0)が成り立つ。(D′′,E′′)(D'',E'')については、第nnセルが(D,E)(D,E)の第n+n^{+}セル、すなわちttであり、j<nj<nに対する後ろ向きの再帰条件は(D,E)(D,E)のSj<n+Sj<n^{+}に対する条件がそのまま移る。(D′′,E′′)(D'',E'')の第00セルをu1u_1とすると、n≤sn\le sと合わせてConcat⁡Q0(s,t,u1)\operatorname{Concat}^{0}_Q(s,t,u_1)を得る。すなわちu1=Concat⁡(s,t)u_1=\operatorname{Concat}(s,t)である。

一方(D,E)(D,E)の第00セルuuは、j=0j=0に対する条件によりCons⁡(a0,u1)\operatorname{Cons}(a_0,u_1)に等しく、a0a_0はDec⁡Q(s+,a0,s)\operatorname{Dec}_Q(s^{+},a_0,s)から定まるのでa0=aa_0=aである。よってConcat⁡(s+,t)=Cons⁡(a,Concat⁡(s,t))\operatorname{Concat}(s^{+},t)=\operatorname{Cons}(a,\operatorname{Concat}(s,t))である。

(6)を示す。nnに関する帰納法により、Len⁡(s)=n\operatorname{Len}(s)=nを満たすすべてのssについて主張を示す。n=0n=0では(1)によりs=0s=0であり、(5)の第一の等式から従う。nnからSnSnへ進む段では、Len⁡(s)=Sn\operatorname{Len}(s)=Snよりs≠0s\ne0であるから(3)によりs=Cons⁡(Head⁡(s),Tail⁡(s))s=\operatorname{Cons}(\operatorname{Head}(s),\operatorname{Tail}(s))かつLen⁡(Tail⁡(s))=n\operatorname{Len}(\operatorname{Tail}(s))=nである。(5)の第二の等式と(3)を合わせ、帰納法の仮定をTail⁡(s)\operatorname{Tail}(s)へ適用すればよい。

(7)を示す。Cons⁡(a,0)\operatorname{Cons}(a,0)は(3)により長さ11で第00成分がaaの列であるから、(6)をそのまま適用すればよい。▨

§E16.19 定義 4.1の公開する三式Len⁡Q\operatorname{Len}_Q、Entry⁡Q\operatorname{Entry}_Q、Concat⁡Q\operatorname{Concat}_Qは、対応する raw 式へUnique⁡\operatorname{Unique}を加えたものである。上の補題が raw 式の出力の一意性を与えたので、PAPAは公開する三式と raw 式との同値を証明する。以下ではどちらの形も同じ値を表すものとして用いる。同じことがPair⁡Q\operatorname{Pair}_QとCons⁡Q\operatorname{Cons}_Qについても補題 4.1から成り立つ。

6 6. 原始再帰関数を PA の内部で扱う

補題 6.1.ffを任意のkk変数原始再帰全関数とし、その原始再帰的定義列を一つ固定して、§E16.19 定理 7.1が与える強い表現式をFf(x⃗,y)F_f(\vec x,y)とする。このときPAPAは次を証明する。

  1. ∀x⃗ ∃!y Ff(x⃗,y)\forall\vec x\,\exists!y\,F_f(\vec x,y)。

  2. 固定した定義列の各方程式がFfF_fについて成り立つ。すなわち、初期関数については表示した等式、合成については構成要素の値による等式、原始再帰については

    f(x⃗,0)=g(x⃗),f(x⃗,Sn)=h(x⃗,n,f(x⃗,n))f(\vec x,0)=g(\vec x), \qquad f(\vec x,Sn)=h\bigl(\vec x,n,f(\vec x,n)\bigr)

    に対応する等式が、いずれもPAPAの定理である。

記号の対応に注意する。上流の§E16.19 補題 6.1は、基底関数をff、step 関数をgg、原始再帰で得られる関数をhhと書いている。本補題はこれと役割を入れ替え、得られる関数をff、基底関数をgg、step 関数をhhと書く。両者を突き合わせるときは、本補題の(f,g,h)(f,g,h)が上流の(h,f,g)(h,f,g)にあたる。

パラメータ列x⃗\vec xの長さが00の場合、上流は基底値を関数の値ではなく一つの自然数ccとし、基底節をEntry⁡Q(s,0,c‾)\operatorname{Entry}_Q(s,0,\overline c)へ置き換える別扱いをしている。§E16.18 定義 3.1のNum⁡\operatorname{Num}がまさにこの場合であり、このとき(2)の第一の方程式はf(0)=cf(0)=cという閉じた等式として読む。

証明. 固定した原始再帰的定義列に関するメタ理論の帰納法を行う。(1)と(2)を同時に示す。

初期関数の場合、§E16.19 補題 5.1の表現式はy=0y=0、y=Sxy=Sx、y=xiy=x_iという明示的な等式であるから、Q⊆PAQ\subseteq PAより全域性、一意性、および等式そのものを得る。

合成f(x⃗)=h(g1(x⃗),…,gm(x⃗))f(\vec x)=h(g_1(\vec x),\ldots,g_m(\vec x))の場合、§E16.19 補題 5.2の表現式は構成要素の表現式の存在量化による合成である。外側の帰納法の仮定により、PAPAは各gjg_jとhhについて(1)と(2)を証明する。存在量化された各zjz_jを順に消去すれば、ffの値の存在、一意性、および合成の等式を得る。ここではPAPAの帰納法を用いない。

原始再帰の場合を示す。§E16.19 補題 6.1の表現式は

φf(x⃗,r,y): ⁣ ⁣⟺∃s (Run⁡(x⃗,r,s)∧Entry⁡Q(s,r,y))\varphi_f(\vec x,r,y):\!\!\Longleftrightarrow \exists s\,\bigl(\operatorname{Run}(\vec x,r,s)\land\operatorname{Entry}_Q(s,r,y)\bigr)

の形をもち、Run⁡\operatorname{Run}はLen⁡Q(s,Sr)\operatorname{Len}_Q(s,Sr)、基底節、および∀i<r\forall i<rの step 節の連言である。rrに関するPAPAの帰納法により、Run⁡(x⃗,r,s)\operatorname{Run}(\vec x,r,s)を満たすssの存在を示す。r=0r=0では、外側の帰納法の仮定が与えるg(x⃗)g(\vec x)の値a0a_0についてs:=Cons⁡(a0,0)s:=\operatorname{Cons}(a_0,0)を取る。補題 5.2 (3)によりLen⁡(s)=1\operatorname{Len}(s)=1かつEntry⁡(s,0)=a0\operatorname{Entry}(s,0)=a_0であり、step 節は空虚に成り立つ。rrからSrSrへ進む段では、帰納法の仮定が与えるssの第rr成分ara_rへ、外側の帰納法の仮定が与えるh(x⃗,r,ar)h(\vec x,r,a_r)の値aSra_{Sr}を取り、s′:=Snoc⁡(s,aSr)s':=\operatorname{Snoc}(s,a_{Sr})とする。補題 5.2 (7)によりLen⁡(s′)=S(Sr)\operatorname{Len}(s')=S(Sr)であり、i≤ri\le rの成分は変わらず、第SrSr成分はaSra_{Sr}である。従って基底節とi<Sri<Srの step 節がすべて成り立つ。

一意性を示す。Run⁡(x⃗,r,s)\operatorname{Run}(\vec x,r,s)とRun⁡(x⃗,r,s′)\operatorname{Run}(\vec x,r,s')を仮定する。jjに関する帰納法により、j≤rj\le rについてEntry⁡(s,j)=Entry⁡(s′,j)\operatorname{Entry}(s,j)=\operatorname{Entry}(s',j)を示す。j=0j=0は基底節とggの値の一意性による。jjからSjSjへ進む段は、step 節とhhの値の一意性による。従って第rr成分が一致し、φf(x⃗,r,y)\varphi_f(\vec x,r,y)の出力は一意である。

(2)の定義方程式は、いま構成した計算列の基底節と最後の一段からそのまま読み取ることができる。r=0r=0の計算列の第00成分がg(x⃗)g(\vec x)の値であることが第一の方程式であり、rrからSrSrへの延長が第二の方程式である。

パラメータ列の長さが00の場合も同じ議論が通る。この場合、上流が別扱いする基底節はEntry⁡Q(s,0,c‾)\operatorname{Entry}_Q(s,0,\overline c)であり、上のr=0r=0の段でa0a_0として取る値がg(x⃗)g(\vec x)の値ではなく固定した自然数ccになる。step 関数hhは二変数、得られるffは一変数であり、いずれも正のアリティである。以後の存在と一意性の帰納法は、基底の一段をこの閉じた等式に取り替えるだけで、そのまま成り立つ。▨

記法:PA 内で原始再帰関数を項として書く記法ffを原始再帰全関数とし、FfF_fを補題 6.1の表現式とする。記法の記法をR:=FfR:=F_fについて用い、その値をf(x⃗)f(\vec x)と書く。(1)により略記は一意に定まり、(2)によりPAPAはffの定義方程式を等式として用いることができる。従って、PAPAの内部ではffを全域一価な関数記号のように扱うことができる。LAL_Aに新しい関数記号を追加してはいない。

補題 6.2.R(x⃗,i)R(\vec x,i)を原始再帰関係とし、μ(x⃗,n)\mu(\vec x,n)を、R(x⃗,i)R(\vec x,i)を満たすi≤ni\le nが存在すればその最小のもの、存在しなければSnSnを返す関数とする。μ\muは原始再帰全関数であり、PAPAは

μ(x⃗,n)≤n↔∃i≤n ρR(x⃗,i),μ(x⃗,n)≤n→(ρR(x⃗,μ(x⃗,n))∧∀j<μ(x⃗,n) ¬ρR(x⃗,j))\mu(\vec x,n)\le n\leftrightarrow\exists i\le n\,\rho_R(\vec x,i), \qquad \mu(\vec x,n)\le n\to \bigl(\rho_R(\vec x,\mu(\vec x,n))\land\forall j<\mu(\vec x,n)\,\neg\rho_R(\vec x,j)\bigr)

を証明する。ここでρR\rho_Rは§E16.19 定理 7.1 (2)が与える表現式である。

証明.χR\chi_RをRRの特性関数とする。μ\muはnnに関する通常の原始再帰

μ(x⃗,0)={0χR(x⃗,0)=1,1それ以外,μ(x⃗,Sn)={μ(x⃗,n)μ(x⃗,n)≤n,Snn<μ(x⃗,n)∧χR(x⃗,Sn)=1,S(Sn)それ以外\mu(\vec x,0)= \begin{cases}0&\chi_R(\vec x,0)=1,\\1&\text{それ以外},\end{cases} \qquad \mu(\vec x,Sn)= \begin{cases} \mu(\vec x,n)&\mu(\vec x,n)\le n,\\ Sn&n<\mu(\vec x,n)\land\chi_R(\vec x,Sn)=1,\\ S(Sn)&\text{それ以外} \end{cases}

で得るので原始再帰的である。場合分けの述語を関係RRそのものではなく特性関数の値χR(x⃗,i)=1\chi_R(\vec x,i)=1で書いたのは、PAPAの内部で扱うことができるのがLAL_A論理式と原始再帰関数の値だけだからである。§E16.19 定理 7.1 (2)はρR(x⃗): ⁣ ⁣⟺φχR(x⃗,1‾)\rho_R(\vec x):\!\!\Longleftrightarrow\varphi_{\chi_R}(\vec x,\overline1)と定めているので、記法の記法のもとでPAPAは

ρR(x⃗,i)↔χR(x⃗,i)=1\rho_R(\vec x,i)\leftrightarrow\chi_R(\vec x,i)=1

を証明する。以下ではこの同値により、表現式ρR\rho_Rと特性関数の値による条件とを同じものとして用いる。補題 6.1によりPAPAは表示した二つの方程式を証明する。主張の二つの式は、nnに関するPAPAの帰納法によって同時に得る。n=0n=0では場合分けそのものである。nnからSnSnへ進む段では、μ(x⃗,n)≤n\mu(\vec x,n)\le nの場合に帰納法の仮定をそのまま用い、そうでない場合にはi≤ni\le nの範囲にρR(x⃗,i)\rho_R(\vec x,i)を満たすiiが無いことを帰納法の仮定から得て、SnSnにおける判定と合わせる。▨

補題 6.3.補題 6.1がPAPAの定理として与えるのは、固定した原始再帰的定義列の方程式だけである。そこで、切捨て減法と固定数22による商について、本記事が用いる定義列を次に明示する。

pred⁡(0)=0,pred⁡(Sx)=x,x−˙0=x,x−˙Sy=pred⁡(x−˙y),par⁡(0)=0,par⁡(Sx)=S0−˙par⁡(x),half⁡(0)=0,half⁡(Sx)=half⁡(x)+par⁡(x).\begin{aligned} \operatorname{pred}(0)&=0,& \operatorname{pred}(Sx)&=x,\\ x\mathbin{\dot-}0&=x,& x\mathbin{\dot-}Sy&=\operatorname{pred}(x\mathbin{\dot-}y),\\ \operatorname{par}(0)&=0,& \operatorname{par}(Sx)&=S0\mathbin{\dot-}\operatorname{par}(x),\\ \operatorname{half}(0)&=0,& \operatorname{half}(Sx)&=\operatorname{half}(x)+\operatorname{par}(x). \end{aligned}

前者関数と切捨て減法の定義列は、§E15.7 命題 2.3の証明が明示しているものと同じである。固定数22による商については、上流は「xxを22で割った商」という値の特性づけを与えており、同証明が挙げるqb≤nqb\le nを満たす最大のq≤nq\le nの有界探索は、原始再帰性を示すために選んだ一つの構成である。定義列を一つ固定するのは本記事の作業であり、上に表示したhalf⁡\operatorname{half}がその定義列である。メタ理論では上流の構成と値が一致するが、PAPAの内部で用いる方程式は定義列ごとに別であるから、以下では表示した定義列の方程式だけを用いる。

いずれも通常の原始再帰であり、メタ理論での値は順に前者関数、切捨て減法、xxを22で割った余り、xxを22で割った商である。PAPAは次を証明する。

  1. x−˙y=0↔x≤yx\mathbin{\dot-}y=0\leftrightarrow x\le y、およびy≤x→(x−˙y)+y=xy\le x\to(x\mathbin{\dot-}y)+y=x。
  2. (x−˙y)−˙z=x−˙(y+z)(x\mathbin{\dot-}y)\mathbin{\dot-}z=x\mathbin{\dot-}(y+z)。
  3. par⁡(x)≤S0\operatorname{par}(x)\le S0、par⁡(x)+par⁡(Sx)=S0\operatorname{par}(x)+\operatorname{par}(Sx)=S0、およびhalf⁡(x)+half⁡(x)+par⁡(x)=x\operatorname{half}(x)+\operatorname{half}(x)+\operatorname{par}(x)=x。したがってhalf⁡(x)\operatorname{half}(x)はxxをSS0SS0で割った商であり、par⁡(x)\operatorname{par}(x)はその余りである。
  4. half⁡(0)=0\operatorname{half}(0)=0、half⁡(S0)=0\operatorname{half}(S0)=0、およびhalf⁡(SSx)=Shalf⁡(x)\operatorname{half}(SSx)=S\operatorname{half}(x)。

証明.補題 6.1により、PAPAは表示した定義方程式をすべて証明する。以下の帰納法はいずれもPAPAの内部で行う。

(1)を示す。yyに関する帰納法により、二つの主張「y≤x→(x−˙y)+y=xy\le x\to(x\mathbin{\dot-}y)+y=x」と「x≤y→x−˙y=0x\le y\to x\mathbin{\dot-}y=0」を同時に示す。y=0y=0では、前者はx−˙0=xx\mathbin{\dot-}0=xそのものであり、後者は補題 1.1 (4)によりx=0x=0となることによる。yyからSySyへ進む段で前者を示す。Sy≤xSy\le xとするとy≤xy\le xであるから、帰納法の仮定により(x−˙y)+y=x(x\mathbin{\dot-}y)+y=xである。x−˙y=0x\mathbin{\dot-}y=0とするとx=yx=yとなりSy≤ySy\le yに反するので、x−˙y=Sux\mathbin{\dot-}y=Suを満たすuuが存在する。定義方程式によりx−˙Sy=pred⁡(Su)=ux\mathbin{\dot-}Sy=\operatorname{pred}(Su)=uであり、u+Sy=Su+y=xu+Sy=Su+y=xである。後者を示す。x≤Syx\le Syとすると、補題 1.1 (4)によりx≤yx\le yまたはx=Syx=Syである。x≤yx\le yならば帰納法の仮定とpred⁡(0)=0\operatorname{pred}(0)=0によりx−˙Sy=0x\mathbin{\dot-}Sy=0である。x=Syx=Syならば、いま示した前者により(x−˙y)+y=Sy=S0+y(x\mathbin{\dot-}y)+y=Sy=S0+yであり、加法の消約律によりx−˙y=S0x\mathbin{\dot-}y=S0、従ってx−˙Sy=pred⁡(S0)=0x\mathbin{\dot-}Sy=\operatorname{pred}(S0)=0である。

逆向きの含意x−˙y=0→x≤yx\mathbin{\dot-}y=0\to x\le yを示す。補題 1.1 (3)によりx≤yx\le yまたはy≤xy\le xである。前者ならば示すことがない。後者でx≠yx\ne yとすると、いま示した等式により(x−˙y)+y=x(x\mathbin{\dot-}y)+y=xであり、x−˙y=0x\mathbin{\dot-}y=0からy=xy=xとなって矛盾する。

(2)はzzに関する帰納法による。z=0z=0では両辺がx−˙yx\mathbin{\dot-}yである。zzからSzSzへ進む段では、定義方程式と帰納法の仮定により(x−˙y)−˙Sz=pred⁡(x−˙(y+z))=x−˙S(y+z)=x−˙(y+Sz)(x\mathbin{\dot-}y)\mathbin{\dot-}Sz=\operatorname{pred}\bigl(x\mathbin{\dot-}(y+z)\bigr)=x\mathbin{\dot-}S(y+z)=x\mathbin{\dot-}(y+Sz)である。

(3)はxxに関する帰納法による。x=0x=0ではpar⁡(0)=0≤S0\operatorname{par}(0)=0\le S0、par⁡(S0)=S0−˙0=S0\operatorname{par}(S0)=S0\mathbin{\dot-}0=S0よりpar⁡(0)+par⁡(S0)=S0\operatorname{par}(0)+\operatorname{par}(S0)=S0、および0+0+0=00+0+0=0である。xxからSxSxへ進む段では、帰納法の仮定par⁡(x)≤S0\operatorname{par}(x)\le S0によりpar⁡(x)=0\operatorname{par}(x)=0またはpar⁡(x)=S0\operatorname{par}(x)=S0である。(1)により、前者ではpar⁡(Sx)=S0−˙0=S0\operatorname{par}(Sx)=S0\mathbin{\dot-}0=S0、後者ではpar⁡(Sx)=S0−˙S0=0\operatorname{par}(Sx)=S0\mathbin{\dot-}S0=0であるから、par⁡(Sx)≤S0\operatorname{par}(Sx)\le S0が成り立つ。このpar⁡(Sx)≤S0\operatorname{par}(Sx)\le S0に同じ場合分けを適用すると、par⁡(Sx)=0\operatorname{par}(Sx)=0のときpar⁡(SSx)=S0\operatorname{par}(SSx)=S0、par⁡(Sx)=S0\operatorname{par}(Sx)=S0のときpar⁡(SSx)=0\operatorname{par}(SSx)=0であるから、par⁡(Sx)+par⁡(SSx)=S0\operatorname{par}(Sx)+\operatorname{par}(SSx)=S0が成り立つ。また

half⁡(Sx)+half⁡(Sx)+par⁡(Sx)=(half⁡(x)+half⁡(x)+par⁡(x))+(par⁡(x)+par⁡(Sx))=x+S0=Sx\operatorname{half}(Sx)+\operatorname{half}(Sx)+\operatorname{par}(Sx) =\bigl(\operatorname{half}(x)+\operatorname{half}(x)+\operatorname{par}(x)\bigr) +\bigl(\operatorname{par}(x)+\operatorname{par}(Sx)\bigr) =x+S0=Sx

である。(Q6) と (Q7) および補題 1.1 (1)によりhalf⁡(x)×SS0=half⁡(x)+half⁡(x)\operatorname{half}(x)\times SS0=\operatorname{half}(x)+\operatorname{half}(x)であり、par⁡(x)≤S0<SS0\operatorname{par}(x)\le S0<SS0であるから、補題 1.3の一意性によりhalf⁡(x)\operatorname{half}(x)はxxをSS0SS0で割った商、par⁡(x)\operatorname{par}(x)はその余りである。

(4)を示す。half⁡(S0)=half⁡(0)+par⁡(0)=0\operatorname{half}(S0)=\operatorname{half}(0)+\operatorname{par}(0)=0である。また(3)により

half⁡(SSx)=half⁡(Sx)+par⁡(Sx)=half⁡(x)+par⁡(x)+par⁡(Sx)=half⁡(x)+S0=Shalf⁡(x)\operatorname{half}(SSx)=\operatorname{half}(Sx)+\operatorname{par}(Sx) =\operatorname{half}(x)+\operatorname{par}(x)+\operatorname{par}(Sx) =\operatorname{half}(x)+S0=S\operatorname{half}(x)

である。▨

補題 6.4.§E16.17 定義 2.1の対関数、先頭追加、先頭、尾と、§E16.17 補題 3.1の証明が用いる反復尾IIおよび成分取得EEを、原始再帰全関数として記法の記法で書く。記号を区別する。補題 4.1は、算術式Pair⁡Q\operatorname{Pair}_Q、Cons⁡Q\operatorname{Cons}_Q、Dec⁡Q\operatorname{Dec}_Qが一意に定める値をpair⁡\operatorname{pair}、Cons⁡\operatorname{Cons}、Head⁡\operatorname{Head}、Tail⁡\operatorname{Tail}と書いている。原始再帰的定義列が与える値がこれらに一致することは(1)と(2)で示すことがらであるから、示すまでは原始再帰関数の側をpair⁡∗\operatorname{pair}^{\ast}、Cons⁡∗\operatorname{Cons}^{\ast}、Head⁡∗\operatorname{Head}^{\ast}、Tail⁡∗\operatorname{Tail}^{\ast}と書く。

上流は対関数を三角数と固定数22による商の合成として定めているが、その逆については、§E16.17 定義 1.1がpair⁡(left⁡(z),right⁡(z))=z\operatorname{pair}\bigl(\operatorname{left}(z),\operatorname{right}(z)\bigr)=zという特性づけを与えるだけである。§E16.17 補題 1.2の証明が挙げる0≤a,b≤z0\le a,b\le zの範囲の二変数の有界探索は、原始再帰性を示すために選んだ一つの構成であって、定義列の固定ではない。二変数の有界探索については、補題 6.2が与える一変数の最小化の法則をそのまま用いることができない。そこで本記事では次の定義列を固定する。補題 6.3のhalf⁡\operatorname{half}と切捨て減法を用い、

tri⁡(w)=half⁡(w×Sw),pair⁡∗(a,b)=tri⁡(a+b)+b,Cons⁡∗(a,t)=Spair⁡∗(a,t)\operatorname{tri}(w)=\operatorname{half}(w\times Sw), \qquad \operatorname{pair}^{\ast}(a,b)=\operatorname{tri}(a+b)+b, \qquad \operatorname{Cons}^{\ast}(a,t)=S\operatorname{pair}^{\ast}(a,t)

とする。逆関数は、対の探索を一変数の最小化へ落として

lev⁡(z)=μw≤z [ Sz−˙tri⁡(Sw)=0 ],right⁡(z)=z−˙tri⁡(lev⁡(z)),left⁡(z)=lev⁡(z)−˙right⁡(z)\operatorname{lev}(z)=\mu w\le z\,\bigl[\,Sz\mathbin{\dot-}\operatorname{tri}(Sw)=0\,\bigr], \qquad \operatorname{right}(z)=z\mathbin{\dot-}\operatorname{tri}(\operatorname{lev}(z)), \qquad \operatorname{left}(z)=\operatorname{lev}(z)\mathbin{\dot-}\operatorname{right}(z)

と定める。lev⁡(z)\operatorname{lev}(z)はtri⁡(w)≤z<tri⁡(Sw)\operatorname{tri}(w)\le z<\operatorname{tri}(Sw)を満たす段wwを一変数の最小化で選ぶ関数である。メタ理論での値は上流の定義と一致する。どちらもpair⁡∗(a,b)=z\operatorname{pair}^{\ast}(a,b)=zを満たす唯一の対(a,b)(a,b)を返すからである。Head⁡∗\operatorname{Head}^{\ast}とTail⁡∗\operatorname{Tail}^{\ast}は上流と同じく、0<s0<sのときHead⁡∗(s)=left⁡(s−˙1)\operatorname{Head}^{\ast}(s)=\operatorname{left}(s\mathbin{\dot-}1)、Tail⁡∗(s)=right⁡(s−˙1)\operatorname{Tail}^{\ast}(s)=\operatorname{right}(s\mathbin{\dot-}1)とし、s=0s=0のときはいずれも00とする。PAPAは次を証明する。

  1. Pair⁡Q(a,b,c)↔c=pair⁡∗(a,b)\operatorname{Pair}_Q(a,b,c)\leftrightarrow c=\operatorname{pair}^{\ast}(a,b)、およびCons⁡Q(a,t,c)↔c=Cons⁡∗(a,t)\operatorname{Cons}_Q(a,t,c)\leftrightarrow c=\operatorname{Cons}^{\ast}(a,t)。すなわちpair⁡∗(a,b)=pair⁡(a,b)\operatorname{pair}^{\ast}(a,b)=\operatorname{pair}(a,b)かつCons⁡∗(a,t)=Cons⁡(a,t)\operatorname{Cons}^{\ast}(a,t)=\operatorname{Cons}(a,t)である。
  2. 任意のzzについてpair⁡∗(left⁡(z),right⁡(z))=z\operatorname{pair}^{\ast}\bigl(\operatorname{left}(z),\operatorname{right}(z)\bigr)=zである。従って補題 4.1 (3)が与える対の一意性により、left⁡(pair⁡(a,b))=a\operatorname{left}\bigl(\operatorname{pair}(a,b)\bigr)=aかつright⁡(pair⁡(a,b))=b\operatorname{right}\bigl(\operatorname{pair}(a,b)\bigr)=bである。またHead⁡∗\operatorname{Head}^{\ast}とTail⁡∗\operatorname{Tail}^{\ast}の値は補題 4.1 (6)が定めるHead⁡\operatorname{Head}とTail⁡\operatorname{Tail}の値に等しい。
  3. I(s,i)I(s,i)は、i≤Len⁡(s)i\le\operatorname{Len}(s)のときAt⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)を満たすttに等しく、Len⁡(s)<i\operatorname{Len}(s)<iのとき00である。
  4. E(s,i)=Entry⁡(s,i)E(s,i)=\operatorname{Entry}(s,i)である。

証明.(1)を示す。w:=a+bw:=a+bと置く。補題 4.1 (1)の証明で示したとおり、PAPAはw×Sw=h+hw\times Sw=h+hを満たすhhの存在を証明する。一方補題 6.3 (3)により

half⁡(w×Sw)+half⁡(w×Sw)+par⁡(w×Sw)=w×Sw=h+h\operatorname{half}(w\times Sw)+\operatorname{half}(w\times Sw)+\operatorname{par}(w\times Sw)=w\times Sw=h+h

であり、par⁡(w×Sw)≤S0<SS0\operatorname{par}(w\times Sw)\le S0<SS0であるから、補題 1.3の一意性によりtri⁡(w)=half⁡(w×Sw)=h\operatorname{tri}(w)=\operatorname{half}(w\times Sw)=hかつpar⁡(w×Sw)=0\operatorname{par}(w\times Sw)=0である。この議論は任意のwwについて通るので、PAPAは∀w (tri⁡(w)+tri⁡(w)=w×Sw)\forall w\,\bigl(\operatorname{tri}(w)+\operatorname{tri}(w)=w\times Sw\bigr)を証明する。従って固定した定義列による値pair⁡∗(a,b)=tri⁡(w)+b=h+b\operatorname{pair}^{\ast}(a,b)=\operatorname{tri}(w)+b=h+bは

pair⁡∗(a,b)+pair⁡∗(a,b)=(w×Sw)+(b+b)\operatorname{pair}^{\ast}(a,b)+\operatorname{pair}^{\ast}(a,b)=(w\times Sw)+(b+b)

を満たし、pair⁡∗(a,b)≤pair⁡∗(a,b)+pair⁡∗(a,b)\operatorname{pair}^{\ast}(a,b)\le\operatorname{pair}^{\ast}(a,b)+\operatorname{pair}^{\ast}(a,b)でもあるからPair⁡Q0(a,b,pair⁡∗(a,b))\operatorname{Pair}^{0}_Q\bigl(a,b,\operatorname{pair}^{\ast}(a,b)\bigr)が成り立つ。補題 4.1 (1)が与える一意性により、Pair⁡Q(a,b,c)↔c=pair⁡∗(a,b)\operatorname{Pair}_Q(a,b,c)\leftrightarrow c=\operatorname{pair}^{\ast}(a,b)である。Cons⁡∗\operatorname{Cons}^{\ast}については、固定した定義Cons⁡∗(a,t)=Spair⁡∗(a,t)\operatorname{Cons}^{\ast}(a,t)=S\operatorname{pair}^{\ast}(a,t)と補題 4.1 (5)から従う。

(2)を示す。まず、PAPAがtri⁡(Sw)=tri⁡(w)+Sw\operatorname{tri}(Sw)=\operatorname{tri}(w)+Swを証明することを見る。(1)で示したtri⁡(u)+tri⁡(u)=u×Su\operatorname{tri}(u)+\operatorname{tri}(u)=u\times Suをu:=Swu:=Swとu:=wu:=wについて用いると

tri⁡(Sw)+tri⁡(Sw)=Sw×SSw=w×Sw+(Sw+Sw)=(tri⁡(w)+Sw)+(tri⁡(w)+Sw)\operatorname{tri}(Sw)+\operatorname{tri}(Sw)=Sw\times SSw=w\times Sw+(Sw+Sw) =\bigl(\operatorname{tri}(w)+Sw\bigr)+\bigl(\operatorname{tri}(w)+Sw\bigr)

であり、補題 1.1 (2)の消約律により求める等式を得る。

lev⁡\operatorname{lev}の最小化について、補題 6.2を関係R(z,w): ⁣ ⁣⟺Sz−˙tri⁡(Sw)=0R(z,w):\!\!\Longleftrightarrow Sz\mathbin{\dot-}\operatorname{tri}(Sw)=0へ適用する。その特性関数はχR(z,w)=1−˙(Sz−˙tri⁡(Sw))\chi_R(z,w)=1\mathbin{\dot-}\bigl(Sz\mathbin{\dot-}\operatorname{tri}(Sw)\bigr)という切捨て減法の合成であり、補題 6.3 (1)によりPAPAはχR(z,w)=1↔Sz≤tri⁡(Sw)\chi_R(z,w)=1\leftrightarrow Sz\le\operatorname{tri}(Sw)を証明する。w:=zw:=zは条件を満たす。実際、補題 1.1 (5)によりSz×SSz≥Sz×SS0Sz\times SSz\ge Sz\times SS0であり、(Q6) と (Q7) および補題 1.1 (1)によりSz×SS0=Sz+SzSz\times SS0=Sz+Szであるから、tri⁡(Sz)+tri⁡(Sz)=Sz×SSz\operatorname{tri}(Sz)+\operatorname{tri}(Sz)=Sz\times SSzと補題 1.1 (6)からSz≤tri⁡(Sz)Sz\le\operatorname{tri}(Sz)である。従ってlev⁡(z)≤z\operatorname{lev}(z)\le zであり、最小性から

tri⁡(lev⁡(z))≤z<tri⁡(Slev⁡(z))=tri⁡(lev⁡(z))+Slev⁡(z)\operatorname{tri}(\operatorname{lev}(z))\le z<\operatorname{tri}(S\operatorname{lev}(z))=\operatorname{tri}(\operatorname{lev}(z))+S\operatorname{lev}(z)

が成り立つ。左側は、lev⁡(z)=0\operatorname{lev}(z)=0のときはtri⁡(0)=0\operatorname{tri}(0)=0から、lev⁡(z)=Sw1\operatorname{lev}(z)=Sw_1のときはw1w_1が条件を満たさないこと、すなわちtri⁡(lev⁡(z))<Sz\operatorname{tri}(\operatorname{lev}(z))<Szから従う。右側はlev⁡(z)\operatorname{lev}(z)自身が条件を満たすことによる。

w0:=lev⁡(z)w_0:=\operatorname{lev}(z)、b:=right⁡(z)b:=\operatorname{right}(z)、a:=left⁡(z)a:=\operatorname{left}(z)と置く。補題 6.3 (1)によりb+tri⁡(w0)=zb+\operatorname{tri}(w_0)=zであり、右側の不等式からb<Sw0b<Sw_0、すなわちb≤w0b\le w_0である。補題 6.3 (1)によりa+b=w0a+b=w_0であるから

pair⁡∗(a,b)=tri⁡(a+b)+b=tri⁡(w0)+b=z\operatorname{pair}^{\ast}(a,b)=\operatorname{tri}(a+b)+b=\operatorname{tri}(w_0)+b=z

である。この議論は任意のzzについて通るので、PAPAは∀z pair⁡∗(left⁡(z),right⁡(z))=z\forall z\ \operatorname{pair}^{\ast}\bigl(\operatorname{left}(z),\operatorname{right}(z)\bigr)=zを証明する。(1)によりpair⁡∗\operatorname{pair}^{\ast}の値はpair⁡\operatorname{pair}の値であるから、z:=pair⁡(a,b)z:=\operatorname{pair}(a,b)と取ると、補題 4.1 (3)が与える対の一意性によりleft⁡(pair⁡(a,b))=a\operatorname{left}\bigl(\operatorname{pair}(a,b)\bigr)=aかつright⁡(pair⁡(a,b))=b\operatorname{right}\bigl(\operatorname{pair}(a,b)\bigr)=bである。0<s0<sとするとs=Sps=Spを満たすppが存在し、s−˙1=ps\mathbin{\dot-}1=pである。いま示したことによりpair⁡∗(left⁡(p),right⁡(p))=p\operatorname{pair}^{\ast}\bigl(\operatorname{left}(p),\operatorname{right}(p)\bigr)=p、すなわちCons⁡∗(left⁡(p),right⁡(p))=s\operatorname{Cons}^{\ast}\bigl(\operatorname{left}(p),\operatorname{right}(p)\bigr)=sである。補題 4.1 (3)により対は一意であるから、Head⁡∗(s)\operatorname{Head}^{\ast}(s)とTail⁡∗(s)\operatorname{Tail}^{\ast}(s)は補題 4.1 (6)が定めるa,ta,tに等しい。s=0s=0では双方の規約により値が00である。

(3)を示す。I(s,0)=sI(s,0)=s、I(s,Sj)=Tail⁡∗(I(s,j))I(s,Sj)=\operatorname{Tail}^{\ast}(I(s,j))は通常の原始再帰であるから、補題 6.1によりPAPAはこの二式を証明する。iiに関するPAPAの帰納法を行う。i=0i=0では補題 5.1 (2)による。iiからSiSiへ進む段では、i<Len⁡(s)i<\operatorname{Len}(s)ならば第ii反復尾ttは00でないので、(2)と補題 5.1 (4)により第SiSi反復尾はTail⁡∗(t)\operatorname{Tail}^{\ast}(t)である。i=Len⁡(s)i=\operatorname{Len}(s)ならばt=0t=0であり、Tail⁡∗(0)=0\operatorname{Tail}^{\ast}(0)=0であるから以後00にとどまる。

(4)は、(2)と(3)および補題 5.2 (2)から従う。i<Len⁡(s)i<\operatorname{Len}(s)ではE(s,i)=Head⁡∗(I(s,i))E(s,i)=\operatorname{Head}^{\ast}(I(s,i))が第ii反復尾の先頭であり、Len⁡(s)≤i\operatorname{Len}(s)\le iではI(s,i)=0I(s,i)=0からE(s,i)=0E(s,i)=0である。▨

(1)と(2)により、原始再帰的定義列が与えるpair⁡∗\operatorname{pair}^{\ast}、Cons⁡∗\operatorname{Cons}^{\ast}、Head⁡∗\operatorname{Head}^{\ast}、Tail⁡∗\operatorname{Tail}^{\ast}の値は、算術式が一意に定めるpair⁡\operatorname{pair}、Cons⁡\operatorname{Cons}、Head⁡\operatorname{Head}、Tail⁡\operatorname{Tail}の値に等しい。以下では星印を落とし、どちらの側の定義から得た値も同じ記号で書く。

6.1 コース再帰の還元が定義方程式を満たすこと

§E16.17 補題 3.1と§E16.17 補題 3.2は、コース再帰を通常の原始再帰へ還元して原始再帰性を得る。しかし、還元によって得た関数が元の再帰方程式を満たすことは、どちらの記事でもメタ理論の帰納法で示されている。補題 6.1がPAPAの定理として与えるのは、還元後の通常の原始再帰の方程式だけである。PAPAの内部で元の構造再帰方程式を用いるには、次の補題が要る。

補題 6.5.

  1. 履歴版。§E16.17 補題 3.1の記号を用い、PAPAが∀x⃗ ∀s (0<s→D(x⃗,s)<s)\forall\vec x\,\forall s\,(0<s\to D(\vec x,s)<s)を証明すると仮定する。このときPAPAは

    F(x⃗,0)=B(x⃗),0<s→F(x⃗,s)=G(x⃗,s,F(x⃗,D(x⃗,s)))F(\vec x,0)=B(\vec x), \qquad 0<s\to F(\vec x,s)=G\bigl(\vec x,s,F(\vec x,D(\vec x,s))\bigr)

    を証明する。

  2. 有限分岐版。§E16.17 補題 3.2の記号を用い、PAPAが

    ∀q ∀j (j<m(q)→r(d(q,j))<r(q)),∀q m(q)≤K\forall q\,\forall j\,\bigl(j<m(q)\to r(d(q,j))<r(q)\bigr), \qquad \forall q\ m(q)\le K

    の二つをともに証明すると仮定する。上流は子の個数の上界m(q)≤Km(q)\le Kをメタ理論の条件として置いているが、本項の証明はPAPAの内部でこの不等式を用いるので、PAPAの定理であることを別に仮定する。KKの値そのものに制限は置かない。このときPAPAは

    Eval⁡(q)=C(q,Hist⁡(q,m(q)))\operatorname{Eval}(q)=C\bigl(q,\operatorname{Hist}(q,m(q))\bigr)

    を証明する。ここでHist⁡\operatorname{Hist}はHist⁡(q,0)=0\operatorname{Hist}(q,0)=0、Hist⁡(q,Sj)=Cons⁡(Eval⁡(d(q,j)),Hist⁡(q,j))\operatorname{Hist}(q,Sj)=\operatorname{Cons}\bigl(\operatorname{Eval}(d(q,j)),\operatorname{Hist}(q,j)\bigr)で定まる原始再帰全関数であり、子の値を逆順に並べた列である。

証明.(1)を示す。還元は、履歴HHと一段の値VVを通常の原始再帰

H(x⃗,0)=0,H(x⃗,Sn)=Cons⁡(V(x⃗,n),H(x⃗,n))H(\vec x,0)=0, \qquad H(\vec x,Sn)=\operatorname{Cons}\bigl(V(\vec x,n),H(\vec x,n)\bigr)

で定め、F(x⃗,n)=E(H(x⃗,Sn),0)F(\vec x,n)=E(H(\vec x,Sn),0)とする。ここでE(t,j)E(t,j)は第jj成分を取る関数である。補題 6.1によりPAPAはこれらの方程式を証明する。また補題 6.4により、ここに現れるCons⁡\operatorname{Cons}とEEの値は API 式が定める先頭追加と成分に等しい。

nnに関するPAPAの帰納法により、次を示す。j+Sd=nj+Sd=nならばE(H(x⃗,n),j)=V(x⃗,d)E(H(\vec x,n),j)=V(\vec x,d)である。n=0n=0では前件を満たすj,dj,dが存在しない。nnからSnSnへ進む段では、補題 5.2 (3)により、H(x⃗,Sn)H(\vec x,Sn)の第00成分はV(x⃗,n)V(\vec x,n)であり、第SjSj成分はH(x⃗,n)H(\vec x,n)の第jj成分である。j+Sd=Snj+Sd=Snにおいてj=0j=0ならd=nd=nであり、j=Sj′j=Sj'ならj′+Sd=nj'+Sd=nであるから帰納法の仮定を用いることができる。

j:=0j:=0、d:=nd:=nとしてF(x⃗,n)=E(H(x⃗,Sn),0)=V(x⃗,n)F(\vec x,n)=E(H(\vec x,Sn),0)=V(\vec x,n)を得る。従ってF(x⃗,0)=V(x⃗,0)=B(x⃗)F(\vec x,0)=V(\vec x,0)=B(\vec x)である。0<n0<nのとき、VVの定義方程式は

V(x⃗,n)=G(x⃗,n,E(H(x⃗,n),j)),j+SD(x⃗,n)=nV(\vec x,n)=G\bigl(\vec x,n,E(H(\vec x,n),j)\bigr), \qquad j+S D(\vec x,n)=n

である。§E16.17 補題 3.1は第2引数の添字を切捨て減法の項(n−˙1)−˙D(x⃗,n)(n\mathbin{\dot-}1)\mathbin{\dot-}D(\vec x,n)として書いているので、表示したjjがこの項の値であることを確かめる。仮定によりPAPAはD(x⃗,n)<nD(\vec x,n)<n、すなわちSD(x⃗,n)≤nSD(\vec x,n)\le nを証明する。補題 6.3 (2)により(n−˙1)−˙D(x⃗,n)=n−˙SD(x⃗,n)(n\mathbin{\dot-}1)\mathbin{\dot-}D(\vec x,n)=n\mathbin{\dot-}SD(\vec x,n)であり、補題 6.3 (1)により

((n−˙1)−˙D(x⃗,n))+SD(x⃗,n)=n\bigl((n\mathbin{\dot-}1)\mathbin{\dot-}D(\vec x,n)\bigr)+SD(\vec x,n)=n

である。従ってj+SD(x⃗,n)=nj+SD(\vec x,n)=nを満たすjjが存在し、加法の消約律によりそれは切捨て減法の項の値に等しい。上で示した主張をd:=D(x⃗,n)d:=D(\vec x,n)について用いるとE(H(x⃗,n),j)=V(x⃗,D(x⃗,n))=F(x⃗,D(x⃗,n))E(H(\vec x,n),j)=V(\vec x,D(\vec x,n))=F(\vec x,D(\vec x,n))であり、求める方程式を得る。

(2)を示す。還元は、状態遷移Step⁡\operatorname{Step}と、上界を与える関数NK(0)=1N_K(0)=1、NK(Ss)=1+K×NK(s)N_K(Ss)=1+K\times N_K(s)を用い、開始状態からの接頭トレースR(q,n)R(q,n)を通常の原始再帰で定め、Eval⁡(q)=Out⁡(R(q,3NK(r(q))))\operatorname{Eval}(q)=\operatorname{Out}\bigl(R(q,3N_K(r(q)))\bigr)とする。ここでOut⁡\operatorname{Out}は唯一のVal⁡\operatorname{Val}の成分を返す原始再帰関数であり、Out⁡(Cons⁡(Val⁡(v),0))=v\operatorname{Out}(\operatorname{Cons}(\operatorname{Val}(v),0))=vである。Iter⁡(σ,0)=σ\operatorname{Iter}(\sigma,0)=\sigma、Iter⁡(σ,Sn)=Step⁡(Iter⁡(σ,n))\operatorname{Iter}(\sigma,Sn)=\operatorname{Step}(\operatorname{Iter}(\sigma,n))と置くと、PAPAはR(q,n)=Iter⁡(Cons⁡(Req⁡(q),0),n)R(q,n)=\operatorname{Iter}(\operatorname{Cons}(\operatorname{Req}(q),0),n)とIter⁡(σ,m+n)=Iter⁡(Iter⁡(σ,m),n)\operatorname{Iter}(\sigma,m+n)=\operatorname{Iter}(\operatorname{Iter}(\sigma,m),n)をnnに関する帰納法で証明する。

Step⁡\operatorname{Step}は、タグ照合、Head⁡\operatorname{Head}、Tail⁡\operatorname{Tail}、Cons⁡\operatorname{Cons}、成分取得、有界比較、およびr,m,d,Cr,m,d,Cの合成である。従って補題 6.1、補題 6.2、補題 6.4、および補題 5.2により、PAPAはStep⁡\operatorname{Step}の定義の各場合の等式を証明する。とくに次の四つを用いる。

m(q)=0 ⇒ Step⁡(Cons⁡(Req⁡(q),σ))=Cons⁡(Val⁡(C(q,0)),σ),0<m(q) ⇒ Step⁡(Cons⁡(Req⁡(q),σ))=Cons⁡(Req⁡(d(q,0)),Cons⁡(Frame⁡(q,1,0),σ)),j<m(q) ⇒ Step⁡(Cons⁡(Val⁡(a),Cons⁡(Frame⁡(q,j,h),σ)))=Cons⁡(Req⁡(d(q,j)),Cons⁡(Frame⁡(q,Sj,Cons⁡(a,h)),σ)),j=m(q) ⇒ Step⁡(Cons⁡(Val⁡(a),Cons⁡(Frame⁡(q,j,h),σ)))=Cons⁡(Val⁡(C(q,Cons⁡(a,h))),σ).\begin{aligned} m(q)=0&\ \Rightarrow\ \operatorname{Step}\bigl(\operatorname{Cons}(\operatorname{Req}(q),\sigma)\bigr) =\operatorname{Cons}\bigl(\operatorname{Val}(C(q,0)),\sigma\bigr),\\ 0<m(q)&\ \Rightarrow\ \operatorname{Step}\bigl(\operatorname{Cons}(\operatorname{Req}(q),\sigma)\bigr) =\operatorname{Cons}\bigl(\operatorname{Req}(d(q,0)), \operatorname{Cons}(\operatorname{Frame}(q,1,0),\sigma)\bigr),\\ j<m(q)&\ \Rightarrow\ \operatorname{Step}\bigl(\operatorname{Cons}(\operatorname{Val}(a), \operatorname{Cons}(\operatorname{Frame}(q,j,h),\sigma))\bigr) =\operatorname{Cons}\bigl(\operatorname{Req}(d(q,j)), \operatorname{Cons}(\operatorname{Frame}(q,Sj,\operatorname{Cons}(a,h)),\sigma)\bigr),\\ j=m(q)&\ \Rightarrow\ \operatorname{Step}\bigl(\operatorname{Cons}(\operatorname{Val}(a), \operatorname{Cons}(\operatorname{Frame}(q,j,h),\sigma))\bigr) =\operatorname{Cons}\bigl(\operatorname{Val}(C(q,\operatorname{Cons}(a,h))),\sigma\bigr). \end{aligned}

さらに、停止状態ではStep⁡\operatorname{Step}を恒等写像と定めているので、PAPAはStep⁡(Cons⁡(Val⁡(v),0))=Cons⁡(Val⁡(v),0)\operatorname{Step}(\operatorname{Cons}(\operatorname{Val}(v),0))=\operatorname{Cons}(\operatorname{Val}(v),0)を証明し、nnに関する帰納法により、いったん停止状態に達すればそれ以降の状態も同じであることを証明する。

β(ρ):=(2NK(ρ))−˙1\beta(\rho):=\bigl(2N_K(\rho)\bigr)\mathbin{\dot-}1と置く。ここで切捨て減法は補題 6.3が固定した定義列のものであり、LAL_Aの関数記号ではなく記法の記法で読む。NK(0)=1N_K(0)=1とNK(Ss)=1+K×NK(s)N_K(Ss)=1+K\times N_K(s)から、PAPAはssに関する帰納法により1≤NK(s)1\le N_K(s)を証明する。従ってPAPAは次の三つを証明する。

Sβ(ρ)=2NK(ρ),β(ρ)≤3NK(ρ),β(Sρ)=S(K×(2NK(ρ)))S\beta(\rho)=2N_K(\rho), \qquad \beta(\rho)\le3N_K(\rho), \qquad \beta(S\rho)=S\bigl(K\times(2N_K(\rho))\bigr)

三つの根拠は同じではないので、式ごとに分けて述べる。第一の等式は、1≤NK(ρ)1\le N_K(\rho)と補題 1.1 (5)の乗法の単調性が与えるS0≤2NK(ρ)S0\le2N_K(\rho)に、補題 6.3 (1)の後半y≤x→(x−˙y)+y=xy\le x\to(x\mathbin{\dot-}y)+y=xをx:=2NK(ρ)x:=2N_K(\rho)、y:=S0y:=S0として当てることによる。第二の不等式は、β(ρ)<Sβ(ρ)=2NK(ρ)\beta(\rho)<S\beta(\rho)=2N_K(\rho)と、SS0≤SSS0SS0\le SSS0に同じく補題 1.1 (5)の乗法の単調性を当てて得る2NK(ρ)≤3NK(ρ)2N_K(\rho)\le3N_K(\rho)による。第三の等式は、NK(Sρ)=1+K×NK(ρ)N_K(S\rho)=1+K\times N_K(\rho)に補題 1.1 (1)の分配律と交換律を当てて得る2NK(Sρ)=SS(K×(2NK(ρ)))2N_K(S\rho)=SS\bigl(K\times(2N_K(\rho))\bigr)と、補題 6.3が表示した定義列そのものが与えるx−˙S0=pred⁡(x−˙0)=pred⁡(x)x\mathbin{\dot-}S0=\operatorname{pred}(x\mathbin{\dot-}0)=\operatorname{pred}(x)およびpred⁡(Sy)=y\operatorname{pred}(Sy)=yによる。第三の等式が用いるのは補題 1.1 (1)ではなく、同補題が固定した定義列である。ρ\rhoに関するPAPAの帰納法により、次の主張Π(ρ)\Pi(\rho)を示す。

Π(ρ):∀q (r(q)≤ρ→∀σ ∃n≤β(ρ)  Iter⁡(Cons⁡(Req⁡(q),σ),n)=Cons⁡(Val⁡(Eval⁡(q)),σ))\Pi(\rho):\quad \forall q\,\Bigl(r(q)\le\rho\to\forall\sigma\,\exists n\le\beta(\rho)\ \ \operatorname{Iter}\bigl(\operatorname{Cons}(\operatorname{Req}(q),\sigma),n\bigr) =\operatorname{Cons}\bigl(\operatorname{Val}(\operatorname{Eval}(q)),\sigma\bigr)\Bigr)

まず、m(q)=0m(q)=0を満たすqqについては階数によらず結論が成り立つことを示す。上の第一の等式により、n:=1n:=1において状態はCons⁡(Val⁡(C(q,0)),σ)\operatorname{Cons}(\operatorname{Val}(C(q,0)),\sigma)である。σ:=0\sigma:=0と取ると、1≤NK(r(q))1\le N_K(r(q))と補題 1.1 (5)の乗法の単調性により1≤3NK(r(q))1\le3N_K(r(q))であり、停止状態が保たれるので、R(q,3NK(r(q)))=Cons⁡(Val⁡(C(q,0)),0)R\bigl(q,3N_K(r(q))\bigr)=\operatorname{Cons}(\operatorname{Val}(C(q,0)),0)、すなわちEval⁡(q)=C(q,0)\operatorname{Eval}(q)=C(q,0)である。従って任意のσ\sigmaについてΠ\Piの結論の等式が成り立つ。Sβ(ρ)=2NK(ρ)S\beta(\rho)=2N_K(\rho)と1≤NK(ρ)1\le N_K(\rho)から1≤β(ρ)1\le\beta(\rho)である。とくにρ=0\rho=0では、仮定r(d(q,j))<r(q)r(d(q,j))<r(q)によりm(q)=0m(q)=0でなければならないので、Π(0)\Pi(0)が従う。

Π(ρ)\Pi(\rho)を仮定してΠ(Sρ)\Pi(S\rho)を示す。r(q)≤Sρr(q)\le S\rhoとする。m(q)=0m(q)=0の場合は上で扱った。0<m(q)0<m(q)とする。本項が仮定した∀q m(q)≤K\forall q\,m(q)\le Kを用いると0<m(q)≤K0<m(q)\le Kであるから0<K0<Kであり、上に示した三つから

β(ρ)<Sβ(ρ)=2NK(ρ)≤K×(2NK(ρ))<β(Sρ)\beta(\rho)<S\beta(\rho)=2N_K(\rho)\le K\times\bigl(2N_K(\rho)\bigr)<\beta(S\rho)

が成り立つ。従ってr(q)≤ρr(q)\le\rhoの場合は、Π(ρ)\Pi(\rho)の結論がそのままΠ(Sρ)\Pi(S\rho)の結論を与える。以下ではr(q)=Sρr(q)=S\rhoとする。Hist⁡\operatorname{Hist}を用い、jjに関する内側のPAPAの帰納法により、1≤j≤m(q)1\le j\le m(q)を満たす各jjについて、

Iter⁡(Cons⁡(Req⁡(q),σ),nj)=Cons⁡(Val⁡(Eval⁡(d(q,j′))),Cons⁡(Frame⁡(q,j,Hist⁡(q,j′)),σ)),nj≤j×(Sβ(ρ))\operatorname{Iter}\bigl(\operatorname{Cons}(\operatorname{Req}(q),\sigma),n_j\bigr) =\operatorname{Cons}\Bigl(\operatorname{Val}\bigl(\operatorname{Eval}(d(q,j'))\bigr), \operatorname{Cons}\bigl(\operatorname{Frame}(q,j,\operatorname{Hist}(q,j')),\sigma\bigr)\Bigr), \qquad n_j\le j\times(S\beta(\rho))

を満たすnjn_jが存在することを示す。ここでj′j'はSj′=jSj'=jを満たす数である。j=1j=1では、第二の等式で一段進めた後、r(d(q,0))≤ρr(d(q,0))\le\rhoにΠ(ρ)\Pi(\rho)を適用する。jjからSjSjへ進む段(Sj≤m(q)Sj\le m(q))では、第三の等式で一段進め、Cons⁡(Eval⁡(d(q,j′)),Hist⁡(q,j′))=Hist⁡(q,j)\operatorname{Cons}(\operatorname{Eval}(d(q,j')),\operatorname{Hist}(q,j'))=\operatorname{Hist}(q,j)を用いてから、r(d(q,j))≤ρr(d(q,j))\le\rhoにΠ(ρ)\Pi(\rho)を適用する。

j=m(q)j=m(q)の状態へ第四の等式を一段適用すると、Cons⁡(Val⁡(C(q,Hist⁡(q,m(q)))),σ)\operatorname{Cons}\bigl(\operatorname{Val}(C(q,\operatorname{Hist}(q,m(q)))),\sigma\bigr)に達する。この状態に達するまでの遷移回数nnはm(q)×(Sβ(ρ))+1m(q)\times(S\beta(\rho))+1以下であり、ふたたび本項が仮定した∀q m(q)≤K\forall q\,m(q)\le Kと、上に示したSβ(ρ)=2NK(ρ)S\beta(\rho)=2N_K(\rho)およびβ(Sρ)=S(K×(2NK(ρ)))\beta(S\rho)=S\bigl(K\times(2N_K(\rho))\bigr)から

m(q)×(Sβ(ρ))+1≤K×(2NK(ρ))+1=β(Sρ)m(q)\times(S\beta(\rho))+1\le K\times\bigl(2N_K(\rho)\bigr)+1=\beta(S\rho)

である。いまr(q)=Sρr(q)=S\rhoであり、β(Sρ)≤3NK(Sρ)\beta(S\rho)\le3N_K(S\rho)であるから、n≤3NK(r(q))n\le3N_K(r(q))である。σ:=0\sigma:=0と取り、停止状態が保たれることを用いるとR(q,3NK(r(q)))=Cons⁡(Val⁡(C(q,Hist⁡(q,m(q)))),0)R\bigl(q,3N_K(r(q))\bigr)=\operatorname{Cons}\bigl(\operatorname{Val}(C(q,\operatorname{Hist}(q,m(q)))),0\bigr)、すなわちEval⁡(q)=C(q,Hist⁡(q,m(q)))\operatorname{Eval}(q)=C(q,\operatorname{Hist}(q,m(q)))である。従ってΠ(Sρ)\Pi(S\rho)と求める方程式の双方を得る。

帰納法により∀ρ Π(ρ)\forall\rho\,\Pi(\rho)を得た後、0<m(q)0<m(q)を満たす任意のqqについて求める方程式を得る。実際、仮定r(d(q,0))<r(q)r(d(q,0))<r(q)により0<r(q)0<r(q)であるからr(q)=Sρr(q)=S\rhoを満たすρ\rhoが存在し、このρ\rhoについてΠ(ρ)\Pi(\rho)から上と同じ議論を行えばよい。m(q)=0m(q)=0の場合は最初の段で示した。▨

注意 6.6 (PA 内の上界と上流の数え上げの対応). 上の証明でΠ(ρ)\Pi(\rho)の帰納法が与える遷移回数の上界β(ρ)\beta(\rho)が§E16.17 補題 3.2の固定した上界3NK(r(q))3N_K(r(q))に収まることは、上でβ(ρ)≤3NK(ρ)\beta(\rho)\le3N_K(\rho)として示した。この不等式はKKの値に依存しない。

上流の上界は、要求木の各節点がReq⁡\operatorname{Req}として一度だけ展開され、各辺が子の値を親のFrame⁡\operatorname{Frame}へ戻すときに一度だけ処理されるという数え上げによる。要求木の節点数をvvと書くと辺数はv−1v-1であるから、停止までの遷移回数はv+(v−1)=2v−1v+(v-1)=2v-1である。この勘定もKKに依存しない。本記事が置いたβ(ρ)=(2NK(ρ))−˙1\beta(\rho)=\bigl(2N_K(\rho)\bigr)\mathbin{\dot-}1は、この式のvvを階数ρ\rhoの要求木の節点数の上界NK(ρ)N_K(\rho)で置き換えたものであり、PAPAの内部の帰納法が段ごとに同じ勘定を再現する形になっている。

上界をこれより粗く、たとえば(K+1)NK(ρ)(K+1)N_K(\rho)と取ると、3NK(ρ)3N_K(\rho)に収まるのはK≤2K\le2の場合に限られ、補題 6.5 (2)を適用することができるKKに制限が付く。すなわち、そのような制限は上界の取り方の副産物であって、PAPAの内部の議論に固有の障害ではない。

KKの値そのものに制限が付かないことと、補題 6.5 (2)がPA⊢∀q m(q)≤KPA\vdash\forall q\,m(q)\le Kを仮定することとは別の事柄である。後者は、上の数え上げをPAPAの内部で行うために要る仮定であり、これを落とすと、N\mathbb Nではm(q)≤Km(q)\le Kを満たすがPAPAがそれを証明しないようなmmについて、非標準の要求で結論の等式が立たない。なお、本記事および上流の記事が現に用いる有限分岐コース再帰はすべてK=2K=2であり、そこでのmmは構成子タグによる有限の場合分けであるから、PAPAは∀q m(q)≤SS0\forall q\,m(q)\le SS0を証明する。

補題 6.7.§E16.17 定義 4.1のLen⁡\operatorname{Len}、Entry⁡\operatorname{Entry}、Concat⁡\operatorname{Concat}を原始再帰全関数として書く。PAPAは、これらの値が補題 5.2のLen⁡(s)\operatorname{Len}(s)、Entry⁡(s,i)\operatorname{Entry}(s,i)、Concat⁡(s,t)\operatorname{Concat}(s,t)に等しいことを証明する。

証明.§E16.17 定理 4.2は、Len⁡\operatorname{Len}をD(s):=Tail⁡(s)D(s):=\operatorname{Tail}(s)による有界コース再帰として構成している。補題 4.1 (5)と補題 4.1 (6)によりPAPAは0<s→Tail⁡(s)<s0<s\to\operatorname{Tail}(s)<sを証明するので、補題 6.5 (1)の仮定が満たされ、PAPAは

Len⁡(0)=0,0<s→Len⁡(s)=SLen⁡(Tail⁡(s))\operatorname{Len}(0)=0, \qquad 0<s\to\operatorname{Len}(s)=S\operatorname{Len}(\operatorname{Tail}(s))

を証明する。補題 5.2 (1)と補題 5.2 (3)により、API 側の長さも同じ二つの等式を満たす。補題 1.2を「二つの値が異なる最小のss」へ適用すると、s=0s=0では両者が00であり、0<s0<sではTail⁡(s)<s\operatorname{Tail}(s)<sにおける一致からssにおける一致が従うので、そのようなssは存在しない。よって両者は一致する。

Entry⁡\operatorname{Entry}は補題 6.4 (4)で扱ったEEそのものである。

Concat⁡\operatorname{Concat}は、ttをパラメータとする第1引数についての有界コース再帰

C(t,0)=t,0<s→C(t,s)=Cons⁡(Head⁡(s),C(t,Tail⁡(s)))C(t,0)=t, \qquad 0<s\to C(t,s)=\operatorname{Cons}\bigl(\operatorname{Head}(s),C(t,\operatorname{Tail}(s))\bigr)

である。同じく補題 6.5 (1)によりPAPAはこの二式を証明する。補題 5.2 (5)により、API 側の連結も同じ二式を満たす。再び最小数原理を用いて一致を得る。▨

7 7. 構文符号を PA の内部で扱う

捕獲回避代入は、束縛変数の改名を記録する環境を先頭から走査する。この走査Look⁡\operatorname{Look}の定義列は§E16.18 定義 3.2が固定しており、その定義方程式がPAPAの定理であることは、補題 6.5 (1)が与える。代入についての以下の主張は、この定義方程式から次の補題として取り出した法則だけを用いる。

補題 7.1.§E16.18 定義 3.2のLook⁡\operatorname{Look}を記法の記法で書く。有限列EEのすべての成分がpair⁡(k,k)\operatorname{pair}(k,k)の形であることを表すLAL_A論理式を

Δ(E): ⁣ ⁣⟺∀l<Len⁡(E) ∃k≤E (Entry⁡(E,l)=pair⁡(k,k))\Delta(E):\!\!\Longleftrightarrow \forall l<\operatorname{Len}(E)\,\exists k\le E\, \bigl(\operatorname{Entry}(E,l)=\operatorname{pair}(k,k)\bigr)

と定める。有界存在量化の上界をEEに取ることができる理由は次のとおりである。l<Len⁡(E)l<\operatorname{Len}(E)とし、EEの第ll反復尾をuuとする。補題 5.2 (2)によりEntry⁡(E,l)\operatorname{Entry}(E,l)はuuの先頭であり、補題 5.2 (1)と補題 5.1 (5)によりu≠0u\ne0である。補題 5.1 (3)によりu≤Eu\le Eであり、補題 5.2 (3)によりu=Cons⁡(Head⁡(u),Tail⁡(u))u=\operatorname{Cons}(\operatorname{Head}(u),\operatorname{Tail}(u))であるから、補題 4.1 (5)によりHead⁡(u)<u≤E\operatorname{Head}(u)<u\le Eである。すなわちEEの各成分はEE以下である。さらに補題 4.1 (2)によりk≤pair⁡(k,k)k\le\operatorname{pair}(k,k)であるから、成分がpair⁡(k,k)\operatorname{pair}(k,k)の形であるときそのkkはEE以下である。PAPAは次を証明する。

  1. 定義方程式。Look⁡(0,i)=0\operatorname{Look}(0,i)=0である。また0<E0<Eのとき、left⁡(Head⁡(E))=i\operatorname{left}(\operatorname{Head}(E))=iならばLook⁡(E,i)=Sright⁡(Head⁡(E))\operatorname{Look}(E,i)=S\operatorname{right}(\operatorname{Head}(E))であり、left⁡(Head⁡(E))≠i\operatorname{left}(\operatorname{Head}(E))\ne iならばLook⁡(E,i)=Look⁡(Tail⁡(E),i)\operatorname{Look}(E,i)=\operatorname{Look}(\operatorname{Tail}(E),i)である。
  2. 先頭追加。E′:=Cons⁡(pair⁡(i′,j),E)E':=\operatorname{Cons}(\operatorname{pair}(i',j),E)と置く。i′=ii'=iならばLook⁡(E′,i)=Sj\operatorname{Look}(E',i)=Sjであり、とくにLook⁡(E′,i)≠0\operatorname{Look}(E',i)\ne0である。i′≠ii'\ne iならばLook⁡(E′,i)=Look⁡(E,i)\operatorname{Look}(E',i)=\operatorname{Look}(E,i)である。
  3. Δ\Deltaの保存。Δ(0)\Delta(0)が成り立ち、Δ(E)\Delta(E)ならばΔ(Cons⁡(pair⁡(k,k),E))\Delta\bigl(\operatorname{Cons}(\operatorname{pair}(k,k),E)\bigr)とΔ(Tail⁡(E))\Delta(\operatorname{Tail}(E))が成り立つ。
  4. Δ\Deltaの下での対応先。Δ(E)\Delta(E)かつLook⁡(E,i)≠0\operatorname{Look}(E,i)\ne0ならばLook⁡(E,i)=Si\operatorname{Look}(E,i)=Siである。すなわち、Δ(E)\Delta(E)の下で対応先が存在するときの対応先はii自身である。

証明.(1)を示す。補題 4.1 (5)と補題 4.1 (6)によりPAPAは0<s→Tail⁡(s)<s0<s\to\operatorname{Tail}(s)<sを証明するので、補題 6.5 (1)の仮定が減少量D(E)=Tail⁡(E)D(E)=\operatorname{Tail}(E)について満たされる。再帰引数を第1引数に置いたことは射影との合成による引数の入れ替えであるから、補題 6.5 (1)をそのまま適用することができ、PAPAは§E16.18 定義 3.2の二つの定義方程式を証明する。親節に現れるHead⁡\operatorname{Head}、left⁡\operatorname{left}、right⁡\operatorname{right}、等号判定、および有限の場合分けの値については、補題 6.1と補題 6.4により、PAPAはそれらの定義方程式を証明する。

(2)を示す。補題 4.1 (5)と補題 4.1 (6)により0<E′0<E'、Head⁡(E′)=pair⁡(i′,j)\operatorname{Head}(E')=\operatorname{pair}(i',j)、Tail⁡(E′)=E\operatorname{Tail}(E')=Eである。補題 6.4 (2)により、PAPAはleft⁡(pair⁡(a,b))=a\operatorname{left}(\operatorname{pair}(a,b))=aとright⁡(pair⁡(a,b))=b\operatorname{right}(\operatorname{pair}(a,b))=bを証明する。従って(1)の場合分けはi′=ii'=iであるかどうかで決まり、i′=ii'=iのとき値はSjSj、i′≠ii'\ne iのとき値はLook⁡(E,i)\operatorname{Look}(E,i)である。(Q1) によりSj≠0Sj\ne0である。

(3)を示す。補題 5.2 (1)によりLen⁡(0)=0\operatorname{Len}(0)=0であるから、Δ(0)\Delta(0)の有界全称量化は空虚に成り立つ。E+:=Cons⁡(pair⁡(k,k),E)E^{+}:=\operatorname{Cons}(\operatorname{pair}(k,k),E)と置く。補題 5.2 (3)によりLen⁡(E+)=SLen⁡(E)\operatorname{Len}(E^{+})=S\operatorname{Len}(E)、Entry⁡(E+,0)=pair⁡(k,k)\operatorname{Entry}(E^{+},0)=\operatorname{pair}(k,k)、Entry⁡(E+,Sl)=Entry⁡(E,l)\operatorname{Entry}(E^{+},Sl)=\operatorname{Entry}(E,l)である。第00成分については、上で述べたとおりk≤pair⁡(k,k)≤E+k\le\operatorname{pair}(k,k)\le E^{+}である。第SlSl成分については、Δ(E)\Delta(E)が与えるk′≤Ek'\le Eを取り、補題 4.1 (5)によりE<E+E<E^{+}であるからk′≤E+k'\le E^{+}である。よってΔ(E+)\Delta(E^{+})が成り立つ。Δ(Tail⁡(E))\Delta(\operatorname{Tail}(E))については、E=0E=0のときTail⁡(0)=0\operatorname{Tail}(0)=0であり、0<E0<Eのとき補題 5.2 (3)によりTail⁡(E)\operatorname{Tail}(E)の第ll成分がEEの第SlSl成分であるから、Δ(E)\Delta(E)によりpair⁡(k,k)\operatorname{pair}(k,k)の形であり、上界については上で述べたとおりk≤Entry⁡(Tail⁡(E),l)≤Tail⁡(E)k\le\operatorname{Entry}(\operatorname{Tail}(E),l)\le\operatorname{Tail}(E)である。

(4)を示す。補題 1.2を、Δ(E)\Delta(E)とLook⁡(E,i)≠0\operatorname{Look}(E,i)\ne0とLook⁡(E,i)≠Si\operatorname{Look}(E,i)\ne Siの三つをすべて満たすEEの最小値へ適用し、矛盾を導く。E=0E=0は(1)によりLook⁡(0,i)=0\operatorname{Look}(0,i)=0を与えるので、三つを満たさない。0<E0<Eとする。補題 5.2 (1)により0<Len⁡(E)0<\operatorname{Len}(E)であり、補題 5.2 (3)によりEntry⁡(E,0)=Head⁡(E)\operatorname{Entry}(E,0)=\operatorname{Head}(E)であるから、Δ(E)\Delta(E)をl:=0l:=0について用いるとHead⁡(E)=pair⁡(k,k)\operatorname{Head}(E)=\operatorname{pair}(k,k)を満たすkkが存在する。(2)で示したleft⁡\operatorname{left}とright⁡\operatorname{right}の値により、k=ik=iならば(1)がLook⁡(E,i)=Sk=Si\operatorname{Look}(E,i)=Sk=Siを与えるので、EEは三つを満たさない。k≠ik\ne iならば(1)によりLook⁡(E,i)=Look⁡(Tail⁡(E),i)\operatorname{Look}(E,i)=\operatorname{Look}(\operatorname{Tail}(E),i)である。(3)によりΔ(Tail⁡(E))\Delta(\operatorname{Tail}(E))が成り立つので、Tail⁡(E)\operatorname{Tail}(E)も三つをすべて満たす。補題 4.1 (5)と補題 4.1 (6)によりTail⁡(E)<E\operatorname{Tail}(E)<Eであるから、これはEEの最小性に反する。▨

補題 7.2.PAPAは次を証明する。

  1. §E16.18 定義 1.1の各構成子について、その値の直下成分は値より小さい。すなわち、§E16.18 補題 1.2 (1)のPAPA内の版が成り立つ。§E16.18 補題 1.2 (2)にあたる主張、すなわち入れ子の任意の深さに現れる自由な変数添字の上界は、本項からは従わない。この上界は補題 7.3が別に与える。

  2. §E16.18 定義 2.1のTerm⁡\operatorname{Term}、Formula⁡\operatorname{Formula}、Free⁡\operatorname{Free}について、定義に列挙した各場合の同値が成り立つ。

  3. §E16.18 定義 4.2が用いるFreeFor⁡\operatorname{FreeFor}について、原子式、否定、含意の場合の同値と、量化子の場合の同値

    FreeFor⁡(t,i,AllRaw⁡(j,ψ))↔{真j=i,FreeFor⁡(t,i,ψ)∧(¬Free⁡(ψ,i)∨¬Free⁡(t,j))j≠i\operatorname{FreeFor}(t,i,\operatorname{AllRaw}(j,\psi)) \leftrightarrow \begin{cases} \text{真}&j=i,\\ \operatorname{FreeFor}(t,i,\psi)\land \bigl(\neg\operatorname{Free}(\psi,i)\lor\neg\operatorname{Free}(t,j)\bigr)&j\ne i \end{cases}

    が成り立つ。量化子の場合の第2連言は選言であり、¬Free⁡(t,j)\neg\operatorname{Free}(t,j)だけを要求する形ではない。

  4. §E16.18 定義 3.3のWalkTerm⁡\operatorname{WalkTerm}とWalkFormula⁡\operatorname{WalkFormula}について、定義に列挙した各場合の等式が成り立つ。従ってSubTermCode⁡\operatorname{SubTermCode}とSub⁡\operatorname{Sub}の場合分けも成り立つ。

  5. §E16.18 定義 4.2 (2)が表す代入例の条件について、i,t,a,b≤yi,t,a,b\le yの有界探索と、FreeFor⁡(t,i,a)\operatorname{FreeFor}(t,i,a)およびb=SubTermCode⁡(a,i,t)b=\operatorname{SubTermCode}(a,i,t)という各構成要素の値による条件との同値が成り立つ。

証明.(1)を示す。各構成子は§E16.17 定義 2.1の右入れ子の Cons 符号である。補題 6.4 (1)により、原始再帰関数として書いたCons⁡\operatorname{Cons}の値はCons⁡Q\operatorname{Cons}_Qが定める値に等しく、補題 4.1 (5)によりCons⁡(a,t)\operatorname{Cons}(a,t)はaaとttの双方より大きい。外側のタグを含む Cons について同じ評価を繰り返せば、直下の項符号・論理式符号・変数添字がいずれも全体より小さいことを得る。ここで繰り返す回数は構成子ごとに定まる標準自然数であり、入れ子の深さについての帰納法は用いていない。

(2)と(3)を示す。§E16.18 定理 2.2はTerm⁡\operatorname{Term}、Formula⁡\operatorname{Formula}、Free⁡\operatorname{Free}を、階数を第1引数、最大子数をK=2K=2とする有限分岐コース再帰の値として構成し、FreeFor⁡\operatorname{FreeFor}も同じ形の還元で構成している。(1)によりPAPAは階数の減少r(d(q,j))<r(q)r(d(q,j))<r(q)を証明する。要求の生成、子の割り当て、および親の結合関数はLen⁡\operatorname{Len}、Entry⁡\operatorname{Entry}、等号、有限の場合分けの合成であるから、補題 6.1と補題 6.7によりPAPAはそれらの定義方程式を証明する。子の個数を返すmmも同じ合成であり、その値は構成子タグによる有限の場合分けで00、S0S0、SS0SS0のいずれかに固定されている。どのタグにも一致しない要求へ与える既定値も00である。従って場合分けを尽くすと、PAPAは帰納法を用いずに∀q m(q)≤SS0\forall q\ m(q)\le SS0を証明する。これで補題 6.5 (2)が課す二つの仮定がともに満たされるので、補題 6.5 (2)をK=2K=2について適用することができ、各要求について

Eval⁡(q)=C(q,Hist⁡(q,m(q)))\operatorname{Eval}(q)=C\bigl(q,\operatorname{Hist}(q,m(q))\bigr)

を得る。この等式に、各構成子に対するm,d,Cm,d,Cの定義を代入すると、表示した各場合の同値が得られる。とくにFreeFor⁡\operatorname{FreeFor}の量化子節では、親の結合関数がFreeFor⁡(t,i,ψ)\operatorname{FreeFor}(t,i,\psi)の値と、¬Free⁡(ψ,i)\neg\operatorname{Free}(\psi,i)または¬Free⁡(t,j)\neg\operatorname{Free}(t,j)という選言との連言を取るので、表示した形になる。

(4)も同様である。§E16.18 定理 3.4はWalkTerm⁡\operatorname{WalkTerm}とWalkFormula⁡\operatorname{WalkFormula}を、階数を第1引数、K=2K=2とする有限分岐コース再帰へ移している。量化子の場合に子へ渡す環境がEEからE′=Cons⁡(pair⁡(i,j),E)E'=\operatorname{Cons}(\operatorname{pair}(i,j),E)へ変わるが、階数は元の真部分符号z<yz<yであるから減少条件は保たれる。新鮮変数j=1+y+t+E+v+ij=1+y+t+E+v+iの計算、環境の走査Look⁡\operatorname{Look}、Free⁡\operatorname{Free}の判定、およびi≠vi\ne vの等号判定はいずれも原始再帰的であり、Look⁡\operatorname{Look}の定義方程式は補題 7.1 (1)がPAPAの定理として与える。改名を発動させる三条件はこれらの合成であるから、量化子の場合の等式はLook⁡(E,v)=0\operatorname{Look}(E,v)=0、i≠vi\ne v、Free⁡(t,i)\operatorname{Free}(t,i)、Free⁡(z,v)\operatorname{Free}(z,v)の四つの判定による場合分けとしてPAPAの内部で読むことができる。子の個数についても、mmが構成子タグによる有限の場合分けで00、S0S0、SS0SS0のいずれかを返すので、PAPAは同じく∀q m(q)≤SS0\forall q\ m(q)\le SS0を証明する。従って同じ適用によって各場合の等式を得る。SubTermCode⁡\operatorname{SubTermCode}とSub⁡\operatorname{Sub}は、これらとTerm⁡\operatorname{Term}、Formula⁡\operatorname{Formula}、Num⁡\operatorname{Num}の合成と有限の場合分けである。

(5)を示す。§E16.18 定義 4.2 (2)が表す代入例の条件は、構成子の等式、Term⁡\operatorname{Term}、FreeFor⁡\operatorname{FreeFor}、SubTermCode⁡\operatorname{SubTermCode}、およびi,t,a,b≤yi,t,a,b\le yの有界探索から作られる。有界探索については補題 6.2、各構成要素については(2)から(4)までを用いると、PAPAはこの判定と、表示した条件との同値を証明する。本記事が扱うのは代入可能性の判定にあたるこの部分である。論理公理例の判定LogAx⁡\operatorname{LogAx}全体について、その値と定義に列挙した場合分けとの同値をPAPAの内部で証明することは、本単元では扱わない。下流で必要になるのは、LogAx⁡\operatorname{LogAx}の値がPAPAの内部で存在して一意であることと、個別に与えた公理例についてLogAx⁡\operatorname{LogAx}の成立をPAPAが証明することの二つだけである。前者は補題 6.1 (1)が与える。後者は二段を要する。本項が与える代入可能性の判定で§E16.18 定義 4.2 (2)の四条件を確かめ、そのうえで§E16.18 定義 4.2 (1)から§E16.18 定義 4.2 (6)までの有限選言へ移る。後段の一手は補題 6.1 (2)が与える固定した定義列の方程式による。LogAx⁡\operatorname{LogAx}の原始再帰的定義列は§E16.18 定義 4.4が一つに固定しており、その最終段は§E16.18 定義 4.2 (1)から§E16.18 定義 4.2 (6)までの特性関数の有限選言であるから、補題 6.1 (2)をこの最終段へ適用することができる。▨

補題 7.3.PAPAは

∀e ∀j (Free⁡(e,j)→j<e)\forall e\,\forall j\,\bigl(\operatorname{Free}(e,j)\to j<e\bigr)

を証明する。

証明.補題 7.2 (1)が与えるのは直下の一段の減少だけであり、入れ子の任意の深さに現れる添字については何も述べていない。そこで別の帰納法を行う。補題 1.2を論理式∃j (Free⁡(e,j)∧e≤j)\exists j\,\bigl(\operatorname{Free}(e,j)\land e\le j\bigr)へ適用し、これを満たす最小のeeを取って矛盾を導く。Free⁡(e,j)\operatorname{Free}(e,j)かつe≤je\le jを満たすjjを固定する。

補題 7.2 (2)により、PAPAはFree⁡\operatorname{Free}について、eeのタグに応じた各場合の同値を証明する。e=Var⁡(k)e=\operatorname{Var}(k)の場合、Free⁡(e,j)\operatorname{Free}(e,j)はj=kj=kと同値であり、補題 7.2 (1)によりk<ek<eであるからj<ej<eとなってe≤je\le jに反する。e=Zero⁡e=\operatorname{Zero}の場合と、eeがどの構成子の値でもない場合、Free⁡(e,j)\operatorname{Free}(e,j)は偽である。eeがSucc⁡\operatorname{Succ}、Add⁡\operatorname{Add}、Mul⁡\operatorname{Mul}、Eq⁡\operatorname{Eq}、NegRaw⁡\operatorname{NegRaw}、ImpRaw⁡\operatorname{ImpRaw}の値である場合、Free⁡(e,j)\operatorname{Free}(e,j)は直下の対象についてのFree⁡\operatorname{Free}の選言と同値であるから、Free⁡(u,j)\operatorname{Free}(u,j)を満たす直下の対象uuが存在する。補題 7.2 (1)によりu<eu<eであるから、eeの最小性によりj<uj<uであり、j<u<ej<u<eがe≤je\le jに反する。e=AllRaw⁡(k,z)e=\operatorname{AllRaw}(k,z)の場合、Free⁡(e,j)\operatorname{Free}(e,j)はj≠kj\ne kかつFree⁡(z,j)\operatorname{Free}(z,j)と同値であり、z<ez<eであるから同じくj<z<ej<z<eとなって矛盾する。

いずれの場合も矛盾するので、Free⁡(e,j)\operatorname{Free}(e,j)かつe≤je\le jを満たすe,je,jは存在しない。▨

補題 7.4. 符号eeが閉項符号であるとは、Term⁡(e)\operatorname{Term}(e)が成り立ち、かつi≤ei\le eを満たすすべてのiiについて¬Free⁡(e,i)\neg\operatorname{Free}(e,i)が成り立つことをいう。補題 7.3により、eeに自由に現れる変数の添字はeeより小さいので、この有界全称量化はすべての候補を調べている。すなわちPAPAは、eeが閉項符号であることとTerm⁡(e)∧∀i ¬Free⁡(e,i)\operatorname{Term}(e)\land\forall i\,\neg\operatorname{Free}(e,i)とが同値であることを証明する。以下ではこの同値を断らずに用いる。PAPAは次を証明する。

  1. ∀x Num⁡(Sx)=Succ⁡(Num⁡(x))\forall x\ \operatorname{Num}(Sx)=\operatorname{Succ}(\operatorname{Num}(x))。

  2. 任意のxxについてNum⁡(x)\operatorname{Num}(x)は閉項符号である。

  3. 閉項符号は任意の論理式符号の任意の変数へ自由に代入可能である。すなわち

    ∀e ∀a ∀i (e が閉項符号 ∧ Formula⁡(a)→FreeFor⁡(e,i,a))\forall e\,\forall a\,\forall i\, \bigl(e\ \text{が閉項符号}\ \land\ \operatorname{Formula}(a) \to\operatorname{FreeFor}(e,i,a)\bigr)

    である。ここでFreeFor⁡\operatorname{FreeFor}の引数の順序は項、変数添字、論理式である。

  4. e,e′e,e'が閉項符号ならばSucc⁡(e)\operatorname{Succ}(e)、Add⁡(e,e′)\operatorname{Add}(e,e')、Mul⁡(e,e′)\operatorname{Mul}(e,e')も閉項符号である。

  5. Term⁡(t)\operatorname{Term}(t)、Formula⁡(a)\operatorname{Formula}(a)、¬Free⁡(a,i)\neg\operatorname{Free}(a,i)ならばSubTermCode⁡(a,i,t)=a\operatorname{SubTermCode}(a,i,t)=aである。

  6. Term⁡(t)\operatorname{Term}(t)、Formula⁡(a)\operatorname{Formula}(a)、Free⁡(a,i)\operatorname{Free}(a,i)ならばt≤SubTermCode⁡(a,i,t)t\le\operatorname{SubTermCode}(a,i,t)である。

  7. Term⁡(t)\operatorname{Term}(t)かつFormula⁡(a)\operatorname{Formula}(a)ならばFormula⁡(SubTermCode⁡(a,i,t))\operatorname{Formula}\bigl(\operatorname{SubTermCode}(a,i,t)\bigr)である。さらにFree⁡(SubTermCode⁡(a,i,t),k)\operatorname{Free}\bigl(\operatorname{SubTermCode}(a,i,t),k\bigr)ならば、k≠ik\ne iかつFree⁡(a,k)\operatorname{Free}(a,k)であるか、またはFree⁡(a,i)\operatorname{Free}(a,i)かつFree⁡(t,k)\operatorname{Free}(t,k)である。

証明.(1)は§E16.18 定義 3.1が与える通常の原始再帰であるから、補題 6.1 (2)による。

(2)はxxに関するPAPAの帰納法による。x=0x=0ではNum⁡(0)=Zero⁡\operatorname{Num}(0)=\operatorname{Zero}であり、補題 7.2 (2)によりTerm⁡(Zero⁡)\operatorname{Term}(\operatorname{Zero})が成り立ち、Free⁡(Zero⁡,i)\operatorname{Free}(\operatorname{Zero},i)はどのiiについても偽である。xxからSxSxへ進む段では、(1)によりNum⁡(Sx)=Succ⁡(Num⁡(x))\operatorname{Num}(Sx)=\operatorname{Succ}(\operatorname{Num}(x))であり、補題 7.2 (2)のTerm⁡(Succ⁡(u))↔Term⁡(u)\operatorname{Term}(\operatorname{Succ}(u))\leftrightarrow\operatorname{Term}(u)とFree⁡(Succ⁡(u),i)↔Free⁡(u,i)\operatorname{Free}(\operatorname{Succ}(u),i)\leftrightarrow\operatorname{Free}(u,i)を用いる。

(3)を示す。論理式符号aaに関するPAPAの強い帰納法、すなわち補題 1.2を反例の最小値へ適用する。補題 7.2 (3)により、FreeFor⁡(e,i,a)\operatorname{FreeFor}(e,i,a)はaaの構成に関する再帰で定まる。原子式では条件が空である。¬\negと→\toでは真部分符号へ再帰し、いずれもaaより小さいので最小性に反する反例が無い。AllRaw⁡(j,b)\operatorname{AllRaw}(j,b)では、j=ij=iならば条件が空であり、j≠ij\ne iならば

FreeFor⁡(e,i,b)∧(¬Free⁡(b,i)∨¬Free⁡(e,j))\operatorname{FreeFor}(e,i,b)\land \bigl(\neg\operatorname{Free}(b,i)\lor\neg\operatorname{Free}(e,j)\bigr)

を要求する。eeが閉項符号であれば、補題 7.3によりjjの大きさによらず¬Free⁡(e,j)\neg\operatorname{Free}(e,j)が成り立つので、連言の第2成分である選言は右側で満たされる。連言の第1成分はb<ab<aに対する最小性から従う。ここで用いたのは選言であり、¬Free⁡(b,i)\neg\operatorname{Free}(b,i)と¬Free⁡(e,j)\neg\operatorname{Free}(e,j)の双方を要求してはいない。

(4)を示す。補題 7.2 (2)が与えるTerm⁡\operatorname{Term}の節により、Term⁡(e)\operatorname{Term}(e)とTerm⁡(e′)\operatorname{Term}(e')からTerm⁡(Succ⁡(e))\operatorname{Term}(\operatorname{Succ}(e))、Term⁡(Add⁡(e,e′))\operatorname{Term}(\operatorname{Add}(e,e'))、Term⁡(Mul⁡(e,e′))\operatorname{Term}(\operatorname{Mul}(e,e'))が従う。Free⁡\operatorname{Free}の節は直下の対象についての選言であるから、Free⁡(Succ⁡(e),i)\operatorname{Free}(\operatorname{Succ}(e),i)はFree⁡(e,i)\operatorname{Free}(e,i)と同値であり、二項構成子でも同様である。eeとe′e'が閉項符号であれば、上で述べた同値によりiiの大きさによらず¬Free⁡(e,i)\neg\operatorname{Free}(e,i)かつ¬Free⁡(e′,i)\neg\operatorname{Free}(e',i)であるから、構成した符号についてもiiの大きさによらず¬Free⁡\neg\operatorname{Free}が成り立ち、再び同じ同値により閉項符号である。Succ⁡(e)\operatorname{Succ}(e)では有界全称量化の範囲がi≤ei\le eからi≤Succ⁡(e)i\le\operatorname{Succ}(e)へ広がるが、補題 7.3を経由して量化の範囲を外したので、この差は問題にならない。

(5)から(7)までを示す。いずれも補題 7.2 (4)が与えるWalkTerm⁡\operatorname{WalkTerm}とWalkFormula⁡\operatorname{WalkFormula}の各場合の等式だけを用い、符号に関する強い帰納法、すなわち補題 1.2を反例の最小値へ適用する形の議論を行う。補助環境EEは帰納法の主張の中で全称量化する。Walk⁡(y,v,t,E)\operatorname{Walk}(y,v,t,E)は、yyが項符号のときWalkTerm⁡(y,v,t,E)\operatorname{WalkTerm}(y,v,t,E)、論理式符号のときWalkFormula⁡(y,v,t,E)\operatorname{WalkFormula}(y,v,t,E)を表すものとする。以下では代入対象の変数添字をvv、代入する項の符号をttと書き、最後にv:=iv:=iと取って(5)から(7)までを得る。§E16.18 定義 3.3の改名の三条件は、Look⁡(E,v)=0\operatorname{Look}(E,v)=0、i′≠vi'\ne v、および「vi′v_{i'}がttに自由に現れ、かつvvv_vが本体に自由に現れる」である。

(5)を示す。次の主張Σ(y)\Sigma(y)を、yyに関する強い帰納法で示す。

Σ(y):∀E ((Term⁡(y)∨Formula⁡(y))∧Δ(E)∧(Look⁡(E,v)≠0∨¬Free⁡(y,v))→Walk⁡(y,v,t,E)=y)\Sigma(y):\quad \forall E\,\Bigl( \bigl(\operatorname{Term}(y)\lor\operatorname{Formula}(y)\bigr)\land \Delta(E)\land \bigl(\operatorname{Look}(E,v)\ne0\lor\neg\operatorname{Free}(y,v)\bigr) \to\operatorname{Walk}(y,v,t,E)=y\Bigr)

ここでΔ(E)\Delta(E)は補題 7.1が定めた論理式であり、EEのすべての成分がpair⁡(k,k)\operatorname{pair}(k,k)の形であることを表す。整形式であるという連言を置いたのは、どの構成子の値でもないyyに対してWalk⁡\operatorname{Walk}が00を返すからである。補題 7.2 (2)により、整形式な符号の直下の対象はふたたび整形式であるから、この連言は帰納法の各段で引き継がれる。

y=Var⁡(i′)y=\operatorname{Var}(i')の場合を見る。Look⁡(E,i′)≠0\operatorname{Look}(E,i')\ne0ならば、補題 7.1 (4)によりLook⁡(E,i′)=Si′\operatorname{Look}(E,i')=Si'、すなわち対応先はi′i'自身であるから、返る値はVar⁡(i′)\operatorname{Var}(i')である。Look⁡(E,i′)=0\operatorname{Look}(E,i')=0の場合、i′=vi'=vとするとFree⁡(y,v)\operatorname{Free}(y,v)かつLook⁡(E,v)=0\operatorname{Look}(E,v)=0となって前件に反するのでi′≠vi'\ne vであり、返る値はやはりVar⁡(i′)\operatorname{Var}(i')である。y=Zero⁡y=\operatorname{Zero}では値がZero⁡\operatorname{Zero}である。Succ⁡\operatorname{Succ}、Add⁡\operatorname{Add}、Mul⁡\operatorname{Mul}、Eq⁡\operatorname{Eq}、NegRaw⁡\operatorname{NegRaw}、ImpRaw⁡\operatorname{ImpRaw}の場合、Free⁡(y,v)\operatorname{Free}(y,v)は直下の対象についての選言と同値であるから、前件は各直下の対象へそのまま引き継がれる。直下の対象は補題 7.2 (1)によりyyより小さいので、最小性により値が変わらず、親は同じ構成子で戻すので値はyyである。

y=AllRaw⁡(i′,z)y=\operatorname{AllRaw}(i',z)の場合を見る。前件によりLook⁡(E,v)≠0\operatorname{Look}(E,v)\ne0であるか、または¬Free⁡(y,v)\neg\operatorname{Free}(y,v)、すなわちi′=vi'=vまたは¬Free⁡(z,v)\neg\operatorname{Free}(z,v)である。第一の場合は改名の第1条件が、i′=vi'=vの場合は第2条件が、¬Free⁡(z,v)\neg\operatorname{Free}(z,v)の場合は第3条件が破れるので、いずれにせよ改名は発動せずj=i′j=i'である。従って子へ渡る環境はE′=Cons⁡(pair⁡(i′,i′),E)E'=\operatorname{Cons}(\operatorname{pair}(i',i'),E)であり、補題 7.1 (3)によりΔ(E′)\Delta(E')が成り立つ。また補題 7.1 (2)により、i′=vi'=vならばLook⁡(E′,v)≠0\operatorname{Look}(E',v)\ne0であり、i′≠vi'\ne vならばLook⁡(E′,v)=Look⁡(E,v)\operatorname{Look}(E',v)=\operatorname{Look}(E,v)であるから、いずれの場合も前件がzzとE′E'について成り立つ。z<yz<yであるから最小性によりWalk⁡(z,v,t,E′)=z\operatorname{Walk}(z,v,t,E')=zであり、親はAllRaw⁡(i′,z)=y\operatorname{AllRaw}(i',z)=yを返す。以上のどの場合にも反例が無いのでΣ(y)\Sigma(y)が成り立つ。

補題 7.1 (3)によりΔ(0)\Delta(0)が成り立ち、補題 7.1 (1)によりLook⁡(0,v)=0\operatorname{Look}(0,v)=0である。Formula⁡(a)\operatorname{Formula}(a)とTerm⁡(t)\operatorname{Term}(t)によりSubTermCode⁡(a,i,t)=WalkFormula⁡(a,i,t,0)\operatorname{SubTermCode}(a,i,t)=\operatorname{WalkFormula}(a,i,t,0)であるから、¬Free⁡(a,i)\neg\operatorname{Free}(a,i)のときΣ(a)\Sigma(a)からSubTermCode⁡(a,i,t)=a\operatorname{SubTermCode}(a,i,t)=aを得る。

改名の第2条件(i′≠vi'\ne v)と第1条件(Look⁡(E,v)=0\operatorname{Look}(E,v)=0)は、この主張のために必要である。これらを課さない改名条件では、vvv_vが束縛されていて代入が起こらない位置でも改名が発動し、結果がaaと一致しない。

第2条件の必要性は、最外の量化子だけで現れる。i=0i=0、t=Var⁡(0)t=\operatorname{Var}(0)、a=AllRaw⁡(0,Eq⁡(Var⁡(0),Var⁡(0)))a=\operatorname{AllRaw}\bigl(0,\operatorname{Eq}(\operatorname{Var}(0),\operatorname{Var}(0))\bigr)では¬Free⁡(a,0)\neg\operatorname{Free}(a,0)であるが、第2条件が無ければ最外の量化子でi′=0=vi'=0=vのまま改名が発動する。

第1条件の必要性は、入れ子になった量化子でしか現れない。i=0i=0、t=Var⁡(1)t=\operatorname{Var}(1)、a=AllRaw⁡(0,AllRaw⁡(1,Eq⁡(Var⁡(0),Var⁡(1))))a=\operatorname{AllRaw}\bigl(0,\operatorname{AllRaw}(1,\operatorname{Eq}(\operatorname{Var}(0),\operatorname{Var}(1)))\bigr)を取る。v0v_0は最外の量化子に束縛されているので¬Free⁡(a,0)\neg\operatorname{Free}(a,0)であり、(5)はSubTermCode⁡(a,0,t)=a\operatorname{SubTermCode}(a,0,t)=aを要求する。最外の量化子ではi′=0=vi'=0=vにより第2条件が破れるので改名は発動せず、子へ渡る環境はE′=Cons⁡(pair⁡(0,0),0)E'=\operatorname{Cons}(\operatorname{pair}(0,0),0)である。内側の量化子ではi′=1≠vi'=1\ne vであり、v1v_1はttに自由に現れ、v0v_0はEq⁡(Var⁡(0),Var⁡(1))\operatorname{Eq}(\operatorname{Var}(0),\operatorname{Var}(1))に自由に現れるので、第2条件と第3条件はどちらも破れない。第1条件だけがLook⁡(E′,0)≠0\operatorname{Look}(E',0)\ne0によって破れており、これを課さなければ内側の量化子で改名が発動して、結果はAllRaw⁡(0,AllRaw⁡(j,⋯ ))\operatorname{AllRaw}(0,\operatorname{AllRaw}(j,\cdots))(j≠1j\ne1)となりaaと一致しない。

(6)を示す。次の主張Ξ0(y)\Xi_0(y)を、yyに関する強い帰納法で示す。

Ξ0(y):∀E ((Term⁡(y)∨Formula⁡(y))∧Look⁡(E,v)=0∧Free⁡(y,v)→t≤Walk⁡(y,v,t,E))\Xi_0(y):\quad \forall E\,\Bigl( \bigl(\operatorname{Term}(y)\lor\operatorname{Formula}(y)\bigr)\land \operatorname{Look}(E,v)=0\land\operatorname{Free}(y,v) \to t\le\operatorname{Walk}(y,v,t,E)\Bigr)

Σ(y)\Sigma(y)と同じく整形式であるという連言を置いたのは、どの構成子の値でもないyyに対してWalk⁡\operatorname{Walk}が00を返すからである。補題 7.2 (2)により、整形式な符号の直下の対象はふたたび整形式であるから、この連言は帰納法の各段で引き継がれる。

y=Var⁡(i′)y=\operatorname{Var}(i')の場合、Free⁡(y,v)\operatorname{Free}(y,v)はi′=vi'=vを与え、Look⁡(E,v)=0\operatorname{Look}(E,v)=0であるから返る値はttである。y=Zero⁡y=\operatorname{Zero}では前件が偽である。一項構成子と二項構成子の場合、Free⁡(y,v)\operatorname{Free}(y,v)は直下の対象についての選言と同値であるから、Free⁡(u,v)\operatorname{Free}(u,v)を満たす直下の対象uuが存在する。補題 7.2 (1)によりu<yu<yであるから、最小性によりt≤Walk⁡(u,v,t,E)t\le\operatorname{Walk}(u,v,t,E)である。親は返った値を直下成分としてもつ符号を返すので、再び補題 7.2 (1)によりWalk⁡(u,v,t,E)<Walk⁡(y,v,t,E)\operatorname{Walk}(u,v,t,E)<\operatorname{Walk}(y,v,t,E)であり、t≤Walk⁡(y,v,t,E)t\le\operatorname{Walk}(y,v,t,E)を得る。y=AllRaw⁡(i′,z)y=\operatorname{AllRaw}(i',z)の場合、Free⁡(y,v)\operatorname{Free}(y,v)はi′≠vi'\ne vかつFree⁡(z,v)\operatorname{Free}(z,v)を与える。改名が発動するかどうかによらず子へ渡る環境はE′=Cons⁡(pair⁡(i′,j),E)E'=\operatorname{Cons}(\operatorname{pair}(i',j),E)であり、i′≠vi'\ne vであるから、補題 7.1 (2)によりLook⁡(E′,v)=Look⁡(E,v)=0\operatorname{Look}(E',v)=\operatorname{Look}(E,v)=0である。z<yz<yに最小性を用いてt≤Walk⁡(z,v,t,E′)t\le\operatorname{Walk}(z,v,t,E')を得る。親が返す符号はAllRaw⁡(j,Walk⁡(z,v,t,E′))\operatorname{AllRaw}\bigl(j,\operatorname{Walk}(z,v,t,E')\bigr)であり、補題 7.2 (1)によりこれはWalk⁡(z,v,t,E′)\operatorname{Walk}(z,v,t,E')より大きい。

E:=0E:=0と取ると、補題 7.1 (1)によりLook⁡(0,v)=0\operatorname{Look}(0,v)=0である。Formula⁡(a)\operatorname{Formula}(a)とTerm⁡(t)\operatorname{Term}(t)によりSubTermCode⁡(a,i,t)=WalkFormula⁡(a,i,t,0)\operatorname{SubTermCode}(a,i,t)=\operatorname{WalkFormula}(a,i,t,0)であることを用いると、Free⁡(a,i)\operatorname{Free}(a,i)のときt≤SubTermCode⁡(a,i,t)t\le\operatorname{SubTermCode}(a,i,t)を得る。この議論では「部分符号は全体以下である」という推移的な主張を用いていない。補題 7.2 (1)が与えるのは直下の一段だけであり、その推移閉包を別に立てる代わりに、いま行ったyyに関する帰納法を用いている。

(7)を示す。環境EEが現に有効にしている改名先を表す論理式を

Ren⁡(E,k): ⁣ ⁣⟺∃k′ (Look⁡(E,k′)=Sk)\operatorname{Ren}(E,k) :\!\!\Longleftrightarrow \exists k'\,\bigl(\operatorname{Look}(E,k')=Sk\bigr)

と置く。Look⁡\operatorname{Look}の値が00でないことは対応先が存在することを表し、そのときの対応先はLook⁡(E,k′)=Sk\operatorname{Look}(E,k')=Skを満たすkkであるから、Ren⁡(E,k)\operatorname{Ren}(E,k)は「EEのもとで何らかの変数がvkv_kへ改名される」ことを表す。次の二つの主張の連言Ξ1(y)\Xi_1(y)を、yyに関する強い帰納法で示す。

Φ(y,E):(Term⁡(y)→Term⁡(Walk⁡(y,v,t,E)))∧(Formula⁡(y)→Formula⁡(Walk⁡(y,v,t,E)))\Phi(y,E):\quad \bigl(\operatorname{Term}(y)\to\operatorname{Term}(\operatorname{Walk}(y,v,t,E))\bigr) \land \bigl(\operatorname{Formula}(y)\to\operatorname{Formula}(\operatorname{Walk}(y,v,t,E))\bigr)Λ(y,E):∀k (Free⁡(Walk⁡(y,v,t,E),k)→Ren⁡(E,k)∨(Free⁡(y,k)∧k≠v∧Look⁡(E,k)=0)∨(Free⁡(t,k)∧Free⁡(y,v)∧Look⁡(E,v)=0))\Lambda(y,E):\quad \forall k\,\Bigl( \operatorname{Free}\bigl(\operatorname{Walk}(y,v,t,E),k\bigr) \to \operatorname{Ren}(E,k) \lor\bigl(\operatorname{Free}(y,k)\land k\ne v\land\operatorname{Look}(E,k)=0\bigr) \lor\bigl(\operatorname{Free}(t,k)\land\operatorname{Free}(y,v)\land\operatorname{Look}(E,v)=0\bigr)\Bigr)Ξ1(y):∀E (Term⁡(t)∧(Term⁡(y)∨Formula⁡(y))→Φ(y,E)∧Λ(y,E))\Xi_1(y):\quad \forall E\,\Bigl( \operatorname{Term}(t)\land \bigl(\operatorname{Term}(y)\lor\operatorname{Formula}(y)\bigr) \to\Phi(y,E)\land\Lambda(y,E)\Bigr)

Σ(y)\Sigma(y)およびΞ0(y)\Xi_0(y)と同じく整形式であるという連言を置いたのは、どの構成子の値でもないyyに対してWalk⁡\operatorname{Walk}が00を返すからである。Term⁡\operatorname{Term}とFormula⁡\operatorname{Formula}の各節はタグによって排他的であるから、以下の各場合ではΦ(y,E)\Phi(y,E)の二つの含意のうち一方だけが実質をもち、他方は前件が偽で空虚に成り立つ。

y=Var⁡(i′)y=\operatorname{Var}(i')の場合を見る。Look⁡(E,i′)≠0\operatorname{Look}(E,i')\ne0ならば、補題 7.1 (1)が与える定義方程式により、Look⁡(E,i′)=Sj\operatorname{Look}(E,i')=Sjを満たすjjについて値はVar⁡(j)\operatorname{Var}(j)である。補題 7.2 (2)によりTerm⁡(Var⁡(j))\operatorname{Term}(\operatorname{Var}(j))が成り立ち、Free⁡(Var⁡(j),k)\operatorname{Free}(\operatorname{Var}(j),k)はk=jk=jと同値である。Look⁡(E,i′)=Sj\operatorname{Look}(E,i')=SjであるからRen⁡(E,j)\operatorname{Ren}(E,j)が成り立ち、第1の選言肢を得る。Look⁡(E,i′)=0\operatorname{Look}(E,i')=0かつi′=vi'=vならば値はttであり、前件のTerm⁡(t)\operatorname{Term}(t)がΦ\Phiを与える。Free⁡(t,k)\operatorname{Free}(t,k)に対しては、Free⁡(Var⁡(v),v)\operatorname{Free}(\operatorname{Var}(v),v)とLook⁡(E,v)=0\operatorname{Look}(E,v)=0により第3の選言肢を得る。Look⁡(E,i′)=0\operatorname{Look}(E,i')=0かつi′≠vi'\ne vならば値はVar⁡(i′)\operatorname{Var}(i')であり、Free⁡\operatorname{Free}のVar⁡\operatorname{Var}の節が与えるk=i′k=i'に対して第2の選言肢を得る。y=Zero⁡y=\operatorname{Zero}の場合、値はZero⁡\operatorname{Zero}であり、Term⁡(Zero⁡)\operatorname{Term}(\operatorname{Zero})が成り立ち、Free⁡(Zero⁡,k)\operatorname{Free}(\operatorname{Zero},k)はどのkkについても偽である。

yyがSucc⁡\operatorname{Succ}、Add⁡\operatorname{Add}、Mul⁡\operatorname{Mul}、Eq⁡\operatorname{Eq}、NegRaw⁡\operatorname{NegRaw}、ImpRaw⁡\operatorname{ImpRaw}の値である場合、補題 7.2 (4)により、値は同じ構成子を直下の対象の値へ適用したものである。直下の対象は補題 7.2 (1)によりyyより小さく、補題 7.2 (2)により整形式であるから、最小性によりΦ\PhiとΛ\Lambdaが同じEEについて成り立つ。Term⁡\operatorname{Term}とFormula⁡\operatorname{Formula}の各節は直下の対象についての連言であるからΦ(y,E)\Phi(y,E)を得る。Free⁡\operatorname{Free}の各節は直下の対象についての選言であるから、Free⁡(Walk⁡(y,v,t,E),k)\operatorname{Free}(\operatorname{Walk}(y,v,t,E),k)を満たすkkに対しては、Free⁡(Walk⁡(u,v,t,E),k)\operatorname{Free}(\operatorname{Walk}(u,v,t,E),k)を満たす直下の対象uuが存在する。Λ(u,E)\Lambda(u,E)の三つの選言肢は、Free⁡(u,k)→Free⁡(y,k)\operatorname{Free}(u,k)\to\operatorname{Free}(y,k)とFree⁡(u,v)→Free⁡(y,v)\operatorname{Free}(u,v)\to\operatorname{Free}(y,v)によってそのままΛ(y,E)\Lambda(y,E)の三つの選言肢へ移る。

y=AllRaw⁡(i′,z)y=\operatorname{AllRaw}(i',z)の場合を見る。§E16.18 定義 3.3の改名の三条件、すなわちLook⁡(E,v)=0\operatorname{Look}(E,v)=0であること、i′≠vi'\ne vであること、およびvi′v_{i'}がttに自由に現れかつvvv_vがzzに自由に現れることは、補題 7.2 (4)によりPAPAの内部での場合分けとして読むことができる。三条件がすべて成り立つときはj=1+y+t+E+v+i′j=1+y+t+E+v+i'、それ以外のときはj=i′j=i'であり、いずれの場合も子へ渡る環境はE′=Cons⁡(pair⁡(i′,j),E)E'=\operatorname{Cons}(\operatorname{pair}(i',j),E)、値はAllRaw⁡(j,Walk⁡(z,v,t,E′))\operatorname{AllRaw}\bigl(j,\operatorname{Walk}(z,v,t,E')\bigr)である。以下の議論は、どちらの場合であるかによらない。z<yz<yであり、Formula⁡(y)\operatorname{Formula}(y)からFormula⁡(z)\operatorname{Formula}(z)が従うので、最小性によりΦ(z,E′)\Phi(z,E')とΛ(z,E′)\Lambda(z,E')が成り立つ。Formula⁡\operatorname{Formula}のAllRaw⁡\operatorname{AllRaw}の節は本体についての条件だけであるからΦ(y,E)\Phi(y,E)を得る。

Λ(y,E)\Lambda(y,E)を示す。Free⁡\operatorname{Free}のAllRaw⁡\operatorname{AllRaw}の節により、Free⁡(AllRaw⁡(j,Walk⁡(z,v,t,E′)),k)\operatorname{Free}\bigl(\operatorname{AllRaw}(j,\operatorname{Walk}(z,v,t,E')),k\bigr)はk≠jk\ne jかつFree⁡(Walk⁡(z,v,t,E′),k)\operatorname{Free}(\operatorname{Walk}(z,v,t,E'),k)と同値である。Λ(z,E′)\Lambda(z,E')が与える三つの選言肢を順に見る。

  • Ren⁡(E′,k)\operatorname{Ren}(E',k)の場合。Look⁡(E′,k′)=Sk\operatorname{Look}(E',k')=Skを満たすk′k'を取る。補題 7.1 (2)により、k′=i′k'=i'ならばLook⁡(E′,k′)=Sj\operatorname{Look}(E',k')=Sjであるからk=jk=jとなり、k≠jk\ne jに反する。k′≠i′k'\ne i'ならばLook⁡(E,k′)=Look⁡(E′,k′)=Sk\operatorname{Look}(E,k')=\operatorname{Look}(E',k')=SkであるからRen⁡(E,k)\operatorname{Ren}(E,k)が成り立つ。
  • Free⁡(z,k)∧k≠v∧Look⁡(E′,k)=0\operatorname{Free}(z,k)\land k\ne v\land\operatorname{Look}(E',k)=0の場合。補題 7.1 (2)により、k=i′k=i'ならばLook⁡(E′,k)=Sj\operatorname{Look}(E',k)=Sjとなり (Q1) に反するのでk≠i′k\ne i'であり、Look⁡(E,k)=Look⁡(E′,k)=0\operatorname{Look}(E,k)=\operatorname{Look}(E',k)=0である。Free⁡(z,k)\operatorname{Free}(z,k)とk≠i′k\ne i'からFree⁡(y,k)\operatorname{Free}(y,k)が従うので、第2の選言肢を得る。
  • Free⁡(t,k)∧Free⁡(z,v)∧Look⁡(E′,v)=0\operatorname{Free}(t,k)\land\operatorname{Free}(z,v)\land\operatorname{Look}(E',v)=0の場合。同じ理由でv≠i′v\ne i'かつLook⁡(E,v)=0\operatorname{Look}(E,v)=0であり、Free⁡(z,v)\operatorname{Free}(z,v)とv≠i′v\ne i'からFree⁡(y,v)\operatorname{Free}(y,v)が従うので、第3の選言肢を得る。

以上のどの場合にも反例が無いのでΞ1(y)\Xi_1(y)が成り立つ。

E:=0E:=0と取る。補題 7.1 (1)によりLook⁡(0,k′)=0\operatorname{Look}(0,k')=0であり、(Q1) により0≠Sk0\ne Skであるから、どのkkについてもRen⁡(0,k)\operatorname{Ren}(0,k)は成り立たず、どのkkについてもLook⁡(0,k)=0\operatorname{Look}(0,k)=0である。Formula⁡(a)\operatorname{Formula}(a)とTerm⁡(t)\operatorname{Term}(t)によりSubTermCode⁡(a,i,t)=WalkFormula⁡(a,i,t,0)\operatorname{SubTermCode}(a,i,t)=\operatorname{WalkFormula}(a,i,t,0)であるから、v:=iv:=i、y:=ay:=aと取ると、Φ(a,0)\Phi(a,0)がFormula⁡(SubTermCode⁡(a,i,t))\operatorname{Formula}\bigl(\operatorname{SubTermCode}(a,i,t)\bigr)を与え、Λ(a,0)\Lambda(a,0)が

Free⁡(SubTermCode⁡(a,i,t),k)→(k≠i∧Free⁡(a,k))∨(Free⁡(a,i)∧Free⁡(t,k))\operatorname{Free}\bigl(\operatorname{SubTermCode}(a,i,t),k\bigr) \to \bigl(k\ne i\land\operatorname{Free}(a,k)\bigr) \lor\bigl(\operatorname{Free}(a,i)\land\operatorname{Free}(t,k)\bigr)

を与える。第3の選言肢に現れるFree⁡(a,i)\operatorname{Free}(a,i)はFree⁡(y,v)\operatorname{Free}(y,v)のv:=iv:=iの場合である。▨

定義 7.5 (固定論理式への数詞代入符号).χ\chiを、自由変数がvi1,…,vikv_{i_1},\ldots,v_{i_k}に含まれる固定したLAL_A論理式とする。§E16.18 定義 3.3の数詞代入 API を反復した

sub⁡χ(x1,…,xk)=Sub⁡(⋯Sub⁡(⌜χ⌝,i1,x1)⋯ ,ik,xk)\operatorname{sub}_{\chi}(x_1,\ldots,x_k) =\operatorname{Sub}\bigl( \cdots\operatorname{Sub}(\ulcorner\chi\urcorner,i_1,x_1)\cdots, i_k,x_k\bigr)

を 数詞代入符号関数 (numeral-substitution code function) という。この関数は原始再帰全関数である。この値を記法の記法で書き、

⌜χ(x˙1,…,x˙k)⌝\ulcorner\chi(\dot x_1,\ldots,\dot x_k)\urcorner

と表す。これは自由変数x1,…,xkx_1,\ldots,x_kをもつLAL_A論理式の中で、一つの値を表す略記として用いる。k=0k=0のときは固定した文の符号であり、⌜χ⌝\ulcorner\chi\urcornerと書く。

記号x˙j\dot x_jに付した点は、外側の変数xjx_jの値を数詞へ変えてから符号へ代入することを表す。⌜χ(x1,…,xk)⌝\ulcorner\chi(x_1,\ldots,x_k)\urcornerという書き方は用いない。前者はxjx_jを自由変数としてもつ算術式の中の略記であり、後者は変数記号を含む固定した符号であって、両者は異なる。

例 7.6 (自由変数を残した長さの主張).§E16.19 定理 4.5は、固定した標準自然数a,ba,bごとに

Q⊢∀z (Len⁡Q(Cons⁡(a,Cons⁡(b,0))‾,z)↔z=2‾)Q\vdash\forall z\,\bigl(\operatorname{Len}_Q(\overline{\operatorname{Cons}(a,\operatorname{Cons}(b,0))},z)\leftrightarrow z=\overline2\bigr)

を与える。これはa,ba,bごとに長さの異なる別々の有限導出である。これに対し補題 5.2 (3)は、a,ba,bを自由変数として残した一つの文

PA⊢∀a ∀b Len⁡(Cons⁡(a,Cons⁡(b,0)))=SS0PA\vdash\forall a\,\forall b\ \operatorname{Len}\bigl(\operatorname{Cons}(a,\operatorname{Cons}(b,0))\bigr)=SS0

を与える。ここでaaとbbは対象言語の自由変数であり、全称量化子は対象言語の中にある。二つの主張の違いはこの点にある。§E16.19 注意 8.2が述べるとおり、標準入力ごとの無限個のメタ理論上の結論から、一つの対象言語の文が従うわけではない。

8 演習

問題 8.1. 次の問いに答えよ。

  1. 補題 2.1で用いた論理式σa,b\sigma_{a,b}が、aaとbbについて対称な形をしていないにもかかわらずd∣bd\mid bが従う理由を、証明のどの構成が担っているかを指摘して述べよ。
  2. 補題 3.2の帰納法の主張が、法の積PPを存在量化された証人として持ち回る形になっている理由を述べよ。
  3. BSlB_{Sl}がi<li<lについて正しい剰余をもつことは、どの二つの事実の合成から従うか。
  4. At⁡Q0\operatorname{At}^{0}_Qが与える対象とEntry⁡Q0\operatorname{Entry}^{0}_Qが与える対象の違いを述べよ。
  5. 補題 5.2 (4)の存在の証明で、第1表と同じ前向きの構成を第2表へ流用することができない理由を述べよ。
  6. 上流の記事が原始再帰性を証明していれば、その関数の構造再帰方程式をPAPAの定理として直ちに用いることができるか。用いることができないならば、何を別に証明する必要があるかを述べよ。
解答 (確認問題の解答).
  1. d∣bd\mid bの証明では、s:=A+Bs:=A+Bを用いてU+A=b×sU+A=b\times sとV+B=a×sV+B=a\times sを満たす自然数U,VU,Vを取り直し、r+b×V=a×Ur+b\times V=a\times Uというσa,b\sigma_{a,b}の要求する形へ書き換えている。この取り直しが、bbの倍数とaaの倍数の役割を入れ替える働きをしており、σa,b\sigma_{a,b}の非対称性を補っている。
  2. 可変長kkの族の積m0×⋯×mk−1m_0\times\cdots\times m_{k-1}はLAL_Aの項ではなく、既知の関数でもない。従って主張の中で名指すことができず、帰納法の各段で存在を主張する証人として持ち回るほかない。
  3. M(i,C)∣PlM(i,C)\mid P_lとBSl≡Bl (mod Pl)B_{Sl}\equiv B_l\ (\mathrm{mod}\ P_l)から補題 1.5 (3)によってBSl≡Bl (mod M(i,C))B_{Sl}\equiv B_l\ (\mathrm{mod}\ M(i,C))を得ること、および帰納法の仮定が与えるBl≡yi (mod M(i,C))B_l\equiv y_i\ (\mathrm{mod}\ M(i,C))に推移律を用いることの二つである。
  4. At⁡Q0(s,i,t)\operatorname{At}^{0}_Q(s,i,t)のttは、ssからDec⁡Q\operatorname{Dec}_Qをii回たどった反復尾である。第ii成分はその反復尾の先頭であり、Entry⁡Q0(s,i,a)\operatorname{Entry}^{0}_Q(s,i,a)が与える。
  5. 第2表はen=te_n=tから始めてej=Cons⁡(aj,eSj)e_j=\operatorname{Cons}(a_j,e_{Sj})と後ろ向きに定まるので、添字の小さいほうから順に値が決まらない。そこで、末尾から数えた段数llに関する帰納法を別に立て、各段で表を作り直している。
  6. 用いることができない。上流の原始再帰性の証明は、還元後の通常の原始再帰の方程式だけを対象言語の再帰として用いており、還元した関数が元の構造再帰方程式を満たすことはメタ理論の帰納法で示している。補題 6.5のように、還元が定義方程式を満たすことをPAPAの内部で証明する補題を別に立てる必要がある。

▨

9 境界と次の段階

本記事が証明したのは、PAPAの内部で有限列符号と原始再帰関数を一様に扱うことができるということである。用いた道具は、除法定理、最小数原理、Bézout の等式、二つの法に対する中国剰余定理、および有限族の表符号化であり、いずれも帰納法公理スキーマを必要とする。§E16.15 定義 2.1の七公理には帰納法公理が含まれないので、本記事の主張はQQを含むだけの理論へは及ばない。

有限列の符号は§E16.17 注意 4.4の方針に従い、右入れ子の Cons 符号と§E16.19 定義 4.1の五式だけを用いた。有限列の符号を素因数分解符号や Gödel のβ\beta関数へ取り替えると、構文符号と計算列の符号が一致しなくなる。ただし、§3 で可変長の族を一括して扱うために用いた補助の表符号は、上流が固定したM(i,C)=S((Si)×C)M(i,C)=S((Si)\times C)を法とする剰余Cell⁡Q\operatorname{Cell}_Qであり、これはβ\beta関数と同じ形の式である。本記事がβ\beta関数を用いないというのは、有限列の符号としては用いないという意味であって、可変長の復号履歴を保持する補助の道具としては、上流が固定したこの式をそのまま用いている。

本記事は、特定の理論TTの公理列挙、証明列、証明述語、および証明可能性述語を扱っていない。これらを対象とする一様な内部主張、すなわち証明列の合成がPAPAの内部で保存されることと、証明可能性が対象理論の内部でもう一段証明可能になることは、本記事が用意した道具のうえで後続の記事が扱う。また、非標準モデルにおいてPAPAの内部の「有限列」が外側の有限列に対応するとは限らないことも、本記事は主張していない。§E16.15 定理 3.2により標準モデルでは対応するが、非標準モデルでは長さが非標準の対象が現れる。

参考文献

  1. Petr Hájek and Pavel Pudlák, Metamathematics of First-Order Arithmetic, Perspectives in Logic 3, Cambridge University Press, Cambridge, 2017, originally published 1993.PA 内の初等的な数論と有限列符号化の扱いを参考にした。
  2. Richard Kaye, Models of Peano Arithmetic, Oxford University Press, Oxford, 1991.PA 内での除法、Bézout の等式、中国剰余定理、および符号化の扱いを参考にした。
  3. Craig Smoryński, The incompleteness theorems, in: Handbook of Mathematical Logic, Studies in Logic and the Foundations of Mathematics, North-Holland, 1977, pp. 821–865.算術化を対象理論の内部で行うために必要な補題の整理を参考にした。
  4. Herbert B. Enderton, A Mathematical Introduction to Logic, 2nd ed., Academic Press, 2001.数詞、捕獲回避代入、および構文符号の扱いを参考にした。

前提記事