數理邏輯 (3) 形式算術與遞歸函數

上一篇: 一階邏輯

形式算術

Peano 形式算術

形式算術 KNK_N 指一種特殊的帶等詞的謂詞演算, 它有一個個體常元 c1c_1, 三個函數詞: f11f^1_1, f12f^2_1, f22f^2_2 和一個二元謂詞 \approx.

KNK_N 有一個自然的模型: N=N,0,S,+,×,=\mathfrak{N}=\langle\mathbb{N},0,\mathsf{S},+,\times,=\rangle. 在模型 N\mathfrak{N} 中, c1c_1 解釋為 00; f11f^1_1, f12f^2_1, f22f^2_2 分別解釋為一元後繼函數 S\mathsf{S}, 二元和函數 ++ 和二元乘積函數 ×\times; 等詞 \approx 解釋為自然數的相等 (==).

下面把個體常元 c1c_1 寫成 0\overline{0}, f11(t)f^1_1(t), f12(t1,t2)f^2_1(t_1,t_2), f22(t1,t2)f^2_2(t_1,t_2) 分別寫成 St\mathsf{S}t, t1+t2t_1+t_2, t1×t2t_1\times t_2. 在 N\mathfrak{N} 中常元 0\overline{0} 解釋為 00, 項 S0\mathsf{S}\overline{0} 解釋為 S0=1\mathsf{S}0=1. 下面把閉項 S0,SS0,\mathsf{S}\overline{0},\mathsf{S}\mathsf{S}\overline{0},\cdots 分別寫作 1,2,\overline{1},\overline{2},\cdots, 這些形為 n\overline{n} 的閉項叫做 KNK_N 的數字.

關於等詞 \approx 有如下三條公理:
  • (E1)\text{(E1)} ttt\approx t,
  • (E2)\text{(E2)} tkuf(t1,,tk,,tn)f(t1,,u,,tn)t_k\approx u\to f(t_1,\cdots,t_k,\cdots,t_n)\approx f(t_1,\cdots,u,\cdots,t_n),
  • (E3)\text{(E3)} tku(R(t1,,tk,,tn)R(t1,,u,,tn))t_k\approx u\to (R(t_1,\cdots,t_k,\cdots,t_n)\to R(t_1,\cdots,u,\cdots,t_n)).

