39. 数学归纳法

数学归纳法是一个证明命题的方法.

定理 39.1 (数学归纳法). 是跟整数  有关的句子. 设存在一个整数 使:

(1) (起始步) 为真;

(2) (递推步) 对每一个不低于 的整数 , “若 为真, 则 为真” 是真的.

那么, 对每一个不低于 的整数 , 是真的.

形象地, 我们可视每一个 为一本竖立的书. 我们视 “ 为真” 为 “第  本书倒下”. 假定, 我们推倒了第  本书 (这对应 “起始步”), 且一本书倒下总会使跟在它后面的那一本书倒下 (这对应 “递推步”). 那么, 第  本书, 与其后面的书, 都应倒下.

我们看一个具体的例.

例 39.2. 是正整数. 用数学归纳法证明(39.1)

既然, 我们要证, 对正整数 , 式 (39.1) 是正确的, 我们可试取 , 并设命题 : . 我们验证数学归纳法的条件, 即起始步与递推步, 是否成立.

(1) , 即 . 这显然是对的. 故起始步成立.

(2) 我们假定 是对的, 其中 . 我们要由此证明 是对的: 其中, 从行 2 到行 3, 我们用到了 “ 为真” 的假定 (我们叫这样的假定为归纳假定). 所以, (若 是对的, 则) 是对的. 故递推步成立.

根据数学归纳法原理, 对任何正整数  都是成立的.

值得注意的是, 数学归纳法只是证明命题的一个方法. 其实, 我们可用更简单的方法证式 (39.1). 我们记因为数的加法适合结合律与交换律, 故从而, 仍由结合律与交换律,由此可知 .

在数学归纳法里, 起始步与递推步是缺一不可的.

例 39.3 (缺起始步). 是正整数. 用数学归纳法 “证明” (39.2)

既然, 我们要证, 对正整数 , 式 (39.2) 是正确的, 我们可试取 , 并设命题 : . 我们验证数学归纳法的条件, 即起始步与递推步, 是否都成立.

(1) , 即 . 这显然是对的. 故起始步成立.

(2) 我们假定 是对的, 其中 . 我们要由此证明 也是对的: 其中, 从行 2 到行 3, 我们用到了 “ 为真” 的假定. 所以, (若 是对的, 则) 是对的. 故递推步成立.

所以, 根据数学归纳法, 式 (39.2) 是正确的. 可是, 式 (39.2) 不可能是对的! 上个例说, 左侧是 , 而 不可能相等.

我在哪儿出了问题? 不难看出, 起始步出问题了: 我 “错误地” 认为 是对的.

由此可见, 数学归纳法的起始步是不可少的.

例 39.4 (缺递推步). 用数学归纳法 “证明” 命题 ( 为正整数): 对任何  个数 , , , , 它 (们) 都相等.

既然, 我们要证, 对正整数 , 是正确的, 我们可试取 . 我们验证数学归纳法的条件, 即起始步与递推步, 是否都成立.

(1) , 即: 对任何  个数 , 它 (们) 都相等. 一般地, 我们认为, 一个数总等于自己. 所以, 是对的. 故起始步成立.

(2) 我们假定 是对的, 其中 . 我们要由此证明 也是对的. 任取  个数 , , , , . 考虑这  个数的前  个: , , , . 因为 是对的, 故再考虑这  个数的后  个: , , , . 仍因 是对的, 故既然 , , , 故所以, (若 是对的, 则) 是对的. 故递推步成立.

所以, 根据数学归纳法, 对每一个正整数 , 是正确的. 可是, 这甚至不合常识: 毕竟, 就是不相同的二个数.

我在哪儿出了问题? 其实, 是不能推出 的. 但是, 的确可推出 ; 甚至, 不难看出, 对每一个不低于 的整数 , “若 为真, 则 为真” 是对的. 虽然如此, 因存在一个不低于 的整数 , 使 “若 为真, 则 为真” 是错的, 故递推步不成立.

由此可见, 数学归纳法的递推步也是不可少的.

最后, 我用二个有挑战的例助您更好地理解与运用数学归纳法.

