system: [SYSTEM]

user: 3. 组合恒等式证明的常用五种方法 3.1. 组合证明法 组合证明法的思路是对恒等式两端赋予一定的组合意义将其化为计数问题，再通过构造两个计数对象之间的双射，根据双射的一一对应来得到恒等式。下面以两个经典例子进行说明。 例1证明Chu-Vandermonde恒等式 [ 1 ] ∑ i + j = k ( m i ) ( n j ) = ( m + n k ) (其中 m ， k 为非负整数)。 证明由两个集合元素的个数分别为 m ， n ，分别在其中找一个大小为 i ， j 的子集，其中 i + j = k ，对 所有满足条件的 i ， j 求和，即： ∑ i + j = k ( m i ) ( n j ) ；另一方面，对集合元素个数为 m + n 的集合，其子集大小为 k 的集合的方法数为： ( m + n k ) ；综上：即有： ∑ i + j = k ( m i ) ( n j ) = ( m + n k ) 。 例2证明 ∑ k = 0 n ( k m ) = ( n + 1 m + 1 ) [ 1 ]。 证明对于等式右边：假设我们抛了 n + 1 次硬币，其中有 m + 1 次正面朝上，方法数为 ( n + 1 m + 1 ) 。对 于等式左边选择 m 个位置，可供选择的位置总数就是求和的变量，如果最后一个正面朝上出现在 k + 1 位置上，那么可能出现的方法数就是在最后一个正面朝上出现之前从 k 个可能的位置中选 m 个位置的方法 数，即 ( k m ) 。综上：即有 ∑ k = 0 n ( k m ) = ( n + 1 m + 1 ) 。 3.2. 积分法 积分法的主要思想是将求和项或其一部分利用积分表示出来，通过交换积分与求和次序直接得到等式右端或验证左右两端积分后的结果相同来证明恒等式。下面给出两个例子： 例3 证明 ∑ k = 0 n ( n k ) ( x 2 k + 1 − x 1 k + 1 ) y n − k ( k + 1 ) 2 = 1 n + 1 ∑ k = 0 n ( ( x 2 + y ) n + 1 − ( x 1 + y ) n + 1 ) y n − k k + 1 [ 1 ]。 证明令 ∑ k = 0 n ( n k ) ( x 2 k + 1 − x 1 k + 1 ) y n − k k + 1 = ( x 2 + y ) n + 1 − ( x 1 + y ) n + 1 n + 1 中的 x 2 = x ， x 1 = 0 得到： ∑ k = 0 n ( n k ) x k + 1 y n − k k + 1 = ( x + y ) n + 1 − y n + 1 n + 1 . 对 ∑ k = 0 n ( n k ) x k + 1 y n − k k + 1 = ( x + y ) n + 1 − y n + 1 n + 1 两边同时除以 x 得到： ∑ k = 0 n ( n k ) x k y n − k k + 1 = 1 n + 1 ( x + y ) n + 1 − y n + 1 x . 对 ∑ k = 0 n ( n k ) x k y n − k k + 1 = 1 n + 1 ( x + y ) n + 1 − y n + 1 x 两边同时对 x 从 x 1 到 x 2 求积分 等式左边得： ∫ x 1 x 2 ∑ k = 0 n ( n k ) x k y n − k k + 1 d x = ∑ k = 0 n ( n k ) x k + 1 y n − k ( k + 1 ) 2 | x 2 x 1 = ∑ k = 0 n ( n k ) ( x 2 k + 1 − x 1 k + 1 ) y n − k ( k + 1 ) 2 . 等式右边得： ∫ x 1 x 2 1 n + 1 ( x + y ) n + 1 − y n + 1 x d x = 1 n + 1 ∫ x 1 x 2 ( x + y ) n + 1 − y n + 1 x d x = 1 n + 1 ∫ x 1 x 2 ∑ k = 0 n ( x + y ) k y n − k d x = 1 n + 1 ∑ k = 0 n ( x + y ) k + 1 y n − k k + 1 | x 2 x 1 = 1 n + 1 ∑ k = 0 n ( ( x 2 + y ) k +1 − ( x 1 + y ) k +1 ) y n − k k + 1 . 其中： ( x + y ) n + 1 − y n + 1 x = ( x + y − y ) ∑ k = 0 n ( x + y ) k y n − k x = ∑ k = 0 n ( x + y ) k y n − k . 即： ∑ k = 0 n ( n k ) ( x 2 k + 1 − x 1 k + 1 ) y n − k ( k + 1 ) 2 = 1 n + 1 ∑ k = 0 n ( ( x 2 + y ) n + 1 − ( x 1 + y ) n + 1 ) y n − k k + 1 . 例4证明 ∑ n = 0 ∞ 2 n ( 2 n + 1 ) ( 2 n n ) = π 2 [ 1 ]。 证明由Gamma函数的性质 [ 10 ] [ 11 ] B ( a ， b ) = Γ ( a ) Γ ( b ) Γ ( a + b ) ， B ( a ， b ) = ∫ 0 1 x a − 1 ( 1 − x ) b − 1 d x 。 可得： ( 2 n n ) − 1 = ( 2 n + 1 ) ∫ 0 1 x n ( 1 − x ) n d x 以及 ( 2 n n ) = 1 ( 2 n + 1 ) B ( n ， n ) 。 由上式可得： ∑ n = 0 ∞ 2 n ( 2 n + 1 ) ( 2 n n ) = ∑ n = 0 ∞ 2 n ( 2 n + 1 ) ( 2 n + 1 ) ∫ 0 1 x n ( 1 − x ) n d x = ∫ 0 1 ∑ n = 0 ∞ 2 n x n ( 1 − x ) n d x = ∫ 0 1 1 1 − 2 x ( 1 − x ) d x = ∫ 0 1 1 1 − 2 x + 2 x 2 d x = π 2 . 3.3. 差分法 差分法的基本思想是通过验证左右两端相邻两项的差相等来证明恒等式，即要证明 A ( n ) = B ( n ) ，只需 A ( n + 1 ) − A ( n ) = B ( n + 1 ) − B ( n ) 和相同的初值即可。 例5证明 ∑ k = 1 n ( n k ) ( − 1 ) k k = − H n ( H n = ∑ k = 1 n 1 k ) [ 14 ] [ 15 ]。 证明设左端和式为 f ( n ) 可得： f ( n + 1 ) − f ( n ) = ∑ k = 1 n + 1 ( n + 1 k ) ( − 1 ) k k − ∑ k = 1 n ( n k ) ( − 1 ) k k = ∑ k = 1 n + 1 ( n k − 1 ) ( − 1 ) k k = ∑ k = 0 n + 1 ( n k ) ( − 1 ) k + 1 k + 1 = ( − 1 ) k + 1 ∑ k = 0 n + 1 ( n + 1 k + 1 ) 1 n + 1 = ( − 1 ) k n + 1 ∑ k = 1 n + 1 ( n + 1 k ) = ( − 1 ) k n + 1 ( ∑ k = 0 n + 1 ( n + 1 k ) − ( n + 1 0 ) ) = 1 n + 1 ( ∑ k = 0 n + 1 ( n + 1 k ) ( − 1 ) k − ( n + 1 0 ) ) = 0 − 1 n + 1 = − 1 n + 1 . 再利用 f ( 0 ) = 0 可得 ∑ k = 1 n ( n k ) ( − 1 ) k k = f ( n ) = ∑ k = 1 n ( f ( k ) − f ( k − 1 ) ) = ∑ k = 1 n ( − 1 k ) = − H n . 例6证明 ∑ k = 0 m ( n k ) ( − 1 ) k k + 1 = 1 n + 1 ( n m + 1 ) ( − 1 ) m + 1 n + 1 [ 1 ]。 证明令 S ( m ) = 1 n + 1 ( n m + 1 ) ( − 1 ) m + 1 n + 1 ，只需证明 S ( m ) − S ( m − 1 ) = ( n m ) ( − 1 ) m m + 1 即可。 S ( m ) − S ( m − 1 ) = ( 1 n + 1 ( n m + 1 ) ( − 1 ) m + 1 n + 1 ) − ( 1 n + 1 ( n m ) ( − 1 ) m − 1 + 1 n + 1 ) = 1 n + 1 ( n m + 1 ) ( − 1 ) m + 1 n + 1 ( n m ) ( − 1 ) m = 1 n + 1 ( − 1 ) m ( ( n m + 1 ) + ( n m ) ) = 1 n + 1 ( − 1 ) m ( n + 1 m + 1 ) = 1 n + 1 ( n + 1 ) ! ( m + 1 ) ! ( n − m ) ! ( − 1 ) m = n ! ( m + 1 ) ! ( n − m ) ! ( − 1 ) m = 1 m + 1 n ! m ! ( n − m ) ! ( − 1 ) m = ( n m ) ( − 1 ) m m + 1 . 再利用 S ( 0 ) = 1 即可得证。 3.4. 生成函数法 生成函数法的基本思想是将含有组合序列的求和项转化为其对应的生成函数，通过生成函数的操作 得到相应的函数关系式，进一步取系数返回到原和式即可。给定一个含有组合序列的和式 A ( n ) = ∑ k = 0 n a k ， 要证明 A ( n ) = B ( n ) 或求出 A ( n ) 的表达式(也称为闭形式)，具体步骤如下 [ 5 ]： 1) 将新的求和项 A ( n ) x n 对变量 n 求和，记 S ( x ) = ∑ n = 0 ∞ A ( n ) x n ； 2) 通过交换求和次序并利用已知生成函数的解析式得到 S ( x ) 的解析表达式； 3) 要证明 A ( n ) = B ( n ) ，只要证明 和 B ( n ) 有相同的生成函数即可。 例7 证明 3 − F n + 3 + ∑ i = 1 n L i = ∑ i = 0 ⌊ n 2 ⌋ ( n − i i ) [ 12 ]。 证明 由Lucas数列的性质 L 1 + L 2 + ⋯ + L n = L n + 2 − 3 和定理1可知该等式等价于 L n + 2 − F n + 3 = F n + 1 。 利用定理2，不难得到左端的生成函数为： ∑ n = 0 + ∞ ( L n + 2 − F n +3 ) x n = ∑ n = 0 + ∞ L n + 2 x n − ∑ n = 0 + ∞ F n +3 x n = x + 3 1 − x − x 2 − x + 2 1 − x − x 2 = 1 1 − x − x 2 . 同理，右端生成函数为 ∑ n = 0 + ∞ F n + 1 x n = 1 1 − x − x 2 。 可见两端生成函数相等，于是等式得证。 例8证明 ∑ k = 0 n ( n k ) F k = F 2 n [ 1 ]。 证明利用定理2以及 ∑ n = 0 ∞ ( n k ) x n = x k ( 1 − x ) k + 1 可得： 对等式左端取其生成函数可得： ∑ n = 0 ∞ ∑ k = 0 n ( n k ) F k x n = ∑ k = 0 ∞ F k ∑ n = k ∞ ( n k ) x n = ∑ k = 0 ∞ F k x k ( 1 − x ) k + 1 = 1 1 − x ∑ k = 0 ∞ F k ( x 1 − x ) k = 1 1 − x x 1 − x 1 − x 1 − x − ( x 1 − x ) 2 = x 1 − 3 x + x 2 对等式右端利用生成函数和换元的思想，具体操作如下： 又由于 F ( x ) = ∑ n = 0 + ∞ F n x n = x 1 − x − x 2 ，可得： F ( − x ) = − x 1 + x − x 2 令 G ( x ) = F ( x ) + F ( − x ) 2 = x 2 ( 1 − x − x 2 ) ( 1 + x − x 2 ) ，则令 x = x ， 可得： G ( x ) = ∑ n = 0 ∞ F 2 n x n = x 1 − 3 x + x 2 可见两端生成函数相等，于是等式得证。 3.5. 机器证明方法 机器证明法是近几十年才发展起来的证明恒等式的有力方法。目前，超几何恒等式证明的相关研究已经成熟，下面我们介绍最经典的两个超几何算法及WZ方法。 1) Gosper算法： Gosper算法完全解决了超几何恒等式不定和问题。 对给定的超几何项 t n ，Gosper算法寻找满足 z n + 1 − z n = t n 的超几何项 z n 。一旦得到不定和 z n ，即可求 出和式 s n = ∑ k = 0 n − 1 t k 的闭形式 s n = z n + 1 − z 0 。注意 s n 有可能不是超几何项。 Gosper算法已集成在Maple系统中，通过调用with (SumTools [Hypergeometric])工具包以及Gosper(t(n)， n)命令即可求出给定求和项的不定和。这里仅举一例。 例9证明 ∑ k = 0 m ( n k ) k ( − 1 ) k = ( − 1 ) m n ( n − 2 m − 1 ) [ 1 ]。 证明令 t k = ( n k ) k ( − 1 ) k ，由Gosper算法可得：则 z k = n ( n − 2 k − 2 ) ( − 1 ) k − 1 即： ∑ k = 0 m t k = z m + 1 − z 0 = ( − 1 ) m n ( n − 2 m − 1 ) − 0 = ( − 1 ) m n ( n − 2 m − 1 ) 。得证。 2) Zeilberger算法 Zeilberger算法用来处理定和问题。给定一个双超几何项 F ( n ， k ) ，(即关于n和k都是超几何的)。考 虑和式 S ( n ) = ∑ k F ( n ， k ) 。Zeilberger算法寻找与求和变量k无关的一些多项式 a 0 ( n ) ， a 1 ( n ) ， ⋯ ， a J ( n ) 及一 个有理函数 R ( n ， k ) 使得 ∑ j = 0 J a j ( n ) F ( n + j ， k ) = G ( n ， k + 1 ) − G ( n ， k ) 称该式为斜递推关系，其中 G ( n ， k ) = R ( n ， k ) F ( n ， k ) . 对该式两端对所有整数 k 求和得到和式 S ( n ) 满足的一个递推关系式 ∑ j = 0 J a j ( n ) S ( n + j ) = 0. 若要证明恒等式 S ( n ) = T ( n ) ，只需验证 T ( n ) 也满足该递推关系，且与 S ( n ) 具有相同的初值即可。 注意，若能直接求出该递推关系的闭公式，也可直接证明恒等式。 Zeilberger算法也已集成在Maple系统中，通过调用with (SumTools [Hypergeometric])工具包以及Zeilberger (f， n， k， N)命令即可得到斜递推关系。下面我们给出几个例子。 例10证明 ∑ k = 0 n ( n k ) ( k m ) = 2 n − m ( n m ) [ 1 ]。 证明令 S ( n ) = ∑ k = 0 n ( n k ) ( k m ) ，用 F ( n ， k ) 表示求和项，则由Zeilberger算法可以找到斜递推关系： ( ( n − m + 1 ) N − 2 n − 2 ) F ( n ， k ) = G ( n ， k + 1 ) − G ( n ， k ) 上式等式两边对 k 求和，得到： ( − m + n + 1 ) S ( n + 1 ) − ( 2 n + 2 ) S ( n ) = 0 。于是有 S ( n + 1 ) S ( n ) = 2 ( n + 1 ) − m + n + 1 ，其中 S ( m ) = 1 。 由于当 k < m 之前的项都为0，当 k ≥ m 时每一项才不为0，于是可得 S ( n + 1 ) S ( n ) S ( n ) S ( n − 1 ) ⋯ S ( m + 1 ) S ( m ) = 2 n − m + 1 ( n + 1 ) ! m ! ( − m + n + 1 ) ( − m + n ) ⋯ ( − m + m + 1 ) = 2 n − m + 1 ( n + 1 ) ! m ! ( − m + n + 1 ) ! = 2 n − m + 1 ( n + 1 ) ! ( − m + n + 1 ) ! m ! = 2 n − m + 1 ( n + 1 m ) 可得 S ( n + 1 ) = 2 n − m + 1 ( n + 1 m ) ；即 S ( n ) = 2 n − m ( n m ) 。得证。 例11证明Gould’s 恒等式 ∑ k = 0 r r r − q k ⋅ ( r − q k k ) ⋅ ( p + q k n − k ) = ( p + r n ) [ 13 ]。 证明令 S ( n ) = ∑ k = 0 r r r − q k ⋅ ( r − q k k ) ⋅ ( p + q k n − k ) ，用 F ( n ， k ) 表示求和项，则由Zeilberger算法可以找到 斜递推关系： ( ( n + 1 ) N − p − r + n ) F ( n ， k ) = G ( n ， k + 1 ) − G ( n ， k ) 。 上式等式两边对 k 求和，得到： ( n + 1 ) S ( n + 1 ) − ( p + r − n ) S ( n ) = 0 。 即： S ( n + 1 ) S ( n ) = p + r − n n + 1 ；其中： S ( 0 ) = 1 。 则： S ( n + 1 ) S ( n ) S ( n ) S ( n − 1 ) ⋯ S ( m + 1 ) S ( m ) = ( p + r ) n _ ( n + 1 ) ! = ( p + r n + 1 ) = S ( n + 1 ) S ( 0 ) 。 可得： S ( n + 1 ) = ( p + r n + 1 ) ；即： S ( n ) = ( p + r n ) 。得证。 3) WZ方法 WZ方法是基于Zeilberger算法一个证明超几何恒等式的有效工具。对超几何恒等式 ∑ k t ( n ， k ) = r h s ( n ) ，由于 r h s ( n ) 也是超几何的，可将其等价于 ∑ k F ( n ， k ) = 1 ，其中 F ( n ， k ) = t ( n ， k ) r h s ( n ) 。在 绝大多数情况下，对新的求和项，Zeilberger算法可得到有理满足 R ( n ， k ) 使得： F ( n + 1 ， k ) − F ( n ， k ) = G ( n ， k + 1 ) − G ( n ， k ) ，其中 G ( n ， k ) = R ( n ， k ) F ( n ， k ) 。对所有整数 k 求和，可得 ∑ k F ( n + 1 ， k ) = ∑ k F ( n ， k ) ，即和式为一常数。再通过验证 ∑ k F ( 0 ， k ) = 1 即可证明该恒等式。 例12证明 ∑ k ( − 1 ) k ( n k ) x k + x = 1 ( x + n n ) [ 6 ]。 证明利用WZ方法，令 t ( n ， k ) = ( − 1 ) k ( n k ) x k + x ， r h s = 1 ( x + n n ) 。 恒等式两边同除以等式右边得到新的恒等式： ∑ k F ( n ， k ) = 1 ， 其中 F ( n ， k ) = t ( n ， k ) r h s ( n ) = ( − 1 ) k ( x + n ) ! k ! ( n − k ) ! ( x − 1 ) ! ( k + x ) 。 由Zeilberger 算法可得到有理函数 R ( n ， k ) = k ( k + 1 ) ( n + 1 ) ( k − n − 1 ) 。 令 G ( n ， k ) = R ( n ， k ) F ( n ， k ) ，则得到 F ( n + 1 ， k ) − F ( n ， k ) = G ( n ， k + 1 ) − G ( n ， k ) 。 对所有整数 k 求和，则可得到 ∑ k = 0 n F ( n + 1 ， k ) = ∑ k = 0 n F ( n ， k ) ；再验证 ∑ k = 0 n F ( 0 ， k ) = 1 即可得证。 例13证明 ∑ k ( x + 1 2 k + 1 ) ( x − 2 k n − k ) 2 2 k + 1 = ( 2 x + 2 2 n + 1 ) [ 6 ]。 证明利用WZ方法，令 t ( n ， k ) = ( x + 1 2 k + 1 ) ( x − 2 k n − k ) 2 2 k + 1 ， r h s ( n ) = ( 2 x + 2 2 n + 1 ) 。 恒等式两边同时除以等式右边，得到新的恒等式： ∑ k F ( n ， k ) = 1 。 其中 F ( n ， k ) = t ( n ， k ) r h s ( n ) = 2 2 k + 1 ( x + 1 ) ！ ( x − 2 k ) ! ( 2 n + 1 ) ! ( 2 x + 1 − 2 n ) ! ( 2 k + 1 ) ! ( x − 2 k ) ! ( n − k ) ! ( x − k − n ) ! ( 2 x + 2 ) ! 。 由Zeilberger算法可得有理函数 R ( n ， k ) = k ( 2 k + 1 ) ( x − 2 n − 1 ) ( k − n − 1 ) ( 2 n − 2 x − 1 ) ( n − x ) 。 令 G ( n ， k ) = R ( n ， k ) F ( n ， k ) ，则得到 F ( n + 1 ， k ) − F ( n ， k ) = G ( n ， k + 1 ) − G ( n ， k ) 。 对所有整数 k 求和，则可得到 ∑ k = 0 n F ( n + 1 ， k ) = ∑ k = 0 n F ( n ， k ) ；再验证 ∑ k = 0 n F ( 0 ， k ) = 1 即可得证。