1 対象理論と三つの言語水準
算術言語をLA={0,S,+,×}とする。理論TはLAの文からなる公理集合をもち、Q⊆Tを満たすと仮定する。さらに、Tの公理を重複を許して列挙する決定的プログラムETを一つ固定する。計算モデルは本記事の中で一つに固定し、有限個の状態と有限個のレジスタをもつ決定的レジスタ機械とする。各命令は、一つのレジスタの値を1だけ増やすこと、1だけ減らすこと、一つのレジスタが0であるかによって次の状態を分けること、または指定したレジスタの値を出力することのいずれかである。証明体系には、一階論理の Hilbert 型体系、modus ponens、一般化、および等号公理を用いる。
定義 1.1. 次の記法を区別する。
- ProofT(p,y)は、自然数p,yに関するメタ言語の関係である。
- PrfT(p,y)は、二つの自由変数をもつLAの論理式である。
- T⊢φは、メタ理論で述べる形式的導出の存在である。
- N⊨PrfT(pˉ,yˉ)は、標準モデルにおける算術式の真理である。
ここで、nˉ=Sn0は標準自然数nを表す数詞である。メタ言語の関係と対象言語の論理式を等号で同一視しない。
2 計算可能な公理列挙を有限証人へ変える
ETの一時点の配置は、状態番号と各レジスタの値を並べた有限列で符号化する。配置が初期配置であること、二配置が一回の計算規則で結ばれること、および配置が数aを出力することは、いずれも原始再帰的な関係として選ぶ。固定された有限プログラムについては、各条件が有限個の状態番号の等号、レジスタ値の後続者と前者、零判定、および有限場合分けへ展開されるためである。
定義 2.1.AxWitT(a,w)を、wが配置列
C0,C1,…,Cmを符号化し、次の三条件を満たすことを表す関係とする。
- C0はETの初期配置である。
- すべてのi<mについて、CiからCi+1へ一回の正しい遷移が行われる。
- Cmではaが出力される。
定理 2.2.AxWitT(a,w)は原始再帰的であり、任意の自然数aについて
a∈Ax(T)⟺∃wAxWitT(a,w)が成り立つ。
証明. 有限列符号の長さと成分取得は原始再帰全関数である。初期配置の判定、局所遷移の判定、および末尾出力の判定も、固定プログラムETの有限な命令表を展開すれば原始再帰的である。従って、
AxWitT(a,w):⟺Len(w)>0 ∧ Init(Entry(w,0))∧ ∀i<Len(w)−1Step(Entry(w,i),Entry(w,i+1))∧ Out(Entry(w,Len(w)−1),a)は、原始再帰関係の合成、有限場合分け、および有界全称量化によって原始再帰的である。
a∈Ax(T)ならば、ETが第n配置でaを出力するような非負整数nが存在する。初期配置から当該出力配置までを符号化したwはAxWitT(a,w)を満たす。逆に、同関係を満たすwの各隣接配置はETの決定的な遷移規則に従い、末尾配置ではaが出力される。従ってETは実際にaを列挙し、a∈Ax(T)である。▨
公理集合そのものの特性関数は用いていない。存在量化された有限計算証人を証明符号へ含めることが、列挙可能性と原始再帰的な検査を接続する。
3 証明符号と算術式
定義 3.1.ProofT(p,y)は、pが有限列を符号化し、各行に論理式の符号と補助データをもち、次を満たすことを表す。
- 各行は、論理公理または等号公理の置換例、先行する二行への modus ponens、先行する一行への一般化、またはTの非論理公理である。
- 一般化の行には変数条件を課す。すなわち§E16.18 定義 5.1のGenOKに従い、当該行より前にある非論理公理の行の論理式に、一般化する変数が自由に現れないことを要求する。
- 非論理公理の行にはwが付随し、AxWitT(a,w)が成り立つ。
- 最終行は文であり、その符号はyである。
補助データが上の条件を満たさない入力に対しては、関係は偽と定める。行の成分数が足りない場合も、欠けた成分が条件を満たさない場合として偽になる。復号そのものが失敗する入力は無い。§E16.17 命題 2.2により任意の自然数はただ一つの有限列へ復号され、§E16.17 定義 4.1により列の長さ以上の添字に対する成分も0として定まるからである。
命題 3.2.ProofT(p,y)は原始再帰的な二項関係である。
証明. 証明列の各行について、論理式であること、公理スキーマへの代入例であること、一般化の変数条件、等号公理の有限項数の各場合、先行行の添字、および modus ponens の式の一致を符号上で検査する。各検査は、構文操作の原始再帰性から原始再帰的である。非論理公理の行はAxWitTによって検査する。全行の正しさは、列の長さを上界とする有界全称量化である。最終行の取得とyとの一致も原始再帰的である。原始再帰関係は合成、有限場合分け、および有界量化で閉じているため、全体も原始再帰的である。▨
単に表現可能性定理を適用するだけでは、PrfTとして得られる論理式の形が定まらず、Σ1論理式そのものとして固定されるとは限らない。そこで、証明検査の算術式を次の形に固定する。以下では、受理側と棄却側の双方について有限な証人を用意し、量化子をすべて項で有界化した展開として式を固定する。受理側だけを固定すると、標準モデルで偽な入力についてQが非標準の証人を排除することができず、否定例の証明可能性が得られない。
固定する式の量化子の形は、§E16.19 定義 2.1が定めたΔ0論理式とΣ1論理式の類に従う。同定義は、順序の略記t<s、t≤sに加えて加数の位置を入れ替えた略記t≼s、t≺sを置き、四つの略記が含む∃dを有界量化子として扱うことを規約としている。数詞を代入したΔ0文の真偽をQが決定することは§E16.19 補題 3.3が与える。本記事では、加法の第2引数に関係の左辺が来る≼と≺の向きも用いる。上界が数詞nˉになったときにd+nˉ=Sndという書き換えを経て、Qの内部で有限分解と二分法を得ることができるのがこの向きだからである。どの量化子をこの向きで有界化するかは、以下の各節で個別に述べる。
定義 3.3. 一行の符号を
LineT(k,a,u,v,i,w)=SeqCode(k,a,u,v,i,w)とする。kは規則タグ、aは行の論理式、u,vは先行行の添字、iは一般化する変数、wは非論理公理行のAxWitT証人である。未使用欄は0とする。
AccT(p,y,z)を、zが次の有限な証人 tuple を符号化することを表す有界検査式とする。
- n=Len(p)>0と、pをn回復号する Cons 接頭表を含む。
- 各r<nについて、第r行ℓrと、その六成分kr,ar,ur,vr,ir,wrを含む。
- 各r<nについて、Term、Formula、Free、Sentence、FreeFor、SubTermCode、Look、LogAx、およびAxWitTのうち当該行で必要となる原始再帰検査の完全な有限計算 trace を含む。この一覧が、zへ格納する trace の正典である。とくにTermの trace を独立に格納する。§E16.18 定義 4.2 (2)が要求する候補項tは、viがaに自由に現れない場合にはb=aとなり、tがarの部分符号であるとは限らないので、Formula(ar)の trace からTerm(t)の値を読み出すことができないからである。一覧のうちSentenceとLogAxは、上流の定義が他の判定と有界量化子から組み立てた述語であり、AccTではこの二つを上流の定義の字面へ展開した形で用いる。従ってこの二つについて一覧がいう trace とは、展開に現れるTerm、Formula、Free、FreeFor、およびSubTermCodeの評価 trace と、SubTermCodeの評価が内部で用いるLookの評価 trace の全体を指す。Sentence自身またはLogAx自身の遷移列を別に置くのではない。
- 各r<nについて Formula(ar)が成り立ち、さらに次のいずれかが成り立つ。
- kr=1で LogAx(ar)が成り立ち、未使用欄がすべて0である。
- kr=2で Sentence(ar)とAxWitT(ar,wr)が成り立ち、ur=vr=ir=0である。
- kr=3でur,vr<r、ir=wr=0であり、ある式符号bについてaur=ImpRaw(b,ar)かつavr=bである。
- kr=4でur<r、vr=wr=0であり、ar=AllRaw(ir,aur)である。
- Sm=nを満たすmが存在して、第m行の論理式についてam=yが成り立ち、さらに Sentence(y)が成り立つ。LAには切捨て減法が無いので、最終行の添字を項n−1として書かず、この形で表す。
ここで、有限列と trace の成分取得には§E16.19 定義 4.1の raw 式を用いる。各 raw 式の存在証人、Cell 表のB,C、構文判定の遷移列、および計算配置列はすべてzの成分へ入れる。
AccTを、すべての量化子をp、y、zの項で有界化した展開として固定する。
内部の存在量化子を先頭の一つの存在量化へまとめる操作は行わない。zを証人の集約先とすることは設計の方針であって、固定する論理式の形は、あくまで内部の量化子を残したうえで各々に項の上界を与えた展開である。上界の与え方は、この定義に続く節でまとめて述べる。
検査の否定側も同じ方式で有界な証人へ変える。RejT(p,y,z)を、zが次のいずれかを示す有限な証人 tuple を符号化することを表す式とする。
- Len(p)=0であること。zはLenQ0(p,0)の証人となる復号表を含む。
- n=Len(p)>0であり、あるr<nが存在して、Formula(ar)が成り立たないか、または条件 (d)の四つの場合がいずれも成り立たないこと。zは復号表、当該のr、第r行の六成分、および各判定が否定の値で停止する完全な有限計算 trace を含む。
- n=Len(p)>0であり、Sm=nを満たすmについてam=yであるか、または Sentence(y)が成り立たないこと。zは復号表と当該の判定 trace を含む。
RejTの量化子にもAccTと同じ上界を与え、RejTも有界化した展開として固定する。(2)の「四つの場合がいずれも成り立たない」は、modus ponens の節の∃bをb<aurで有界化したうえで否定を取ったものである。
§E16.19 定義 2.1の略記≼を用いて、標準証明述語を
CheckT(p,y,z):⟺AccT(p,y,z)∧∀z′(z′≼z→¬RejT(p,y,z′)),PrfT(p,y):⟺∃zCheckT(p,y,z)(P)と固定する。
条件 (d)の一般化の肢では、§E16.18 定義 5.1の第4節がもつ変数条件GenOKを改めて検査していない。同定義の直後が述べるとおり、理論の公理に由来する行はすべて文の符号をもつので、その論理式には自由な変数が現れず、GenOKは自動的に成り立つ。上の定義でも条件 (d)のkr=2の肢が Sentence(ar)を要求している。従って条件 (d)は定義 3.1 条件 (a)および定義 3.1 条件 (b)と同じ規則集合を表す。
AxWitTの照合は、行に付随して与えられたwrについての有限な検査であって探索ではない。従って、pの復号、各行の構文判定、および最終行の照合はいずれも有限回で停止する。
4 固定した式がΔ0である理由
AccTとRejTに現れる量化子を四つの系統に分け、それぞれにLAの項の上界を与える。まず§E16.19 定義 4.1のDecQ(s,a,t)はa<sとt<sを含むので、Cons 符号の成分は符号自身より小さい。上でzに格納すると定めた証人はすべてzの成分であるから、いずれもzより小さい。以下で「項zで有界化する」というときは、§E16.19 定義 2.1の略記≼による有界量化∃v≼zまたは∀v≼zを指す。CheckTが付加する全称量化子と同じ関係である。
第一の系統として、有限列算術式 API に由来する量化子と上界は次のとおりである。
- PairQ0(a,b,c)の∃wは、連言肢w=a+bにより項a+bで有界化する。
- ConsQ0(a,t,c)の∃pは、連言肢c=Spにより項cで有界化する。
- Unique[PairQ0]の∀z′は、raw 式が出力に課す上界により項(a+b)×S(a+b)+(b+b)で有界化する。Unique[ConsQ0]の∀z′は、c=Spを経由して項S((a+t)×S(a+t)+(t+t))で有界化する。
- TabQ0(B,C,i,x)の∃qにはすでにq≤Bが付いている。CellQの一意性節の全称量化子は、TabQ0が含むx<M(i,C)により項M(i,C)=S((Si)×C)で有界化する。
- PrefixQ(B,C,s,k)の∀jはすでにj<kで有界である。その内側の∃x∃y∃aは、x<M(j,C)、y<M(Sj,C)、およびDecQが与えるa<xで有界化する。
- LenQ0(s,n)の∃B∃CとAtQ0(s,i,t)の∃B∃Cは、B,Cをzの成分として格納するので項zで有界化する。LenQ0のn≤sとAtQ0のi≤sはすでに有界である。
- HeadQ0(s,a)の∃tは、DecQが与えるt<sで有界化する。
- EntryQ0(s,i,a)の∃nはLenQ0(s,n)が含むn≤sで有界化し、∃tは反復尾をzの成分として格納するので項zで有界化する。
- Unique[LenQ0]の∀z′は raw 式が含むz′≤sで有界化する。出力の上界が字面に無いUnique[EntryQ0]とUnique[ConcatQ0]の∀z′は項zで有界化する。この二つではzより大きい出力候補を排除しないので、有界化した一意性節は元の節より弱い。この弱化はAccTの標準モデルでの真理値を変えない。§E16.19 定理 4.5は、標準符号と固定した標準添字を代入した API 式の出力を一つの数詞へ固定しており、その証明はLenQ0について raw 式の段階で候補が一つに限られることを示し、EntryQ0とConcatQ0についても、長さと各段の Cell の機能性から任意の候補出力が同じ数詞に固定されることを示しているからである。従って標準入力ではzより大きい出力候補がそもそも存在しない。
- ConcatQ0(s,t,u)の∃nはすでにn≤sで有界であり、∃B∃C∃D∃Eは項zで有界化する。内側の∀jはj<nで有界であり、∃x∃y∃a∃r∃r′はx<M(j,C)、y<M(Sj,C)、a<x、r<M(j,E)、r′<M(Sj,E)で有界化する。
第二の系統は、構文判定の式が字面にもつ量化子である。
Sentence(y)は§E16.18 定義 2.1によりFormula(y)∧∀i≤y¬Free(y,i)である。この全称量化子はすでに項yで有界であり、AccTではyの位置にarまたはyが入る。
AccTの第4項のkr=1の肢は、LogAx(ar)を§E16.18 定義 4.2の6つの節の有限選言へ展開した形で含む。LogAxを独立した判定として評価し、その値を trace から読み出すのではない。この6つの節が含む存在量化子は、いずれも項yで有界化する。ここでもyの位置にはarが入る。同定義の第2項では、上流の字面がすでにi,t,a,b≤yを課している。第3項が課すのはi,a,b≤yであり、第3項が表示するパターンには項符号が現れないのでtは無い。第1項のa,b,c、第4項のy=Eq(t,t)のt、第5項と第6項のt,u,t1,u1,t2,u2には上流の字面に上界が無い。しかし、これらはいずれも表示されたパターンにおいてyの真部分符号として現れる。§E16.18 補題 1.2 (1)は、構文符号の直下に現れる項または論理式の符号が全体より小さいことを与えるので、入れ子の各段へ反復して適用すると、これらの符号はすべてyより小さい。従って各存在量化子を∃⋅≤yの形へ書くことができる。6つの節が表示する構成子の等式、たとえば第2項のy=ImpRaw(AllRaw(i,a),b)や第5項と第6項の入れ子の等式をLAの式へ展開すると、AllRaw(i,a)やAndCode(Eq(t1,u1),Eq(t2,u2))のような中間の Cons 値についての存在量化子が新たに現れる。これらの中間値は、表示されたパターンにおけるyの真部分符号か、その Cons 符号としての尾のいずれかであるから、§E16.18 補題 1.2 (1)と本節の冒頭で述べたDecQの規則を反復して用いると、いずれもyより小さい。従って項yで有界化する。さらに、これらは上の定義が置いた包括規則、すなわち各 raw 式の存在証人をすべてzの成分へ入れるという規則の対象でもあるので、項zで有界化することもできる。6つの節が要求するTerm、Formula、Free、FreeFor、およびSubTermCodeの判定は、この展開の中に現れる。これらの評価が導入する量化子は第三の系統が扱う。
第三の系統は、有限分岐評価の遷移列の走査である。
AccTの定義の第3項が正典として挙げた trace は、§E16.17 補題 3.2の有限スタックの一段遷移を反復した遷移列、または§E16.17 補題 3.1の履歴符号の列であり、当該判定の値はその末尾から読み出される。同項が述べたとおり、SentenceとLogAxについては、上流の定義の字面へ展開したときに現れる各判定の trace がこれにあたる。AccTでは、いずれの場合も、その列の停止までの接頭部を一つの有限列符号τとしてzの成分に格納し、次の三条件を課す。第0成分が開始状態であること、N=Len(τ)とSm′=Nについて、j≺m′を満たす各jで第j成分と第Sj成分が一段の遷移で結ばれること、および第m′成分が停止状態であって、そこから当該判定の値が読み出されることである。
この系統だけは、停止時刻を項で押さえるのではなく、zの成分として格納した trace 符号自身で押さえる。§E16.17 補題 3.2が与える停止時刻の上界は3NK(r(q))であり、NKはNK(0)=1、NK(s+1)=1+KNK(s)で定まる指数的に増大する関数である。LAの項は0,S,+,×の合成だけからなるので、この上界を項として書くことはできない。上の三条件に現れる量化子は、LenQ0(τ,N)が含むN≤τ、m′≺N、およびj≺m′で有界であり、τがzの成分であることから、いずれも項zで押さえられる。各成分の取得はEntryQ0であり、その量化子には第一の系統が与えた上界を用いる。一段遷移そのものは、固定された有限個のタグ照合とHead、Tail、Entry、Consの合成であるから、新たな系統の量化子を生まない。AxWitTの配置列についても同じ方式を用いる。こちらは証人wrが行に付随して与えられるので、そもそも探索を含まない。
第四の系統は、AccTとRejTが自ら導入した量化子である。
まず、AccTの第2項とRejTの第2項が導入する行ℓrとその六成分kr,ar,ur,vr,ir,wrの存在量化子と、ℓr=LineT(kr,ar,ur,vr,ir,wr)、aur=ImpRaw(b,ar)、ar=AllRaw(ir,aur)の各等式をLAの式へ展開したときに現れる中間の Cons 値の存在量化子がある。これらはいずれも定義がzの成分として格納すると定めたものであるから、本節の冒頭で述べた規則により項zで有界化する。
格納の宣言が及ばない読み出しは、上界をpに取る。RejTの第3項が格納を宣言しているのは復号表と当該の判定 trace だけであり、同項が読む第m行とその論理式amは宣言に入っていない。RejTの第2項が先行行として読むaurも同様である。これらはいずれもpの成分である行の、さらにその成分であるから、本節の冒頭で述べたDecQの規則をpから二段反復して用いると、項pで有界化する。残りの量化子は次のとおりである。
第4項の modus ponens の肢にある∃bは、aur=ImpRaw(b,ar)によりbがaurの直下成分であることから、b<aurで有界化する。aurは、AccTではzの成分であり、RejTでは上に述べたとおり項pで押さえられる。第5項とRejTの第3項が用いるSm=nの∃mは、m≺nすなわち項nで有界化する。LAには切捨て減法が無いので、最終行の添字をn−1という項で書くことはできず、この存在量化子を置くほかない。全行条件の全称量化子はr<nであり、RejTの第2項の∃rも同じ上界をもつ。n自身の存在量化子はLenQ0(p,n)が含むn≤pで有界である。最後に、本節が用いる順序の四つの略記t<s、t≤s、t≼s、t≺sが含む∃dは、§E16.19 定義 2.1の規約によりいずれも有界量化子として扱う。
以上により、AccTとRejTに現れるすべての量化子に、p,y,zと外側の束縛変数から作ったLAの項の上界が与えられた。従って両者は§E16.19 定義 2.1のΔ0論理式である。CheckTが付加する全称量化子もzで有界であるからCheckTもΔ0論理式であり、(P) はΣ1論理式である。
5 受理証人と棄却証人
上で固定した二つの式が標準自然数について排他的かつ網羅的であることを、独立の命題として取り出す。この主張は以下の主結果が繰り返し用いる。
命題 5.1. 任意の標準自然数p,yについて、次の二つが成り立つ。
- N⊨∃zAccT(pˉ,yˉ,z)とN⊨∃zRejT(pˉ,yˉ,z)のうち、ちょうど一方が成り立つ。
- N⊨∃zAccT(pˉ,yˉ,z)とN⊨PrfT(pˉ,yˉ)は同値である。
証明. 標準自然数p,yを固定する。最初に、検査が読み出す値がすべて一意に定まることを確かめる。§E16.17 命題 2.2により、任意の自然数はただ一つの有限列へ復号され、bad code は存在しない。従ってn=Len(p)と、各r<nの行ℓr=Entry(p,r)と、その六成分kr,ar,ur,vr,ir,wrは標準自然数として一意に定まる。行の成分数が6に満たない場合も、§E16.17 定義 4.1が範囲外の成分を0と定めるので値は定まる。§E16.18 定理 5.2により Formula、LogAx、Sentence、Free は全域の原始再帰関係であり、定理 2.2によりAxWitTも原始再帰関係であるから、各行で必要になる判定の値も一意に定まり、AccTの定義の第3項が正典として挙げた trace はいずれも標準自然数として存在する。さらに§E16.19 定理 4.5により、標準符号と固定した標準添字を代入した API 式の出力はQの内部で一つの数詞に固定される。§E16.15 定理 2.2と§E16.10 定理 6.1によりQの定理は標準モデルで真であるから、Nにおける raw 式の出力もこれらの値に一致する。
網羅性を示す。
次の四つの場合が起こりうるすべてである。
Len(p)=0の場合。RejTの第1項が成り立つ。LenQ0(p,0)の証人となる復号表をzへ収めればよい。
n>0であり、あるr<nについて Formula(ar)が成り立たないか、またはAccTの第4項の四つの場合がいずれも成り立たない場合。そのようなrを一つ取り、復号表、r、第r行の六成分、および各判定が否定の値で停止する trace をzへ収めると、RejTの第2項が成り立つ。
n>0であり、全行が第4項を満たすが、Sm=nを満たすmについてam=yであるか Sentence(y)が成り立たない場合。同様にzを作るとRejTの第3項が成り立つ。
n>0であり、全行が第4項を満たし、末尾の照合も成り立つ場合。上で述べたとおり各値と各 trace は存在するので、復号表、各行とその六成分、および各判定の trace を一つの標準 tuplez0へ収めると、AccTの五つの項がすべて成り立つ。
排他性を示す。N⊨AccT(pˉ,yˉ,zˉ)とN⊨RejT(pˉ,yˉ,zˉ′)を満たす標準自然数z,z′が同時に存在したとする。RejTの第1項が成り立つ場合、Len(p)=0である。一方AccTの第1項はLen(p)=n>0を要求する。長さの値は上で述べたとおり一意であるから、両立しない。第2項が成り立つ場合、あるr<nについて Formula(ar)または第4項の四つの場合の成立が否定される。行と六成分の値は一意であり、各判定の値も一意であるから、同じrについて成立を主張するAccTの第4項と両立しない。第3項が成り立つ場合も同様に、amと Sentence(y)の値の一意性により、AccTの第5項と両立しない。以上で第1項を得る。
(2)を示す。CheckTの第1連言がAccTであるから、N⊨PrfT(pˉ,yˉ)ならばN⊨∃zAccT(pˉ,yˉ,z)である。逆にN⊨AccT(pˉ,yˉ,zˉ)を満たす標準自然数zを取る。(1)の排他性により棄却証人は一つも存在しないので、CheckTの第2連言は空虚に成り立つ。従ってN⊨CheckT(pˉ,yˉ,zˉ)であり、N⊨PrfT(pˉ,yˉ)である。▨
(2)が述べるとおり、付加した第2連言は (P) の標準モデルでの真理値を変えない。この連言を置くのは、標準モデルで偽な入力についてQが (P) を反証することができるようにするためである。
命題 5.2.
-
任意の標準自然数p,yについて
ProofT(p,y)⟺N⊨PrfT(pˉ,yˉ)
が成り立つ。
-
PrfT(p,y)は§E16.19 定義 2.1の意味のΣ1論理式である。すなわち、Δ0論理式CheckTを用いて∃zCheckT(p,y,z)の形に書かれている。
-
PrfTはProofTを肯定例と否定例の双方について数詞ごとにQで表現する。すなわち、ProofT(p,y)ならばQ⊢PrfT(pˉ,yˉ)であり、ProofT(p,y)が成り立たないならばQ⊢¬PrfT(pˉ,yˉ)である。
証明.(1)を示す。ProofT(p,y)が成り立つとする。有限な証明列を実際に復号し、各行の六成分、公理列挙の計算列、構文判定の遷移列、および各局所推論の照合結果を一つの標準 tuplez0へ格納することができる。各 trace は定義した決定的検査の実行そのものであり、格納した証人はいずれもz0の成分であるから、上の四つの系統が与えたすべての上界を満たす。従ってN⊨AccT(pˉ,yˉ,zˉ0)である。命題 5.1 (2)によりN⊨PrfT(pˉ,yˉ)を得る。逆にN⊨PrfT(pˉ,yˉ)ならば、同命題の第2項により、ある標準自然数zについてN⊨AccT(pˉ,yˉ,zˉ)が成り立つ。その第1項と第2項がpの全行を復号し、第4項が各行を四つの許された規則のいずれかとして検証し、第5項が末尾をyに固定する。従ってpはyの外的なT証明符号である。
(2)を示す。「固定した式がΔ0である理由」の節は、AccTとRejTに現れる量化子を四つの系統へ分け、それぞれにp,y,zと外側の束縛変数から作ったLAの項の上界を与えた。従って両者はΔ0論理式である。CheckTが付加する全称量化子もzで有界であるからCheckTはΔ0論理式であり、(P) はΣ1論理式である。
(3)を示す。各検査 trace を作る関数と、候補 trace を照合する関係は、§E16.17 定理 4.2と§E16.18 定理 5.2で構成した有限列操作と構文検査の合成なので原始再帰的であり、検査は必ず停止する。数詞ごとの表現は、(P) を§E16.19 定理 7.1が生成する式と同一視して得るのではなく、(P) を直接展開して得る。
肯定例を示す。ProofT(p,y)とし、第1項で構成した標準受理証人をz0とする。AccT(pˉ,yˉ,zˉ0)は数詞だけを項にもつ真の有界文であるから、§E16.19 補題 3.3 (3)によりQ⊢AccT(pˉ,yˉ,zˉ0)である。命題 5.1 (1)により棄却証人は一つも存在しないので、各標準自然数j≤z0についてRejT(pˉ,yˉ,jˉ)は偽であり、同補題の第3項によりQ⊢¬RejT(pˉ,yˉ,jˉ)である。同補題の第1項でz′≼zˉ0を有限選言へ分け、有限個の否定を合わせると
Q⊢∀z′(z′≼zˉ0→¬RejT(pˉ,yˉ,z′))を得る。従ってQ⊢CheckT(pˉ,yˉ,zˉ0)であり、存在導入によりQ⊢PrfT(pˉ,yˉ)である。
否定例を示す。ProofT(p,y)が成り立たないとする。第1項によりN⊨PrfT(pˉ,yˉ)である。命題 5.1 (2)により受理証人は存在せず、同命題の第1項が与える網羅性により標準の棄却証人z1が存在する。RejT(pˉ,yˉ,zˉ1)は数詞だけを項にもつ真の有界文であるから、§E16.19 補題 3.3 (3)によりQ⊢RejT(pˉ,yˉ,zˉ1)である。Qの内部でzを取り、CheckT(pˉ,yˉ,z)を仮定する。同補題の第2項によりz≺zˉ1またはzˉ1≼zである。後者では、CheckTの第2連言をz′:=zˉ1へ適用して¬RejT(pˉ,yˉ,zˉ1)を得るので矛盾する。前者では、同補題の第1項によりzは0ˉ,…,z1−1のいずれかに等しい。各j<z1についてN⊨AccT(pˉ,yˉ,jˉ)である。受理証人が一つでも存在すれば、命題 5.1 (2)によりN⊨PrfT(pˉ,yˉ)となり、既に示した本命題の第1項によりProofT(p,y)が成り立って仮定に反するからである。従って同補題の第3項によりQ⊢¬AccT(pˉ,yˉ,jˉ)であり、やはり矛盾する。zを全称化するとQ⊢¬∃zCheckT(pˉ,yˉ,z)、すなわちQ⊢¬PrfT(pˉ,yˉ)である。▨
証人zを式 (P) に明示した理由を述べる。表現可能性定理を適用してProofTを表す何らかの算術式を得るだけでは、その式がΣ1論理式の形をもつとは限らない。証人をzに集めて (P) の形を固定すると、PrfTは同値な別の式へ取り替えることなく、それ自身がΣ1論理式になる。この差は導出可能性条件 D3 で効く。ProvT(┌φ┐)がΣ1論理式として固定されていない場合には、これと同値なΣ1文σを別に作ることになり、σの符号と┌ProvT(┌φ┐)┐が異なる自然数になるため、符号を取り替える一段が必要になる。(P) の形で固定しておけば、この一段が生じない。後続の記事はこの点を明示して D3 を証明する。
定義 5.3.
ProvT(y):=∃pPrfT(p,y)と定める。固定した矛盾文を0=S0とし、
ConT:=¬ProvT(┌0=S0┐)と定める。ConTは、固定した証明体系と固定したPrfTに相対的な一つの算術文である。
定理 5.4. 任意の標準自然数p,yと任意のLA文φについて、
N⊨PrfT(pˉ,yˉ)⟺ProofT(p,y)および
N⊨ProvT(┌φ┐)⟺T⊢φが成り立つ。また、p0がφの具体的な標準証明符号ならば、
Q⊢PrfT(pˉ0,┌φ┐),T⊢ProvT(┌φ┐)である。
証明. 第1の同値は命題 5.2 (1)そのものである。N⊨ProvT(┌φ┐)は、ある標準自然数pが存在してN⊨PrfT(pˉ,┌φ┐)となることを意味する。第1の同値により、当該条件はφの有限なT証明が存在することと同値である。従って第2の同値を得る。
p0が具体的な証明符号ならば、ProofT(p0,┌φ┐)は真である。命題 5.2 (3)が与える数詞ごとの表現可能性により、Q⊢PrfT(pˉ0,┌φ┐)である。存在導入によりQ⊢ProvT(┌φ┐)となり、Q⊆Tから同じ文をTでも証明することができる。▨
例 5.5 (具体的証明の内部化).Tは等号公理から0=0を証明する。対応する有限証明符号をp=とすると、メタ理論では
ProofT(p=,┌0=0┐)である。表現可能性を介すると、対象理論内の文
T⊢ProvT(┌0=0┐)を得る。T⊢0=0とT⊢ProvT(┌0=0┐)は異なる文の導出であり、同じ主張ではない。
6 証明符号を合成する関数
二つの証明列を連結するときは、後半の行が参照する行番号を前半の長さだけずらし、末尾に modus ponens の一行を加える。この有限列操作を固定しておく。
定義 6.1.n=Len(p)、m=Len(q)とする。一行の符号ℓに対して、ShiftLine(n,ℓ)を次で定める。ℓの規則タグが modus ponens ならば二つの先行添字へnを加え、一般化ならば一つの先行添字へnを加え、いずれでもなければℓをそのまま返す。論理式、一般化変数、および公理列挙証人は変えない。Shiftnを、有限列に関する原始再帰
Shiftn(0)=0,Shiftn(Cons(ℓ,t))=Cons(ShiftLine(n,ℓ),Shiftn(t))で定める。§E16.18 定義 1.1のImpRawについて、符号eがImpRaw(b,c)の形をもつときの後件cを返す原始再帰関数をConseq(e)とし、その形でないときは0を返すものとする。合成を
comb(p,q)=Concat(Concat(p,Shiftn(q)),Cons(LineT(3,Conseq(an−1),n−1,n+m−1,0,0),0))(M)と定める。ここでan−1はpの末尾行の論理式であり、Cons(ℓ,0)はℓただ一つからなる長さ1の列である。不正入力では値を0とする。末尾へ一行を加える操作を、独立した関数ではなく長さ1の列との連結として表しているのは、§E16.17 定義 4.1がConsとConcatだけを与え、末尾追加を与えないためである。
命題 6.2.combは全域原始再帰関数である。さらに、任意のLA文φ,ψと任意の標準自然数p,qについて、
ProofT(p,┌φ→ψ┐) ∧ ProofT(q,┌φ┐)⟹ProofT(comb(p,q),┌ψ┐)が成り立つ。
証明.ShiftLineは、規則タグによる有限の場合分けと成分の取得および再構成の合成なので原始再帰的である。ShiftnはCons符号に関するコース再帰であり、Cons(ℓ,t)に対してt<Cons(ℓ,t)が成り立つので、§E16.17 補題 3.1により原始再帰的である。ConsとConcatは§E16.17 定理 4.2、Conseqは§E16.18 定理 5.2の構文操作の合成である。従って (M) は全域原始再帰関数を定める。
標準自然数p,qが前件を満たすとする。n=Len(p)、m=Len(q)とすると、pの末尾行の論理式は┌φ→ψ┐=ImpRaw(┌φ┐,┌ψ┐)であるからConseq(an−1)=┌ψ┐である。r=comb(p,q)の第s行を、s<n、n≤s<n+m、s=n+mの三領域に分けて調べる。
第1領域ではrの第s行がpの第s行と一致し、参照する先行行もpの中にあるので、定義 3.1の条件がそのまま成り立つ。第2領域ではqの第j=s−n行がShiftnで移り、先行添字u,v<jがu+n,v+n<sとなる。論理式、公理列挙証人、および一般化変数は変わらないので、modus ponens の二式の一致と一般化の本体の一致が保たれる。一般化の変数条件も、pとqの非論理公理の行がいずれも文の符号をもつため、連結後の全行について自動的に成り立つ。第3領域の新しい行は、第n−1行がImpRaw(┌φ┐,┌ψ┐)、第n+m−1行が┌φ┐であることから、modus ponens の条件を満たす。末尾行の論理式は┌ψ┐であり、ψは文である。従ってProofT(r,┌ψ┐)である。▨
7 理論の無矛盾性を表す文
命題 7.1.
N⊨ConT⟺T⊬0=S0が成り立つ。
証明.ConTの定義と定理 5.4により、
N⊨ConT⟺N⊨ProvT(┌0=S0┐)⟺T⊬0=S0である。▨
この命題は標準モデルについての外的な同値である。T⊢ConTを主張していない。また、自然言語で述べるすべての無矛盾性概念が同じ算術文になるとも主張していない。
8 演習
問題 8.1.
例 8.2 (公理判定と公理証人の違い). 公理集合が決定可能ならば、公理行には判定結果だけを付ければよい。公理集合が列挙可能であるだけの場合、列挙プログラムが当該公理を出力するまでの有限計算列を付ける。後者は有限なので検査可能であるが、公理でない入力については当該出力へ至る有限計算列が存在しない。この非対称性により、公理集合を決定可能であると仮定せずに有限証明を検査することができる。
次の問いに答えよ。
- N⊨ProvT(┌φ┐)とT⊢ProvT(┌φ┐)の違いを述べよ。
- 公理証人を証明符号へ含めなければ、列挙可能だが決定不能な公理集合についてどの検査が停止しなくなるか。
- 命題 6.2で、前件が成立するときに生成列の最終行がψになる理由を説明せよ。
- 同命題が標準自然数の証明符号についての主張であり、対象理論の内部で自由変数を残した主張ではない理由を述べよ。
解答 (確認問題の解答).
- 前者は標準モデルでの意味論的真理であり、後者は対象理論内の形式的導出である。両者は定義 1.1が区別する別の水準の主張であり、一方から他方は従わない。
- 非論理公理の行が実際に公理であるかを、公理でない入力について判定する検査が停止しない可能性がある。公理集合が列挙可能であるだけの場合、列挙されないことを有限時間で確かめる手続きが一般には無いからである。
- 二つの入力列の末尾がそれぞれφ→ψとφであり、連結後に両行を参照する modus ponens の行を末尾へ追加するからである。その行の論理式はConseq(┌φ→ψ┐)=┌ψ┐である。
- 三領域に分ける議論が、外側の標準自然数n,mに関する有限回の場合分けだからである。同じ議論を対象理論の内部で行うには、可変長の列に関する法則を対象理論が証明しなければならない。
▨
9 境界と次の段階
本記事はPrfT、ProvT、ConTを固定し、PrfTがΣ1論理式であることと、証明符号の合成関数およびその外的な閉性を証明した。導出可能性条件 D2 と D3 は、外的な原始再帰関数、グラフを表す算術式、および対象理論内の存在証明を区別したうえで、対象理論が Peano 算術PAを含む場合に別の記事が証明する。注意 6.3の通り、本記事は一様な内部主張を扱わない。第一不完全性定理、導出可能性条件、および第二不完全性定理の結論は、本記事の証明には用いていない。