§E16.19算術における表現可能性

最終更新

外側で定義した自然数関数を算術理論の内部で扱うには、その入出力関係をLAL_A論理式へ移す必要がある。弱い理論QQは帰納法を公理にもたないが、標準入力を一つ固定すれば、その入力における有限計算を数詞について検証することができる。本記事では、最初に有限列符号のグラフ式と固定標準列に対する直接検証を構成する。その後、この数詞ごとの強さを正確に定式化し、すべての正アリティ原始再帰関数と関係について証明する。

1 数詞ごとの表現

定義 1.1.k≥1k\ge1とし、R⊆NkR\subseteq\mathbb N^kを関係とする。LAL_A論理式ρR(x1,…,xk)\rho_R(x_1,\ldots,x_k)がRRをQQで数詞ごとに表現する (numeralwise representation of a relation) とは、任意の標準自然数n1,…,nkn_1,\ldots,n_kについて次が成り立つことをいう。

R(n1,…,nk)⟹Q⊢ρR(n‾1,…,n‾k),¬R(n1,…,nk)⟹Q⊢¬ρR(n‾1,…,n‾k).\begin{aligned} R(n_1,\ldots,n_k)&\quad\Longrightarrow\quad Q\vdash\rho_R(\overline n_1,\ldots,\overline n_k),\\ \neg R(n_1,\ldots,n_k)&\quad\Longrightarrow\quad Q\vdash\neg\rho_R(\overline n_1,\ldots,\overline n_k). \end{aligned}

真の場合だけでなく、偽の場合の否定もQQで証明することが定義に含まれる。

定義 1.2.k≥1k\ge1とし、f ⁣:Nk→Nf\colon\mathbb N^k\to\mathbb Nを全関数とする。LAL_A論理式φf(x1,…,xk,y)\varphi_f(x_1,\ldots,x_k,y)がffをQQで強く数詞ごとに表現する (strong numeralwise representation of a function) とは、任意の標準入力n1,…,nkn_1,\ldots,n_kとm=f(n1,…,nk)m=f(n_1,\ldots,n_k)について

Q⊢∀y(φf(n‾1,…,n‾k,y)↔y=m‾)Q\vdash\forall y\bigl( \varphi_f(\overline n_1,\ldots,\overline n_k,y) \leftrightarrow y=\overline m\bigr)

が成り立つことをいう。

この定義は、正しい出力m‾\overline mが式を満たすことと、任意の出力候補がm‾\overline mに限られることを同時に要求する。一方、自由な入力変数についてQ⊢∀x⃗∃!y φf(x⃗,y)Q\vdash\forall\vec x\exists!y\,\varphi_f(\vec x,y)を要求していない。

2 有界量化子とΔ0\Delta_0論理式・Σ1\Sigma_1論理式

固定した標準入力についての有限検証を述べる前に、量化子に上界を与える書き方と、そのように上界を与えた量化子だけで作る論理式の類を定める。ここで定める二つの類は証明述語に固有のものではなく、Robinson 算術QQを含む理論について一般に用いる。

定義 2.1.LAL_Aの項s,ts,tについて、順序の略記を§E16.15 定義 1.1と同じく

t<s: ⁣ ⁣⟺∃d (s=t+Sd),t≤s: ⁣ ⁣⟺∃d (s=t+d)t<s:\!\!\Longleftrightarrow\exists d\,(s=t+Sd), \qquad t\le s:\!\!\Longleftrightarrow\exists d\,(s=t+d)

とし、さらに加数の位置を入れ替えた略記

t≼s: ⁣ ⁣⟺∃d (d+t=s),t≺s: ⁣ ⁣⟺St≼st\preccurlyeq s:\!\!\Longleftrightarrow\exists d\,(d+t=s), \qquad t\prec s:\!\!\Longleftrightarrow St\preccurlyeq s

を置く。四つの略記が含む∃d\exists dは、有界量化子として扱うことを規約とする。RRを四つの略記のいずれかとするとき、有界量化とは

∀vRt δ: ⁣ ⁣⟺∀v (vRt→δ),∃vRt δ: ⁣ ⁣⟺∃v (vRt∧δ)\forall v\mathrel{R}t\ \delta \quad:\!\!\Longleftrightarrow\quad \forall v\,(v\mathrel{R}t\to\delta), \qquad \exists v\mathrel{R}t\ \delta \quad:\!\!\Longleftrightarrow\quad \exists v\,(v\mathrel{R}t\land\delta)

の形の量化をいう。ここで束縛変数vvは項ttに現れないものとする。Δ0\Delta_0論理式 (Delta-zero formula) の集合を、原子論理式t=st=sと四つの略記から出発し、¬\neg、→\to、∧\land、∨\lor、および有界量化によって生成される最小の集合とする。Σ1\Sigma_1論理式 (Sigma-one formula) とは、Δ0\Delta_0論理式δ\deltaを用いて∃w1⋯∃wl δ\exists w_1\cdots\exists w_l\,\deltaと書くことができる論理式である。ここでl≥0l\ge0を許し、l=0l=0のときはδ\delta自身をΣ1\Sigma_1論理式とみなす。

四つの略記の∃d\exists dを有界量化子として扱う規約は、次の二つの事実によって支えられる。標準モデルでは、四つの略記のいずれについても証人ddはssの値以下であるから、この規約はN\mathbb Nにおける決定可能性を損なわない。QQの内部では、QQが加法の単調性を証明しないため証人の大小そのものを用いることができないが、必要になるのは数詞を代入した場合だけであり、そこでは補題 3.3が与える有限分解が証人の候補を有限個の数詞へ落とす。Δ0\Delta_0論理式について本記事と下流の記事が主張することは、いずれもこの二つの道筋のどちらかで閉じる。

≼\preccurlyeqでは加法の第2引数にttが来るので、ttが数詞nˉ\bar nのときはd+nˉ=Sndd+\bar n=S^ndを§E16.15 定義 2.1の (Q4)、(Q5) の固定回数の適用で得ることができる。≤\leの側では、nˉ+d\bar n+dの展開がddについて進まないため、同じ書き換えを行うことができない。≼\preccurlyeqと≺\precは、この書き換えが必要になる箇所でだけ用いる。

3 固定上界の有限分解と展開

補題 3.1.rrを固定した標準自然数とする。QQでは、自由変数xxについて

x<r‾↔(x=0‾∨⋯∨x=r−1‾),x≤r‾↔(x=0‾∨⋯∨x=r‾)\begin{aligned} x<\overline r&\leftrightarrow (x=\overline0\lor\cdots\lor x=\overline{r-1}),\\ x\le\overline r&\leftrightarrow (x=\overline0\lor\cdots\lor x=\overline r) \end{aligned}

を有限回の公理適用で証明することができる。r=0r=0の第1の選言は空である。

証明. (Q3) をxxと順序の証人へ外側で固定した回数だけ適用し、各変数を零、固定回数以内の後続者、またはさらに後続者をもつ残余のいずれかへ分ける。(Q4)、(Q5) で加法をその固定回数だけ展開する。右辺がr‾\overline rを越える場合は、(Q2) で共通する後続者を除いた後に (Q1) を用いて排除することができる。残る場合は§E16.15 補題 4.1の固定数詞加法により、表示した各数詞と一致する。これはrrごとに長さの異なる有限導出であり、自由変数rrに関する帰納法ではない。▨

補題 3.2.rrを標準自然数とし、θ(i,z⃗)\theta(i,\vec z)を任意のLAL_A論理式とする。QQでは、固定数詞r‾\overline rによる有界全称条件を有限連言へ展開することができる。すなわち

