双射函数gydF4y2Ba
在组合学、数论和其他领域中常用的证明技术是使用gydF4y2Ba双射gydF4y2Ba证明两个表达式相等。证明一个形式的公式gydF4y2Ba ,这个想法是挑选一组gydF4y2Ba 与gydF4y2Ba 元素和集合gydF4y2Ba 与gydF4y2Ba 元素之间,并构造双射gydF4y2Ba 而且gydF4y2Ba .gydF4y2Ba
注意常见的gydF4y2Ba重复计算gydF4y2Ba证明技术可以看作是这种技术的一个特例。重复计数技术遵循相同的程序,除了gydF4y2Ba ,所以双射就是恒等函数。这里有一些例子,证明公式两边的计数集不一定是相同的集合,但可以证明它们具有相同的大小。gydF4y2Ba
技术总结gydF4y2Ba
给出一个形式的公式gydF4y2Ba ,在那里gydF4y2Ba 而且gydF4y2Ba 是依赖于某些变量的有限正整数量,下面是如何证明公式:gydF4y2Ba
- 发现一套gydF4y2Ba 这样gydF4y2Ba ,一套gydF4y2Ba 这样gydF4y2Ba .这些集合通常不会是奇异的:有时它们会从问题中清晰可见,有时它们会以公式中的数量来计算的集合而闻名。例如,如果gydF4y2Ba 是二项式系数还是二项式系数的和gydF4y2Ba 将一个较大集合的子集集合,或从一个集合中选择某些对象的方法。gydF4y2Ba
- 想一种方法把元素联系起来gydF4y2Ba 的元素gydF4y2Ba ,反之亦然。有时一开始其中一个比另一个容易。用它来构造一个函数gydF4y2Ba 或gydF4y2Ba
- (可选)确认gydF4y2Ba 是对变量的小值的双射,通过显式地写下它。gydF4y2Ba
- 证明gydF4y2Ba 是双射,要么通过显示它是一对一的和映上的,要么(通常更容易)通过构造的逆gydF4y2Ba .gydF4y2Ba
二项式系数gydF4y2Ba
证明二项式系数对称:gydF4y2Ba
我们可以证明二项式系数是对称的:gydF4y2Ba 通过一个双射。自gydF4y2Ba 计数gydF4y2Ba 的元素子集gydF4y2Ba 元组gydF4y2Ba ,gydF4y2Ba 计数gydF4y2Ba 元的子集gydF4y2Ba ,证明包括找到这两类子集之间的一一对应关系。gydF4y2Ba
最自然的生产方式gydF4y2Ba 元素的子集gydF4y2Ba -element子集取补。所以我们gydF4y2Ba 是一组gydF4y2Ba 元的子集gydF4y2Ba 以及定义gydF4y2Ba 很容易证明这是一个双射现象:gydF4y2Ba 是的倒数gydF4y2Ba ,因为gydF4y2Ba .所以gydF4y2Ba 而且gydF4y2Ba 具有相同数量的元素;也就是说,gydF4y2Ba .gydF4y2Ba
为了说明这一点,这里是双射gydF4y2Ba 当gydF4y2Ba 而且gydF4y2Ba 因为这给出了一对一的对应关系gydF4y2Ba 元子集和gydF4y2Ba 的元素子集gydF4y2Ba -element set表示gydF4y2Ba .gydF4y2Ba
欧拉φ函数gydF4y2Ba
一个关键的结果gydF4y2Ba欧拉φ函数gydF4y2Ba是gydF4y2Ba 下面是一个使用双射的证明:gydF4y2Ba
让gydF4y2Ba .元素的个数gydF4y2Ba 只是gydF4y2Ba .现在我们gydF4y2Ba .为了完成证明,我们必须构造一个之间的双射gydF4y2Ba 而且gydF4y2Ba .gydF4y2Ba
定义gydF4y2Ba 通过gydF4y2Ba .定义gydF4y2Ba 如下:gydF4y2Ba 是有序对gydF4y2Ba 那就例行检查了gydF4y2Ba 而且gydF4y2Ba 是相反的,所以它们是双射。gydF4y2Ba
这是一个很好的证明,但是对于学生来说可能不是很明显,因为他们可能不能立即理解函数的位置gydF4y2Ba 而且gydF4y2Ba 来自。最初的想法是考虑分数gydF4y2Ba 把它们化简到最低项。他们都是这样的gydF4y2Ba 为一个独特的gydF4y2Ba .一组gydF4y2Ba 是未简化分数的分子集合。的函数gydF4y2Ba 而且gydF4y2Ba 在证明中分别通过将约简分数转化为未约简分数和将未约简分数转化为未约简分数得到。gydF4y2Ba
分区gydF4y2Ba
几个经典的结果gydF4y2Ba分区gydF4y2Ba有涉及双射的自然证据。一个gydF4y2Ba分区gydF4y2Ba的表达式是该整数作为称为“部分”的正整数的和的表达式。顺序并不重要;由相同部分以不同顺序书写的两个表达式被认为是同一个分区。gydF4y2Ba
表示分区的个数gydF4y2Ba 分成奇数部分等于的分区数gydF4y2Ba 成不同的部分。例如,gydF4y2Ba 而且gydF4y2Ba 所以每一种都有四种gydF4y2Ba .gydF4y2Ba
目标是给出将一种划分变成另一种划分的方法,然后表明该方法给出了一对一对应(双射)。也许更自然的做法是,先将一个分区划分为不同的部分,然后将其“分解”为一个包含奇数部分的分区。最明显的做法是取一个偶数部分,并将其改写为奇数部分的和,为了简单起见,最好使用彼此相等的奇数部分。gydF4y2Ba
也就是说,取划分的部分,把它们写成gydF4y2Ba ,在那里gydF4y2Ba 是奇数。将每一部分重写为gydF4y2Ba 部分等于gydF4y2Ba .例如,对于gydF4y2Ba ,gydF4y2Ba 为了证明这个对应关系是一对一的,并且是映上的,构造它的逆函数是最容易的。给定一个gydF4y2Ba 将大小相同的零件分成奇数组。假设有gydF4y2Ba 部分的大小gydF4y2Ba .然后编写gydF4y2Ba 在二进制gydF4y2Ba 在哪里gydF4y2Ba 是截然不同的。改变gydF4y2Ba 部分进gydF4y2Ba 部分:gydF4y2Ba .例如,gydF4y2Ba 这是很简单的检查,这把划分成不同的部分,这两个转换是相反的。gydF4y2Ba
加泰罗尼亚的数字gydF4y2Ba
的gydF4y2Ba加泰罗尼亚的数字gydF4y2Ba 计算许多不同的对象;特别是加泰罗尼亚的数字gydF4y2Ba 序列集的大小gydF4y2Ba 在哪里gydF4y2Ba 部分和gydF4y2Ba 总是非负的。通常,最好的方法来显示加泰罗尼亚数字计算一个特定的集合是提供一个双射在这个集合和另一个已知的加泰罗尼亚数字计算的集合之间。gydF4y2Ba
取gydF4y2Ba 圆周围等距的点。有多少种方法可以连接这些点gydF4y2Ba 不相交的线段?gydF4y2Ba
有gydF4y2Ba 做这件事的方法。数量的点gydF4y2Ba 按顺序绕圈。让gydF4y2Ba 如果点gydF4y2Ba 与一个指数更高的点相连,并且gydF4y2Ba 如果不是。那么就不难检验这个序列的部分和总是非负的。这给出了一个发送集合的函数gydF4y2Ba 把点集和集合连接起来的方法gydF4y2Ba 的序列gydF4y2Ba 的副本gydF4y2Ba 用非负的部分和。gydF4y2Ba
逆函数不难构造;给定一个序列gydF4y2Ba ,找到序列的一部分gydF4y2Ba .把这两点连接起来。现在忘了那部分序列,找另一份gydF4y2Ba 和重复。同样,检查这两个函数是否互为倒数是例行公事。gydF4y2Ba
例如,给定一个序列gydF4y2Ba ,连点gydF4y2Ba 而且gydF4y2Ba ,然后无视他们去得到gydF4y2Ba .然后把这些点连起来gydF4y2Ba 而且gydF4y2Ba (第一gydF4y2Ba 两人),gydF4y2Ba 而且gydF4y2Ba (第二条)。gydF4y2Ba
自gydF4y2Ba 有gydF4y2Ba 元素,那么gydF4y2Ba .gydF4y2Ba
同样,目前还不清楚这种双射的来源。在实践中,对于这类问题,首先确定答案通常更容易,注意对于的小值gydF4y2Ba 路径的个数等于gydF4y2Ba ,如。gydF4y2Ba 等。一旦确定了这两个集合,唯一的问题是如何识别其中一个gydF4y2Ba 分与其中之一gydF4y2Ba 的序列的成员gydF4y2Ba 值。gydF4y2Ba