证明(proof):是解决在计算机科学所遇到的问题时所使用的重要方法,问题的作者通过数学证明来与其他数学家对问题进一步讨论,获取进一步理解;
对于一个推论的数学证明,是一种基于一定的公理事实,经过一段链式逻辑证明后得到一个新的命题的过程;
命题(Propositions):命题是一种事实的陈述,包括正确和错误两种状态;
谓词(Predicates):谓词可以理解成一种逻辑值的真假需要由一个或者多个变量来共同决定的命题;
公理化方法(The Axiomatic Method):是一种从一般公理或者先前已经证明的与命题相关的结论出发进行逻辑推导;
推理规则(inference rules):通过已经证明的结论证明新结论;P(true),P implys Q(true),则Q也是true的;
证明命题的蕴含式:
In order to prove “P IMPLIES Q”;
方法一: ① Write “Assume P”;②Show that Q logically follows;
Tip:在进行正式的逻辑证明之前,我们需要使用一些边界特殊值对命题的为何为真进行初步理解,在这本书中作者将这种操作叫做scratchwork;
方法二:写出其逆否命题,再使用方法一证明其逆否命题;
当且仅当(If and Only If):用于表示两个命题在逻辑上是等价的,简写(P iff Q),等价于PIMPLIES Q 并且Q IMPLIES P;
证明方法:
方法一:证明P IMPLIES Q 并且QIMPLIES P;
方法二:构建一个IFF链;
证明命题的所有case:把命题按case进行分解,分别证明每种case下的真假性;
反证法(Proof by Contradiction):假设原命题P是false,证明某个公认的正确命题为false,推出假设错误,原命题正确;