Q⊢∀i (i<r‾→θ(i,z⃗))↔⋀j<rθ(j‾,z⃗).Q\vdash \forall i\,(i<\overline r\to\theta(i,\vec z)) \leftrightarrow \bigwedge_{j<r}\theta(\overline j,\vec z).

r=0r=0の右辺は恒真式とする。

証明.補題 3.1により、

Q⊢i<r‾↔(i=0‾∨⋯∨i=r−1‾)Q\vdash i<\overline r \leftrightarrow(i=\overline0\lor\cdots\lor i=\overline{r-1})

である。左辺の有界全称条件からは、i=j‾i=\overline jを各j<rj<rについて代入してθ(j‾,z⃗)\theta(\overline j,\vec z)を得る。逆に右辺の有限連言を仮定する。i<r‾i<\overline rを満たすiiは表示した有限選言のいずれかの数詞に等しいため、等号の置換可能性によりθ(i,z⃗)\theta(i,\vec z)を得る。iiを全称化すると左辺が従う。r=0r=0では候補の選言と右辺の連言がともに空であり、同じ論証が成り立つ。▨

この補題は、自由変数rrに関する一様な帰納法を述べていない。各標準自然数rrに対して別々の有限導出を構成する。

数詞を代入した有界文についてQQが真偽を決定することを、次の補題として取り出す。この補題も、固定した標準自然数ごとに長さの異なる有限導出を与えるものであり、QQ内の帰納法ではない。

補題 3.3.

  1. 任意の標準自然数mmについて Q⊢∀z (z≼mˉ↔(z=0ˉ∨⋯∨z=mˉ)),Q⊢∀z (z≺mˉ↔(z=0ˉ∨⋯∨z=m−1‾))\begin{aligned} Q&\vdash\forall z\,\bigl(z\preccurlyeq\bar m\leftrightarrow (z=\bar0\lor\cdots\lor z=\bar m)\bigr),\\ Q&\vdash\forall z\,\bigl(z\prec\bar m\leftrightarrow (z=\bar0\lor\cdots\lor z=\overline{m-1})\bigr) \end{aligned} である。m=0m=0の第2の選言は空とする。
  2. 任意の標準自然数mmについてQ⊢∀z (z≺mˉ∨mˉ≼z)Q\vdash\forall z\,(z\prec\bar m\lor\bar m\preccurlyeq z)である。
  3. δ(x⃗)\delta(\vec x)を定義 2.1のΔ0\Delta_0論理式とする。任意の標準自然数n⃗\vec nについて、N⊨δ(n⃗)\mathbb N\models\delta(\vec n)ならばQ⊢δ(n⃗‾)Q\vdash\delta(\overline{\vec n})であり、N⊭δ(n⃗)\mathbb N\not\models\delta(\vec n)ならばQ⊢¬δ(n⃗‾)Q\vdash\neg\delta(\overline{\vec n})である。

証明.(1)を示す。z≼mˉz\preccurlyeq\bar mは∃d (d+z=mˉ)\exists d\,(d+z=\bar m)である。左から右を示す。(Q3) をzzへm+1m+1回適用すると、zzは0ˉ,…,mˉ\bar0,\ldots,\bar mのいずれかに等しいか、あるeeについてz=Sm+1ez=S^{m+1}eである。最後の場合、(Q5) をm+1m+1回用いるとd+Sm+1e=Sm+1(d+e)d+S^{m+1}e=S^{m+1}(d+e)であり、mˉ=Sm0\bar m=S^m0と合わせて (Q2) でmm個の後続者を消すとS(d+e)=0S(d+e)=0を得るので、(Q1) に反する。右から左は、各j≤mj\le mについて§E16.15 補題 4.1がm−j‾+jˉ=mˉ\overline{m-j}+\bar j=\bar mを与えることによる。≺\precの同値は、z≺mˉz\prec\bar mがSz≼mˉSz\preccurlyeq\bar mであることと、Sz=0ˉSz=\bar0が (Q1) に反すること、およびSz=SjˉSz=S\bar jから (Q2) でz=jˉz=\bar jが従うことから得る。

(2)を示す。(Q3) をzzへmm回適用すると、zzは0ˉ,…,m−1‾\bar0,\ldots,\overline{m-1}のいずれかに等しいか、あるddについてz=Smdz=S^mdである。前者の各場合は(1)によりz≺mˉz\prec\bar mを与える。後者では、(Q4)、(Q5) をmm回用いてd+mˉ=Smd=zd+\bar m=S^md=zを得るのでmˉ≼z\bar m\preccurlyeq zである。m=0m=0では最初の選言が空であり、(Q4) のd+0=dd+0=dから0ˉ≼z\bar0\preccurlyeq zである。

(3)をδ\deltaの構成に関するメタ理論の帰納法で示す。数詞を代入した後、各量化子の上界と各原子式の項は閉項である。任意の閉項ttについてQ⊢t=tN‾Q\vdash t=\overline{t^{\mathbb N}}が成り立つことを、項の構成に関するメタ理論の帰納法で先に確かめる。ttが00のときは自明であり、t=Sut=Suのときは帰納法の仮定と等号の合同から従う。t=u+u′t=u+u'とt=u×u′t=u\times u'のときは、帰納法の仮定で両辺を数詞へ移したうえで、§E16.15 補題 4.1が与えるQ⊢a‾+b‾=a+b‾Q\vdash\overline a+\overline b=\overline{a+b}とQ⊢a‾×b‾=ab‾Q\vdash\overline a\times\overline b=\overline{ab}を用いる。原子式t=st=sについては、両辺を値の数詞へ移したうえで、同補題が真の場合の等号の証明と偽の場合のQ⊢a‾≠b‾Q\vdash\overline a\ne\overline bを与える。順序の略記t≤st\le s、t<st<s、t≼st\preccurlyeq s、t≺st\prec sについては、閉項の値を数詞へ移したうえで、≤\leと<<には補題 3.1を、≼\preccurlyeqと≺\precには(1)を適用して証人の候補を有限個の数詞へ分け、各候補について数詞の等式を§E16.15 補題 4.1で判定する。命題結合子の場合は、部分式についての帰納法の仮定と命題論理の有限導出で閉じる。有界量化∀v≤t δ′\forall v\le t\,\delta'と∃v≤t δ′\exists v\le t\,\delta'は、ttの値を数詞rˉ\bar rへ移した後、補題 3.1が与える同値v≤rˉ↔(v=0ˉ∨⋯∨v=rˉ)v\le\bar r\leftrightarrow(v=\bar0\lor\cdots\lor v=\bar r)により、v=0ˉ,…,rˉv=\bar0,\ldots,\bar rについての有限連言と有限選言へ展開されるので、各項に帰納法の仮定を適用することができる。上界が<<で与えられる全称量化については、補題 3.2が同じ展開を直接与える。上界が<<で与えられる存在量化は同じ補題 3.1の第1の同値で、上界が≼\preccurlyeq、≺\precで与えられる有界量化は(1)の有限分解で、それぞれ同様に扱う。▨

4 Q における有限列算術式 API

自然数上の対関数と有限列符号は§E16.17 定義 1.1と§E16.17 定義 2.1で固定し、Len、Entry、Concat の原始再帰性は§E16.17 定理 4.2で証明した。本節では同じ外的な符号値を用いる。自然数上で固定した Pair、Cons、Len、Entry、Concat をQQの内部で扱うため、外側の関数名を算術言語の関数記号として追加せず、各関数のグラフを表す有限なLAL_A論理式を固定する。

順序の略記x<yx<yとx≤yx\le yは定義 2.1が固定したものを用いる。以下の各略記は右辺をそのまま展開することができるため、新しい対象言語記号ではない。

まず、対と Cons の raw 式を次のように固定する。