KNK_N 中所有等詞公理及如下形式的公式都叫做算術公理:
  • (N1)\text{(N1)} St≉0\mathsf{S}t\not\approx\overline{0},
  • (N2)\text{(N2)} St1St2t1t2\mathsf{S}t_1\approx\mathsf{S}t_2\to t_1\approx t_2,
  • (N3)\text{(N3)} t+0tt+\overline{0}\approx t,
  • (N4)\text{(N4)} t1+St2S(t1+t2)t_1+\mathsf{S}t_2\approx\mathsf{S}(t_1+t_2),
  • (N5)\text{(N5)} t×00t\times\overline{0}\approx\overline{0},
  • (N6)\text{(N6)} t1×St2t1×t2+t1t_1\times\mathsf{S}t_2\approx t_1\times t_2+t_1,
  • (N7)\text{(N7)} φ(0)(x(φ(x)φ(x))xφ(x))\varphi(\overline{0})\to(\forall x(\varphi(x)\to\varphi(x'))\to\forall x\varphi(x)), 其中 φ(x)\varphi(x) 是任意的公式.

算術公理的集記作 N\mathcal{N}. 帶有算術公理集 N\mathcal{N}KNK_N 叫做 Peano 形式算術. 注意等詞公理集 EN\mathcal{E}\subset\mathcal{N}; KNK_N 的公理除算術公理外還有謂詞演算公理 (K1)\text{(K1)}~(K5)\text{(K5)}.

Nφ\mathcal{N}\vdash\varphi, 則稱 φ\varphi 為 Peano 形式算術的定理. 通常的關於自然數的定理可以批量翻譯成形式定理, 但其形式證明一般都很複雜.

"建立形式算術的主要目的之一, 是用以探討關於自然數的性質, 我們究竟能精確而機械地抓住些什麼."

可表示性

可表示函數

kk 元函數 f:NkNf:\mathbb{N}^k\to\mathbb{N}KNK_N可表示, 是指存在含 k+1k+1 個自由變元的公式 φ(x1,,xk,y)\varphi(x_1,\cdots,x_k,y) 具有如下性質: 對任意 n1,,nk,mNn_1,\cdots,n_k,m\in\mathbb{N},
  1. f(n1,,nk)=mf(n_1,\cdots,n_k)=m \Longrightarrow Nφ(n1,,nk,m)\mathcal{N}\vdash\varphi(\overline{n_1},\cdots,\overline{n_k},\overline{m}),
  2. f(n1,,nk)mf(n_1,\cdots,n_k)\not=m \Longrightarrow N¬φ(n1,,nk,m)\mathcal{N}\vdash\neg\varphi(\overline{n_1},\cdots,\overline{n_k},\overline{m}),
  3. Nφ(n1,,nk,t)tf(n1,,nk)\mathcal{N}\vdash\varphi(\overline{n_1},\cdots,\overline{n_k},t)\to t\approx\overline{f(n_1,\cdots,n_k)}, 其中 tt 對公式 φ\varphi 中的 yy 自由.
KNK_N 中的公式不一定能用來表示某個數論函數, 且同一公式不能用來表示兩個不同的數論函數. 由於所有數論函數構成的集是不可數的, 而 KNK_N 中所有公式構成可數集, 所以並非每個數論函數都能用 KNK_N 中公式表示.

定義 kk 元投影函數 πik\pi^k_i:

πik(n1,,nk)=ni,i=1,,k\pi^k_i(n_1,\cdots,n_k)=n_i,\enspace i=1,\cdots,k

函數 ++, ×\times, πik\pi^k_iKNK_N 中是可表示的:

  • 二元和函數 ++ 由公式 x1+x2yx_1+x_2\approx y 表示;
  • 二元乘積函數 ×\times 由公式 x1×x2yx_1\times x_2\approx y 表示;
  • πik\pi^k_i 由公式 x1x1xkxkyxix_1\approx x_1\wedge\cdots\wedge x_k\approx x_k\wedge y\approx x_i 表示.
命題: 函數的複合保持可表示性. 即, 若 jj 元函數 ggjjkk 元函數 h1,,hjh_1,\cdots,h_j 可表示, 那麼如下定義的 kk 元函數 ff 也是可表示的: f(n1,,nk)=g(h1(n1,,nk),,hj(n1,,nk))f(n_1,\cdots,n_k)=g\left(h_1(n_1,\cdots,n_k),\cdots,h_j(n_1,\cdots,n_k)\right)

證明: 設 g,h1,,hjg, h_1,\cdots,h_j 分別用公式

ψ(x1,,xj,y),γ1(x1,,xk,y),,γj(x1,,xk,y)\psi(x_1,\cdots,x_j,y),\gamma_1(x_1,\cdots,x_k,y),\cdots,\gamma_j(x_1,\cdots,x_k,y)

可表示, 則 ff 可由如下公式表示:

y1yj(γ1(x1,,xk,y1)γj(x1,,xk,yj)ψ(y1,,yj,y))\exists y_1\cdots\exists y_j\left(\gamma_1(x_1,\cdots,x_k,y_1)\wedge\cdots\wedge \gamma_j(x_1,\cdots,x_k,y_j)\wedge\psi(y_1,\cdots,y_j,y)\right)

其中 y1,,yjy_1,\cdots,y_j 是不在 ψ(x1,,xj,y)\psi(x_1,\cdots,x_j,y), γ1(x1,,xk,y)\gamma_1(x_1,\cdots,x_k,y), \cdots, γj(x1,,xk,y)\gamma_j(x_1,\cdots,x_k,y) 中出現的變元. \square

可表示關係

kk 元關係 RRKNK_N可表示, 是指存在含 kk 個自由變元的公式 φ(x1,,xk)\varphi(x_1,\cdots,x_k) 具有如下性質: 對任意 n1,,nkNn_1,\cdots,n_k\in\mathbb{N},
  1. (n1,,nk)R(n_1,\cdots,n_k)\in R \Longrightarrow Nφ(n1,,nk)\mathcal{N}\vdash\varphi(\overline{n_1},\cdots,\overline{n_k}),
  2. (n1,,nk)R(n_1,\cdots,n_k)\notin R \Longrightarrow N¬φ(n1,,nk)\mathcal{N}\vdash\neg\varphi(\overline{n_1},\cdots,\overline{n_k}).
是否每個 KNK_N 的公式 φ(x1,,xk)\varphi(x_1,\cdots,x_k) 都一定可以用來表示某個 kk 元關係?

如果存在公式 φ(x1,,xk)\varphi(x_1,\cdots,x_k)n1,,nkNn_1,\cdots,n_k\in\mathbb{N}, 使得 Nφ(n1,,nk)\mathcal{N}\nvdash\varphi(\overline{n_1},\cdots,\overline{n_k})N¬φ(n1,,nk)\mathcal{N}\nvdash\neg\varphi(\overline{n_1},\cdots,\overline{n_k}), 則稱閉式 φ(n1,,nk)\varphi(\overline{n_1},\cdots,\overline{n_k}) 是一個從 N\mathcal{N} 不可判定的公式, 並且稱 N\mathcal{N}不完備的. 這時, 公式 φ(x1,,xk)\varphi(x_1,\cdots,x_k) 不能用來表示任何一個關係; 反之, 如果 N\mathcal{N} 是完備的, 那麼任何公式 φ(x1,,xk)\varphi(x_1,\cdots,x_k) 都一定表示某個 kk 元關係.


kk 元關係 RR 的特徵函數 CR:Nk{0,1}C_R:\mathbb{N}^k\to\left\{0,1\right\} 定義為: CR(n1,,nk)={1,(n1,,nk)R0,(n1,,nk)R C_R(n_1,\cdots,n_k)=\begin{cases} 1,&(n_1,\cdots,n_k)\in R\\ 0,&(n_1,\cdots,n_k)\notin R \end{cases}
若關係 RR 用公式 φ(x1,,xk)\varphi(x_1,\cdots,x_k) 可表示, 則函數 CRC_R 可用如下公式表示: (φ(x1,,xk)y1)(¬φ(x1,,xk)y0)(\varphi(x_1,\cdots,x_k)\wedge y\approx 1)\vee(\neg\varphi(x_1,\cdots,x_k)\wedge y\approx 0)CRC_R 用公式 ψ(x1,,xk,y)\psi(x_1,\cdots,x_k,y) 可表示, 則 RR 用如下公式可表示: ψ(x1,,xk,1)\psi(x_1,\cdots,x_k,\overline{1}) 因此, 關係 RR 可表示當且僅當 RR 的特徵函數 CRC_R 可表示.

例如, 二元關係 \leq 用公式 z(z+x1x2)\exists z(z+x_1\approx x_2) 可表示, 從而它的特徵函數 CC_{\leq} 也是可表示的.

最小數算子

k+1k+1 元函數 gg 滿足 “根存在條件”: 對任意 n1,,nkn_1,\cdots,n_k 都存在自然數 xx 使 g(n1,,nk,x)=0g(n_1,\cdots,n_k,x)=0. 定義 kk 元函數 ff 如下:

f(n1,,nk)=min{x:g(n1,,nk,x)=0}f(n_1,\cdots,n_k)=\min\left\{x:g(n_1,\cdots,n_k,x)=0\right\}

f(n1,,nk)f(n_1,\cdots,n_k) 是使 g(n1,,nk,x)=0g(n_1,\cdots,n_k,x)=0xx 的最小值. 稱 ff 是由 gg 使用最小數算子或 μ\mu 算子得來的, 記作

f(n1,,nk)=μx[g(n1,,nk,x)=0]f(n_1,\cdots,n_k)=\mu x\left[g(n_1,\cdots,n_k,x)=0\right]
μ\mu 算子保持可表示性: 若 k+1k+1 元函數 ggKNK_N 中可用 ψ(x1,,xk+1,y)\psi(x_1,\cdots,x_{k+1},y) 表示, 則對 gg 使用 μ\mu 算子得到的 kk 元函數 ffKNK_N 中用如下公式表示: ψ(x1,,xk,y,0)x(ψ(x1,,xk,x,0)yx)\psi(x_1,\cdots,x_k,y,\overline{0})\wedge\forall x (\psi(x_1,\cdots,x_k,x,\overline{0})\to y\leq x) 其中 xx 取不在 ψ(x1,,xk,y,0)\psi(x_1,\cdots,x_k,y,\overline{0}) 中出現的變元.

遞歸函數

原始遞歸函數

如下三類函數稱為初始函數:

  • 一元零函數 Z\mathsf{Z}, Z(n)=0\mathsf{Z}(n)=0,
  • 一元後繼函數 S\mathsf{S}, S(n)=n+1\mathsf{S}(n)=n+1,
  • kk 元投影函數 πik\pi^k_i, πik(n1,,nk)=ni\pi^k_i(n_1,\cdots,n_k)=n_i, i=1,,ki=1,\cdots,k.

gghh 分別是 kk 元函數和 k+2k+2 元函數, 稱 k+1k+1 元函數 ff 是由 gghh原始遞歸得到的, 如果

f(n1,,nk,0)=g(n1,,nk),f(n1,,nk,y+1)=h(n1,,nk,y,f(n1,,nk,y)) \begin{align*} f(n_1,\cdots,n_k,0) &= g(n_1,\cdots,n_k), \\ f(n_1,\cdots,n_k,y+1) &= h(n_1,\cdots,n_k,y,f(n_1,\cdots,n_k,y)) \end{align*}

特別地, 當 n=0n=0 時, 規定 00 元函數 gg 為一個常數 cc. 此時,

f(0)=c,f(y+1)=h(y,f(y)) \begin{align*} f(0) &= c, \\ f(y+1) &= h(y,f(y)) \end{align*}
全體原始遞歸函數的集合 C\mathcal{C} 是最小的滿足如下條件的 N\mathbb{N} 上函數的集合:
  1. 初始函數屬於 C\mathcal{C},
  2. C\mathcal{C} 對函數複合封閉,
  3. C\mathcal{C} 對原始遞歸封閉.
C\mathcal{C} 中的函數稱為原始遞歸函數.

下面是一些常用的原始遞歸函數:

  • kk 元常值函數 Cm(n1,,nk)=m\mathsf{C}_m(n_1,\cdots,n_k)=m:
C0(n1,,nk)=Z(π1k(n1,,nk)),Cm+1(n1,,nk)=S(Cm(n1,,nk)). \begin{align*} &\mathsf{C}_0(n_1,\cdots,n_k) = \mathsf{Z}(\pi^k_1(n_1,\cdots,n_k)), \\ &\mathsf{C}_{m+1}(n_1,\cdots,n_k) = \mathsf{S}(\mathsf{C}_m(n_1,\cdots,n_k)). \end{align*}
  • 二元和函數 ++:
n+0=π11(n),n+(m+1)=S(π33(n,m,n+m)). \begin{align*} &n+0 = \pi^1_1(n), \\ &n+(m+1) = \mathsf{S}(\pi^3_3(n,m,n+m)). \end{align*}
  • 二元乘積函數 ×\times:
n×0=Z(n),n×(m+1)=π33(n,m,n×m)+π13(n,m,n×m). \begin{align*} &n\times 0 = \mathsf{Z}(n), \\ &n\times (m+1) = \pi^3_3(n,m,n\times m)+\pi^3_1(n,m,n\times m). \end{align*}
  • 前鄰函數 pred\text{pred}, 若 n=0n=0pred(n)=0\text{pred}(n)=0, 否則 pred(n)=n1\text{pred}(n)=n-1:
pred(n)=0,pred(n+1)=π12(n,pred(n)). \begin{align*} &\text{pred}(n) = 0, \\ &\text{pred}(n+1) = \pi^2_1(n,\text{pred}(n)). \end{align*}
  • 截差函數 ˙\dot{-}, 若 nmn\ge m, 則 n˙m=nmn\dot{-}m=n-m, 否則 n˙m=0n\dot{-}m=0:
n˙ 0=π11(n),n˙(m+1)=pred(π33(n,m,n˙m)). \begin{align*} &n\dot{-}\ 0 = \pi^1_1(n), \\ &n\dot{-}(m+1) = \text{pred}(\pi^3_3(n,m,n\dot{-}m)). \end{align*}
  • 非零檢測函數 sg\text{sg}, 若 n=0n=0sg(n)=0\text{sg}(n)=0, 否則 sg(n)=1\text{sg}(n)=1:
sg(0)=0,sg(n+1)=C1(n,sg(n)). \begin{align*} &\text{sg}(0) = 0, \\ &\text{sg}(n+1) = \mathsf{C}_1(n,\text{sg}(n)). \end{align*}
  • 零檢測函數 sg(n)=1˙sg(n)\overline{\text{sg}}(n)=1\dot{-}\text{sg}(n).

  • 絕對差 ¨\ddot{-}, n¨m=nm=(n˙m)+(m˙n)n\ddot{-}m=|n-m|=(n\dot{-}m)+(m\dot{-}n).

  • kk 元最值函數 min\min, max\max:
k=2,min(n1,n2)=n1˙(n1˙n2),k>2,min(n1,,nn)=min(min(n1,,nk1),nk). \begin{align*} &k=2,\enspace\min(n_1,n_2) = n_1\dot{-}(n_1\dot{-}n_2), \\ &k>2,\enspace\min(n_1,\cdots,n_n) = \min(\min(n_1,\cdots,n_{k-1}),n_k). \end{align*}
  • 指數函數 nmn^m, 其中 n0n\not=0:
n0=sg(n),nm+1=nm×n \begin{align*} &n^0 = \text{sg}(n), \\ &n^{m+1} = n^m\times n \end{align*}
  • 餘數函數 rem\text{rem}, 若 n>0n>0, rem(n,m)\text{rem}(n,m) 是用 nnmm 所得餘數; 若 n=0n=0rem(n,m)=0\text{rem}(n,m)=0:
rem(n,0)=0,rem(n,m+1)=(rem(n,m)+1)×sg(n˙(rem(n,m)+1)) \begin{align*} &\text{rem}(n,0) = 0, \\ &\text{rem}(n,m+1) = (\text{rem}(n,m)+1)\times\text{sg}(n\dot{-}(\text{rem}(n,m)+1)) \end{align*}
  • f(α,m)f(\alpha,m) 是原始遞歸的, 則有界和 mlf(α,m)\sum_{m\le l}f(\alpha,m) 和有界乘積 mlf(α,m)\prod_{m\le l}f(\alpha,m) 也是原始遞歸的, 其中 α\alphan1,,nkn_1,\cdots,n_k 的縮寫.

命題: 由 kk 元原始遞歸函數 ff 用下式定義的 ll 元函數 gg 也是原始遞歸的: g(n1,,nl)=f(nm1,,nmk)g(n_1,\cdots,n_l)=f(n_{m_1},\cdots,n_{m_k}) 其中每個 1mil1\le m_i\le l.

該命題可由於 “增元” 或 “減元”.


原始遞歸函數顯然是可計算的, 但並非所有直觀上可計算的函數都是原始遞歸函數. 我們可以能行地列出全部遞歸函數: g0,g1,g_0, g_1, \cdots 並使用對角線方法: 定義函數 F:NNF:\mathbb{N}\to\mathbb{N}F(n)=gn(n)+1F(n)=g_n(n)+1. FF 顯然不同於任何一個已列出的原始遞歸函數. 但直觀來看, 這個函數明顯是可計算的.

此外還有如下更具體的例子:

Ackermann 函數 A(n,m)A(n,m) 定義為: A(0,m)=m+1;A(n,0)=1,except A(1,0)=2, A(2,0)=0;A(n+1,m+1)=A(n,A(n+1,m)) \begin{align*} &A(0,m) = m+1; \\ &A(n,0) = 1,\enspace\text{except } A(1,0)=2,\ A(2,0)=0; \\ &A(n+1,m+1) = A(n,A(n+1,m)) \end{align*} 稍加計算可知, 該函數的第00層定義為 A(0,m)=m+1A(0,m) = m+1, 第11層為 A(1,m)=m+2A(1,m)=m+2, 第22層為 A(2,m)=2mA(2,m)=2m, 第33層為 A(3,m)=2mA(3,m)=2^m, 第44層從 A(4,0)=1A(4,0)=1 開始, 每一步取冪 A(4,m+1)=2A(4,m)A(4,m+1)=2^{A(4,m)}, 得到 mm 層冪塔, 用 Knuth 箭頭來表示即為 2m2\uparrow\uparrow m. 由此可直觀地看出該函數隨層數增長速度之快.

Ackermann 函數的每一層級都是一個原始遞歸函數, 且每一個原始遞歸函數都以 Ackermann 函數的某一層級為上界, 因此對角 Ackermann 函數 A(n)=A(n,n)A(n)=A(n,n) 不是原始遞歸的.

一般遞歸函數

k+1k+1 元函數 gg 滿足根存在性條件, 則由如下 kk 元函數 ff 稱為 gg正則 μ\mu 算子得到的:

f(n1,,nk)=μx[g(n1,,nk,x)=0]f(n_1,\cdots,n_k)=\mu x\left[g(n_1,\cdots,n_k,x)=0\right]

在原始遞歸函數的基礎上進一步允許使用正則 μ\mu 算子, 得到的函數稱為一般遞歸函數, 或簡稱遞歸函數. 遞歸函數集是最小的包含所有初始函數且對複合, 原始遞歸和正則 μ\mu 算子封閉的函數集.

一般遞歸函數也是可計算的, 正則 μ\mu 算子相當於有界搜索, 由於有根存在條件, 只需逐個代入自然數並檢測函數值是否為 00 即可.

部分遞歸函數

如果去掉使用 μ\mu 算子時對 “根存在條件” 的要求, 那麼得到的函數稱為部分遞歸函數 (或遞歸偏函數). 部分遞歸函數集是對一般遞歸函數集的進一步擴張, 它是最小的包含所有初始函數且對複合, 原始遞歸和 μ\mu 算子封閉的函數集.

從程序角度看, μ\mu 算子相當於無界搜索, 即從初始值開始逐個代入檢驗, 直到搜索得最小根. 一個函數滿足根存在性條件, 就意味著循環必定有終點 (停機), 這樣的函數就是一般遞歸函數; 而如果去除根存在性條件, 那麼這種循環就有可能永遠不會終止. 因此, 部分遞歸函數不一定處處有定義 (不一定是全函數).

一般地, 設 ggk+1k+1 元部分函數, 對其使用 μ\mu 算子得到函數 ff: f(α)=μx[zx(g(α,z))g(α,x)=0]f(\alpha)=\mu x\left[\forall z\leq x\left(g(\alpha,z)\downarrow\right)\wedge g(\alpha,x)=0\right]ff 是一個部分遞歸函數. 其中 α\alphan1,,nkn_1,\cdots,n_k 的縮寫; g(α,z)g(\alpha,z)\downarrow 表示函數 gg 在點 (α,z)(\alpha,z) 有定義, 或稱 g(α,z)g(\alpha,z) 收斂. 相應地, g(α,z)g(\alpha,z)\uparrow 表示 gg 在該點無定義, 或稱 g(α,z)g(\alpha,z) 發散.

上式中加入條件 zx(g(α,z))\forall z\leq x\left(g(\alpha,z)\downarrow\right) 是因為: g(α,x)g(\alpha,x) 可以是部分函數, 有可能在最小根 x0x_0 出現前, 就在某個 z0<x0z_0<x_0 處無定義. 事實上我們無法能行地 (在有限步內) 知道 g(α,z0)g(\alpha,z_0) 是發散的, 所以寧可達不到真正的根, 也不跳過發散點.


一般的 μ\mu 算子可以作用在部分函數上, 也可以產生部分函數. 這種意義下的可計算函數可以不在所有輸入值上都有定義, 對某些輸入, 一個計算程序可能會一直運行, 永不停止. 由於這種特性, 部分遞歸函數能夠迴避上面使用的對角線證明, 達成對全體可計算函數的枚舉. 假定我們枚舉所有的部分遞歸函數: f0,f1,f_0, f_1, \cdots, 並定義對角函數 F:NNF:\mathbb{N}\to\mathbb{N}F(n)=fn(n)+1F(n)=f_n(n)+1, 則 FF 可以與列表中某個 fkf_{k} 相同, 因為恰好 fk(k)f_k(k) 無定義 (全體部分遞歸函數可枚舉的嚴格證明需使用 Kleene 正規型定理).

可以證明, 部分遞歸的全函數一定是遞歸函數, 而 Ackermann 函數是部分遞歸的全函數, 從而是一個遞歸函數.

Church 論題: 算法可計算函數 == 部分遞歸函數.
這不是一個定理, 而是一個經驗事實, 目前尚沒有發現反例.

形式算術的遞歸分析

遞歸關係和遞歸集

kk 元關係 RR 的特徵函數 CRC_R 是遞歸函數, 則關係 RR 叫做遞歸關係. 一元遞歸關係叫做 N\mathbb{N} 的遞歸子集, 簡稱遞歸集.

例如, 二元關係 \leq, ==, << 都是遞歸關係, 因為

C(n,m)=sg(n˙m)C=(n,m)=sg(n¨m)C<(n,m)=sg(n˙m) \begin{align*} &C_{\leq}(n,m) = \overline{\text{sg}}(n\dot{-}m) \\ &C_{=}(n,m) = \overline{\text{sg}}(n\ddot{-}m) \\ &C_{<}(n,m) = \text{sg}(n\dot{-}m) \end{align*}
RRkk 元遞歸關係, 則 R\overline{R} 也是 kk 元遞歸關係, 其中 R=NkR\overline{R}=\mathbb{N}^k-R: CR(n1,,nk)=1CR(n1,,nk)C_{\overline{R}}(n_1,\cdots,n_k) = 1-C_R(n_1,\cdots,n_k)R1R_1, R2R_2 都是 kk 元遞歸關係, 則 R1R2R_1\cup R_2R1R2R_1\cap R_2 也是 kk 元遞歸關係: CR1R2(n1,,nk)=sg(CR1(n1,,nk)+CR2(n1,,nk))CR1R2(n1,,nk)=CR1(n1,,nk)×CR2(n1,,nk) \begin{align*} &C_{R_1\cup R_2}(n_1,\cdots,n_k) = \text{sg}\left(C_{R_1}(n_1,\cdots,n_k)+C_{R_2}(n_1,\cdots,n_k)\right)\\ &C_{R_1\cap R_2}(n_1,\cdots,n_k) = C_{R_1}(n_1,\cdots,n_k)\times C_{R_2}(n_1,\cdots,n_k) \end{align*}

RRk+1k+1 元遞歸關係, 作如下 kk 元關係:

Q={(n1,,nk):x<nks.t. (n1,,nk,x)R}Q=\lbrace(n_1,\cdots,n_k):\exists x<n_k\enspace\text{s.t. }(n_1,\cdots,n_k,x)\in R\rbrace

QQ 也是遞歸關係, 因為

CQ(n1,,nk)=sg(x<nkCR(n1,,nk,x))C_Q(n_1,\cdots,n_k)=\text{sg}\left(\sum_{x<n_k}C_R(n_1,\cdots,n_k,x)\right) N\mathbb{N}, \emptyset, 獨元集 {a}\left\{a\right\}, 有限集 {a1,,an}\lbrace a_1,\cdots,a_n\rbrace 都是遞歸集. 因為: CN1C_{\mathbb{N}}\equiv1, C0C_{\emptyset}\equiv0, C{a}=C=(n,a)C_{\lbrace a\rbrace}=C_{=}(n,a), {a1,,an}=i=1n{ai}\lbrace a_1,\cdots,a_n\rbrace=\bigcup_{i=1}^n \lbrace a_i\rbrace.

定義二元關係 Divi\text{Divi}: (n,m)Divi(n,m)\in \text{Divi} \Longleftrightarrow n=0n=0nmn\mid m. 則 Divi\text{Divi} 是遞歸關係, 因為 CDivi(n,m)=sg(rem(n,m))C_{\text{Divi}}(n,m)=\overline{\text{sg}}(\text{rem}(n,m)).

全體素數的集 Prm\text{Prm} 是遞歸集. 用檢查因子個數的方式構造其特徵函數的遞歸形式, 若 nn 的因子數大於 22, 則 nn 不是素數, 所以有 (注意 (0,n)Divi(0,n)\in\text{Divi} ):

CPrm(n)=(4˙inCDivi(i,n))×sg(n˙1)C_{\text{Prm}}(n)=\left(4\dot{-}\sum_{i\leq n}C_{\text{Divi}}(i,n)\right)\times\text{sg}(n\dot{-}1)

p(n)p(n) 定義為第 nn 個素數, 則 pp 是一元遞歸函數, 因為

p(0)=2p(n+1)=μx[C<(p(n),x)×CPrm(x)=1] \begin{align*} &p(0) = 2 \\ &p(n+1) = \mu x\left[C_{<}(p(n),x)\times C_{\text{Prm}}(x)=1\right] \end{align*}

遞歸函數的可表示性

定理: 遞歸函數在 KNK_N 中皆可表示.

綜合上文的一些結論可知, ++, ×\times, πik\pi^k_i, CC_{\leq} 四種函數及它們經有限次複合和使用 μ\mu 算子得到的函數是可表示函數.

函數 Z\mathsf{Z}, S\mathsf{S}, sg\text{sg}, sg\overline{\text{sg}}, C=C_{=}, ˙\dot{-}, rem\text{rem} 都是可表示函數. 因為:

  • S(n)=n+C(n,n)\mathsf{S}(n)=n+C_{\leq}(n,n),
  • Z(n)=C(n+1,n)=C(S(n),n)\mathsf{Z}(n)=C_{\leq}(n+1,n)=C_{\leq}(\mathsf{S}(n),n),
  • sg(n)=C(1,n)=C(S(Z(n)),n)\text{sg}(n)=C_{\leq}(1,n)=C_{\leq}(\mathsf{S}(\mathsf{Z}(n)),n),
  • sg(n)=C(n,Z(n))\overline{\text{sg}}(n)=C_{\leq}(n,\mathsf{Z}(n)),
  • C=(n,m)=C(n,m)×C(m,n)C_{=}(n,m)=C_{\leq}(n,m)\times C_{\leq}(m,n),
  • n˙m=μx[sg(C(n,m+x))=0]n\dot{-}m=\mu x\left[\overline{\text{sg}}\left(C_{\leq}(n,m+x)\right)=0\right],
  • rem(n,m)=sg(n)×(m˙(n×(μx[sg(n)×C(n×x,m)=0]˙1)))\text{rem}(n,m)=\text{sg}(n)\times(m\dot{-}(n\times(\mu x\left[\text{sg}(n)\times C_{\leq}(n\times x,m)=0\right]\dot{-}1))).

接下來只要證明可表示函數對原始遞歸封閉即可. 由於形式系統中不能有無限步的歸納, 我們必須對歸納的過程值進行編碼, 把任意長度的序列 “壓縮” 進單個值, 隨後再把計算所需信息 “解碼” 出來.

然而問題在於, 我們一般用於編碼的指數函數和素因數分解, 其定義本身就用到了原始遞歸. 為避免循環, Gödel 巧妙地利用了中國剩餘定理. (注意, 上文已經證明了 rem\text{rem} 可表示)

引理1: 定義 Gödel 函數 β(b,c,i)=rem(1+(i+1)b,c)\beta(b,c,i)=\text{rem}(1+(i+1)b,c), 則 β\betaKNK_N 的可表示函數, 且對於給定的 a0,,amNa_0,\cdots,a_m\in\mathbb{N}, 一定存在 b,cNb,c\in\mathbb{N}, bcb\le c, 滿足 β(b,c,i)=ai\beta(b,c,i)=a_i, 其中 i=0,,mi=0,\cdots,m.

證明: 令 s=max{a0,,am,m}s=\max\lbrace a_0,\cdots,a_m,m\rbrace, 取 b=s!b=s!, 則 1+b,,1+(m+1)b1+b,\cdots,1+(m+1)b 兩兩互素. 由中國剩餘定理知 rem(1+(i+1)b,c)=ai\text{rem}(1+(i+1)b,c)=a_i, i=0,,mi=0,\cdots,m 有解. \square

引理2: 如下函數是可表示函數: pair(b,c):=12(b+c)×(b+c+1)+bfst(d):=μx[y<d(pair(x,y)=d)]snd(d):=μy[x<d(pair(x,y)=d)] \begin{align*} \text{pair}(b,c) &:= \frac{1}{2}(b+c)\times(b+c+1)+b \\ \text{fst}(d) &:=\mu x\left[\exists y<d(\text{pair}(x,y)=d)\right] \\ \text{snd}(d) &:=\mu y\left[\exists x<d(\text{pair}(x,y)=d)\right] \end{align*}
pair\text{pair} 是著名的 Cantor 配對函數, 它是一個 N×NN\mathbb{N}\times\mathbb{N}\to\mathbb{N} 的雙射, 這保證了根存在條件 (在此其實並不關鍵). 令 d=pair(b,c)d=\text{pair}(b,c), 則 b=fst(d)b=\text{fst}(d), c=snd(d)c=\text{snd}(d). 這三個函數的作用是把 bbcc 進一步 "壓縮" 到單個值.

γ(d,i)=β(fst(d),snd(d),i)\gamma(d,i)=\beta(\text{fst}(d),\text{snd}(d),i), 由引理1知, 任給 a0,,amNa_0,\cdots,a_m\in\mathbb{N}, 必存在 dd 使得 γ(d,i)=ai\gamma(d,i)=a_i, i=0,,mi=0,\cdots,m.

命題: KNK_N 的可表示函數對原始遞歸封閉.

證明: 設 k+1k+1 元函數 ff 滿足 f(α,0)=g(α)f(α,m+1)=h(α,m,f(α,m)) \begin{align*} &f(\alpha,0) = g(\alpha) \\ &f(\alpha,m+1) = h\left(\alpha,m,f(\alpha,m)\right) \end{align*} 其中 gg, hh 是可表示函數, α\alphan1,,nkn_1,\cdots,n_k 的縮寫.

定義如下關係

R(α,m,d):=(γ(d,0)=g(α))i<m(γ(d,i+1)=h(α,m,γ(d,i)))R(\alpha,m,d):=(\gamma(d,0)=g(\alpha))\wedge\forall i<m\left(\gamma(d,i+1)=h(\alpha,m,\gamma(d,i))\right)

RR 是可表示的, 從而 RR 的特徵函數 CRC_R 也可表示. 令

F(α,m):=μd[CR(α,m,d)=1]F(\alpha,m):=\mu d\left[C_R(\alpha,m,d)=1\right]

FF 也可表示. 取 ai=f(α,i)a_i=f(\alpha,i), i=0,,mi=0,\cdots,m, 據引理1, FF 滿足根存在條件, 可知 FF 是良好定義的全函數. 最後令 f(α,m)=γ(F(α,m),m)f(\alpha,m)=\gamma(F(\alpha,m),m) 即可. \square

由此可知, 任意遞歸函數都是可表示函數. 一個明顯的推論是: 任意遞歸關係在 KNK_N 中可表示.

語法的算術化

Gödel 配數

證明 Gödel 不完備性定理的一個關鍵步驟是對形式語言 KNK_N (有限符號串) 進行編碼 (配數), 使 KNK_N 算術化, 以便之後讓 KNK_N 從內部 “談論自身”. 配數的方法有很多種, 下面是其中一種.

首先, 給每個字母 uu 指定一個 Gödel 數 g(u)\text{g}(u) 如下:

uS+׬0xig(u)1357911131515+2i \begin{array}{c|ccccccccc} u & \mathsf{S} & + & \times & \neg & \to & \forall &\approx & \overline{0} & x_i \\ \hline \text{g}(u) & 1 & 3 & 5 & 7& 9 & 11 & 13 & 15 & 15+2i \\ \end{array}
字母串 u0u1uku_0 u_1\cdots u_k 的 Gödel 數定義為: g(u0u1uk)=u0u1uk:=2g(u0)3g(u1)pkg(uk)\text{g}(u_0 u_1\cdots u_k) = \langle u_0 u_1\cdots u_k\rangle := 2^{\text{g}(u_0)}\thinspace 3^{\text{g}(u_1)}\cdots\thinspace p_k^{\text{g}(u_k)} 其中 pkp_k 是第 kk 個素數. 規定空序列的 Gödel 數為  =1\langle\ \rangle=1.

字母串的 Gödel 數與字母的 Gödel 數不會相同, 因為前者是偶數, 後者是奇數; 由自然數的唯一分解性, 不同字母串的 Gödel 數也不會相同.

τ0,,τn\tau_0,\cdots,\tau_n 是字母串的一個有限序列, 則該序列的 Gödel 數定義為:

g(τ0,,τn)=τ0,,τn:=2g(τ0)3g(τ1)png(τn)\text{g}(\tau_0,\cdots,\tau_n) = \langle\tau_0,\cdots,\tau_n\rangle := 2^{\text{g}(\tau_0)}\thinspace 3^{\text{g}(\tau_1)}\cdots\thinspace p_n^{\text{g}(\tau_n)}

容易驗證, 這種擴張保持單射性.

編碼相關的遞歸函數

上文已表明, 整除關係 Divi\text{Divi} 是遞歸關係, 素數集 Prm\text{Prm} 是遞歸集, 一元函數 pnp_n 是遞歸函數.

n>1n>1 時, 設 n=2e03e1pkekn=2^{e_0}\thinspace 3^{e_1}\cdots\thinspace p_k^{e_k}, 則如下定義的函數是遞歸的:

(n)m={em,n>10,n=0orn=1 (n)_{m}=\begin{cases} e_{m}, &n>1 \\ 0, & n=0\enspace\text{or}\enspace n=1 \end{cases}

因為

(n)m=μx[sg(n)×sg(rem(pmx+1,n))=0](n)_{m}=\mu x\left[\text{sg}(n)\times\overline{\text{sg}}(\text{rem}(p_{m}^{x+1},n))=0\right]

定義一元函數 lh\text{lh}: 若 n=0n=011, 則 lh(n)=0\text{lh}(n)=0; 若 n>1n>1, 則 lh(n)\text{lh}(n)nn 的素因子的個數. 函數 lh\text{lh} 是遞歸的, 因為

lh(n)=xn(CPrm(x)×CDivi(x,n))\text{lh}(n)=\sum_{x\leq n}\left(C_{\text{Prm}}(x)\times C_{\text{Divi}}(x,n)\right)

lh\text{lh} 為長度函數, 因為對任何 n=u0ukn=\langle u_0\cdots u_k\ranglelh(n)=k+1\text{lh}(n)=k+1.


二元並接函數 \ast 定義為 nm=n×x<lh(m)plh(n)+x(m)xn \ast m = n\times\prod_{x<\text{lh}(m)}p_{\text{lh}(n)+x}^{(m)_x}

n=2a03a1pkakn=2^{a_0}\thinspace 3^{a_1}\cdots\thinspace p_k^{a_k}, m=2b03b1plblm=2^{b_0}\thinspace 3^{b_1}\cdots\thinspace p_l^{b_l}, 且 a0,,aka_0,\cdots,a_k 皆非零, 則

nm=2a03a1pkakpk+1b0pk+2b1pk+l+1bln \ast m = 2^{a_0}\thinspace 3^{a_1}\cdots\thinspace p_k^{a_k}\thinspace p_{k+1}^{b_0}\thinspace p_{k+2}^{b_1}\cdots\thinspace p_{k+l+1}^{b_l}

n=r0rkn=\langle r_0\cdots r_k\rangle, m=s0slm=\langle s_0\cdots s_l\rangle \Longrightarrow nm=r0rks1sln\ast m=\langle r_0\cdots r_k s_1\cdots s_l\rangle.

(n)m(n)_{m}lh\text{lh} 的定義知, 函數 \ast 也是遞歸的.


k+1k+1 元全函數 ff, 定義 ff 的歷史函數 FF:

F(α,n)=xnpxf(α,x)=p0f(α,0)p1f(α,1)pnf(α,n)F(\alpha,n)=\prod_{x\le n}p_x^{f(\alpha,x)}=p_0^{f(\alpha,0)}p_1^{f(\alpha,1)}\cdots p_{n}^{f(\alpha,n)}
k+1k+1 元函數 ff 是由 gghh強遞歸得到的, 如果 f(α,0)=g(α)f(α,n+1)=h(α,n,F(α,n)) \begin{align*} &f(\alpha,0)=g(\alpha) \\ &f(\alpha,n+1)=h(\alpha,n,F(\alpha,n)) \end{align*}

命題: 如果 ff 是由 gghh 經強遞歸得到的, 且 gghh 都是原始遞歸函數, 則 ff 也是原始遞歸的.

證明: 只需證明 FF 是原始遞歸的. 事實上,

F(α,0)=1,F(α,n+1)=F(α,n)×pn+1h(α,n,F(α,n)) \begin{align*} &F(\alpha,0) = 1, \\ &F(\alpha,n+1) = F(\alpha,n)\times p_{n+1}^{h(\alpha,n,F(\alpha,n))} \end{align*}

從而 f(α,n)=(F(α,n))nf(\alpha,n)=(F(\alpha,n))_n 也是原始遞歸的. \square

該命題給出了在遞歸定義中引用任何已有項的合法性.

形式算術的遞歸性質

一元函數 Num\text{Num} 定義為 Num(n)=g(n)\text{Num}(n)=\text{g}(\overline{n}), 則 Num\text{Num} 是遞歸函數, 因為

Num(0)=g(0)=215Num(n+1)=21g(n)=21Num(n) \begin{align*} &\text{Num}(0) = \text{g}(\overline{0}) = 2^{15} \\ &\text{Num}(n+1) = 2^1 \ast \text{g}(\overline{n}) = 2^1 \ast \text{Num}(n) \end{align*}
命題: N\mathbb{N} 的以下子集是遞歸集:
  • VS={215+2k:k1}\text{VS}=\lbrace2^{15+2k}:k\ge 1\rbrace: 所有個體變元的 Gödel 數構成的集,
  • TM\text{TM}: 所有 KNK_N 的項的 Gödel 數構成的集,
  • YF\text{YF}: 所有 KNK_N 的原子公式的 Gödel 數構成的集,
  • FM\text{FM}: 所有 KNK_N 的公式的 Gödel 數構成的集.

證明: VS\text{VS} 的特徵函數很容易構造; 另外三個集的特徵函數使用強遞歸條件引用已有項即可. \square


對於 i=1,,5i=1,\cdots,5, 把所有 (Ki)\text{(Ki)} 型公理的 Gödel 數構成的集記作 LAi\text{LA}_i.

容易證明 LA1\text{LA}_1, LA2\text{LA}_2, LA3\text{LA}_3 的遞歸性. 而要證明 LA4\text{LA}_4LA5\text{LA}_5 的遞歸性, 難點在於表達如下關係: 在 Gödel 數為 n3n_3 的項 u(xi)u(x_i) 或公式 φ(xi)\varphi(x_i) 中, 用 Gödel 數為 n2n_2 的項 tt 去替換 Gödel 數為 n1n_1 的變元 xix_i 的所有自由出現, 所得結果 u(t)u(t)φ(t)\varphi(t) 的 Gödel 數是 n4n_4.

γ=2n33n4\gamma=2^{n_3}\thinspace 3^{n_4}\cdots, 則 (γ)0=n3(\gamma)_0=n_3, (γ)1=n4(\gamma)_1=n_4, 藉此將 n1n_1, n2n_2, n3n_3, n4n_4 的四元關係轉化為一個三元關係.

定義三元關係 SBS\text{SBS}: (n1,n2,γ)SBS(n_1,n_2,\gamma)\in\text{SBS} \Longleftrightarrow n1VSn_1\in\text{VS}, n2TMn_2\in\text{TM}, (γ)0TMFM(\gamma)_0\in\text{TM}\cup\text{FM}, (γ)1(\gamma)_1 是用 n2n_2 (對應的) 項去替換 (γ)0(\gamma)_0 項或 (γ)0(\gamma)_0 公式中的 n1n_1 變元的全部自由出現所得結果的 Gödel 數.

通過分析用項 tt 去替換項 u(xi)u(x_i) 或公式 φ(xi)\varphi(x_i) 中所有自由的 xix_i 所得的可能類型, 可以逐個寫出關係 SBS\text{SBS} 需滿足的約束條件, 從而用強遞歸寫出 CSBSC_{\text{SBS}} 的特徵函數, 表明 SBS\text{SBS} 是遞歸關係. 證明細節略過.

SBS\text{SBS} 的基礎上, 定義三元函數 Sub\text{Sub}: Sub(n1,n2,n3)=μx[CSBS(n1,n2,2n33x)+C((pn2n3)n22n32,x)=1]\text{Sub}(n_1,n_2,n_3)=\mu x\left[C_{\text{SBS}}\left(n_1,n_2,2^{n_3}\thinspace 3^{x}\right)+C_{\leq}\left((p_{n_2 n_3})^{n_2^2 n_3^2},x\right)=1 \right]

在函數 Sub\text{Sub} 中加一項 C(m,x)C_{\leq}(m,x) 是為了確保根存在性條件, mm 需要取得充分大, 以至於不可能是上述替換結果的 Gödel 數, 這裡取 m=(pn2n3)n22n32m=(p_{n_2 n_3})^{n_2^2 n_3^2}. 函數 Sub\text{Sub} 顯然是遞歸的.

根據定義, 可以把上式具體寫作:

Sub(n1,n2,n3)={g(u(t)),ifn1=g(xi),n2=g(t),n3=g(u(xi));g(φ(t)),ifn1=g(xi),n2=g(t),n3=g(φ(xi));(pn2n3)n22n32,otherwise. \text{Sub}(n_1,n_2,n_3)=\begin{cases} \text{g}(u(t)), &\text{if}\enspace n_1=\text{g}(x_i),\thinspace n_2=\text{g}(t),\thinspace n_3=\text{g}(u(x_i)); \\ \text{g}(\varphi(t)), &\text{if}\enspace n_1=\text{g}(x_i),\thinspace n_2=\text{g}(t),\thinspace n_3=\text{g}(\varphi(x_i)); \\ (p_{n_2 n_3})^{n_2^2 n_3^2},&\text{otherwise}. \end{cases}
命題: 如下關係是遞歸關係:
  1. FR={(n1,n2):n1\text{FR}=\lbrace(n_1,n_2):n_1 變元在 n2n_2 項或 n2n_2 公式中自由出現 }\rbrace
  2. FRT={(n1,n2,n3):n2\text{FRT}=\lbrace(n_1,n_2,n_3):n_2 項對 n3n_3 公式中的 n1n_1 變元是自由的 }\rbrace

證明:

  1. 用不同於 n1n_1 變元 xix_i 的另一變元, 例如 xi+1x_{i+1} (注意有 g(xi+1)=n1×22\text{g}(x_{i+1})=n_1\times 2^2 ), 去替換 n2n_2 項或 n2n_2 公式中所有自由出現的 xix_i, 所得結果發生變化, 則說明 n1n_1 變元在 n2n_2 項或 n2n_2 公式中自由出現. 於是有
(n1,n2)FRn1VSn2TMFM(n1,n1×22,2n23n2)∉SBS(n_1,n_2)\in\text{FR}\Longleftrightarrow n_1\in\text{VS}\wedge n_2\in\text{TM}\cup\text{FM}\wedge(n_1,n_1\times 2^2,2^{n_2}\thinspace 3^{n_2})\not\in\text{SBS}
  1. 分情況用強遞歸寫出 CFRTC_{\text{FRT}}, 細節略. \square
Sub\text{Sub}, FR\text{FR}, FRT\text{FRT} 的遞歸性可得 LA4\text{LA}_4LA5\text{LA}_5 的遞歸性.

從而 LA=LA1LA5\text{LA}=\text{LA}_1\cup\cdots\cup\text{LA}_5 是遞歸集, 即 KNK_N 的所有邏輯公理的 Gödel 數構成的集是遞歸集.

EAi\text{EA}_i(Ei)\text{(Ei)} 型等詞公理的 Gödel 數構成的集, NAi\text{NA}_i(Ni)\text{(Ni)} 型算術公理的 Gödel 數構成的集. 仿照上面的分析可以得到 EAi\text{EA}_iNAi\text{NA}_i 的遞歸性.

從而 PA\text{PA} (=EA1EA3NA1NA7=\text{EA}_1\cup\cdots\cup\text{EA}_3\cup\text{NA}_1\cup\cdots\cup\text{NA}_7) 也是遞歸集, 即 N\mathcal{N} 中公式的 Gödel 數集是遞歸集. 進而, AX=LAPA\text{AX}=\text{LA}\cup\text{PA} 是遞歸集, 即包括邏輯公理和算術公理在內的所有 KNK_N 公理的 Gödel 數構成的集是遞歸集.

如下關係或集是遞歸的:
  • MP={(n1,n2,n3):n1=g(φ),n2=g(φψ),n3=g(ψ)}\text{MP}=\lbrace(n_1,n_2,n_3):n_1=\text{g}(\varphi),n_2=\text{g}(\varphi\to\psi),n_3=\text{g}(\psi)\rbrace,
  • GEN={(n1,n2):n1=g(φ),n2=g(xiφ)}\text{GEN}=\lbrace(n_1,n_2):n_1=\text{g}(\varphi),n_2=\text{g}(\forall x_i\varphi)\rbrace,
  • PF={n:n\text{PF}=\lbrace n:n 是從 N\mathcal{N} 的證明的 Gödel 數 }\rbrace,
  • PRF={(n,m):m=g(φ)\text{PRF}=\lbrace(n,m):m=\text{g}(\varphi), nnφ\varphiN\mathcal{N} 的證明的 Gödel 數 }\rbrace.

這裡 PF\text{PF} 的遞歸性僅僅依賴於 “AX\text{AX} 是遞歸的” 這一點, 而與 AX\text{AX} 中包含哪些具體公理的 Gödel 數無關. 不論怎樣增減公理, 只要不改變 AX\text{AX} 的遞歸性, 就不改變 PF\text{PF} 的遞歸性.

AX\text{AX}PF\text{PF} 都是遞歸集, 所以根據 Church 論題, 存在能行算法可用來判定任意有限字母串是不是 N\mathcal{N} 的公理, 以及任給的有限公式序列是不是從 N\mathcal{N} 的一個證明. 我們稱這樣的理論是遞歸可公理化的.

下一篇: Gödel 不完備性定理和 Turing 機