上一章的直接证明从已知条件出发,一步一步走到结论。它是最应该优先尝试的方法,因为证明路线清楚,读者也容易检查每一步是否使用了定义。
但有些命题不适合硬推。结论里可能出现“不存在”“不可能”“不是某类对象”,也可能要证明“只有一个”。这时,如果仍然只盯着原命题,证明会显得很拧巴。本章学习几种常用的换角度方法:逆否证明、反证法、存在性证明和唯一性证明。

证明路线选择:根据命题结构,在直接证明、逆否证明、反证法与存在唯一性证明之间选择合适路线。
本章的核心不是背模板,而是看清“我要证明什么”。如果结论是条件命题,可以考虑原命题或逆否命题;如果结论排除某种可能,可以考虑反证法;如果结论含有“存在”或“唯一”,通常要把证明拆成不同任务。
间接证明不是绕远路,而是利用逻辑等价或逻辑排除来改写任务。常见情形有两类。
第一类是证明条件命题 。它与逆否命题 逻辑等价,所以证明逆否命题就等于证明原命题。
第二类是证明某个结论 。如果假设 会推出不可能发生的事,那么 不能成立,原结论 就成立。
间接证明的危险在于“假设了什么”不清楚。逆否证明假设的是结论的否定,然后推出前提的否定;反证法假设的是整个目标结论的否定,然后寻找矛盾。两者写法相近,但目标不同。
面对一个命题时,可以先问三个问题。
如果答案经常是“是”,就说明这道题可能更适合本章的方法。
逆否证明适合处理条件命题。原命题是:
它的逆否命题是:
这两个命题同真同假。也就是说,如果能证明“只要 不成立, 就不可能成立”,那么原来的“只要 成立, 就成立”也已经被证明。

原命题与逆否命题逻辑等价,因此可通过证明逆否命题来完成原命题证明。
要证明“若 ,则 ”,可以这样写:
先说明改证逆否命题:假设 不成立。
在这个假设下,结合定义和已知条件推出 不成立。
因为逆否命题 成立,所以原命题 成立。
这个格式看起来简单,但真正的关键是第一步:必须把 的否定写准确。很多逆否证明出错,都是因为把“否定结论”写成了另一个相似但不等价的命题。
证明:若整数 满足 是偶数,则 是偶数。
直接从 是偶数推出 是偶数也能做,但对初学者来说,逆否更自然。原命题的逆否是:若 不是偶数,则 不是偶数。对整数来说,“不是偶数”就是“奇数”。
改证逆否命题。设 是奇数,则存在整数 ,使得
逆否证明常常把“结论的否定”变成一个更容易操作的条件。这里“n 不是偶数”比“n² 是偶数”更容易展开,因为奇数有明确形式 。
对命题“若 ,则 ”,有三个容易混淆的相关命题:
比如“若一个整数能被 4 整除,则它是偶数”是真的;它的逆命题“若一个整数是偶数,则它能被 4 整除”是假的,因为 6 是偶数但不能被 4 整除。
反证法要证明一个结论 ,却先假设 不成立。接着把这个假设与题目已有条件一起使用,推出矛盾。矛盾说明最初的反面假设不能成立,因此 成立。

反证法通过假设结论相反并保留已知条件,推出“数同时奇且偶”等矛盾,从而说明原结论成立。
明确写出要证明的结论 ,然后假设 不成立。
在这个反面假设下,仍然保留题目给出的全部已知条件和已经证明过的事实。
通过推理推出一个不可能的结果,例如同一个整数既奇又偶、一个正数小于 0,或者与“最简”“最小”“唯一”等条件冲突。
反证法的收尾不能只写“矛盾,所以得证”。最好说明矛盾否定了哪个假设。如果矛盾来自你额外假设的“结论不成立”,就能推出原结论;如果矛盾来自题目条件本身,则说明前面推理或题目设定有问题。
反证法不是“随便假设相反,然后推出一个看起来奇怪的结论”。矛盾必须是逻辑上不可能同时成立的两件事,或者与题目中明确条件冲突。推理链中每一步仍然要合法。
证明:不存在最大的整数。
这里结论本身是“不存在”。直接证明“不存在”往往不如反证自然。
反设存在最大的整数,记为 。这表示对每个整数 ,都有 。
但 也是整数。
这个例子里,矛盾不是来自复杂计算,而是来自“最大”的定义。反证法常常与定义一起使用:先把反面假设翻译成一个具体性质,再找一个对象打破它。
反证法最常见的入门例子是证明 是无理数。这个命题的结论是否定式:“不是有理数”。反设它是有理数,就能把它写成最简分数,然后推出分子和分母同为偶数,和“最简”冲突。

