表現可能性定理についてのメモ
参考文献
TL;DR
$ A \sube \N^nが原始再帰的集合$ \iff$ Aは$ T上で$ \Delta_1表現可能. その他
集合$ A \sube \N^nとする.
論理式$ \varphi(\vec{x})が以下を満たすとき,$ \varphiは$ Aを定義すると呼ぶ.
$ \vec{a} \in A \iff \mathcal{N} \vDash \varphi(\vec{\underline{a}})
すなわち,$ A \coloneqq \{ \vec{a} \in \N \mid \mathcal{N} \vDash \varphi(\vec{\overline{a}}) \}
$ Aを定義する論理式が存在するとき,$ Aは定義可能と呼ぶ. $ Aが$ \Delta_k,\Sigma_k,\Pi_k論理式で定義可能であるとき,
$ Aは$ \Delta_k集合,$ \Sigma_k集合,$ \Pi_k集合と呼ぶ.
または,$ Aは$ \Delta_k定義可能,$ \Sigma_k定義可能,$ \Pi_k定義可能と呼ぶ.
remark:
明らかに,$ \Sigma_k定義可能かつ$ \Pi_k定義可能な集合は,$ \Delta_k集合である.
Cor 1
$ Aが$ \varphi(\vec{x})で定義されるとき,$ \N^n \setminus Aは$ \lnot\varphi(\vec{x})によって定義される.
proof:
1. 定義可能性の定義より$ \vec{a} \notin A \iff \mathcal{N} \nvDash \varphi(\vec{\overline{a}})
2. $ \vec{a} \notin A \iff \vec{a} \in \N^n \setminus A
3. $ \mathcal{N} \nvDash \varphi(\vec{\overline{a}}) \iff \mathcal{N} \vDash \lnot\varphi(\vec{\overline{a}})
4. したがって$ \vec{a} \in \N^n \setminus A \iff \mathcal{N} \vDash \lnot\varphi(\vec{\overline{a}})
Cor 2
proof:
1. $ \Delta_0文は量化子を含まない文に変形出来る.
2. $ \vec{a} \in \N^nが与えられたとき,$ \varphi(\vec{\overline{a}})は文である.
3. 1,2より,$ \varphi(\vec{x})が$ \Delta_0論理式であるとき,$ \mathcal{N} \vDash \varphi(\vec{\overline{a}})かどうかは原始再帰的に判定できる.
量化子の含まない文は原始再帰的に判定できる.
4. $ A \coloneqq \{ \vec{a} \in \N \mid \mathcal{N} \vDash \varphi(\vec{\overline{a}}) \}より,$ Aは原始再帰的集合である. Thm 3
部分関数$ f:\N^n\to\Nが再帰的関数である $ \iff$ fのグラフ$ G_fは$ \Sigma_1集合である. ただし,$ fのグラフ$ G_fとは$ G_f \coloneqq \{ (\vec{a},b) \in \N^{n+1} \mid f(\vec{a}) = b \}として定義される.
proof
$ \impliedby
$ n = 1とする.任意の$ nについては適当に帰納法を回せば良い.
1. $ \varphi(x,y,z)を$ \Delta_0論理式とし,$ G_f \coloneqq \{ (x,y) \in \N^2 \mid \mathcal{N} \vDash \exists_z.\varphi(\overline{x},\overline{y},z) \}とする.
すなわち,$ G_fは$ \Sigma_1集合である.
2. $ a,b,c \in \Nが与えられたとき,$ \mathcal{N} \vDash \varphi(\overline{a},\overline{b},\overline{c})は有限回で計算できる.
$ \Delta_0論理式は有限量化しか含まないので.
3. $ fが部分関数で$ \exists_z.\varphi(x,y,z)
$ \implies
$ n = 1とする.任意の$ nについては適当に帰納法を回せば良い.
$ fが定数関数,後者関数,射影関数
自明.
$ fが関数の合成で作られる関数とする.
すなわち,
$ g_i:\N \to \N, h:\N^m \to \Nとし,
$ \mathrm{comp}_{g_1,\dots,g_m,h}(x) = h(g_1(x),\dots,g_m(x))である.
1. IHより,$ g_i,hのグラフは$ \Sigma_1集合である.
2. $ \Sigma_1論理式$ \varphi(x,y) \equiv \exists_{x_1,\dots,x_m}.\left\lbrack x_1 = \overline{g_1(x)} \land \dots \land x_m = \overline{g_m(x)} \land y = \overline{h(x_1,\dots,x_m)} \right\rbrackとする.
ここで$ g_i,hは関数$ g_i,hを表す演算子とする.
3. $ \varphi(x,y)は$ G_fを定義している.よって,$ G_fは$ \Sigma_1集合である.
すなわち,
$ g:\N, h:\N^2\to\N
$ \mathrm{prec}_{g,h}(0) = g
$ \mathrm{prec}_{g,h}(\mathrm{s}(x)) = h(x,\mathrm{prec}_{g,h}(x))
1. IHより,$ g,hのグラフは$ \Sigma_1集合である.
2. $ \Sigma_1論理式$ \varphi(x,y) \equiv \exists_e.\left\lbrack \beta(e,\overline{0}) = \overline{g} \land \forall_{u<x}.\exists_{v<x}.\left\lbrack v = \beta(e,u+\overline{1}) \land v = \overline{h(u,\beta(e,u))} \right\rbrack \land \beta(e,x) = y \right\rbrack
$ g,hは関数$ g,hを表す演算子とする.
$ \betaはThm3.1で存在が示されているデコード関数を表す演算子とする. すなわち$ \beta(x,y) = zは$ \Delta_0論理式である.
次のような数列$ a_0,\dots,a_xのエンコード$ eが存在することを確認している.
$ a_0 = g
$ \beta(e,\overline{0}) = \overline{g}でチェック
$ a_1 = h(x, a_0), a_2 = h(x,a_1),\dots, a_x = h(x,a_{x-1})
$ \forall_{u<x}.\exists_{v<x}.\left\lbrack v = \beta(z,u+\overline{1}) \land v = h(u,\beta(z,u)) \right\rbrackでチェック
$ a_x = y
$ \beta(e,x) = yをチェック.
remark:
$ f(0),\dots,f(x-1)を計算しなければ$ f(x)の値は計算出来ないことに注意.
3. $ \varphiは$ G_fを定義している.$ G_fは$ \Sigma_1集合である.
すなわち
$ g:\N^2 \to \N
$ f(x) \simeq \mu_y.\lbrack g(x,y) = 0 \rbrackとする.
$ g(x,y) = 0となる$ yが存在すれば$ f(x) = y,しないなら$ f(x)は未定義.
1. IHより$ gのグラフは$ \Sigma_1集合とする.
2. $ \Sigma_1論理式$ \varphi(x,y) \equiv \exists_e.\left\lbrack \beta(e,x) = \overline{0} \land \forall_{u\leq x}.\exists_{v}.\left\lbrack v = \beta(e,u) \land v = \overline{g(x,u)}\right\rbrack \land \forall_{u<x}.\left\lbrack\beta(e,u) \neq \overline{0} \right\rbrack \right\rbrack
$ g,hは関数$ g,hを表す演算子とする.
$ \betaはThm3.1で存在が示されているデコード関数を表す演算子とする. 次のような数列$ a_0,\dots,a_xのエンコード$ eが存在することを確認している
$ a_x = 0
$ \beta(e,x) = \overline{0}でチェック
$ a_0 = g(x,0),\dots,a_x = g(x,x)
$ \forall_{u\leq x}.\exists_{v}.\left\lbrack v = \beta(e,u) \land v = \overline{g(x,u)}\right\rbrackでチェック
$ a_0,\dots,a_{x-1}が全て$ 0ではないこと
$ \forall_{u<x}.\left\lbrack\beta(e,u) \neq \overline{0} \right\rbrack
remark:
$ g(x,0),\dots,g(x,y)を計算を計算しなければ$ \mu_y.\lbrack g(x,y) = 0 \rbrackの値は計算出来ないことに注意.
3. $ \varphiは$ G_fを定義している.$ G_fは$ \Sigma_1集合である.
デコード関数と呼ばれる,以下を満たす原始再帰的関数$ \beta(x,y)が存在する. 1. 有限列$ a_0,\dots,a_{k} \in \Nとする.任意の$ i \leq kに対し$ \beta(e,i) = a_{i} となる$ e \in \Nが存在する.
2. $ \beta(x,y)のグラフ$ G_\betaは$ \Delta_0集合である.
proof:
y.; "再帰的関数"の補題2.2.参照.ただし$ G_\betaが$ \Delta_0かどうかは自分で埋めなければならない Cor 10より,そもそもこの$ \betaが織り込み済みとして自明な事実として扱っても良い.
remark:
$ eを,数列$ a_0,\dots,a_kの(関数$ \betaに対する)エンコードと呼ぶ
Thm 4
$ A \sube \N^nが再帰的可算集合である$ \iff$ Aが$ \Sigma_1集合である. remark:
proof:
$ n = 1とする.任意の$ nについては適当に帰納法を回せば良い.
Thm 5
$ A \sube \N^nが再帰的集合である$ \iff$ Aが$ \Delta_1集合である. remark:
proof:
2. Thm4より$ A,\N^n \setminus Aは$ \Sigma_1集合である.
3. 2とCor1より,$ \N^n \setminus (\N^n \setminus A)は$ \Pi_1論理式$ \lnot\varphi(\vec{x})で定義可能.
4. $ \N^n \setminus (\N^n \setminus A) = A.
5. $ Aは$ \Pi_1集合である.
6. 2,5より$ Aは$ \Delta_1集合である.
Cor 6
$ f: \N \to \Nが全域的な再帰的関数$ \iff$ G_fは$ \Delta_1集合. proof
上の事実とThm 5より.
Remark:
計算可能性と$ \Delta_1が同値であること(Thm5) 今までは実際の算術上で構成していたことに注意
以下を満たす$ \Sigma_1論理式$ \varphi(\vec{x},y)が存在するとき,$ fは$ T上で可証再帰的であるという. 1. $ \varphi(x,y)は($ \mathcal{N}上)で$ G_fを定義する.
2. $ T \vdash \forall_{\vec{x}}.\exists!_y.\varphi(x,y)
remark:
一意存在量化$ \exists!_y.\varphi(x,y) \equiv \exists_y.\varphi(x,y) \land \forall_{y,y'}.\lbrack \varphi(x,y) \land \varphi(x,y') \to y=y' \rbrackのことである. すなわち
2'. $ T \vdash \forall_{\vec{x}}.\left\lbrack \exists_y.\varphi(x,y) \land \forall_{y,y'}.\left\lbrack \varphi(x,y) \land \varphi(x,y') \to y=y' \right\rbrack \right\rbrack
remark
$ T上で全域的な再帰的関数を扱うために導入される概念である. 逆に言えば,実際に全域的な再帰的関数であっても,$ T上では全域性が扱えるとは限らない.
Prop 7
再帰的だが,$ \sf PA上で可証再帰的ではない全域的な再帰的関数が存在する.
remark
にも関わらず,以下の命題は$ \sf PAで証明できない.
Thm 8
proof sketch:
2. 原始再帰的関数の構成に関する帰納法で証明される.
Prop 9
$ f:\N^n\to\Nが$ T上で$ \varphi(\vec{x},y)によって可証再帰的であったとする. $ \mathscr{L}_\mathrm{A}に$ n変数関数記号$ fを追加した言語$ \mathscr{L}_\mathrm{A} + fとする.
$ Tに公理$ \forall_{\vec{x}}.\varphi(\vec{x},f(x))及び$ \mathscr{L}_\mathrm{A}+fの帰納法を追加した$ \mathscr{L}_\mathrm{A} + fの理論を$ T'とする.
$ T'は$ Tの保存的拡大である.すなわち,$ T'で証明できることは$ Tでも証明できる. proof:
$ T'で$ fを使っている部分を可証再帰性の定義に沿って$ \mathscr{L}_\mathrm{A}の言語に翻訳し直せばよい.
remark:
大雑把には,$ fがあるとちょっと便利程度の影響しか及ぼさず,本質的に$ Tと$ T'に違いはない.ということを主張している.
$ \sf PAには任意の原始再帰的関数が最初から入っていると仮定しても本質的に問題がない. proof:Thm8とProp9より.
remark:
集合$ A \sube \N^nとする.
弱表現可能性
論理式$ \varphi(\vec{x})が以下を満たすとき,$ \varphiは$ Aを$ Tにおいて弱表現すると呼ぶ.
$ \vec{a} \in A \iff T \vdash \varphi(\vec{\overline{a}})
すなわち$ A \coloneqq \{ \vec{a} \in \N \mid T \vdash \varphi(\vec{\overline{a}}) \}である.
$ Tで$ Aを弱表現する論理式が存在するとき,$ Aは$ Tにおいて弱表現可能と呼ぶ. 表現可能性
$ A及び$ \N^n \setminus Aの両方が$ Tにおいて$ \varphi(\vec{x})及び$ \lnot\varphi(\vec{x})で弱表現されるとき,$ Aは$ Tにおいて$ \varphiで表現されると呼ぶ.
すなわち,
$ \vec{a} \in A \iff T \vdash \varphi(\vec{\overline{a}})
$ \vec{a} \notin A \iff T \vdash \lnot\varphi(\vec{\overline{a}})
$ Tで$ Aを表現する論理式が存在するとき,$ Aは$ Tにおいて表現可能であると呼ぶ. Remark
大雑把に言えば,定義可能性とは意味論$ \vDashに関わる性質で,表現可能性とは意味論$ \vdash及び理論$ Tに関わる性質である.