例 39.5. 设数列 , , , , 适合用数学归纳法证明: 对任何正整数 ,

根据前面的经验, 我们试取 , 并设命题 : . 验证起始步时, 没有什么问题: 可是, 在验证递推步时, 我们发现, 我们无法由 推出 . 毕竟, 此数列的前  项被定义为 , 无关.

那么, 既然选 不合适, 我们能否选 ? 首先, 也是对的: 可是, 我们仍无法由 推出 (注意, 此处已假定 ). 我们假定 是对的; 换句话说, 我们假定 . 我们要证 . 根据此数列的定义, . 我们可代 以归纳假定, 但 不可换.

我们无妨考虑用数学归纳法证明命题 : 是正确的.

首先, 是对的; 我们验证过.

然后, 我们假定 是对的. 我们要由此证明 是对的. 既然 是对的, 那么 都是对的. 为了证明 是对的, 我们要证 , 即 都是对的. 根据假定, 是对的. 我们只要证 也是对的, 即可知, 是对的: 所以, (若 是对的, 则) 是对的.

根据数学归纳法原理, 对任何正整数  都是成立的. 进而, 对任何正整数  是成立的.

当然, 我们还可考虑, 用数学归纳法证命题 ( 为不低于 的整数): 对任何不超过 的正整数 , 是正确的. (注意, 此处的 ; 并且, 我留此事为您的习题.) 这样, 我们也能证明, 对任何正整数 是成立的.

由此可见:

(1) 不是每一个跟整数相关的命题都能直接地被数学归纳法证明.

(2) 有时, 为运用数学归纳法, 我们要恰当地作辅助命题.

(3) 有时, 辅助命题的作法多于一个.

例 39.6., 是正整数. 若存在正整数 使 , 我们就说, 的一个因子.

注意到, 是每一个正整数的因子.

显然, 每一个正整数 都有因子 , (注意, 这不一定是二个互不相同的数, 除非 ). 我们说, 这是 平凡的因子.

设正整数 . 若 没有不是平凡的因子 (也就是, 有且只有平凡的因子), 我们说, 是一个素数. 比如, , , , 都是素数, 但 , , , 都不是素数. (根据定义, 也不是素数.)

我们证明: 可写一个高于  的整数为若干个素数的积. 具体地, 设命题 : 存在若干个素数 , , , 使那么, 我们的目标就是, 当 时, 是正确的.

我们试直接用数学归纳法证 . 取 . 因为 是一个素数, 故它当然是 “一个素数的积” (即自己). 但是, 我们似乎无法由 推出 , 因为, 的因子似乎没有 “有意思的关系”. (因子的定义涉及乘法, 而跟加法的关系不那么大. 试想: 若您知道 的因子, 那您知道 有哪些不是平凡的因子的因子吗? 这或许是难的.)

根据上个例的经验, 我们试作辅助命题 : 是正确的. 取 . 不难验证, 是正确的. 但是, 我们似乎仍无法由 推出 .

现在, 您看我的表演. 我作辅助命题 : 对每一个高于 且不低于 的整数 , 是正确的. 现在, 我要用数学归纳法证: 当 时, 是正确的.

. 不难验证, 是正确的.

现在, 设 是正确的. 我要由此证 也是正确的. (这跟 “设 是正确的, 由此证 是正确的” 的本质是一样的; 我只是换 而已. 毕竟, , 只是 “编号”.)

因为 是正确的, 故 , , 都是正确的. 所以, 若我们能由此证明 是正确的, 则 是正确的.

是一个素数, 则 当然是 “一个素数的积” (即自己). 那, 若 不是一个素数, 会如何? 既然 不是一个素数, 那么, 按定义, 它就有不是平凡的因子的因子 ; 也就是, 存在一个高于 , 且低于 的整数 , 存在一个整数 , 使 . 不难看出, 此 也是高于 , 且低于 的. 所以, , 是正确的. 则存在素数 , , 使 , 且存在素数 , , 使 . 从而也是若干个素数的积.

由此可见, 是正确的.

根据数学归纳法原理, 对任何高于 的整数  都是成立的. 进而, 对任何高于 的整数  是成立的.