√2 无理性的矛盾结构:最简分数假设与 p、q 同为偶数相冲突。
反设 是有理数。于是存在整数 和正整数 ,使得
这个证明有两个细节值得注意。
第一,反设时要写“取最简分数”。如果只说 ,后面推出 和 都是偶数并不会立即矛盾,因为不是每个分数表示都最简。比如 的分子分母都偶,但它和 表示同一个数。
第二,从 是偶数推出 是偶数,需要一个已知结论。这个结论本身可以用逆否证明完成。证明之间经常这样互相支撑。
反证法常会使用“最简”“最小”“最大”这类极值或规范化条件。它们的作用是把“还有别的表示”排除掉,使矛盾落在一个明确位置。
存在性命题的形式通常是:
它的意思是“至少有一个对象 满足性质 ”。存在性证明只需要证明“找得到一个”,不需要证明“只有一个”。

存在性证明可以通过构造对象直接验证,也可以不写出对象而证明一定存在满足条件的对象。
构造性证明直接给出一个对象,然后验证它满足条件。
证明:存在一个偶素数。
给出对象 。
是偶数,因为 。
这个证明很短,但结构完整:给对象,验性质,得结论。构造性存在证明最怕“只写答案不验证”。数学证明中,给出对象只是第一步,说明它确实满足性质才是证明。
非构造性证明不一定明确指出对象是谁,而是证明对象不可能不存在。
一个经典的简单例子是:存在无理数 和 ,使得 是有理数。
考虑数
这个证明没有一开始就告诉我们具体是哪一对数。它用分类讨论保证“无论中间数是哪一类,都能找到一对”。这就是非构造性证明的味道。
存在性证明只说明“至少一个”。如果题目要求“存在唯一”,只证明存在还不够。看到“唯一”“恰有一个”“有且仅有一个”时,要主动补上唯一性部分。
唯一性命题关注的是“不会有两个不同对象同时满足条件”。如果题目写“存在唯一的 满足 ”,常记作:
它实际上包含两件事:
以及
第一行是存在性,第二行是唯一性。很多证明写错,是因为只做了其中一半。

唯一性证明的核心结构:任取两个解,证明它们相同。
要证明满足性质 的对象至多一个,通常这样写:
假设 和 都满足性质 。
利用 和 的具体含义,把它们转化为等式、包含关系或其他可比较的信息。
注意这里假设了两个对象 和 ,但不是假设它们不同。唯一性证明的目标正是证明它们相同。
证明:方程 在实数范围内存在唯一解。
先证明存在。取 ,则 ,所以至少有一个实数解。
再证明唯一。设 和 都是方程 的实数解。
证明:对每个整数 ,存在唯一整数 ,使得 。
先证明存在。给定整数 ,取 。因为整数对取相反数封闭,所以 也是整数,并且
素数无限性的证明通常用反证法。这个证明很短,但思想很强:假设素数只有有限多个,然后构造一个数,它不被列表中的任何素数整除,从而逼出新的素因子。