Pair⁡Q0(a,b,c): ⁣ ⁣⟺∃w(w=a+b∧c≤(w×Sw)+(b+b)∧c+c=(w×Sw)+(b+b)),Cons⁡Q0(a,t,c): ⁣ ⁣⟺∃p(Pair⁡Q0(a,t,p)∧c=Sp).\begin{aligned} \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),\\ \operatorname{Cons}^{0}_Q(a,t,c) &:\!\!\Longleftrightarrow \exists p\bigl(\operatorname{Pair}^{0}_Q(a,t,p)\land c=Sp\bigr). \end{aligned}

第1式は2c=(a+b)(a+b+1)+2b2c=(a+b)(a+b+1)+2bを表す。付加した有界条件は標準自然数上で自動的に成り立ち、固定入力における任意の出力候補を有限個の数詞へ分けるために用いる。

可変長の復号履歴は、Cons 列の Len または Entry を用いず、一つの有限表を検査する式で保持する。項の略記

M(i,C):=S((Si)×C)M(i,C):=S((Si)\times C)

と、次の二式を固定する。

Tab⁡Q0(B,C,i,x): ⁣ ⁣⟺x<M(i,C)∧∃q(q≤B∧B=(q×M(i,C))+x),Cell⁡Q(B,C,i,x): ⁣ ⁣⟺Tab⁡Q0(B,C,i,x)∧∀z(Tab⁡Q0(B,C,i,z)→z=x).\begin{aligned} \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),\\ \operatorname{Cell}_Q(B,C,i,x) &:\!\!\Longleftrightarrow \operatorname{Tab}^{0}_Q(B,C,i,x)\land \forall z\bigl(\operatorname{Tab}^{0}_Q(B,C,i,z)\to z=x\bigr). \end{aligned}

M(i,C)M(i,C)は文字どおりLAL_Aの項S((Si)×C)S((Si)\times C)である。Tab の存在変数qqにもq≤Bq\le Bを課したため、B,C,iB,C,iが固定数詞なら Cell の全称節は二つの固定有界探索へ展開することができる。 Cell は復号履歴を一つの式へ詰めるための証明内の補助関係にすぎず、有限列を表す公開 API ではない。公開する列の符号は引き続き右入れ子の Cons 符号だけである。

定義 4.1 (有限列算術式 API). raw 式R(x⃗,y)R(\vec x,y)に対して

Unique⁡[R](x⃗,y): ⁣ ⁣⟺R(x⃗,y)∧∀z (R(x⃗,z)→z=y)\operatorname{Unique}[R](\vec x,y):\!\!\Longleftrightarrow R(\vec x,y)\land\forall z\,(R(\vec x,z)\to z=y)

とおく。Pair と Cons について

Pair⁡Q(a,b,c):=Unique⁡[Pair⁡Q0](a,b,c),Cons⁡Q(a,t,c):=Unique⁡[Cons⁡Q0](a,t,c)\begin{aligned} \operatorname{Pair}_Q(a,b,c)&:= \operatorname{Unique}[\operatorname{Pair}^{0}_Q](a,b,c),\\ \operatorname{Cons}_Q(a,t,c)&:= \operatorname{Unique}[\operatorname{Cons}^{0}_Q](a,t,c) \end{aligned}

とする。さらに、Cons 符号を一段だけ復号する式、復号の有限接頭部、長さ、反復尾、および Head を順に定める。

Dec⁡Q(s,a,t): ⁣ ⁣⟺a<s∧t<s∧Cons⁡Q(a,t,s),Prefix⁡Q(B,C,s,k): ⁣ ⁣⟺Cell⁡Q(B,C,0,s)∧∀j(j<k→∃x∃y∃a(Cell⁡Q(B,C,j,x)∧Cell⁡Q(B,C,Sj,y)∧x≠0∧Dec⁡Q(x,a,y))),Len⁡Q0(s,n): ⁣ ⁣⟺n≤s∧∃B∃C(Prefix⁡Q(B,C,s,n)∧Cell⁡Q(B,C,n,0)),At⁡Q0(s,i,t): ⁣ ⁣⟺i≤s∧∃B∃C(Prefix⁡Q(B,C,s,i)∧Cell⁡Q(B,C,i,t)),Head⁡Q0(s,a): ⁣ ⁣⟺(s=0∧a=0)∨(s≠0∧∃t Dec⁡Q(s,a,t)).\begin{aligned} \operatorname{Dec}_Q(s,a,t) &:\!\!\Longleftrightarrow a<s\land t<s\land\operatorname{Cons}_Q(a,t,s),\\ \operatorname{Prefix}_Q(B,C,s,k) &:\!\!\Longleftrightarrow \operatorname{Cell}_Q(B,C,0,s)\land\\ &\quad\forall j\Bigl(j<k\to \exists x\exists y\exists a\bigl( \operatorname{Cell}_Q(B,C,j,x)\land \operatorname{Cell}_Q(B,C,Sj,y)\land x\ne0\land\operatorname{Dec}_Q(x,a,y) \bigr)\Bigr),\\ \operatorname{Len}^{0}_Q(s,n) &:\!\!\Longleftrightarrow n\le s\land\exists B\exists C\bigl( \operatorname{Prefix}_Q(B,C,s,n)\land \operatorname{Cell}_Q(B,C,n,0)\bigr),\\ \operatorname{At}^{0}_Q(s,i,t) &:\!\!\Longleftrightarrow i\le s\land\exists B\exists C\bigl( \operatorname{Prefix}_Q(B,C,s,i)\land \operatorname{Cell}_Q(B,C,i,t)\bigr),\\ \operatorname{Head}^{0}_Q(s,a) &:\!\!\Longleftrightarrow (s=0\land a=0)\lor (s\ne0\land\exists t\,\operatorname{Dec}_Q(s,a,t)). \end{aligned}

これらを用いるが、Len または Entry 自身を用いずに、残る二つの raw 式を固定する。

