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. 设 , 是正整数. 若存在正整数 使 , 我们说, 是 的一个因子.
注意, 是每一个正整数的因子.
显然, 每一个正整数 都有因子 , (注意, 这不一定是二个互不相同的数, 除非 ). 我们说, 这是 的平凡的因子.
设正整数 . 若 没有不是平凡的因子 (也就是, 有且只有平凡的因子), 我们说, 是一个素数. 比如, , , , 都是素数, 但 , , , 都不是素数. (根据定义, 不是素数.)
我们证明, 可写一个高于 的整数为若干个素数的积. 具体地, 设命题 : 存在若干个素数 , , , 使那么, 我们的目标就是, 当 时, 是对的.
我们试直接用数学归纳法证 . 取 . 因为 是一个素数, 故它当然是一个素数的积 (即自己). 不过, 我们似乎无法由 推出 , 因为, 跟 的因子似乎没有有意思的关系. (因子的定义跟乘法有关, 而跟加法的关系不那么大. 比如, 即使知道 是 的因子, 但知道 的不是平凡的因子的因子或许是难的.)
根据上个例的经验, 我们试作辅助命题 : 与 是对的. 取 . 不难验证, 是对的. 不过, 我们似乎仍无法由 推出 .
现在, 您看我的表演. 我作辅助命题 : 对每一个高于 且不低于 的整数 , 是对的. 现在, 我要用数学归纳法证: 当 时, 是对的.
取 . 不难验证, 是对的.
现在, 设 是对的. 我要由此证 也是对的.
因为 是对的, 故 , , 都是对的. 所以, 若我们能由此证明 是对的, 则 是对的.
若 是一个素数, 则 当然是一个素数的积 (即自己). 那, 若 不是一个素数, 会如何? 既然 不是一个素数, 那么, 按定义, 它就有不是平凡的因子的因子 ; 也就是, 存在一个高于 , 且低于 的整数 , 存在一个整数 , 使 . 不难看出, 此 也是高于 , 且低于 的. 所以, , 是对的. 则存在素数 , , 使 , 且存在素数 , , 使 . 从而也是若干个素数的积.
由此可见, 是对的.
由数学归纳法, 对任何高于 的整数 都是成立的. 进而, 对任何高于 的整数 是成立的.