上一篇: 一階邏輯
形式算術
Peano 形式算術
形式算術 K N K_N K N 指一種特殊的帶等詞的謂詞演算, 它有一個個體常元 c 1 c_1 c 1 , 三個函數詞: f 1 1 f^1_1 f 1 1 , f 1 2 f^2_1 f 1 2 , f 2 2 f^2_2 f 2 2 和一個二元謂詞 ≈ \approx ≈ .
K N K_N K N 有一個自然的模型:
N = ⟨ N , 0 , S , + , × , = ⟩ \mathfrak{N}=\langle\mathbb{N},0,\mathsf{S},+,\times,=\rangle N = ⟨ N , 0 , S , + , × , = ⟩ . 在模型
N \mathfrak{N} N 中,
c 1 c_1 c 1 解釋為
0 0 0 ;
f 1 1 f^1_1 f 1 1 ,
f 1 2 f^2_1 f 1 2 ,
f 2 2 f^2_2 f 2 2 分別解釋為一元後繼函數
S \mathsf{S} S , 二元和函數
+ + + 和二元乘積函數
× \times × ; 等詞
≈ \approx ≈ 解釋為自然數的相等 (
= = = ).
下面把個體常元 c 1 c_1 c 1 寫成 0 ‾ \overline{0} 0 , f 1 1 ( t ) f^1_1(t) f 1 1 ( t ) , f 1 2 ( t 1 , t 2 ) f^2_1(t_1,t_2) f 1 2 ( t 1 , t 2 ) , f 2 2 ( t 1 , t 2 ) f^2_2(t_1,t_2) f 2 2 ( t 1 , t 2 ) 分別寫成 S t \mathsf{S}t S t , t 1 + t 2 t_1+t_2 t 1 + t 2 , t 1 × t 2 t_1\times t_2 t 1 × t 2 . 在 N \mathfrak{N} N 中常元 0 ‾ \overline{0} 0 解釋為 0 0 0 , 項 S 0 ‾ \mathsf{S}\overline{0} S 0 解釋為 S 0 = 1 \mathsf{S}0=1 S 0 = 1 . 下面把閉項 S 0 ‾ , S S 0 ‾ , ⋯ \mathsf{S}\overline{0},\mathsf{S}\mathsf{S}\overline{0},\cdots S 0 , SS 0 , ⋯ 分別寫作 1 ‾ , 2 ‾ , ⋯ \overline{1},\overline{2},\cdots 1 , 2 , ⋯ , 這些形為 n ‾ \overline{n} n 的閉項叫做 K N K_N K N 的數字.
關於等詞
≈ \approx ≈ 有如下三條公理:
(E1) \text{(E1)} (E1) t ≈ t t\approx t t ≈ t ,
(E2) \text{(E2)} (E2) t k ≈ u → f ( t 1 , ⋯ , t k , ⋯ , t n ) ≈ f ( t 1 , ⋯ , u , ⋯ , t n ) t_k\approx u\to f(t_1,\cdots,t_k,\cdots,t_n)\approx f(t_1,\cdots,u,\cdots,t_n) t k ≈ u → f ( t 1 , ⋯ , t k , ⋯ , t n ) ≈ f ( t 1 , ⋯ , u , ⋯ , t n ) ,
(E3) \text{(E3)} (E3) t k ≈ u → ( R ( t 1 , ⋯ , t k , ⋯ , t n ) → R ( t 1 , ⋯ , u , ⋯ , t n ) ) t_k\approx u\to (R(t_1,\cdots,t_k,\cdots,t_n)\to R(t_1,\cdots,u,\cdots,t_n)) t k ≈ u → ( R ( t 1 , ⋯ , t k , ⋯ , t n ) → R ( t 1 , ⋯ , u , ⋯ , t n )) .
K N K_N K N 中所有等詞公理及如下形式的公式都叫做
算術公理 :
(N1) \text{(N1)} (N1) S t ≉ 0 ‾ \mathsf{S}t\not\approx\overline{0} S t ≈ 0 ,
(N2) \text{(N2)} (N2) S t 1 ≈ S t 2 → t 1 ≈ t 2 \mathsf{S}t_1\approx\mathsf{S}t_2\to t_1\approx t_2 S t 1 ≈ S t 2 → t 1 ≈ t 2 ,
(N3) \text{(N3)} (N3) t + 0 ‾ ≈ t t+\overline{0}\approx t t + 0 ≈ t ,
(N4) \text{(N4)} (N4) t 1 + S t 2 ≈ S ( t 1 + t 2 ) t_1+\mathsf{S}t_2\approx\mathsf{S}(t_1+t_2) t 1 + S t 2 ≈ S ( t 1 + t 2 ) ,
(N5) \text{(N5)} (N5) t × 0 ‾ ≈ 0 ‾ t\times\overline{0}\approx\overline{0} t × 0 ≈ 0 ,
(N6) \text{(N6)} (N6) t 1 × S t 2 ≈ t 1 × t 2 + t 1 t_1\times\mathsf{S}t_2\approx t_1\times t_2+t_1 t 1 × S t 2 ≈ t 1 × t 2 + t 1 ,
(N7) \text{(N7)} (N7) φ ( 0 ‾ ) → ( ∀ x ( φ ( x ) → φ ( x ′ ) ) → ∀ x φ ( x ) ) \varphi(\overline{0})\to(\forall x(\varphi(x)\to\varphi(x'))\to\forall x\varphi(x)) φ ( 0 ) → ( ∀ x ( φ ( x ) → φ ( x ′ )) → ∀ x φ ( x )) , 其中 φ ( x ) \varphi(x) φ ( x ) 是任意的公式.
算術公理的集記作 N \mathcal{N} N . 帶有算術公理集 N \mathcal{N} N 的 K N K_N K N 叫做 Peano 形式算術 . 注意等詞公理集 E ⊂ N \mathcal{E}\subset\mathcal{N} E ⊂ N ; K N K_N K N 的公理除算術公理外還有謂詞演算公理 (K1) \text{(K1)} (K1) ~(K5) \text{(K5)} (K5) .
若 N ⊢ φ \mathcal{N}\vdash\varphi N ⊢ φ , 則稱 φ \varphi φ 為 Peano 形式算術的定理. 通常的關於自然數的定理可以批量翻譯成形式定理, 但其形式證明一般都很複雜.
"建立形式算術的主要目的之一, 是用以探討關於自然數的性質, 我們究竟能精確而機械地抓住些什麼."
可表示性
可表示函數
k k k 元函數
f : N k → N f:\mathbb{N}^k\to\mathbb{N} f : N k → N 在
K N K_N K N 中
可表示 , 是指存在含
k + 1 k+1 k + 1 個自由變元的公式
φ ( x 1 , ⋯ , x k , y ) \varphi(x_1,\cdots,x_k,y) φ ( x 1 , ⋯ , x k , y ) 具有如下性質: 對任意
n 1 , ⋯ , n k , m ∈ N n_1,\cdots,n_k,m\in\mathbb{N} n 1 , ⋯ , n k , m ∈ N ,
f ( n 1 , ⋯ , n k ) = m f(n_1,\cdots,n_k)=m f ( n 1 , ⋯ , n k ) = m ⟹ \Longrightarrow ⟹ N ⊢ φ ( n 1 ‾ , ⋯ , n k ‾ , m ‾ ) \mathcal{N}\vdash\varphi(\overline{n_1},\cdots,\overline{n_k},\overline{m}) N ⊢ φ ( n 1 , ⋯ , n k , m ) ,
f ( n 1 , ⋯ , n k ) ≠ m f(n_1,\cdots,n_k)\not=m f ( n 1 , ⋯ , n k ) = m ⟹ \Longrightarrow ⟹ N ⊢ ¬ φ ( n 1 ‾ , ⋯ , n k ‾ , m ‾ ) \mathcal{N}\vdash\neg\varphi(\overline{n_1},\cdots,\overline{n_k},\overline{m}) N ⊢ ¬ φ ( n 1 , ⋯ , n k , m ) ,
N ⊢ φ ( n 1 ‾ , ⋯ , n k ‾ , t ) → t ≈ f ( n 1 , ⋯ , n k ) ‾ \mathcal{N}\vdash\varphi(\overline{n_1},\cdots,\overline{n_k},t)\to t\approx\overline{f(n_1,\cdots,n_k)} N ⊢ φ ( n 1 , ⋯ , n k , t ) → t ≈ f ( n 1 , ⋯ , n k ) , 其中 t t t 對公式 φ \varphi φ 中的 y y y 自由.
K N K_N K N 中的公式不一定能用來表示某個數論函數, 且同一公式不能用來表示兩個不同的數論函數. 由於所有數論函數構成的集是不可數的, 而
K N K_N K N 中所有公式構成可數集, 所以並非每個數論函數都能用
K N K_N K N 中公式表示.
定義 k k k 元投影函數 π i k \pi^k_i π i k :
π i k ( n 1 , ⋯ , n k ) = n i , i = 1 , ⋯ , k \pi^k_i(n_1,\cdots,n_k)=n_i,\enspace i=1,\cdots,k π i k ( n 1 , ⋯ , n k ) = n i , i = 1 , ⋯ , k
函數 + + + , × \times × , π i k \pi^k_i π i k 在 K N K_N K N 中是可表示的:
二元和函數 + + + 由公式 x 1 + x 2 ≈ y x_1+x_2\approx y x 1 + x 2 ≈ y 表示;
二元乘積函數 × \times × 由公式 x 1 × x 2 ≈ y x_1\times x_2\approx y x 1 × x 2 ≈ y 表示;
π i k \pi^k_i π i k 由公式 x 1 ≈ x 1 ∧ ⋯ ∧ x k ≈ x k ∧ y ≈ x i x_1\approx x_1\wedge\cdots\wedge x_k\approx x_k\wedge y\approx x_i x 1 ≈ x 1 ∧ ⋯ ∧ x k ≈ x k ∧ y ≈ x i 表示.
命題 : 函數的複合保持可表示性. 即, 若
j j j 元函數
g g g 和
j j j 個
k k k 元函數
h 1 , ⋯ , h j h_1,\cdots,h_j h 1 , ⋯ , h j 可表示, 那麼如下定義的
k k k 元函數
f f f 也是可表示的:
f ( n 1 , ⋯ , n k ) = g ( h 1 ( n 1 , ⋯ , n k ) , ⋯ , h j ( n 1 , ⋯ , n k ) ) f(n_1,\cdots,n_k)=g\left(h_1(n_1,\cdots,n_k),\cdots,h_j(n_1,\cdots,n_k)\right) f ( n 1 , ⋯ , n k ) = g ( h 1 ( n 1 , ⋯ , n k ) , ⋯ , h j ( n 1 , ⋯ , n k ) )
證明 : 設 g , h 1 , ⋯ , h j g, h_1,\cdots,h_j g , h 1 , ⋯ , h j 分別用公式
ψ ( x 1 , ⋯ , x j , y ) , γ 1 ( x 1 , ⋯ , x k , y ) , ⋯ , γ j ( x 1 , ⋯ , x k , 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) ψ ( x 1 , ⋯ , x j , y ) , γ 1 ( x 1 , ⋯ , x k , y ) , ⋯ , γ j ( x 1 , ⋯ , x k , y )
可表示, 則 f f f 可由如下公式表示:
∃ y 1 ⋯ ∃ y j ( γ 1 ( x 1 , ⋯ , x k , y 1 ) ∧ ⋯ ∧ γ j ( x 1 , ⋯ , x k , y j ) ∧ ψ ( y 1 , ⋯ , y j , 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) ∃ y 1 ⋯ ∃ y j ( γ 1 ( x 1 , ⋯ , x k , y 1 ) ∧ ⋯ ∧ γ j ( x 1 , ⋯ , x k , y j ) ∧ ψ ( y 1 , ⋯ , y j , y ) )
其中 y 1 , ⋯ , y j y_1,\cdots,y_j y 1 , ⋯ , y j 是不在 ψ ( x 1 , ⋯ , x j , y ) \psi(x_1,\cdots,x_j,y) ψ ( x 1 , ⋯ , x j , y ) , γ 1 ( x 1 , ⋯ , x k , y ) \gamma_1(x_1,\cdots,x_k,y) γ 1 ( x 1 , ⋯ , x k , y ) , ⋯ \cdots ⋯ , γ j ( x 1 , ⋯ , x k , y ) \gamma_j(x_1,\cdots,x_k,y) γ j ( x 1 , ⋯ , x k , y ) 中出現的變元. □ \square □
可表示關係
k k k 元關係
R R R 在
K N K_N K N 中
可表示 , 是指存在含
k k k 個自由變元的公式
φ ( x 1 , ⋯ , x k ) \varphi(x_1,\cdots,x_k) φ ( x 1 , ⋯ , x k ) 具有如下性質: 對任意
n 1 , ⋯ , n k ∈ N n_1,\cdots,n_k\in\mathbb{N} n 1 , ⋯ , n k ∈ N ,
( n 1 , ⋯ , n k ) ∈ R (n_1,\cdots,n_k)\in R ( n 1 , ⋯ , n k ) ∈ R ⟹ \Longrightarrow ⟹ N ⊢ φ ( n 1 ‾ , ⋯ , n k ‾ ) \mathcal{N}\vdash\varphi(\overline{n_1},\cdots,\overline{n_k}) N ⊢ φ ( n 1 , ⋯ , n k ) ,
( n 1 , ⋯ , n k ) ∉ R (n_1,\cdots,n_k)\notin R ( n 1 , ⋯ , n k ) ∈ / R ⟹ \Longrightarrow ⟹ N ⊢ ¬ φ ( n 1 ‾ , ⋯ , n k ‾ ) \mathcal{N}\vdash\neg\varphi(\overline{n_1},\cdots,\overline{n_k}) N ⊢ ¬ φ ( n 1 , ⋯ , n k ) .
是否每個
K N K_N K N 的公式
φ ( x 1 , ⋯ , x k ) \varphi(x_1,\cdots,x_k) φ ( x 1 , ⋯ , x k ) 都一定可以用來表示某個
k k k 元關係?
如果存在公式 φ ( x 1 , ⋯ , x k ) \varphi(x_1,\cdots,x_k) φ ( x 1 , ⋯ , x k ) 及 n 1 , ⋯ , n k ∈ N n_1,\cdots,n_k\in\mathbb{N} n 1 , ⋯ , n k ∈ N , 使得 N ⊬ φ ( n 1 ‾ , ⋯ , n k ‾ ) \mathcal{N}\nvdash\varphi(\overline{n_1},\cdots,\overline{n_k}) N ⊬ φ ( n 1 , ⋯ , n k ) 且 N ⊬ ¬ φ ( n 1 ‾ , ⋯ , n k ‾ ) \mathcal{N}\nvdash\neg\varphi(\overline{n_1},\cdots,\overline{n_k}) N ⊬ ¬ φ ( n 1 , ⋯ , n k ) , 則稱閉式 φ ( n 1 ‾ , ⋯ , n k ‾ ) \varphi(\overline{n_1},\cdots,\overline{n_k}) φ ( n 1 , ⋯ , n k ) 是一個從 N \mathcal{N} N 不可判定 的公式, 並且稱 N \mathcal{N} N 是不完備 的. 這時, 公式 φ ( x 1 , ⋯ , x k ) \varphi(x_1,\cdots,x_k) φ ( x 1 , ⋯ , x k ) 不能用來表示任何一個關係; 反之, 如果 N \mathcal{N} N 是完備的, 那麼任何公式 φ ( x 1 , ⋯ , x k ) \varphi(x_1,\cdots,x_k) φ ( x 1 , ⋯ , x k ) 都一定表示某個 k k k 元關係.
k k k 元關係
R R R 的特徵函數
C R : N k → { 0 , 1 } C_R:\mathbb{N}^k\to\left\{0,1\right\} C R : N k → { 0 , 1 } 定義為:
C R ( n 1 , ⋯ , n k ) = { 1 , ( n 1 , ⋯ , n k ) ∈ R 0 , ( n 1 , ⋯ , n k ) ∉ 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}
C R ( n 1 , ⋯ , n k ) = { 1 , 0 , ( n 1 , ⋯ , n k ) ∈ R ( n 1 , ⋯ , n k ) ∈ / R
若關係
R R R 用公式
φ ( x 1 , ⋯ , x k ) \varphi(x_1,\cdots,x_k) φ ( x 1 , ⋯ , x k ) 可表示, 則函數
C R C_R C R 可用如下公式表示:
( φ ( x 1 , ⋯ , x k ) ∧ y ≈ 1 ) ∨ ( ¬ φ ( x 1 , ⋯ , x k ) ∧ y ≈ 0 ) (\varphi(x_1,\cdots,x_k)\wedge y\approx 1)\vee(\neg\varphi(x_1,\cdots,x_k)\wedge y\approx 0) ( φ ( x 1 , ⋯ , x k ) ∧ y ≈ 1 ) ∨ ( ¬ φ ( x 1 , ⋯ , x k ) ∧ y ≈ 0 )
若
C R C_R C R 用公式
ψ ( x 1 , ⋯ , x k , y ) \psi(x_1,\cdots,x_k,y) ψ ( x 1 , ⋯ , x k , y ) 可表示, 則
R R R 用如下公式可表示:
ψ ( x 1 , ⋯ , x k , 1 ‾ ) \psi(x_1,\cdots,x_k,\overline{1}) ψ ( x 1 , ⋯ , x k , 1 )
因此, 關係
R R R 可表示當且僅當
R R R 的特徵函數
C R C_R C R 可表示.
例如, 二元關係
≤ \leq ≤ 用公式
∃ z ( z + x 1 ≈ x 2 ) \exists z(z+x_1\approx x_2) ∃ z ( z + x 1 ≈ x 2 ) 可表示, 從而它的特徵函數
C ≤ C_{\leq} C ≤ 也是可表示的.
最小數算子
設 k + 1 k+1 k + 1 元函數 g g g 滿足 “根存在條件”: 對任意 n 1 , ⋯ , n k n_1,\cdots,n_k n 1 , ⋯ , n k 都存在自然數 x x x 使 g ( n 1 , ⋯ , n k , x ) = 0 g(n_1,\cdots,n_k,x)=0 g ( n 1 , ⋯ , n k , x ) = 0 . 定義 k k k 元函數 f f f 如下:
f ( n 1 , ⋯ , n k ) = min { x : g ( n 1 , ⋯ , n k , x ) = 0 } f(n_1,\cdots,n_k)=\min\left\{x:g(n_1,\cdots,n_k,x)=0\right\} f ( n 1 , ⋯ , n k ) = min { x : g ( n 1 , ⋯ , n k , x ) = 0 }
即 f ( n 1 , ⋯ , n k ) f(n_1,\cdots,n_k) f ( n 1 , ⋯ , n k ) 是使 g ( n 1 , ⋯ , n k , x ) = 0 g(n_1,\cdots,n_k,x)=0 g ( n 1 , ⋯ , n k , x ) = 0 的 x x x 的最小值. 稱 f f f 是由 g g g 使用最小數算子或 μ \mu μ 算子 得來的, 記作
f ( n 1 , ⋯ , n k ) = μ x [ g ( n 1 , ⋯ , n k , x ) = 0 ] f(n_1,\cdots,n_k)=\mu x\left[g(n_1,\cdots,n_k,x)=0\right] f ( n 1 , ⋯ , n k ) = μx [ g ( n 1 , ⋯ , n k , x ) = 0 ]
μ \mu μ 算子保持可表示性: 若
k + 1 k+1 k + 1 元函數
g g g 在
K N K_N K N 中可用
ψ ( x 1 , ⋯ , x k + 1 , y ) \psi(x_1,\cdots,x_{k+1},y) ψ ( x 1 , ⋯ , x k + 1 , y ) 表示, 則對
g g g 使用
μ \mu μ 算子得到的
k k k 元函數
f f f 在
K N K_N K N 中用如下公式表示:
ψ ( x 1 , ⋯ , x k , y , 0 ‾ ) ∧ ∀ x ( ψ ( x 1 , ⋯ , x k , x , 0 ‾ ) → y ≤ x ) \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) ψ ( x 1 , ⋯ , x k , y , 0 ) ∧ ∀ x ( ψ ( x 1 , ⋯ , x k , x , 0 ) → y ≤ x )
其中
x x x 取不在
ψ ( x 1 , ⋯ , x k , y , 0 ‾ ) \psi(x_1,\cdots,x_k,y,\overline{0}) ψ ( x 1 , ⋯ , x k , y , 0 ) 中出現的變元.
遞歸函數
原始遞歸函數
如下三類函數稱為初始函數 :
一元零函數 Z \mathsf{Z} Z , Z ( n ) = 0 \mathsf{Z}(n)=0 Z ( n ) = 0 ,
一元後繼函數 S \mathsf{S} S , S ( n ) = n + 1 \mathsf{S}(n)=n+1 S ( n ) = n + 1 ,
k k k 元投影函數 π i k \pi^k_i π i k , π i k ( n 1 , ⋯ , n k ) = n i \pi^k_i(n_1,\cdots,n_k)=n_i π i k ( n 1 , ⋯ , n k ) = n i , i = 1 , ⋯ , k i=1,\cdots,k i = 1 , ⋯ , k .
設 g g g 和 h h h 分別是 k k k 元函數和 k + 2 k+2 k + 2 元函數, 稱 k + 1 k+1 k + 1 元函數 f f f 是由 g g g 和 h h h 經原始遞歸 得到的, 如果
f ( n 1 , ⋯ , n k , 0 ) = g ( n 1 , ⋯ , n k ) , f ( n 1 , ⋯ , n k , y + 1 ) = h ( n 1 , ⋯ , n k , y , f ( n 1 , ⋯ , n k , 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*}
f ( n 1 , ⋯ , n k , 0 ) f ( n 1 , ⋯ , n k , y + 1 ) = g ( n 1 , ⋯ , n k ) , = h ( n 1 , ⋯ , n k , y , f ( n 1 , ⋯ , n k , y ))
特別地, 當 n = 0 n=0 n = 0 時, 規定 0 0 0 元函數 g g g 為一個常數 c c c . 此時,
f ( 0 ) = c , f ( y + 1 ) = h ( y , f ( y ) )
\begin{align*}
f(0) &= c, \\
f(y+1) &= h(y,f(y))
\end{align*}
f ( 0 ) f ( y + 1 ) = c , = h ( y , f ( y ))
全體原始遞歸函數的集合
C \mathcal{C} C 是最小的滿足如下條件的
N \mathbb{N} N 上函數的集合:
初始函數屬於 C \mathcal{C} C ,
C \mathcal{C} C 對函數複合封閉,
C \mathcal{C} C 對原始遞歸封閉.
C \mathcal{C} C 中的函數稱為
原始遞歸函數 .
下面是一些常用的原始遞歸函數:
k k k 元常值函數 C m ( n 1 , ⋯ , n k ) = m \mathsf{C}_m(n_1,\cdots,n_k)=m C m ( n 1 , ⋯ , n k ) = m :
C 0 ( n 1 , ⋯ , n k ) = Z ( π 1 k ( n 1 , ⋯ , n k ) ) , C m + 1 ( n 1 , ⋯ , n k ) = S ( C m ( n 1 , ⋯ , n k ) ) .
\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*}
C 0 ( n 1 , ⋯ , n k ) = Z ( π 1 k ( n 1 , ⋯ , n k )) , C m + 1 ( n 1 , ⋯ , n k ) = S ( C m ( n 1 , ⋯ , n k )) .
n + 0 = π 1 1 ( n ) , n + ( m + 1 ) = S ( π 3 3 ( 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*}
n + 0 = π 1 1 ( n ) , n + ( m + 1 ) = S ( π 3 3 ( n , m , n + m )) .
n × 0 = Z ( n ) , n × ( m + 1 ) = π 3 3 ( n , m , n × m ) + π 1 3 ( 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*}
n × 0 = Z ( n ) , n × ( m + 1 ) = π 3 3 ( n , m , n × m ) + π 1 3 ( n , m , n × m ) .
前鄰函數 pred \text{pred} pred , 若 n = 0 n=0 n = 0 則 pred ( n ) = 0 \text{pred}(n)=0 pred ( n ) = 0 , 否則 pred ( n ) = n − 1 \text{pred}(n)=n-1 pred ( n ) = n − 1 :
pred ( n ) = 0 , pred ( n + 1 ) = π 1 2 ( n , pred ( n ) ) .
\begin{align*}
&\text{pred}(n) = 0, \\
&\text{pred}(n+1) = \pi^2_1(n,\text{pred}(n)).
\end{align*}
pred ( n ) = 0 , pred ( n + 1 ) = π 1 2 ( n , pred ( n )) .
截差函數 − ˙ \dot{-} − ˙ , 若 n ≥ m n\ge m n ≥ m , 則 n − ˙ m = n − m n\dot{-}m=n-m n − ˙ m = n − m , 否則 n − ˙ m = 0 n\dot{-}m=0 n − ˙ m = 0 :
n − ˙ 0 = π 1 1 ( n ) , n − ˙ ( m + 1 ) = pred ( π 3 3 ( 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*}
n − ˙ 0 = π 1 1 ( n ) , n − ˙ ( m + 1 ) = pred ( π 3 3 ( n , m , n − ˙ m )) .
非零檢測函數 sg \text{sg} sg , 若 n = 0 n=0 n = 0 則 sg ( n ) = 0 \text{sg}(n)=0 sg ( n ) = 0 , 否則 sg ( n ) = 1 \text{sg}(n)=1 sg ( n ) = 1 :
sg ( 0 ) = 0 , sg ( n + 1 ) = C 1 ( n , sg ( n ) ) .
\begin{align*}
&\text{sg}(0) = 0, \\
&\text{sg}(n+1) = \mathsf{C}_1(n,\text{sg}(n)).
\end{align*}
sg ( 0 ) = 0 , sg ( n + 1 ) = C 1 ( n , sg ( n )) .
零檢測函數 sg ‾ ( n ) = 1 − ˙ sg ( n ) \overline{\text{sg}}(n)=1\dot{-}\text{sg}(n) sg ( n ) = 1 − ˙ sg ( n ) .
絕對差 − ¨ \ddot{-} − ¨ , n − ¨ m = ∣ n − m ∣ = ( n − ˙ m ) + ( m − ˙ n ) n\ddot{-}m=|n-m|=(n\dot{-}m)+(m\dot{-}n) n − ¨ m = ∣ n − m ∣ = ( n − ˙ m ) + ( m − ˙ n ) .
k k k 元最值函數 min \min min , max \max max :
k = 2 , min ( n 1 , n 2 ) = n 1 − ˙ ( n 1 − ˙ n 2 ) , k > 2 , min ( n 1 , ⋯ , n n ) = min ( min ( n 1 , ⋯ , n k − 1 ) , n k ) .
\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*}
k = 2 , min ( n 1 , n 2 ) = n 1 − ˙ ( n 1 − ˙ n 2 ) , k > 2 , min ( n 1 , ⋯ , n n ) = min ( min ( n 1 , ⋯ , n k − 1 ) , n k ) .
指數函數 n m n^m n m , 其中 n ≠ 0 n\not=0 n = 0 :
n 0 = sg ( n ) , n m + 1 = n m × n
\begin{align*}
&n^0 = \text{sg}(n), \\
&n^{m+1} = n^m\times n
\end{align*}
n 0 = sg ( n ) , n m + 1 = n m × n
餘數函數 rem \text{rem} rem , 若 n > 0 n>0 n > 0 , rem ( n , m ) \text{rem}(n,m) rem ( n , m ) 是用 n n n 除 m m m 所得餘數; 若 n = 0 n=0 n = 0 則 rem ( n , m ) = 0 \text{rem}(n,m)=0 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*}
rem ( n , 0 ) = 0 , rem ( n , m + 1 ) = ( rem ( n , m ) + 1 ) × sg ( n − ˙ ( rem ( n , m ) + 1 ))
若 f ( α , m ) f(\alpha,m) f ( α , m ) 是原始遞歸的, 則有界和 ∑ m ≤ l f ( α , m ) \sum_{m\le l}f(\alpha,m) ∑ m ≤ l f ( α , m ) 和有界乘積 ∏ m ≤ l f ( α , m ) \prod_{m\le l}f(\alpha,m) ∏ m ≤ l f ( α , m ) 也是原始遞歸的, 其中 α \alpha α 是 n 1 , ⋯ , n k n_1,\cdots,n_k n 1 , ⋯ , n k 的縮寫.
命題 : 由
k k k 元原始遞歸函數
f f f 用下式定義的
l l l 元函數
g g g 也是原始遞歸的:
g ( n 1 , ⋯ , n l ) = f ( n m 1 , ⋯ , n m k ) g(n_1,\cdots,n_l)=f(n_{m_1},\cdots,n_{m_k}) g ( n 1 , ⋯ , n l ) = f ( n m 1 , ⋯ , n m k )
其中每個
1 ≤ m i ≤ l 1\le m_i\le l 1 ≤ m i ≤ l .
該命題可由於 “增元” 或 “減元”.
原始遞歸函數顯然是可計算的, 但並非所有直觀上可計算的函數都是原始遞歸函數. 我們可以能行地列出全部遞歸函數: g 0 , g 1 , ⋯ g_0, g_1, \cdots g 0 , g 1 , ⋯ 並使用對角線方法: 定義函數 F : N → N F:\mathbb{N}\to\mathbb{N} F : N → N 為 F ( n ) = g n ( n ) + 1 F(n)=g_n(n)+1 F ( n ) = g n ( n ) + 1 . F F F 顯然不同於任何一個已列出的原始遞歸函數. 但直觀來看, 這個函數明顯是可計算的.
此外還有如下更具體的例子:
Ackermann 函數
A ( n , m ) 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*}
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 ))
稍加計算可知, 該函數的第
0 0 0 層定義為
A ( 0 , m ) = m + 1 A(0,m) = m+1 A ( 0 , m ) = m + 1 , 第
1 1 1 層為
A ( 1 , m ) = m + 2 A(1,m)=m+2 A ( 1 , m ) = m + 2 , 第
2 2 2 層為
A ( 2 , m ) = 2 m A(2,m)=2m A ( 2 , m ) = 2 m , 第
3 3 3 層為
A ( 3 , m ) = 2 m A(3,m)=2^m A ( 3 , m ) = 2 m , 第
4 4 4 層從
A ( 4 , 0 ) = 1 A(4,0)=1 A ( 4 , 0 ) = 1 開始, 每一步取冪
A ( 4 , m + 1 ) = 2 A ( 4 , m ) A(4,m+1)=2^{A(4,m)} A ( 4 , m + 1 ) = 2 A ( 4 , m ) , 得到
m m m 層冪塔, 用 Knuth 箭頭來表示即為
2 ↑ ↑ m 2\uparrow\uparrow m 2 ↑↑ m . 由此可直觀地看出該函數隨層數增長速度之快.
Ackermann 函數的每一層級都是一個原始遞歸函數, 且每一個原始遞歸函數都以 Ackermann 函數的某一層級為上界, 因此對角 Ackermann 函數 A ( n ) = A ( n , n ) A(n)=A(n,n) A ( n ) = A ( n , n ) 不是原始遞歸的.
一般遞歸函數
若 k + 1 k+1 k + 1 元函數 g g g 滿足根存在性條件, 則由如下 k k k 元函數 f f f 稱為 g g g 由正則 μ \mu μ 算子 得到的:
f ( n 1 , ⋯ , n k ) = μ x [ g ( n 1 , ⋯ , n k , x ) = 0 ] f(n_1,\cdots,n_k)=\mu x\left[g(n_1,\cdots,n_k,x)=0\right] f ( n 1 , ⋯ , n k ) = μx [ g ( n 1 , ⋯ , n k , x ) = 0 ]
在原始遞歸函數的基礎上進一步允許使用正則 μ \mu μ 算子, 得到的函數稱為一般遞歸函數 , 或簡稱遞歸函數. 遞歸函數集是最小的包含所有初始函數且對複合, 原始遞歸和正則 μ \mu μ 算子封閉的函數集.
一般遞歸函數也是可計算的, 正則 μ \mu μ 算子相當於有界搜索, 由於有根存在條件, 只需逐個代入自然數並檢測函數值是否為 0 0 0 即可.
部分遞歸函數
如果去掉使用 μ \mu μ 算子時對 “根存在條件” 的要求, 那麼得到的函數稱為部分遞歸函數 (或遞歸偏函數). 部分遞歸函數集是對一般遞歸函數集的進一步擴張, 它是最小的包含所有初始函數且對複合, 原始遞歸和 μ \mu μ 算子封閉的函數集.
從程序角度看, μ \mu μ 算子相當於無界搜索, 即從初始值開始逐個代入檢驗, 直到搜索得最小根. 一個函數滿足根存在性條件, 就意味著循環必定有終點 (停機), 這樣的函數就是一般遞歸函數; 而如果去除根存在性條件, 那麼這種循環就有可能永遠不會終止. 因此, 部分遞歸函數不一定處處有定義 (不一定是全函數).
一般地, 設
g g g 為
k + 1 k+1 k + 1 元部分函數, 對其使用
μ \mu μ 算子得到函數
f f f :
f ( α ) = μ x [ ∀ z ≤ x ( 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] f ( α ) = μx [ ∀ z ≤ x ( g ( α , z ) ↓ ) ∧ g ( α , x ) = 0 ]
則
f f f 是一個部分遞歸函數. 其中
α \alpha α 是
n 1 , ⋯ , n k n_1,\cdots,n_k n 1 , ⋯ , n k 的縮寫;
g ( α , z ) ↓ g(\alpha,z)\downarrow g ( α , z ) ↓ 表示函數
g g g 在點
( α , z ) (\alpha,z) ( α , z ) 有定義, 或稱
g ( α , z ) g(\alpha,z) g ( α , z ) 收斂. 相應地,
g ( α , z ) ↑ g(\alpha,z)\uparrow g ( α , z ) ↑ 表示
g g g 在該點無定義, 或稱
g ( α , z ) g(\alpha,z) g ( α , z ) 發散.
上式中加入條件 ∀ z ≤ x ( g ( α , z ) ↓ ) \forall z\leq x\left(g(\alpha,z)\downarrow\right) ∀ z ≤ x ( g ( α , z ) ↓ ) 是因為: g ( α , x ) g(\alpha,x) g ( α , x ) 可以是部分函數, 有可能在最小根 x 0 x_0 x 0 出現前, 就在某個 z 0 < x 0 z_0<x_0 z 0 < x 0 處無定義. 事實上我們無法能行地 (在有限步內) 知道 g ( α , z 0 ) g(\alpha,z_0) g ( α , z 0 ) 是發散的, 所以寧可達不到真正的根, 也不跳過發散點.
一般的 μ \mu μ 算子可以作用在部分函數上, 也可以產生部分函數. 這種意義下的可計算函數可以不在所有輸入值上都有定義, 對某些輸入, 一個計算程序可能會一直運行, 永不停止. 由於這種特性, 部分遞歸函數能夠迴避上面使用的對角線證明, 達成對全體可計算函數的枚舉. 假定我們枚舉所有的部分遞歸函數: f 0 , f 1 , ⋯ f_0, f_1, \cdots f 0 , f 1 , ⋯ , 並定義對角函數 F : N → N F:\mathbb{N}\to\mathbb{N} F : N → N 為 F ( n ) = f n ( n ) + 1 F(n)=f_n(n)+1 F ( n ) = f n ( n ) + 1 , 則 F F F 可以與列表中某個 f k f_{k} f k 相同, 因為恰好 f k ( k ) f_k(k) f k ( k ) 無定義 (全體部分遞歸函數可枚舉的嚴格證明需使用 Kleene 正規型定理).
可以證明, 部分遞歸的全函數一定是遞歸函數, 而 Ackermann 函數是部分遞歸的全函數, 從而是一個遞歸函數.
Church 論題 : 算法可計算函數
= = = 部分遞歸函數.
這不是一個定理, 而是一個經驗事實, 目前尚沒有發現反例.
形式算術的遞歸分析
遞歸關係和遞歸集
若 k k k 元關係 R R R 的特徵函數 C R C_R C R 是遞歸函數, 則關係 R R R 叫做遞歸關係 . 一元遞歸關係叫做 N \mathbb{N} 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*}
C ≤ ( n , m ) = sg ( n − ˙ m ) C = ( n , m ) = sg ( n − ¨ m ) C < ( n , m ) = sg ( n − ˙ m )
若
R R R 是
k k k 元遞歸關係, 則
R ‾ \overline{R} R 也是
k k k 元遞歸關係, 其中
R ‾ = N k − R \overline{R}=\mathbb{N}^k-R R = N k − R :
C R ‾ ( n 1 , ⋯ , n k ) = 1 − C R ( n 1 , ⋯ , n k ) C_{\overline{R}}(n_1,\cdots,n_k) = 1-C_R(n_1,\cdots,n_k) C R ( n 1 , ⋯ , n k ) = 1 − C R ( n 1 , ⋯ , n k )
若
R 1 R_1 R 1 ,
R 2 R_2 R 2 都是
k k k 元遞歸關係, 則
R 1 ∪ R 2 R_1\cup R_2 R 1 ∪ R 2 和
R 1 ∩ R 2 R_1\cap R_2 R 1 ∩ R 2 也是
k k k 元遞歸關係:
C R 1 ∪ R 2 ( n 1 , ⋯ , n k ) = sg ( C R 1 ( n 1 , ⋯ , n k ) + C R 2 ( n 1 , ⋯ , n k ) ) C R 1 ∩ R 2 ( n 1 , ⋯ , n k ) = C R 1 ( n 1 , ⋯ , n k ) × C R 2 ( n 1 , ⋯ , n k )
\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*}
C R 1 ∪ R 2 ( n 1 , ⋯ , n k ) = sg ( C R 1 ( n 1 , ⋯ , n k ) + C R 2 ( n 1 , ⋯ , n k ) ) C R 1 ∩ R 2 ( n 1 , ⋯ , n k ) = C R 1 ( n 1 , ⋯ , n k ) × C R 2 ( n 1 , ⋯ , n k )
設 R R R 是 k + 1 k+1 k + 1 元遞歸關係, 作如下 k k k 元關係:
Q = { ( n 1 , ⋯ , n k ) : ∃ x < n k s.t. ( n 1 , ⋯ , n k , 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 Q = {( n 1 , ⋯ , n k ) : ∃ x < n k s.t. ( n 1 , ⋯ , n k , x ) ∈ R }
則 Q Q Q 也是遞歸關係, 因為
C Q ( n 1 , ⋯ , n k ) = sg ( ∑ x < n k C R ( n 1 , ⋯ , n k , x ) ) C_Q(n_1,\cdots,n_k)=\text{sg}\left(\sum_{x<n_k}C_R(n_1,\cdots,n_k,x)\right) C Q ( n 1 , ⋯ , n k ) = sg ( x < n k ∑ C R ( n 1 , ⋯ , n k , x ) )
N \mathbb{N} N ,
∅ \emptyset ∅ , 獨元集
{ a } \left\{a\right\} { a } , 有限集
{ a 1 , ⋯ , a n } \lbrace a_1,\cdots,a_n\rbrace { a 1 , ⋯ , a n } 都是遞歸集. 因為:
C N ≡ 1 C_{\mathbb{N}}\equiv1 C N ≡ 1 ,
C ∅ ≡ 0 C_{\emptyset}\equiv0 C ∅ ≡ 0 ,
C { a } = C = ( n , a ) C_{\lbrace a\rbrace}=C_{=}(n,a) C { a } = C = ( n , a ) ,
{ a 1 , ⋯ , a n } = ⋃ i = 1 n { a i } \lbrace a_1,\cdots,a_n\rbrace=\bigcup_{i=1}^n \lbrace a_i\rbrace { a 1 , ⋯ , a n } = ⋃ i = 1 n { a i } .
定義二元關係 Divi \text{Divi} Divi : ( n , m ) ∈ Divi (n,m)\in \text{Divi} ( n , m ) ∈ Divi ⟺ \Longleftrightarrow ⟺ n = 0 n=0 n = 0 或 n ∣ m n\mid m n ∣ m . 則 Divi \text{Divi} Divi 是遞歸關係, 因為 C Divi ( n , m ) = sg ‾ ( rem ( n , m ) ) C_{\text{Divi}}(n,m)=\overline{\text{sg}}(\text{rem}(n,m)) C Divi ( n , m ) = sg ( rem ( n , m )) .
全體素數的集 Prm \text{Prm} Prm 是遞歸集. 用檢查因子個數的方式構造其特徵函數的遞歸形式, 若 n n n 的因子數大於 2 2 2 , 則 n n n 不是素數, 所以有 (注意 ( 0 , n ) ∈ Divi (0,n)\in\text{Divi} ( 0 , n ) ∈ Divi ):
C Prm ( n ) = ( 4 − ˙ ∑ i ≤ n C Divi ( 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) C Prm ( n ) = ( 4 − ˙ i ≤ n ∑ C Divi ( i , n ) ) × sg ( n − ˙ 1 )
設 p ( n ) p(n) p ( n ) 定義為第 n n n 個素數, 則 p p p 是一元遞歸函數, 因為
p ( 0 ) = 2 p ( n + 1 ) = μ x [ C < ( p ( n ) , x ) × C Prm ( 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*}
p ( 0 ) = 2 p ( n + 1 ) = μx [ C < ( p ( n ) , x ) × C Prm ( x ) = 1 ]
遞歸函數的可表示性
定理 : 遞歸函數在
K N K_N K N 中皆可表示.
綜合上文的一些結論可知, + + + , × \times × , π i k \pi^k_i π i k , C ≤ C_{\leq} C ≤ 四種函數及它們經有限次複合和使用 μ \mu μ 算子得到的函數是可表示函數.
函數 Z \mathsf{Z} Z , S \mathsf{S} S , sg \text{sg} sg , sg ‾ \overline{\text{sg}} sg , C = C_{=} C = , − ˙ \dot{-} − ˙ , rem \text{rem} rem 都是可表示函數. 因為:
S ( n ) = n + C ≤ ( n , n ) \mathsf{S}(n)=n+C_{\leq}(n,n) S ( n ) = n + C ≤ ( 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) Z ( n ) = C ≤ ( n + 1 , n ) = C ≤ ( 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 ≤ ( 1 , n ) = C ≤ ( S ( Z ( n )) , n ) ,
sg ‾ ( n ) = C ≤ ( n , Z ( n ) ) \overline{\text{sg}}(n)=C_{\leq}(n,\mathsf{Z}(n)) sg ( n ) = C ≤ ( n , Z ( n )) ,
C = ( n , m ) = C ≤ ( n , m ) × C ≤ ( m , n ) C_{=}(n,m)=C_{\leq}(n,m)\times C_{\leq}(m,n) C = ( n , m ) = C ≤ ( n , m ) × C ≤ ( 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] n − ˙ m = μx [ sg ( C ≤ ( n , m + x ) ) = 0 ] ,
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))) rem ( n , m ) = sg ( n ) × ( m − ˙ ( n × ( μx [ sg ( n ) × C ≤ ( n × x , m ) = 0 ] − ˙ 1 ))) .
接下來只要證明可表示函數對原始遞歸封閉即可. 由於形式系統中不能有無限步的歸納, 我們必須對歸納的過程值進行編碼, 把任意長度的序列 “壓縮” 進單個值, 隨後再把計算所需信息 “解碼” 出來.
然而問題在於, 我們一般用於編碼的指數函數和素因數分解, 其定義本身就用到了原始遞歸. 為避免循環, Gödel 巧妙地利用了中國剩餘定理. (注意, 上文已經證明了 rem \text{rem} rem 可表示)
引理1 : 定義 Gödel 函數
β ( b , c , i ) = rem ( 1 + ( i + 1 ) b , c ) \beta(b,c,i)=\text{rem}(1+(i+1)b,c) β ( b , c , i ) = rem ( 1 + ( i + 1 ) b , c ) , 則
β \beta β 是
K N K_N K N 的可表示函數, 且對於給定的
a 0 , ⋯ , a m ∈ N a_0,\cdots,a_m\in\mathbb{N} a 0 , ⋯ , a m ∈ N , 一定存在
b , c ∈ N b,c\in\mathbb{N} b , c ∈ N ,
b ≤ c b\le c b ≤ c , 滿足
β ( b , c , i ) = a i \beta(b,c,i)=a_i β ( b , c , i ) = a i , 其中
i = 0 , ⋯ , m i=0,\cdots,m i = 0 , ⋯ , m .
證明 : 令 s = max { a 0 , ⋯ , a m , m } s=\max\lbrace a_0,\cdots,a_m,m\rbrace s = max { a 0 , ⋯ , a m , m } , 取 b = s ! b=s! b = s ! , 則 1 + b , ⋯ , 1 + ( m + 1 ) b 1+b,\cdots,1+(m+1)b 1 + b , ⋯ , 1 + ( m + 1 ) b 兩兩互素. 由中國剩餘定理知 rem ( 1 + ( i + 1 ) b , c ) = a i \text{rem}(1+(i+1)b,c)=a_i rem ( 1 + ( i + 1 ) b , c ) = a i , i = 0 , ⋯ , m i=0,\cdots,m i = 0 , ⋯ , m 有解. □ \square □
引理2 : 如下函數是可表示函數:
pair ( b , c ) : = 1 2 ( b + c ) × ( b + c + 1 ) + b fst ( 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 ( b , c ) fst ( d ) snd ( d ) := 2 1 ( b + c ) × ( b + c + 1 ) + b := μx [ ∃ y < d ( pair ( x , y ) = d ) ] := μ y [ ∃ x < d ( pair ( x , y ) = d ) ]
pair \text{pair} pair 是著名的 Cantor 配對函數, 它是一個
N × N → N \mathbb{N}\times\mathbb{N}\to\mathbb{N} N × N → N 的雙射, 這保證了根存在條件 (在此其實並不關鍵). 令
d = pair ( b , c ) d=\text{pair}(b,c) d = pair ( b , c ) , 則
b = fst ( d ) b=\text{fst}(d) b = fst ( d ) ,
c = snd ( d ) c=\text{snd}(d) c = snd ( d ) . 這三個函數的作用是把
b b b 和
c c c 進一步 "壓縮" 到單個值.
令 γ ( d , i ) = β ( fst ( d ) , snd ( d ) , i ) \gamma(d,i)=\beta(\text{fst}(d),\text{snd}(d),i) γ ( d , i ) = β ( fst ( d ) , snd ( d ) , i ) , 由引理1知, 任給 a 0 , ⋯ , a m ∈ N a_0,\cdots,a_m\in\mathbb{N} a 0 , ⋯ , a m ∈ N , 必存在 d d d 使得 γ ( d , i ) = a i \gamma(d,i)=a_i γ ( d , i ) = a i , i = 0 , ⋯ , m i=0,\cdots,m i = 0 , ⋯ , m .
命題 :
K N K_N K N 的可表示函數對原始遞歸封閉.
證明 : 設
k + 1 k+1 k + 1 元函數
f f f 滿足
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*}
f ( α , 0 ) = g ( α ) f ( α , m + 1 ) = h ( α , m , f ( α , m ) )
其中
g g g ,
h h h 是可表示函數,
α \alpha α 是
n 1 , ⋯ , n k n_1,\cdots,n_k n 1 , ⋯ , 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) R ( α , m , d ) := ( γ ( d , 0 ) = g ( α )) ∧ ∀ i < m ( γ ( d , i + 1 ) = h ( α , m , γ ( d , i )) )
則 R R R 是可表示的, 從而 R R R 的特徵函數 C R C_R C R 也可表示. 令
F ( α , m ) : = μ d [ C R ( α , m , d ) = 1 ] F(\alpha,m):=\mu d\left[C_R(\alpha,m,d)=1\right] F ( α , m ) := μ d [ C R ( α , m , d ) = 1 ]
則 F F F 也可表示. 取 a i = f ( α , i ) a_i=f(\alpha,i) a i = f ( α , i ) , i = 0 , ⋯ , m i=0,\cdots,m i = 0 , ⋯ , m , 據引理1, F F F 滿足根存在條件, 可知 F F F 是良好定義的全函數. 最後令 f ( α , m ) = γ ( F ( α , m ) , m ) f(\alpha,m)=\gamma(F(\alpha,m),m) f ( α , m ) = γ ( F ( α , m ) , m ) 即可. □ \square □
由此可知, 任意遞歸函數都是可表示函數. 一個明顯的推論是: 任意遞歸關係在 K N K_N K N 中可表示.
語法的算術化
Gödel 配數
證明 Gödel 不完備性定理的一個關鍵步驟是對形式語言 K N K_N K N (有限符號串) 進行編碼 (配數), 使 K N K_N K N 算術化, 以便之後讓 K N K_N K N 從內部 “談論自身”. 配數的方法有很多種, 下面是其中一種.
首先, 給每個字母 u u u 指定一個 Gödel 數 g ( u ) \text{g}(u) g ( u ) 如下:
u S + × ¬ → ∀ ≈ 0 ‾ x i g ( u ) 1 3 5 7 9 11 13 15 15 + 2 i
\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}
u g ( u ) S 1 + 3 × 5 ¬ 7 → 9 ∀ 11 ≈ 13 0 15 x i 15 + 2 i
字母串
u 0 u 1 ⋯ u k u_0 u_1\cdots u_k u 0 u 1 ⋯ u k 的 Gödel 數定義為:
g ( u 0 u 1 ⋯ u k ) = ⟨ u 0 u 1 ⋯ u k ⟩ : = 2 g ( u 0 ) 3 g ( u 1 ) ⋯ p k g ( u k ) \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)} g ( u 0 u 1 ⋯ u k ) = ⟨ u 0 u 1 ⋯ u k ⟩ := 2 g ( u 0 ) 3 g ( u 1 ) ⋯ p k g ( u k )
其中
p k p_k p k 是第
k k k 個素數. 規定空序列的 Gödel 數為
⟨ ⟩ = 1 \langle\ \rangle=1 ⟨ ⟩ = 1 .
字母串的 Gödel 數與字母的 Gödel 數不會相同, 因為前者是偶數, 後者是奇數; 由自然數的唯一分解性, 不同字母串的 Gödel 數也不會相同.
設 τ 0 , ⋯ , τ n \tau_0,\cdots,\tau_n τ 0 , ⋯ , τ n 是字母串的一個有限序列, 則該序列的 Gödel 數定義為:
g ( τ 0 , ⋯ , τ n ) = ⟨ τ 0 , ⋯ , τ n ⟩ : = 2 g ( τ 0 ) 3 g ( τ 1 ) ⋯ p n g ( τ 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)} g ( τ 0 , ⋯ , τ n ) = ⟨ τ 0 , ⋯ , τ n ⟩ := 2 g ( τ 0 ) 3 g ( τ 1 ) ⋯ p n g ( τ n )
容易驗證, 這種擴張保持單射性.
編碼相關的遞歸函數
上文已表明, 整除關係 Divi \text{Divi} Divi 是遞歸關係, 素數集 Prm \text{Prm} Prm 是遞歸集, 一元函數 p n p_n p n 是遞歸函數.
當 n > 1 n>1 n > 1 時, 設 n = 2 e 0 3 e 1 ⋯ p k e k n=2^{e_0}\thinspace 3^{e_1}\cdots\thinspace p_k^{e_k} n = 2 e 0 3 e 1 ⋯ p k e k , 則如下定義的函數是遞歸的:
( n ) m = { e m , n > 1 0 , n = 0 or n = 1
(n)_{m}=\begin{cases}
e_{m}, &n>1 \\
0, & n=0\enspace\text{or}\enspace n=1
\end{cases}
( n ) m = { e m , 0 , n > 1 n = 0 or n = 1
因為
( n ) m = μ x [ sg ( n ) × sg ‾ ( rem ( p m x + 1 , n ) ) = 0 ] (n)_{m}=\mu x\left[\text{sg}(n)\times\overline{\text{sg}}(\text{rem}(p_{m}^{x+1},n))=0\right] ( n ) m = μx [ sg ( n ) × sg ( rem ( p m x + 1 , n )) = 0 ]
定義一元函數 lh \text{lh} lh : 若 n = 0 n=0 n = 0 或 1 1 1 , 則 lh ( n ) = 0 \text{lh}(n)=0 lh ( n ) = 0 ; 若 n > 1 n>1 n > 1 , 則 lh ( n ) \text{lh}(n) lh ( n ) 為 n n n 的素因子的個數. 函數 lh \text{lh} lh 是遞歸的, 因為
lh ( n ) = ∑ x ≤ n ( C Prm ( x ) × C Divi ( x , n ) ) \text{lh}(n)=\sum_{x\leq n}\left(C_{\text{Prm}}(x)\times C_{\text{Divi}}(x,n)\right) lh ( n ) = x ≤ n ∑ ( C Prm ( x ) × C Divi ( x , n ) )
稱 lh \text{lh} lh 為長度函數, 因為對任何 n = ⟨ u 0 ⋯ u k ⟩ n=\langle u_0\cdots u_k\rangle n = ⟨ u 0 ⋯ u k ⟩ 有 lh ( n ) = k + 1 \text{lh}(n)=k+1 lh ( n ) = k + 1 .
二元並接函數
∗ \ast ∗ 定義為
n ∗ m = n × ∏ x < lh ( m ) p lh ( n ) + x ( m ) x n \ast m = n\times\prod_{x<\text{lh}(m)}p_{\text{lh}(n)+x}^{(m)_x} n ∗ m = n × x < lh ( m ) ∏ p lh ( n ) + x ( m ) x
設 n = 2 a 0 3 a 1 ⋯ p k a k n=2^{a_0}\thinspace 3^{a_1}\cdots\thinspace p_k^{a_k} n = 2 a 0 3 a 1 ⋯ p k a k , m = 2 b 0 3 b 1 ⋯ p l b l m=2^{b_0}\thinspace 3^{b_1}\cdots\thinspace p_l^{b_l} m = 2 b 0 3 b 1 ⋯ p l b l , 且 a 0 , ⋯ , a k a_0,\cdots,a_k a 0 , ⋯ , a k 皆非零, 則
n ∗ m = 2 a 0 3 a 1 ⋯ p k a k p k + 1 b 0 p k + 2 b 1 ⋯ p k + l + 1 b l n \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 ∗ m = 2 a 0 3 a 1 ⋯ p k a k p k + 1 b 0 p k + 2 b 1 ⋯ p k + l + 1 b l
即 n = ⟨ r 0 ⋯ r k ⟩ n=\langle r_0\cdots r_k\rangle n = ⟨ r 0 ⋯ r k ⟩ , m = ⟨ s 0 ⋯ s l ⟩ m=\langle s_0\cdots s_l\rangle m = ⟨ s 0 ⋯ s l ⟩ ⟹ \Longrightarrow ⟹ n ∗ m = ⟨ r 0 ⋯ r k s 1 ⋯ s l ⟩ n\ast m=\langle r_0\cdots r_k s_1\cdots s_l\rangle n ∗ m = ⟨ r 0 ⋯ r k s 1 ⋯ s l ⟩ .
由 ( n ) m (n)_{m} ( n ) m 和 lh \text{lh} lh 的定義知, 函數 ∗ \ast ∗ 也是遞歸的.
對 k + 1 k+1 k + 1 元全函數 f f f , 定義 f f f 的歷史函數 F F F :
F ( α , n ) = ∏ x ≤ n p x f ( α , x ) = p 0 f ( α , 0 ) p 1 f ( α , 1 ) ⋯ p n f ( α , 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)} F ( α , n ) = x ≤ n ∏ p x f ( α , x ) = p 0 f ( α , 0 ) p 1 f ( α , 1 ) ⋯ p n f ( α , n )
稱
k + 1 k+1 k + 1 元函數
f f f 是由
g g g 和
h h h 經
強遞歸 得到的, 如果
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*}
f ( α , 0 ) = g ( α ) f ( α , n + 1 ) = h ( α , n , F ( α , n ))
命題 : 如果
f f f 是由
g g g 和
h h h 經強遞歸得到的, 且
g g g 和
h h h 都是原始遞歸函數, 則
f f f 也是原始遞歸的.
證明 : 只需證明 F F F 是原始遞歸的. 事實上,
F ( α , 0 ) = 1 , F ( α , n + 1 ) = F ( α , n ) × p n + 1 h ( α , 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 ( α , 0 ) = 1 , F ( α , n + 1 ) = F ( α , n ) × p n + 1 h ( α , n , F ( α , n ))
從而 f ( α , n ) = ( F ( α , n ) ) n f(\alpha,n)=(F(\alpha,n))_n f ( α , n ) = ( F ( α , n ) ) n 也是原始遞歸的. □ \square □
該命題給出了在遞歸定義中引用任何已有項的合法性.
形式算術的遞歸性質
一元函數 Num \text{Num} Num 定義為 Num ( n ) = g ( n ‾ ) \text{Num}(n)=\text{g}(\overline{n}) Num ( n ) = g ( n ) , 則 Num \text{Num} Num 是遞歸函數, 因為
Num ( 0 ) = g ( 0 ‾ ) = 2 15 Num ( n + 1 ) = 2 1 ∗ g ( n ‾ ) = 2 1 ∗ Num ( 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*}
Num ( 0 ) = g ( 0 ) = 2 15 Num ( n + 1 ) = 2 1 ∗ g ( n ) = 2 1 ∗ Num ( n )
命題 :
N \mathbb{N} N 的以下子集是遞歸集:
VS = { 2 15 + 2 k : k ≥ 1 } \text{VS}=\lbrace2^{15+2k}:k\ge 1\rbrace VS = { 2 15 + 2 k : k ≥ 1 } : 所有個體變元的 Gödel 數構成的集,
TM \text{TM} TM : 所有 K N K_N K N 的項的 Gödel 數構成的集,
YF \text{YF} YF : 所有 K N K_N K N 的原子公式的 Gödel 數構成的集,
FM \text{FM} FM : 所有 K N K_N K N 的公式的 Gödel 數構成的集.
證明 : VS \text{VS} VS 的特徵函數很容易構造; 另外三個集的特徵函數使用強遞歸條件引用已有項即可. □ \square □
對於 i = 1 , ⋯ , 5 i=1,\cdots,5 i = 1 , ⋯ , 5 , 把所有 (Ki) \text{(Ki)} (Ki) 型公理的 Gödel 數構成的集記作 LA i \text{LA}_i LA i .
容易證明 LA 1 \text{LA}_1 LA 1 , LA 2 \text{LA}_2 LA 2 , LA 3 \text{LA}_3 LA 3 的遞歸性. 而要證明 LA 4 \text{LA}_4 LA 4 和 LA 5 \text{LA}_5 LA 5 的遞歸性, 難點在於表達如下關係: 在 Gödel 數為 n 3 n_3 n 3 的項 u ( x i ) u(x_i) u ( x i ) 或公式 φ ( x i ) \varphi(x_i) φ ( x i ) 中, 用 Gödel 數為 n 2 n_2 n 2 的項 t t t 去替換 Gödel 數為 n 1 n_1 n 1 的變元 x i x_i x i 的所有自由出現, 所得結果 u ( t ) u(t) u ( t ) 或 φ ( t ) \varphi(t) φ ( t ) 的 Gödel 數是 n 4 n_4 n 4 .
令 γ = 2 n 3 3 n 4 ⋯ \gamma=2^{n_3}\thinspace 3^{n_4}\cdots γ = 2 n 3 3 n 4 ⋯ , 則 ( γ ) 0 = n 3 (\gamma)_0=n_3 ( γ ) 0 = n 3 , ( γ ) 1 = n 4 (\gamma)_1=n_4 ( γ ) 1 = n 4 , 藉此將 n 1 n_1 n 1 , n 2 n_2 n 2 , n 3 n_3 n 3 , n 4 n_4 n 4 的四元關係轉化為一個三元關係.
定義三元關係
SBS \text{SBS} SBS :
( n 1 , n 2 , γ ) ∈ SBS (n_1,n_2,\gamma)\in\text{SBS} ( n 1 , n 2 , γ ) ∈ SBS ⟺ \Longleftrightarrow ⟺ n 1 ∈ VS n_1\in\text{VS} n 1 ∈ VS ,
n 2 ∈ TM n_2\in\text{TM} n 2 ∈ TM ,
( γ ) 0 ∈ TM ∪ FM (\gamma)_0\in\text{TM}\cup\text{FM} ( γ ) 0 ∈ TM ∪ FM ,
( γ ) 1 (\gamma)_1 ( γ ) 1 是用
n 2 n_2 n 2 (對應的) 項去替換
( γ ) 0 (\gamma)_0 ( γ ) 0 項或
( γ ) 0 (\gamma)_0 ( γ ) 0 公式中的
n 1 n_1 n 1 變元的全部自由出現所得結果的 Gödel 數.
通過分析用項 t t t 去替換項 u ( x i ) u(x_i) u ( x i ) 或公式 φ ( x i ) \varphi(x_i) φ ( x i ) 中所有自由的 x i x_i x i 所得的可能類型, 可以逐個寫出關係 SBS \text{SBS} SBS 需滿足的約束條件, 從而用強遞歸寫出 C SBS C_{\text{SBS}} C SBS 的特徵函數, 表明 SBS \text{SBS} SBS 是遞歸關係. 證明細節略過.
在
SBS \text{SBS} SBS 的基礎上, 定義三元函數
Sub \text{Sub} Sub :
Sub ( n 1 , n 2 , n 3 ) = μ x [ C SBS ( n 1 , n 2 , 2 n 3 3 x ) + C ≤ ( ( p n 2 n 3 ) n 2 2 n 3 2 , 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 ( n 1 , n 2 , n 3 ) = μx [ C SBS ( n 1 , n 2 , 2 n 3 3 x ) + C ≤ ( ( p n 2 n 3 ) n 2 2 n 3 2 , x ) = 1 ]
在函數 Sub \text{Sub} Sub 中加一項 C ≤ ( m , x ) C_{\leq}(m,x) C ≤ ( m , x ) 是為了確保根存在性條件, m m m 需要取得充分大, 以至於不可能是上述替換結果的 Gödel 數, 這裡取 m = ( p n 2 n 3 ) n 2 2 n 3 2 m=(p_{n_2 n_3})^{n_2^2 n_3^2} m = ( p n 2 n 3 ) n 2 2 n 3 2 . 函數 Sub \text{Sub} Sub 顯然是遞歸的.
根據定義, 可以把上式具體寫作:
Sub ( n 1 , n 2 , n 3 ) = { g ( u ( t ) ) , if n 1 = g ( x i ) , n 2 = g ( t ) , n 3 = g ( u ( x i ) ) ; g ( φ ( t ) ) , if n 1 = g ( x i ) , n 2 = g ( t ) , n 3 = g ( φ ( x i ) ) ; ( p n 2 n 3 ) n 2 2 n 3 2 , 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}
Sub ( n 1 , n 2 , n 3 ) = ⎩ ⎨ ⎧ g ( u ( t )) , g ( φ ( t )) , ( p n 2 n 3 ) n 2 2 n 3 2 , if n 1 = g ( x i ) , n 2 = g ( t ) , n 3 = g ( u ( x i )) ; if n 1 = g ( x i ) , n 2 = g ( t ) , n 3 = g ( φ ( x i )) ; otherwise .
命題 : 如下關係是遞歸關係:
FR = { ( n 1 , n 2 ) : n 1 \text{FR}=\lbrace(n_1,n_2):n_1 FR = {( n 1 , n 2 ) : n 1 變元在 n 2 n_2 n 2 項或 n 2 n_2 n 2 公式中自由出現 } \rbrace }
FRT = { ( n 1 , n 2 , n 3 ) : n 2 \text{FRT}=\lbrace(n_1,n_2,n_3):n_2 FRT = {( n 1 , n 2 , n 3 ) : n 2 項對 n 3 n_3 n 3 公式中的 n 1 n_1 n 1 變元是自由的 } \rbrace }
證明 :
用不同於 n 1 n_1 n 1 變元 x i x_i x i 的另一變元, 例如 x i + 1 x_{i+1} x i + 1 (注意有 g ( x i + 1 ) = n 1 × 2 2 \text{g}(x_{i+1})=n_1\times 2^2 g ( x i + 1 ) = n 1 × 2 2 ), 去替換 n 2 n_2 n 2 項或 n 2 n_2 n 2 公式中所有自由出現的 x i x_i x i , 所得結果發生變化, 則說明 n 1 n_1 n 1 變元在 n 2 n_2 n 2 項或 n 2 n_2 n 2 公式中自由出現. 於是有
( n 1 , n 2 ) ∈ FR ⟺ n 1 ∈ VS ∧ n 2 ∈ TM ∪ FM ∧ ( n 1 , n 1 × 2 2 , 2 n 2 3 n 2 ) ∉ 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} ( n 1 , n 2 ) ∈ FR ⟺ n 1 ∈ VS ∧ n 2 ∈ TM ∪ FM ∧ ( n 1 , n 1 × 2 2 , 2 n 2 3 n 2 ) ∈ SBS
分情況用強遞歸寫出 C FRT C_{\text{FRT}} C FRT , 細節略. □ \square □
由
Sub \text{Sub} Sub ,
FR \text{FR} FR ,
FRT \text{FRT} FRT 的遞歸性可得
LA 4 \text{LA}_4 LA 4 和
LA 5 \text{LA}_5 LA 5 的遞歸性.
從而 LA = LA 1 ∪ ⋯ ∪ LA 5 \text{LA}=\text{LA}_1\cup\cdots\cup\text{LA}_5 LA = LA 1 ∪ ⋯ ∪ LA 5 是遞歸集, 即 K N K_N K N 的所有邏輯公理的 Gödel 數構成的集是遞歸集.
令
EA i \text{EA}_i EA i 為
(Ei) \text{(Ei)} (Ei) 型等詞公理的 Gödel 數構成的集,
NA i \text{NA}_i NA i 為
(Ni) \text{(Ni)} (Ni) 型算術公理的 Gödel 數構成的集. 仿照上面的分析可以得到
EA i \text{EA}_i EA i 和
NA i \text{NA}_i NA i 的遞歸性.
從而 PA \text{PA} PA (= EA 1 ∪ ⋯ ∪ EA 3 ∪ NA 1 ∪ ⋯ ∪ NA 7 =\text{EA}_1\cup\cdots\cup\text{EA}_3\cup\text{NA}_1\cup\cdots\cup\text{NA}_7 = EA 1 ∪ ⋯ ∪ EA 3 ∪ NA 1 ∪ ⋯ ∪ NA 7 ) 也是遞歸集, 即 N \mathcal{N} N 中公式的 Gödel 數集是遞歸集. 進而, AX = LA ∪ PA \text{AX}=\text{LA}\cup\text{PA} AX = LA ∪ PA 是遞歸集, 即包括邏輯公理和算術公理在內的所有 K N K_N K N 公理的 Gödel 數構成的集是遞歸集.
如下關係或集是遞歸的:
MP = { ( n 1 , n 2 , n 3 ) : n 1 = g ( φ ) , n 2 = g ( φ → ψ ) , n 3 = 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 MP = {( n 1 , n 2 , n 3 ) : n 1 = g ( φ ) , n 2 = g ( φ → ψ ) , n 3 = g ( ψ )} ,
GEN = { ( n 1 , n 2 ) : n 1 = g ( φ ) , n 2 = g ( ∀ x i φ ) } \text{GEN}=\lbrace(n_1,n_2):n_1=\text{g}(\varphi),n_2=\text{g}(\forall x_i\varphi)\rbrace GEN = {( n 1 , n 2 ) : n 1 = g ( φ ) , n 2 = g ( ∀ x i φ )} ,
PF = { n : n \text{PF}=\lbrace n:n PF = { n : n 是從 N \mathcal{N} N 的證明的 Gödel 數 } \rbrace } ,
PRF = { ( n , m ) : m = g ( φ ) \text{PRF}=\lbrace(n,m):m=\text{g}(\varphi) PRF = {( n , m ) : m = g ( φ ) , n n n 是 φ \varphi φ 從 N \mathcal{N} N 的證明的 Gödel 數 } \rbrace } .
這裡 PF \text{PF} PF 的遞歸性僅僅依賴於 “AX \text{AX} AX 是遞歸的” 這一點, 而與 AX \text{AX} AX 中包含哪些具體公理的 Gödel 數無關. 不論怎樣增減公理, 只要不改變 AX \text{AX} AX 的遞歸性, 就不改變 PF \text{PF} PF 的遞歸性.
AX \text{AX} AX 和
PF \text{PF} PF 都是遞歸集, 所以根據 Church 論題, 存在能行算法可用來判定任意有限字母串是不是
N \mathcal{N} N 的公理, 以及任給的有限公式序列是不是從
N \mathcal{N} N 的一個證明. 我們稱這樣的理論是
遞歸可公理化 的.
下一篇: Gödel 不完備性定理和 Turing 機