Entry⁡Q0(s,i,a): ⁣ ⁣⟺∃n(Len⁡Q0(s,n)∧[i<n∧∃t(At⁡Q0(s,i,t)∧Head⁡Q0(t,a))∨(n≤i∧a=0)]),Concat⁡Q0(s,t,u): ⁣ ⁣⟺∃n∃B∃C∃D∃E(n≤s∧Prefix⁡Q(B,C,s,n)∧Cell⁡Q(B,C,n,0)∧Cell⁡Q(D,E,0,u)∧Cell⁡Q(D,E,n,t)∧∀j(j<n→∃x∃y∃a∃r∃r′(Cell⁡Q(B,C,j,x)∧Cell⁡Q(B,C,Sj,y)∧Dec⁡Q(x,a,y)∧Cell⁡Q(D,E,j,r)∧Cell⁡Q(D,E,Sj,r′)∧Cons⁡Q(a,r′,r)))).\begin{aligned} \operatorname{Entry}^{0}_Q(s,i,a) &:\!\!\Longleftrightarrow \exists n\Bigl(\operatorname{Len}^{0}_Q(s,n)\land\\ &\qquad\bigl[ i<n\land\exists t\bigl( \operatorname{At}^{0}_Q(s,i,t)\land \operatorname{Head}^{0}_Q(t,a)\bigr)\\ &\qquad\quad\lor(n\le i\land a=0)\bigr]\Bigr),\\[1mm] \operatorname{Concat}^{0}_Q(s,t,u) &:\!\!\Longleftrightarrow \exists n\exists B\exists C\exists D\exists E\Bigl( n\le s\land \operatorname{Prefix}_Q(B,C,s,n)\land \operatorname{Cell}_Q(B,C,n,0)\\ &\qquad\land\operatorname{Cell}_Q(D,E,0,u) \land\operatorname{Cell}_Q(D,E,n,t)\\ &\qquad\land\forall j\Bigl(j<n\to \exists x\exists y\exists a\exists r\exists r'\bigl( \operatorname{Cell}_Q(B,C,j,x)\land \operatorname{Cell}_Q(B,C,Sj,y)\\ &\hspace{52mm}\land\operatorname{Dec}_Q(x,a,y) \land\operatorname{Cell}_Q(D,E,j,r) \land\operatorname{Cell}_Q(D,E,Sj,r') \land\operatorname{Cons}_Q(a,r',r) \bigr)\Bigr)\Bigr). \end{aligned}

最後に、公開する三式を

Len⁡Q(s,n):=Unique⁡[Len⁡Q0](s,n),Entry⁡Q(s,i,a):=Unique⁡[Entry⁡Q0](s,i,a),Concat⁡Q(s,t,u):=Unique⁡[Concat⁡Q0](s,t,u)\begin{aligned} \operatorname{Len}_Q(s,n)&:= \operatorname{Unique}[\operatorname{Len}^{0}_Q](s,n),\\ \operatorname{Entry}_Q(s,i,a)&:= \operatorname{Unique}[\operatorname{Entry}^{0}_Q](s,i,a),\\ \operatorname{Concat}_Q(s,t,u)&:= \operatorname{Unique}[\operatorname{Concat}^{0}_Q](s,t,u) \end{aligned}

と定める。角括弧内は直前に右辺を表示した raw 式であり、未指定のプログラム翻訳ではない。この五式を総称して 有限列算術式 API (arithmetic finite-sequence formula API) という。すべての略記を上から展開すれば、五つの API は0,S,+,×,=0,S,+,\times,=と論理記号だけからなる有限なLAL_A論理式になる。定義順序は Pair、Cons、Tab、Cell、Prefix、Len、At、Head、Entry、Concat である。依存関係を詳しく書くと、

Pair⁡Q0⟶Pair⁡Q,Pair⁡Q0⟶Cons⁡Q0⟶Cons⁡Q⟶Dec⁡Q⟶Head⁡Q0,\operatorname{Pair}^{0}_Q\longrightarrow \operatorname{Pair}_Q, \qquad \operatorname{Pair}^{0}_Q\longrightarrow\operatorname{Cons}^{0}_Q \longrightarrow\operatorname{Cons}_Q \longrightarrow\operatorname{Dec}_Q \longrightarrow\operatorname{Head}^{0}_Q,

および

Tab⁡Q0⟶Cell⁡Q,{Cell⁡Q,Dec⁡Q}⟶Prefix⁡Q,{Prefix⁡Q,Cell⁡Q}⟶{Len⁡Q0,At⁡Q0},{Len⁡Q0,At⁡Q0,Head⁡Q0}⟶Entry⁡Q0,{Prefix⁡Q,Cell⁡Q,Dec⁡Q,Cons⁡Q}⟶Concat⁡Q0\operatorname{Tab}^{0}_Q\longrightarrow\operatorname{Cell}_Q, \qquad \{\operatorname{Cell}_Q,\operatorname{Dec}_Q\} \longrightarrow\operatorname{Prefix}_Q, \qquad \{\operatorname{Prefix}_Q,\operatorname{Cell}_Q\} \longrightarrow\{\operatorname{Len}^{0}_Q,\operatorname{At}^{0}_Q\}, \qquad \{\operatorname{Len}^{0}_Q,\operatorname{At}^{0}_Q, \operatorname{Head}^{0}_Q\}\longrightarrow\operatorname{Entry}^{0}_Q, \qquad \{\operatorname{Prefix}_Q,\operatorname{Cell}_Q, \operatorname{Dec}_Q,\operatorname{Cons}_Q\} \longrightarrow\operatorname{Concat}^{0}_Q

の向きである。最後に Unique を適用して LenQ_Q、EntryQ_Q、ConcatQ_Qを得るため、どの式も後に定める式を参照せず、自己参照を含まない。

補題 4.2.m0,…,mrm_0,\ldots,m_rを二つずつ互いに素な正の標準自然数とし、x0,…,xrx_0,\ldots,x_rを標準自然数とする。このとき、すべてのi≤ri\le rについて

B≡xi(modmi)B\equiv x_i\pmod{m_i}

を満たす標準自然数BBが存在する。

証明. 最初に Bézout の等式を Euclid の互除法から導く。正の自然数a,ba,bに除法を反復し、

rk−1=qkrk+rk+1,0≤rk+1<rkr_{k-1}=q_kr_k+r_{k+1}, \qquad 0\le r_{k+1}<r_k

とする。正の余りは真に減少するため、有限回で余り00に達する。最後の非零余りddは、各等式を逆向きにたどるとa,ba,bの公約数であり、a,ba,bの任意の公約数は各余りを割るためddも割る。したがってd=gcd⁡(a,b)d=\gcd(a,b)である。また、最後の非零余りから等式を順に逆代入すると、整数u,vu,vが存在して

d=ua+vbd=ua+vb

となる。

互いに素な二法m,nm,nについて、um+vn=1um+vn=1を満たす整数u,vu,vを取る。剰余α,β\alpha,\betaに対して

x=αvn+βumx=\alpha vn+\beta um

とおけば、x≡α(modm)x\equiv\alpha\pmod mかつx≡β(modn)x\equiv\beta\pmod nである。xxをmnmnで割った非負の余りをBBとすれば、BBは同じ二つの合同式を満たす。これで二法の場合が従う。

法の個数に関する有限帰納法を用いる。一法m0m_0の場合は、x0x_0をm0m_0で割った非負の余りをB0B_0とすればよい。最初のk+1k+1個の合同式を満たす数をBkB_kとし、

Mk=∏i=0kmiM_k=\prod_{i=0}^{k}m_i

とおく。各i≤ki\le kについてgcd⁡(mi,mk+1)=1\gcd(m_i,m_{k+1})=1なので、 Bézout の等式からuimi≡1(modmk+1)u_im_i\equiv1\pmod{m_{k+1}}を満たす整数uiu_iを取ることができる。これらを掛け合わせると

(∏i=0kui)Mk≡1(modmk+1)\left(\prod_{i=0}^{k}u_i\right)M_k\equiv1\pmod{m_{k+1}}

となるため、MkM_kとmk+1m_{k+1}は互いに素である。二法の場合を、法Mk,mk+1M_k,m_{k+1}と剰余Bk,xk+1B_k,x_{k+1}へ適用する。得られたBk+1B_{k+1}は最初のk+1k+1個の合同式を保ち、新しい合同式も満たす。有限帰納法により結論を得る。この論証は標準自然数と整数についての有限なメタ理論上の証明であり、外部の中国剰余定理もQQ内の帰納法も用いていない。▨

補題 4.3.x0,…,xrx_0,\ldots,x_rを標準自然数の有限列とする。ある標準自然数B,CB,Cが存在し、すべての固定したi≤ri\le rについて

Q⊢∀z(Cell⁡Q(B‾,C‾,i‾,z)↔z=xi‾)Q\vdash\forall z\bigl( \operatorname{Cell}_Q(\overline B,\overline C,\overline i,z) \leftrightarrow z=\overline{x_i}\bigr)

が成り立つ。

証明.CCを1,…,r1,\ldots,rのすべてで割り切れ、かつxi<1+(i+1)Cx_i<1+(i+1)Cをすべてのi≤ri\le rで満たす正の標準自然数とする。例えばr! (1+max⁡i≤rxi)r!\,(1+\max_{i\le r}x_i)を必要ならさらに大きく取ればよい。Mi=1+(i+1)CM_i=1+(i+1)Cとおく。Mi−(i+1)C=1M_i-(i+1)C=1なので、MiM_iはCCと互いに素である。i<ji<jとし、ddをMiM_iとMjM_jの正の公約数とする。差を取るとddは(j−i)C(j-i)Cを割る。ddとCCは互いに素であるから、Bézout の等式を用いるとddはj−ij-iを割る。一方、j−ij-iはCCを割るためMi≡1(modj−i)M_i\equiv1\pmod{j-i}である。従ってddは11を割り、MiM_iとMjM_jは互いに素である。したがって補題 4.2により、次の合同式をすべてのi≤ri\le rについて満たす標準自然数BBが存在する。

B≡xi(modMi)B\equiv x_i\pmod{M_i}

対応する商をqiq_iとすればqi≤Bq_i\le Bである。

固定したB,C,iB,C,iに対する Cell の強い検証は、補題 3.1だけで行うことができる。 Tab のz<M(i,C)z<M(i,C)によりzzは固定個の数詞へ、存在するq≤Bq\le Bによりqqも固定個の数詞へ分かれる。各組ではB=q×M(i,C)+zB=q\times M(i,C)+zは数詞だけの等式であるから、§E16.15 補題 4.1により正しい一組を証明し、ほかの組を (Q1)、(Q2) で否定することができる。したがってQQは Cell の存在連言と任意候補の一意性連言を直接証明し、表示した双条件を得る。ここでは本記事後半の一般表現可能性定理を用いていない。▨

補題 4.4.QQは、自由な入力に対する PairQ_Q、ConsQ_Q、LenQ_Q、EntryQ_Q、ConcatQ_Qの出力機能性を証明する。例えば任意の添字変数iiについて

Q⊢∀s∀u∀v(Entry⁡Q(s,i,u)∧Entry⁡Q(s,i,v)→u=v)Q\vdash\forall s\forall u\forall v\bigl( \operatorname{Entry}_Q(s,i,u)\land\operatorname{Entry}_Q(s,i,v)\to u=v\bigr)

である。ただし、自由な入力における出力の存在をQQが証明するとは主張しない。

証明. 一般に Unique[R](x⃗,u)[R](\vec x,u)と Unique[R](x⃗,v)[R](\vec x,v)を仮定する。第1の式の全称節を第2の式が与えるR(x⃗,v)R(\vec x,v)へ適用するとv=uv=uを得る。等号の対称律からu=vu=vである。この論証はRRの算術的性質を使わない純粋な一階論理の導出である。五つの API 式はすべて Unique の形で定義したので、各機能性がQQで証明される。 Unique の第1連言は raw 計算の存在を要求するため、この定義だけから全入力での出力存在は従わない。▨

定理 4.5.a,ba,bを標準自然数とし、p=pair⁡(a,b)p=\operatorname{pair}(a,b)、c′=Cons⁡(a,b)c'=\operatorname{Cons}(a,b)とする。このとき

Q⊢∀z(Pair⁡Q(a‾,b‾,z)↔z=p‾),Q⊢∀z(Cons⁡Q(a‾,b‾,z)↔z=c′‾).\begin{aligned} Q&\vdash\forall z\bigl( \operatorname{Pair}_Q(\overline a,\overline b,z) \leftrightarrow z=\overline p\bigr),\\ Q&\vdash\forall z\bigl( \operatorname{Cons}_Q(\overline a,\overline b,z) \leftrightarrow z=\overline{c'}\bigr). \end{aligned}

a0,…,an−1a_0,\ldots,a_{n-1}を任意の標準有限列とし、その外的な符号をccとする。任意の固定した標準自然数iiについて、

Q⊢∀z(Len⁡Q(c‾,z)↔z=n‾),Q\vdash\forall z\bigl(\operatorname{Len}_Q(\overline c,z) \leftrightarrow z=\overline n\bigr),

および

{Q⊢∀z(Entry⁡Q(c‾,i‾,z)↔z=ai‾)(i<n),Q⊢∀z(Entry⁡Q(c‾,i‾,z)↔z=0‾)(i≥n)\begin{cases} Q\vdash\forall z\bigl(\operatorname{Entry}_Q(\overline c,\overline i,z) \leftrightarrow z=\overline{a_i}\bigr)&(i<n),\\ Q\vdash\forall z\bigl(\operatorname{Entry}_Q(\overline c,\overline i,z) \leftrightarrow z=\overline0\bigr)&(i\ge n) \end{cases}

が成り立つ。また、標準列a⃗,b⃗\vec a,\vec bの符号をc,dc,d、連結列の符号をeeとすれば

Q⊢∀z(Concat⁡Q(c‾,d‾,z)↔z=e‾)Q\vdash\forall z\bigl(\operatorname{Concat}_Q(\overline c,\overline d,z) \leftrightarrow z=\overline e\bigr)

が成り立つ。

証明.a,ba,bを固定すると PairQ0^{0}_Qのwwは固定数詞a+b‾\overline{a+b}に等しい。候補出力zzは PairQ0^{0}_Qに加えた固定上界以下なので、補題 3.1で有限個の数詞へ分けることができる。z+z=(w×Sw)+(b+b)z+z=(w\times Sw)+(b+b)を固定数詞計算で調べるとz=p‾z=\overline pだけが残る。正しい数詞は同じ計算から raw 式を満たすため、Unique の連言も含めて PairQ_Qの双条件を得る。 ConsQ0^{0}_Qでは Pair の raw 出力が同じ議論でp‾\overline pに固定され、z=Spz=Spからz=c′‾z=\overline{c'}が従う。これにより ConsQ_Qの双条件も得る。

c0=cc_0=c、cj+1=Tail⁡(cj)c_{j+1}=\operatorname{Tail}(c_j)とおくと、外側の標準計算によりc0,…,cn=0c_0,\ldots,c_n=0と各aj=Head⁡(cj)a_j=\operatorname{Head}(c_j)が具体的な数詞として得られる。 PairQ0^{0}_Qには出力の固定上界を入れたので、固定した入力a,ta,tについて候補ppを有限分解し、数詞計算により正しい pair 値だけを残すことができる。Cons についてもc=Spc=Spから同じことが従う。したがって各標準cj>0c_j>0について

Q⊢∀a∀t(Dec⁡Q(cj‾,a,t)↔(a=aj‾∧t=cj+1‾))(2)Q\vdash\forall a\forall t\bigl( \operatorname{Dec}_Q(\overline{c_j},a,t) \leftrightarrow (a=\overline{a_j}\land t=\overline{c_{j+1}})\bigr) \tag{2}

を得る。a,t<cja,t<c_jは補題 3.1により有限個の数詞へ分かれるため、 (2) は Pair の一般的な逆関数定理をQQ内で用いたものではない。

長さの正しい候補を作る。標準表c0,…,cnc_0,\ldots,c_nに対して補題 4.3で構成したB,CB,Cを数詞として代入する。各 Cell と各 (2) を用い、j<nj<nを固定有限選言へ分けるとQ⊢Len⁡Q0(c‾,n‾)Q\vdash\operatorname{Len}^{0}_Q(\overline c,\overline n)を得る。ここでn≤cn\le cは、正である間に Tail が真に減少する外側の有限計算から得た数詞不等式である。

任意の候補zzについて LenQ0(c‾,z)^{0}_Q(\overline c,z)を仮定する。z≤c‾z\le\overline cなので、z=0‾,…,c‾z=\overline0,\ldots,\overline cへ有限分解することができる。z=k‾z=\overline kを一つ固定する。 Prefix の第0 Cell と各段の Cell の機能性を用い、(2) をkkまたはnnまで有限回適用すると、第jjCell の値はcj‾\overline{c_j}に限られる。k<nk<nなら終端 Cell の値00とck>0c_k>0が矛盾する。k>nk>nなら Prefix の第nn段がx=cn=0x=c_n=0とx≠0x\ne0を同時に要求するため矛盾する。したがってk=nk=nだけが残る。これにより

Q⊢∀z(Len⁡Q0(c‾,z)↔z=n‾)Q\vdash\forall z\bigl( \operatorname{Len}^{0}_Q(\overline c,z)\leftrightarrow z=\overline n\bigr)

を得る。raw 式の存在と一意性を得たため、Unique を加えた LenQ_Qについても同じ双条件が成り立つ。

Entry を検証する。i<ni<nなら標準表c0,…,cic_0,\ldots,c_iを AtQ0^{0}_Qの証人とし、 (2) の Head 成分から出力ai‾\overline{a_i}を得る。任意の候補では Len の直前の一意性からnnが固定され、At の Prefix と Cell の機能性から反復尾がci‾\overline{c_i}に固定され、 (2) から Head がai‾\overline{a_i}に固定される。i≥ni\ge nでは Len がn‾\overline nに固定され、 EntryQ0^{0}_Qの第2選言が出力を00に固定する。固定数詞i,ni,nのi<ni<nとn≤in\le iの場合分けも七公理からの有限数詞計算である。よって範囲内と範囲外の両方で、EntryQ_Qの表示した双条件を得る。

最後に Concat を検証する。第1表にc0,…,cnc_0,\ldots,c_n、第2表に

ej=Concat⁡(cj,d)(0≤j≤n)e_j=\operatorname{Concat}(c_j,d)\qquad(0\le j\le n)

を入れると、e0=ee_0=e、en=de_n=d、ej=Cons⁡(aj,ej+1)e_j=\operatorname{Cons}(a_j,e_{j+1})である。二つの標準有限表の Cell、(2)、および固定入力に対する ConsQ_Qの存在を並べれば ConcatQ0(c‾,d‾,e‾)^{0}_Q(\overline c,\overline d,\overline e)を得る。任意の候補出力では、長さの議論がnnと第1表の各cj,ajc_j,a_jを固定する。第2表の終端はen=de_n=dに固定されるので、j=n−1,…,0j=n-1,\ldots,0の順に ConsQ_Qの固定入力一意性を有限回用いると、第0 Cell と出力候補はe‾\overline eに固定される。n=0n=0では第0 Cell が同時に候補出力とddを表し、Cell の機能性から直ちに一致する。

以上は、各標準列と各固定添字について、(Q3) による有限分解、(Q1)、(Q2) による数詞の分離、 (Q4)–(Q7) による固定数詞計算を有限回並べた導出である。PAPAの帰納法も、本記事後半の原始再帰関数の一般表現可能性も、Len または Entry を Cell の定義に用いる循環もない。▨

例 4.6 (固定有限列の Q 内検証).c=SeqCode⁡(4,1,7)c=\operatorname{SeqCode}(4,1,7)とする。定理 4.5により、

Q⊢∀z(Len⁡Q(c‾,z)↔z=3‾),Q⊢∀z(Entry⁡Q(c‾,2‾,z)↔z=7‾),Q⊢∀z(Entry⁡Q(c‾,5‾,z)↔z=0‾)\begin{aligned} Q&\vdash\forall z\bigl(\operatorname{Len}_Q(\overline c,z) \leftrightarrow z=\overline3\bigr),\\ Q&\vdash\forall z\bigl(\operatorname{Entry}_Q(\overline c,\overline2,z) \leftrightarrow z=\overline7\bigr),\\ Q&\vdash\forall z\bigl(\operatorname{Entry}_Q(\overline c,\overline5,z) \leftrightarrow z=\overline0\bigr) \end{aligned}

が成り立つ。三つの導出は、自由な列符号に対する一様な全域性ではなく、固定した数詞c‾\overline cに対する有限検証である。

5 初期関数と合成

原始再帰関数の規約は§E15.7 定義 2.1に従う。初期関数は単項零関数Z(x)=0Z(x)=0、単項後続者S(x)=x+1S(x)=x+1、正アリティの射影PikP_i^kである。

補題 5.1. 次の式は各初期関数を強く数詞ごとに表現する。

φZ(x,y): ⁣ ⁣⟺y=0,φS(x,y): ⁣ ⁣⟺y=Sx,φPik(x1,…,xk,y): ⁣ ⁣⟺y=xi.\begin{aligned} \varphi_Z(x,y)&:\!\!\Longleftrightarrow y=0,\\ \varphi_S(x,y)&:\!\!\Longleftrightarrow y=Sx,\\ \varphi_{P_i^k}(x_1,\ldots,x_k,y)&:\!\!\Longleftrightarrow y=x_i. \end{aligned}

証明. 固定した標準入力を代入する。零関数と射影では、表示した式自体がy=0‾y=\overline0またはy=ni‾y=\overline{n_i}である。後続者ではSn‾S\overline nは定義によりn+1‾\overline{n+1}である。等号の反射律、対称律、推移律から、各場合にQ⊢∀y(φ(y)↔y=m‾)Q\vdash\forall y(\varphi(y)\leftrightarrow y=\overline m)を得る。▨

補題 5.2.f ⁣:Nm→Nf\colon\mathbb N^m\to\mathbb Nとg1,…,gm ⁣:Nk→Ng_1,\ldots,g_m\colon\mathbb N^k\to\mathbb Nが強く数詞ごとに表現されるとする。

h(x⃗)=f(g1(x⃗),…,gm(x⃗))h(\vec x)=f(g_1(\vec x),\ldots,g_m(\vec x))

に対して

φh(x⃗,y): ⁣ ⁣⟺∃z1⋯∃zm(⋀j=1mφgj(x⃗,zj)∧φf(z1,…,zm,y))\varphi_h(\vec x,y):\!\!\Longleftrightarrow \exists z_1\cdots\exists z_m \left( \bigwedge_{j=1}^m\varphi_{g_j}(\vec x,z_j) \land\varphi_f(z_1,\ldots,z_m,y) \right)

はhhを強く数詞ごとに表現する。

証明. 標準入力n⃗\vec nを固定し、bj=gj(n⃗)b_j=g_j(\vec n)、c=f(b1,…,bm)c=f(b_1,\ldots,b_m)とおく。帰納法の仮定は

Q⊢∀zj(φgj(n⃗‾,zj)↔zj=bj‾)Q\vdash\forall z_j\bigl( \varphi_{g_j}(\overline{\vec n},z_j)\leftrightarrow z_j=\overline{b_j}\bigr)

を各jjについて与える。したがってφh(n⃗‾,y)\varphi_h(\overline{\vec n},y)の存在量化された各zjz_jはbj‾\overline{b_j}へ順に消去することができる。ffに関する仮定を固定入力b⃗\vec bへ適用すると

Q⊢φh(n⃗‾,y)↔y=c‾Q\vdash\varphi_h(\overline{\vec n},y)\leftrightarrow y=\overline c

を得る。yyを全称閉包して必要な強い表現が従う。▨

6 原始再帰と有限計算列

ℓ≥1\ell\ge1の場合を先に扱う。f ⁣:Nℓ→Nf\colon\mathbb N^\ell\to\mathbb Nとg ⁣:Nℓ+2→Ng\colon\mathbb N^{\ell+2}\to\mathbb Nから

h(x⃗,0)=f(x⃗),h(x⃗,r+1)=g(x⃗,r,h(x⃗,r))\begin{aligned} h(\vec x,0)&=f(\vec x),\\ h(\vec x,r+1)&=g(\vec x,r,h(\vec x,r)) \end{aligned}

を作る。LenQ_Q、EntryQ_Qは定義 4.1の式である。

Base⁡f(x⃗,s): ⁣ ⁣⟺∃b(Entry⁡Q(s,0,b)∧φf(x⃗,b)),Step⁡g(x⃗,s,i): ⁣ ⁣⟺∃u∃v(Entry⁡Q(s,i,u)∧Entry⁡Q(s,Si,v)∧φg(x⃗,i,u,v)),Run⁡h(x⃗,r,s): ⁣ ⁣⟺Len⁡Q(s,Sr)∧Base⁡f(x⃗,s)∧∀i (i<r→Step⁡g(x⃗,s,i)),φh(x⃗,r,y): ⁣ ⁣⟺∃s(Run⁡h(x⃗,r,s)∧Entry⁡Q(s,r,y)).\begin{aligned} \operatorname{Base}_f(\vec x,s) &:\!\!\Longleftrightarrow \exists b\bigl(\operatorname{Entry}_Q(s,0,b)\land\varphi_f(\vec x,b)\bigr),\\ \operatorname{Step}_g(\vec x,s,i) &:\!\!\Longleftrightarrow \exists u\exists v\bigl( \operatorname{Entry}_Q(s,i,u)\land \operatorname{Entry}_Q(s,Si,v)\land \varphi_g(\vec x,i,u,v)\bigr),\\ \operatorname{Run}_h(\vec x,r,s) &:\!\!\Longleftrightarrow \operatorname{Len}_Q(s,Sr)\land \operatorname{Base}_f(\vec x,s)\land \forall i\,(i<r\to\operatorname{Step}_g(\vec x,s,i)),\\ \varphi_h(\vec x,r,y) &:\!\!\Longleftrightarrow \exists s\bigl(\operatorname{Run}_h(\vec x,r,s)\land \operatorname{Entry}_Q(s,r,y)\bigr). \end{aligned}

補題 6.1.ffとggが強く数詞ごとに表現されるなら、上のφh\varphi_hはhhを強く数詞ごとに表現する。パラメータ列の長さℓ=0\ell=0の場合にも、基底値を一つの自然数ccとし、Base⁡f\operatorname{Base}_fをEntry⁡Q(s,0,c‾)\operatorname{Entry}_Q(s,0,\overline c)に置き換えれば同じ結論が成り立つ。この場合のhhは再帰引数rrをもつ一変数関数である。

証明. 最初にℓ≥1\ell\ge1とし、標準入力n⃗,r\vec n,rを固定する。外側の自然数計算で

a0=f(n⃗),aj+1=g(n⃗,j,aj)(0≤j<r)a_0=f(\vec n), \qquad a_{j+1}=g(\vec n,j,a_j)\quad(0\le j<r)

という実際の有限計算列を作る。その Cons 符号をccとする。定理 4.5により、QQは LenQ(c‾,r+1‾)_Q(\overline c,\overline{r+1})と、各j≤rj\le rに対する EntryQ(c‾,j‾,aj‾)_Q(\overline c,\overline j,\overline{a_j})を、一意出力の形で証明する。

ffの強い表現をn⃗\vec nに適用するとQ⊢φf(n⃗‾,a0‾)Q\vdash\varphi_f(\overline{\vec n},\overline{a_0})である。ggの強い表現を各固定入力(n⃗,j,aj)(\vec n,j,a_j)に適用すると

Q⊢φg(n⃗‾,j‾,aj‾,aj+1‾)Q\vdash\varphi_g( \overline{\vec n},\overline j,\overline{a_j},\overline{a_{j+1}})

である。これらはj=0,…,r−1j=0,\ldots,r-1の有限個の証明である。補題 3.2により有限連言を固定有界全称条件へ戻すと、Q⊢Run⁡h(n⃗‾,r‾,c‾)Q\vdash\operatorname{Run}_h(\overline{\vec n},\overline r,\overline c)を得る。最後の成分を存在導入して

Q⊢φh(n⃗‾,r‾,ar‾)Q\vdash\varphi_h(\overline{\vec n},\overline r,\overline{a_r})

となる。これが正しい出力の存在である。

次に任意の候補yyを取り、φh(n⃗‾,r‾,y)\varphi_h(\overline{\vec n},\overline r,y)を仮定する。存在証人ssを固定する。Run⁡h\operatorname{Run}_hの基底節は、 EntryQ(s,0,b)_Q(s,0,b)とφf(n⃗‾,b)\varphi_f(\overline{\vec n},b)を同時に満たす自然数bbが存在することを与える。ffの強い表現からb=a0‾b=\overline{a_0}である。補題 4.4の添字00における機能性により、ssの第00成分として現れる任意の候補もa0‾\overline{a_0}に等しい。

ここからj=0,…,r−1j=0,\ldots,r-1を外側で有限回処理する。補題 3.2で展開した第jjの Step 節から、自然数u,vu,vが存在して

Entry⁡Q(s,j‾,u),Entry⁡Q(s,j+1‾,v),φg(n⃗‾,j‾,u,v)\operatorname{Entry}_Q(s,\overline j,u), \quad \operatorname{Entry}_Q(s,\overline{j+1},v), \quad \varphi_g(\overline{\vec n},\overline j,u,v)

となる。固定添字での Entry の機能性と、それ以前の有限段で得た成分値からu=aj‾u=\overline{a_j}である。ggの固定入力(n⃗,j,aj)(\vec n,j,a_j)における強い表現からv=aj+1‾v=\overline{a_{j+1}}となる。再び Entry の機能性により第j+1j+1成分の任意の候補がaj+1‾\overline{a_{j+1}}に等しい。

この有限な論証をrr回連結すると、第rr成分の候補yyはar‾\overline{a_r}に等しい。したがって

Q⊢∀y(φh(n⃗‾,r‾,y)→y=ar‾).Q\vdash\forall y\bigl( \varphi_h(\overline{\vec n},\overline r,y)\to y=\overline{a_r}\bigr).

既に証明したφh(n⃗‾,r‾,ar‾)\varphi_h(\overline{\vec n},\overline r,\overline{a_r})と等号の置換可能性から逆向きも従い、

Q⊢∀y(φh(n⃗‾,r‾,y)↔y=ar‾)Q\vdash\forall y\bigl( \varphi_h(\overline{\vec n},\overline r,y) \leftrightarrow y=\overline{a_r}\bigr)

を得る。

ℓ=0\ell=0では外側の計算列をa0=ca_0=c、aj+1=g(j,aj)a_{j+1}=g(j,a_j)とする。基底で関数f ⁣:N0→Nf\colon\mathbb N^0\to\mathbb Nを導入せず、閉じた数詞等式 EntryQ(s,0,c‾)_Q(s,0,\overline c)を用いる。step 関数ggは二変数、得られるhhは一変数なので、すべて正のアリティである。残りの有限列検証と一意性の論証は同一である。

いずれの場合も、rrは固定した標準自然数であり、対象理論内の帰納法は用いていない。また、自由なrrについて計算列の存在をQQが証明するとは主張していない。▨

7 原始再帰関数と関係の表現定理

定理 7.1 (原始再帰関数と関係の Q における表現可能性). 次が成り立つ。

  1. 任意の正のアリティk≥1k\ge1と任意の原始再帰全関数f ⁣:Nk→Nf\colon\mathbb N^k\to\mathbb Nに対して、ffをQQで強く数詞ごとに表現するLAL_A論理式φf(x⃗,y)\varphi_f(\vec x,y)が存在する。
  2. 任意の正のアリティk≥1k\ge1と任意の原始再帰関係R⊆NkR\subseteq\mathbb N^kに対して、RRを肯定例と否定例の双方でQQに数詞ごとに表現するLAL_A論理式ρR(x⃗)\rho_R(\vec x)が存在する。

証明.(1)を、原始再帰関数を生成する有限な式の構造に関する帰納法で証明する。初期関数の場合は補題 5.1による。合成の場合は補題 5.2による。原始再帰の場合は補題 6.1による。パラメータ列が空の場合も同補題で扱っており、一変数の再帰関数を得る。したがって、各構成子で強い一意出力を保ったまま、すべての正アリティ原始再帰全関数を表現することができる。

(2)を示す。原始再帰関係RRの特性関数を

χR(n⃗)={1R(n⃗),0¬R(n⃗)\chi_R(\vec n)= \begin{cases}1&R(\vec n),\\0&\neg R(\vec n)\end{cases}

とする。χR\chi_RはRRと同じ正のアリティをもつ原始再帰全関数である。(1)により、その強い表現式φχR(x⃗,y)\varphi_{\chi_R}(\vec x,y)が存在する。そこで

ρR(x⃗): ⁣ ⁣⟺φχR(x⃗,1‾)\rho_R(\vec x):\!\!\Longleftrightarrow \varphi_{\chi_R}(\vec x,\overline1)

と定める。

R(n⃗)R(\vec n)ならχR(n⃗)=1\chi_R(\vec n)=1なので、強い表現からQ⊢φχR(n⃗‾,1‾)Q\vdash\varphi_{\chi_R}(\overline{\vec n},\overline1)、すなわちQ⊢ρR(n⃗‾)Q\vdash\rho_R(\overline{\vec n})を得る。¬R(n⃗)\neg R(\vec n)ならχR(n⃗)=0\chi_R(\vec n)=0であり、強い表現は

Q⊢φχR(n⃗‾,1‾)↔1‾=0‾Q\vdash \varphi_{\chi_R}(\overline{\vec n},\overline1) \leftrightarrow\overline1=\overline0

を与える。(Q1) からQ⊢1‾≠0‾Q\vdash\overline1\ne\overline0なのでQ⊢¬ρR(n⃗‾)Q\vdash\neg\rho_R(\overline{\vec n})である。したがって肯定例と否定例の双方が表現される。▨

8 定数値と主張の境界

命題 8.1. 各標準自然数ccについて、Cc(x)=cC_c(x)=cは単項原始再帰関数であり、

φCc(x,y): ⁣ ⁣⟺y=c‾\varphi_{C_c}(x,y):\!\!\Longleftrightarrow y=\overline c

によって強く数詞ごとに表現される。

証明.C0=ZC_0=Zである。Cc+1=S∘CcC_{c+1}=S\circ C_cとして、外側で固定したcc回だけ後続者と合成すればCcC_cを作ることができる。入力変数xxは残るのでアリティは11である。表示したグラフ式は任意の固定入力でy=c‾y=\overline cそのものであり、強い表現条件を満たす。▨

閉じた定数値だけが必要なら数詞c‾\overline cを用いる。零変数関数または零変数関係を定理 7.1の base case へ加えてはならない。

注意 8.2 (非標準モデルでの全域性を主張しない).定理 7.1は各標準入力n⃗\vec nについてQ⊢∀y(φf(n⃗‾,y)↔y=f(n⃗)‾)Q\vdash\forall y(\varphi_f(\overline{\vec n},y)\leftrightarrow y=\overline{f(\vec n)})を与える。この無限個のメタ理論上の結論から、一つの文Q⊢∀x⃗∃!y φf(x⃗,y)Q\vdash\forall\vec x\exists!y\,\varphi_f(\vec x,y)は従わない。したがって、QQの任意の非標準モデルでφf\varphi_fが外側の関数ffを非標準入力へ外延的に延長すると主張していない。

例 8.3 (加法の表現). 加法は二変数原始再帰関数である。言語に++が既にあるため

φadd(x1,x2,y): ⁣ ⁣⟺y=x1+x2\varphi_{\rm add}(x_1,x_2,y):\!\!\Longleftrightarrow y=x_1+x_2

を選べる。固定した標準入力m,nm,nでは§E16.15 補題 4.1によりQ⊢m‾+n‾=m+n‾Q\vdash\overline m+\overline n=\overline{m+n}である。等号の置換可能性からQ⊢∀y(y=m‾+n‾↔y=m+n‾)Q\vdash\forall y(y=\overline m+\overline n\leftrightarrow y=\overline{m+n})を得る。

9 演習

問題 9.1.

  1. 関数の強い表現が、正しい出力についての肯定例だけより強い理由を説明せよ。
  2. 有限列算術式 API の定義依存が循環しないことを、Pair、Cons、Cell、Prefix、Len、At、Head、Entry、Concat の順序から確認せよ。
  3. 補題 4.2で二法の解を有限個の法へ拡張するとき、法の積と次の法が互いに素である理由を示せ。
  4. 原始再帰の場合に、任意の候補計算列の末尾も実際の出力に等しいことを、固定添字での Entry の機能性から示せ。
  5. パラメータ列が空の原始再帰で、基底を零項関数として扱わない構成を書け。
  6. 特性関数の強い表現から、関係の否定例をQQで証明する方法を示せ。
解答 (確認問題の解答).
  1. 肯定例はφf(n⃗‾,m‾)\varphi_f(\overline{\vec n},\overline m)だけを与える。強い表現は任意の候補yyについて式が成り立つこととy=m‾y=\overline mが同値であることまで要求する。
  2. Pair と Cons の raw 式を先に固定し、その一段復号 Dec を用いて Prefix を定める。Cell は Tab だけを用い、Prefix から Len と At を定める。Head は Dec から定め、最後に Len、At、Head を用いて Entry を、Prefix、Cell、Dec、Cons を用いて Concat を定める。後に定める式を先の定義へ用いていない。
  3. 各mim_iは次の法mk+1m_{k+1}と互いに素なので、mim_iはmk+1m_{k+1}を法として逆元をもつ。逆元を掛け合わせると積MkM_kの逆元が得られるため、MkM_kとmk+1m_{k+1}も互いに素である。
  4. 基底成分をffの強い一意性で固定し、各固定 step で直前成分、ggの強い一意性、次成分の順に有限回固定する。最後に第rr成分の候補を実際のara_rへ一致させる。
  5. 自然数ccを基底値としてh(0)=ch(0)=c、h(r+1)=g(r,h(r))h(r+1)=g(r,h(r))とする。表現式の基底節は EntryQ(s,0,c‾)_Q(s,0,\overline c)とし、hhは再帰変数をもつ一変数関数である。
  6. ¬R(n⃗)\neg R(\vec n)なら特性関数値は00である。強い表現を出力候補11に適用してρR(n⃗‾)↔1‾=0‾\rho_R(\overline{\vec n})\leftrightarrow\overline1=\overline0を得て、(Q1) から右辺を否定する。

▨

参考文献

  1. Herbert B. Enderton, A Mathematical Introduction to Logic, 2nd ed., Academic Press, 2001.Robinson 算術における数論的関数と関係の表現可能性の扱いを参考にした。
  2. George S. Boolos, John P. Burgess, and Richard C. Jeffrey, Computability and Logic, 5th ed., Cambridge University Press, 2007.原始再帰関数の数詞ごとの表現と計算列を用いる原始再帰の場合の扱いを参考にした。
  3. Petr Hájek and Pavel Pudlák, Metamathematics of First-Order Arithmetic, Perspectives in Logic 3, Cambridge University Press, Cambridge, 2017, originally published 1993.弱い算術における有限計算の数詞ごとの検証の扱いを参考にした。

前提記事