步长为 k k k 的归纳法
标准数学归纳法用于证明某个谓词 P ( n ) P(n) P(n) 对于所有 n ≥ n 0 n \geq n_0 n≥n0 成立,它包含一个基本情况( P ( n 0 ) P(n_0) P(n0) 成立)和一个归纳步骤( ∀ n ≥ n 0 , P ( n ) ⟹ P ( n + 1 ) \forall n \geq n_0, P(n) \implies P(n+1) ∀n≥n0,P(n)⟹P(n+1))。
步长为 k k k 的归纳法是这种思想的推广。
假设我们想要证明 P ( n ) P(n) P(n) 对于所有 n ≥ n 0 n \geq n_0 n≥n0 成立,并且我们有以下形式的归纳步骤:
∀ n ≥ n 0 ′ , P ( n ) ⟹ P ( n + k ) \forall n \geq n_0', P(n) \implies P(n + k) ∀n≥n0′,P(n)⟹P(n+k)
其中 k k k 是一个正整数( k ≥ 1 k \geq 1 k≥1), n 0 ′ n_0' n0′ 是某个起始值(通常 n 0 ′ ≤ n 0 n_0' \leq n_0 n0′≤n0)。
为了使这种方法能够证明 P ( n ) P(n) P(n) 对于所有 n ≥ n 0 n \geq n_0 n≥n0 成立,我们需要适当地建立基本情况,以便通过步长为 k k k 的前进,能够覆盖所有 n ≥ n 0 n \geq n_0 n≥n0。
需要覆盖的剩余类
当模 k k k 时,整数可以分为 k k k 个剩余类(余数为 0 , 1 , … , k − 1 0, 1, \ldots, k-1 0,1,…,k−1)。如果我们的归纳步骤是 P ( n ) ⟹ P ( n + k ) P(n) \implies P(n+k) P(n)⟹P(n+k),那么 P P P 的真值会在每个剩余类内部传播,但不会在不同剩余类之间传播。
因此,为了证明 P ( n ) P(n) P(n) 对于所有 n ≥ n 0 n \geq n_0 n≥n0 成立,我们需要确保 P P P 在 n ≥ n 0 n \geq n_0 n≥n0 的每个相关的剩余类中都有一个“起点”是成立的。
考虑范围 n ≥ n 0 n \geq n_0 n≥n0。我们关心的是 n ( m o d k ) n \pmod{k} n(modk) 的所有可能值。这些值将是 { n 0 ( m o d k ) , ( n 0 + 1 ) ( m o d k ) , … , ( n 0 + k − 1 ) ( m o d k ) } \{n_0 \pmod{k}, (n_0 + 1) \pmod{k}, \ldots, (n_0 + k - 1) \pmod{k}\} {n0(modk),(n0+1)(modk),…,(n0+k−1)(modk)} 这个集合(当取模 k k k 并归到 0 , … , k − 1 0, \ldots, k-1 0,…,k−1 的范围内时,它将包含所有 k k k 个剩余类)。
基本情况的要求
为了确保 P ( n ) P(n) P(n) 对于所有 n ≥ n 0 n \geq n_0 n≥n0 成立,我们需要证明 P P P 对于一组“初始”值成立,这些值能够通过步长为 k k k 的前进覆盖所有 n ≥ n 0 n \geq n_0 n≥n0。
一个充分条件是证明 P ( n ) P(n) P(n) 对于 k k k 个连续的整数成立,这些整数开始于 n 0 n_0 n0,即 n 0 , n 0 + 1 , … , n 0 + k − 1 n_0, n_0 + 1, \ldots, n_0 + k - 1 n0,n0+1,…,n0+k−1。如果这样,那么对于任何 n ≥ n 0 n \geq n_0 n≥n0,它的余数 n ( m o d k ) n \pmod{k} n(modk) 必然与这 k k k 个起始值中的一个相同,并且 n n n 可以通过从该起始值加上 k k k 的倍数来达到。
然而,这不是必要条件。我们也可以在小于 n 0 n_0 n0 的索引上证明 P P P 成立,只要这些值通过 P ( n ) ⟹ P ( n + k ) P(n) \implies P(n+k) P(n)⟹P(n+k) 能够“到达”所有 n ≥ n 0 n \geq n_0 n≥n0 所属的剩余类。
总结
为了使用步长为 k k k 的归纳法( P ( n ) ⟹ P ( n + k ) P(n) \implies P(n+k) P(n)⟹P(n+k))证明 P ( n ) P(n) P(n) 对于所有 n ≥ n 0 n \geq n_0 n≥n0 成立,我们需要找到一个集合 S S S 的索引,使得 P ( i ) P(i) P(i) 对于所有 i ∈ S i \in S i∈S 都成立,并且集合 S S S 覆盖了所有模 k k k 的剩余类,这些剩余类在范围 n ≥ n 0 n \geq n_0 n≥n0 中出现。
更具体地说,对于每个 r ∈ { 0 , 1 , … , k − 1 } r \in \{0, 1, \ldots, k-1\} r∈{0,1,…,k−1},如果存在 n ≥ n 0 n \geq n_0 n≥n0 使得 n ≡ r ( m o d k ) n \equiv r \pmod{k} n≡r(modk),那么应该存在某个 i ∈ S i \in S i∈S 使得 i ≡ r ( m o d k ) i \equiv r \pmod{k} i≡r(modk),并且 i i i 能够通过加上非负的 k k k 的倍数到达某个 n ≥ n 0 n \geq n_0 n≥n0。一个更方便的说法可能是,对于每个 r ∈ { 0 , 1 , … , k − 1 } r \in \{0, 1, \ldots, k-1\} r∈{0,1,…,k−1},存在一个 i ∈ S i \in S i∈S 使得 i ≡ r ( m o d k ) i \equiv r \pmod{k} i≡r(modk) 且 i ≤ n 0 + k − 1 i \leq n_0 + k - 1 i≤n0+k−1。
问题 5.23 的例子 ( k = 3 , n 0 = 5 k=3, n_0 = 5 k=3,n0=5)
我们看到,选项 4 ( P ( 0 ) , P ( 1 ) , P ( 2 ) P(0), P(1), P(2) P(0),P(1),P(2)), 选项 5 ( P ( 5 ) , P ( 6 ) , P ( 7 ) P(5), P(6), P(7) P(5),P(6),P(7)), 选项 7 ( P ( 2 ) , P ( 4 ) , P ( 6 ) P(2), P(4), P(6) P(2),P(4),P(6)), 和选项 8 ( P ( 3 ) , P ( 5 ) , P ( 7 ) P(3), P(5), P(7) P(3),P(5),P(7)) 都满足这个条件,因为它们都提供了覆盖模 3 的所有三个剩余类 (0, 1, 2) 的起始点,并且这些起始点的值(或通过一步或两步可以到达的值)都小于或等于 5 + 3 − 1 = 7 5 + 3 - 1 = 7 5+3−1=7。
问题 5.16 的例子 ( k = 2 , n 0 = 0 k=2, n_0 = 0 k=2,n0=0 如果我们想证明 ∀ n ≥ 0. P ( n ) \forall n \geq 0. P(n) ∀n≥0.P(n))**
在这种情况下,我们需要覆盖模 2 的两个剩余类 (0 和 1)。问题 5.16(a) 中指出,当 P ( 0 ) ∧ P ( 1 ) P(0) \land P(1) P(0)∧P(1) 为真时, ∀ n ≥ 0. P ( n ) \forall n \geq 0. P(n) ∀n≥0.P(n) 为真,这符合我们的讨论,因为 n = 0 n=0 n=0 和 n = 1 n=1 n=1 覆盖了模 2 的两个剩余类。

242

被折叠的 条评论
为什么被折叠?



