当假设不易展开,而目标的否定能给出具体结构时,可以考虑逆否证明理路逆否证明法Proof by contrapositive通过证明 ¬Q→¬P 来证明 P→Q。;当目标失败会产生可追踪的冲突时,可以考虑反证法理路反证法Proof by contradiction · Reductio ad absurdum假设目标命题为假并推出矛盾,从而证明目标。。策略的选择应服务于关键一步的清楚表达。
推论与应用
分类讨论理路分类讨论证明Proof by cases · Exhaustion选取覆盖所有可能的条件,并在每个条件下证明同一个结论。和数学归纳法理路数学归纳法Mathematical induction · Weak induction由基例和从 n 到 n+1 的归纳步推出性质对全部自然数成立。常在各分支或归纳步中使用直接证明,但内部也可以嵌入反证等方法。分类或归纳描述的是整体组织方式,不强制规定每一段局部论证的策略。
在算法正确性理路算法正确性Algorithm correctness · Partial and total correctness所有合法执行都符合规格,并在完全正确时保证终止。中,证明循环不变式理路循环不变式Loop invariant在循环初始化后成立,并在每次循环迭代后继续成立的断言。保持,通常先假设一次迭代前性质成立,再依据程序的实际更新推出迭代后仍成立。这里变量发生更新,证明必须区分更新前后的值,不能用同一符号悄悄替换对象。
在存在唯一性证明理路存在唯一性证明Existence and uniqueness proof分别证明至少存在一个对象以及任意两个候选对象相等。中,直接构造候选并检验性质可以完成存在部分;唯一部分还需要排除其他候选。把证明目标拆成准确的义务,往往比先选一个方法名称更有帮助。
参考资料
Richard Hammack, Book of Proof,第三版,2018,作者2025年修订版,§4.3 “Direct Proof”,印刷页118–123。
P. D. Magnus、Tim Button、Robert Trueman、Richard Zach,forall x: Calgary,Fall 2025 在线版,Part IV “Natural deduction for TFL”;条件证明及临时假设的作用域。