7.2. 原始递归函数, 集合版本

基本 (Rudimentary) 在经典递归论中恰好指的是 上的 可定义性, 但我们显然常关注的更是原始递归. 我们这一节介绍集合版本的原始递归函数, 并追随 Rathjen 证明它们恰是 可证的 函数符号——与 上的原始递归函数恰是 可证递归的函数符号遥相呼应.

定义 7.2.0.1. 我们预定一些 (当然是有穷个) 函数符号 , 然后在扩展语言中这样说: 在以下步骤下有穷步内被构造出来的函数符号 称作在 下原始递归的函数符号, 记为 :

1.

取初始函数 .

2.

取初始函数 .

3.

取初始函数 .

4.

取初始函数 .

5.

取初始函数 , 当 时其值为 , 否则其值为 .

6.

复合.

7.

递归: .

如果没有任何 被引用, 我们就直接写 . 如果一个谓词的特征函数是 函数, 则称这个谓词是 谓词.

接下来的一系列定理是可以预计的.

定理 7.2.0.2. 我们列举以下性质.

1.

基本函数均原始递归.

2.

可证原始递归函数为 函数符号.

3.

原始递归函数允许对原始递归谓词用分情形定义.

4.

原始递归函数允许带原始递归谓词的受限极小化.

5.

可定义的关系必为原始递归谓词.

6.

原始递归函数允许带原始递归谓词的取像集操作.

7.

原始递归函数允许用属于关系进行递归定义.

8.

原始递归函数允许用序数指标进行迭代.

证明. 我们逐条证明.

1.

第一条只需逐一验证基本函数诸构造方案均为原始递归所覆盖.

1.

显然也是原始递归的初始函数.

2.

.

3.

我们先验证受限极小化. 如果 是原始递归的, 我们希望证明 同样原始递归; 我们先来造 , 它在 时值为 , 否则值为 ; 这显然只需用最后一个初始函数在合适的地方复合一个 就能得到它原始递归. 我们现在递归定义 , 这当然也是原始递归的. 最后只需发现 .

4.

, 这 是最后一个初始函数.

2.

第二条同样逐一验证原始递归函数诸构造方案均为 所证.

1.

初始函数中最后最奇怪的那个 定义 .

2.

复合时添加足量的存在以保证 .

3.

递归无非是在 递归定义原理上稍作修改.

3.

这意味着如果 是原始递归谓词, 是原始递归函数, 则 同样原始递归: 它在 真时取值 , 否则取值 ; 只要注意 原始递归意味着 真当且仅当特征函数 的值包括 .

4.

这意味着如果如果 是原始递归的, 是原始递归谓词, 我们希望证明 同样原始递归; 这不过是在一般的受限极小化上面再做判定 (用最后一个初始函数).

5.

否定同上视作一次分情形定义, 用或连接是把特征函数的两个计算结果并起来. 如果 原始递归, 的特征函数的值是 .

6.

这意味着如果函数 和关系 原始递归, 则 同样原始递归; 其实这恰是 .

7.

我们定义里给的递归方案不太对劲, 因为传给 的额外参数并不是 而是 , 我们这里要证明的是如果把前者传给 递归而成的 仍原始递归. 我们事实上还能给多一点, 把 都送给 ; 要得到之前承诺的递归方案的话, 只需要稍在 上动动手脚.

我们做 , 其中 ; 这个 所用的递归方案正是定义中的那套, 所以自然是原始递归的, 我们来证 . 对 施行 归纳法, 鉴于这函数符号 , 这整句话也是 的, 所以确实可以归纳, 其余细节并无难处; 进而由复合见证原始递归.

8.

这是在说如果 都原始递归, 那如下定义的 也原始递归:

1.

;

2.

;

3.

对极限序数 , .

我们定义 , 它显然原始递归, 而我们可以将第二条重新写成 . 这启示我们这样分情形定义一个 如下:

1.

不是序数的时候, 取值为 ;

2.

时, 取值为 ;

3.

时, 取值为 ;

4.

时, 取值为 .

我们所要的 无非是 .

有了这么多个性质, 我们实有信心把大部分常见的东西都指认为原始递归函数了. 我们现在来粗略展示 Rathjen 怎么证明 可证 的函数符号恰是原始递归函数. 我们首先来把 增强一番:

定义 7.2.0.3. 我们给出 弱依赖选择公理模式, 记为 : 对公式 , 令 ; 对 公式 而言, .

元定理 7.2.0.4. 弱依赖选择公理模式可证 基础公理模式; 我们将记前一公理体系为 .

证明. 反设有一 公式 (此处 为一 公式) 在对 归纳时失效, 这意味着 但存在 使得 . 为了让 生效, 我们注意到条件说 , 这句话拆开就是 ; 一方面, 这告诉我们有 使得 ; 另一方面, 用典范技术将 编码为一个 这句话就是 , 熟知的可替性告诉我们这一坨东西仍然 .

于是 说, 任给序数 都有长 的函数 , , 且 里面装了有如上 句子后继于 里有序对的有序对. 鉴于 知道 全局, 我们不妨取这 的后继序数得到这 , 对不超过 的全体自然数 归纳可证一新的 性质, 它宣称 , 且 , 且 , 且 .

鉴于 的, 我们可以分离出 , 这东西不难证明或者是个自然数或者是 , 我们记之为序数 . 我们定义从 出发的函数 , , 则上述结论已经说明 ; 我们归纳证明 ; 注意 的, 这整条性质是 句子, 从而理应可以归纳. 归纳细节并无难处, 唯一值得注意的是在归纳后继步的时候需要注意 都是 的, 从而可以用 分离公理模式.

现在只有两种可能: 如果 是自然数, 我们取一个 就有 矛盾; 所以 不是自然数, 这说明 , 从而 不良基, 这又矛盾.

评注. 不难看出, 的主要作用是让我们取出所需的无穷降链.

我们要证明更强的结论: 可证 的函数符号也都是原始递归函数 (因而实际用 就能证出来). 这需要声明一些证明论引理, 其具体证明我们不在此处给出.

定义 7.2.0.5. 我们先来构造 的矢列演算 . 我们无视结构规则, 只用 三个连接词, 同时使用 两个量词; 下面列举 的语法:

1.

公理有如下诸条:

1.

逻辑公理: ;

2.

等词公理模式: , 额外限制 只能是 公式;

3.

外延公理: ;

4.

对集公理: ;

5.

并集公理: ;

6.

分离公理模式: , 这里 公式;

7.

集合基础公理: ;

2.

逻辑推演规则有:

1.

引入: 推出 ;

2.

引入 (两条): 推出 ;

3.

受限 引入: 推出 ;

4.

引入: 推出 ;

5.

受限 引入: 推出 ;

6.

引入: 推出 ;

7.

切割: 推出 ;

3.

非逻辑推演规则有:

1.

: 推出 , 这里 公式;

2.

: 推出 , 这里 公式;

3.

: 推出 , 这里 公式.

下面考虑 中推演 , 我们照常定义其长度 、末推演、直接子推演和 等概念; 为了合理地定义 , 先定义公式的长度:

1.

公式的长度统一视为 ; 以下假定不是 公式,

2.

带二元逻辑连接词: 加起来再加一; 带 : 加一;

3.

带受限量词: 加二; 带量词: 加一.

现在, 的秩定义为:

1.

如果末推演不是切割, 定义为全体直接子推演的秩的上确界;

2.

如果末推演是切割, 额外考察被切掉的公式的长度加一.

记存在长 的对 的推演 (这句话) 为 .

断言 ( 有效). 当且仅当 .

断言 ( 的切消). 如果 , 则 , 这里 , 这东西归纳地定义为 , .

但这些还不够, 我们还需要以下事实.

定义 7.2.0.6. 我们定义 公式是全体 公式前面加受限量词和逻辑连接词构成的公式; 不难意识到它是一类特别的 公式.

对函数 , 如果 , 则称 严格单增.

对公式 , 我们记 为将 中全体 改为 改为 所得的公式; 注意 是原始递归函数.

断言 ( 的解释定理). 如果 公式, 秩不大于 的推演 , 则存在严格单增的原始递归函数 , 使得任给序数 , 当 时均有 .

我们用这些声明的引理来证明:

元定理 7.2.0.7. 可证 公式 定义的函数符号 ( 公式), 则 原始递归.

证明. 放入 后用切消可知 ; 解释定理给我们一个原始递归函数 , 我们用它做新的原始递归函数 , 这里 , 则 , 从而 原始递归.

对于 与扩展语言中的 , 我们有类似的定理, 但这里就不再展示了.