素数无限性的反证法入口:从有限素数假设出发,构造 N = p₁p₂…pₖ + 1,得到新素因子并形成矛盾。
证明:素数有无限多个。
反设素数只有有限多个,把它们全部列为
这个证明不是说 一定是素数。比如列出 时,乘积加 1 得到的数不一定是素数。证明需要的只是: 的素因子不在原来的有限列表中。
反证法里的构造通常不是随便造一个对象,而是专门针对反面假设的漏洞。这里的“乘积加 1”保证了新数除以列表中每个素数都余 1,于是它无法被旧列表解释。
证明方法没有绝对固定的使用顺序,但可以用命题形状做初步判断。
如果题目出现“若 是偶数,则 是偶数”,结论 是偶数的否定是 是奇数,奇数有形式 ,所以逆否证明自然。
如果题目出现“ 不是有理数”,反面假设“ 是有理数”能写成最简分数,所以反证法自然。
如果题目出现“存在唯一”,不要急着写一个对象就结束。应先问:我有没有证明它满足性质?我有没有证明其他满足性质的对象必定和它相同?
一种好的证明方法,会让定义变得可用,让假设变得具体,让结论不再悬空。选方法时,不妨先把原命题、逆否命题和反面假设都写在草稿纸上,比较哪一个最容易进入定义。
要证明 ,证明 通常没有用。逆命题即使为真,也不能自动推出原命题为真;逆命题为假,也不说明原命题为假。
量词命题的否定必须同时改变量词和内部判断。
比如“所有整数都有性质 ”的否定不是“所有整数都没有性质 ”,而是“存在一个整数没有性质 ”。
写“于是矛盾”之前,要能回答:哪两句话不能同时成立?它们分别来自哪里?如果这两个问题说不清,证明还没有完成。
“存在一个解”和“存在唯一解”相差很大。证明存在唯一时,应把证明分成“存在”和“唯一”两段,或者至少在文字中明确完成这两个任务。
证明:若整数 满足 是偶数,则 是偶数。
改证逆否命题:若 是奇数,则 是奇数。
设 ,其中 是整数。则
证明:不存在最小的正有理数。
反设存在最小的正有理数,记为 。因为 是正有理数,所以 也是正有理数。
但
证明:存在整数 ,使得 能被 4 整除。
取 。此时
而 4 能被 4 整除。因此这样的整数存在。
证明:对每个实数 ,存在唯一实数 ,使得 。
先证明存在。取 ,则 ,所以满足条件的实数存在。
再证明唯一。设 和 都满足条件,即
下面每个命题更适合先尝试哪种方法?说明理由。
第 1 题适合逆否证明。结论“ 是奇数”的否定是“ 是偶数”,偶数形式容易代入 。
第 2 题适合反证法。反设 是有理数,可写成最简分数,再推出分子分母同被 3 整除。
逆否证明把 改写成等价的 。它适合结论的否定更容易展开的条件命题。
反证法先假设目标结论不成立,再推出矛盾。它适合“不存在”“不可能”“无理性”“无限性”等命题,但每一步仍然要依靠定义和已知事实。
存在性证明回答“有没有”,唯一性证明回答“会不会有两个不同的”。证明“存在唯一”时,必须同时完成这两个任务。
本章的方法都在训练同一种能力:把证明目标改写成更可操作的形式。下一章进入数学归纳法时,这种改写能力还会继续发挥作用,因为归纳证明同样要求我们把“对所有自然数成立”拆成可验证的起点和可推进的步骤。
计算 :
把结果整理成奇数的形式:
因为 是整数,所以 是奇数。
这说明“若 是奇数,则 是奇数”成立。它正是原命题的逆否命题,所以原命题成立。
因为反面假设导致矛盾,所以反面假设为假,原结论 成立。
又有
这与 是最大整数矛盾。
所以不存在最大的整数。
并且这个分数已经约到最简,也就是 与 没有大于 1 的公因数。
两边平方,得到
所以
由 可知 是偶数。根据前面逆否证明过的结论,若 是偶数,则 是偶数。因此存在整数 ,使得
把 代回 :
所以
即
因此 是偶数,进而 是偶数。
现在 与 都是偶数,所以它们都有公因数 2。这与最初选择的最简分数矛盾。
因此反设不成立, 不是有理数,也就是无理数。
是素数,因为它大于 1,且正因数只有 1 和 2。
因此存在一个偶素数。
它要么是有理数,要么是无理数。
如果它是有理数,那么取 ,,就得到两个无理数 和 ,且 是有理数。
如果它是无理数,那么取
这时 和 都是无理数,并且
所以 是有理数。
两种情况中都能得到满足条件的 和 ,所以这样的无理数存在。
推出 。
因为任意两个满足条件的对象都相同,所以满足条件的对象至多一个。
由 是解,得
由 是解,得
因此 ,两边同时减去 3,得 。
所以任何两个实数解都相同。结合存在性,方程 有唯一实数解。
因此满足条件的整数存在。
再证明唯一。设整数 和 都满足条件,也就是
且
由这两个等式可得 。两边同时加上 ,得到 。
所以满足 的整数 至多一个。结合存在性,唯一性成立。
构造新数
对任意列表中的素数 , 整除乘积 ,所以 除以 的余数是 1。于是没有任何一个 能整除 。
由于 ,它要么本身是素数,要么有素因子。无论哪种情况,都出现了不在原列表中的素数。
这与“列表已经包含全部素数”矛盾。因此素数不可能只有有限多个,素数有无限多个。
所以 是奇数。逆否命题成立,因此原命题成立。
这与 是最小的正有理数矛盾。所以不存在最小的正有理数。
且
于是 。两边同时加上 ,得到 。所以满足条件的实数至多一个。结合存在性,满足条件的实数唯一。
第 3 题要做存在唯一性证明。先求出一个解,再设两个解并证明它们相等。
第 4 题适合反证法。反设存在这样的实数 ,再利用 或其他更小正数制造矛盾。