推理的必要性
对于一个逻辑推论:
(读作
满足
),如何判断它的正确性?
答:需要列举所有可能的赋值,设
中有
个命题变元,那么列出的真值表就有
行,这种方法的复杂度太高,我们希望能够寻找更简单的方法证明——推理。
一个简单的推理的例子是
需要注意的是,我们要从语义的角度理解上式,实际上上式应写成
形式推理(推演)的规则
我们希望找到一种形式化的方法使得以
作为前提可以推出结论
,该方法称为
形式推演。我们希望这种方法满足下面条件
1. 不是基于赋值的(即不基于语义),而是基于语法
2. 具有可靠性(soundness),即
,形式推理推导出的结论一定是正确的逻辑推论。
3. 具有完备性(completeness),即
,每个正确逻辑推论都可以通过形式推理推导出。
形式推理定义了一些推理规则,命题逻辑的形式推理包括11条推理规则(rules),给定一个公式集合
和公式
,如果后者可以由前者通过形式推理得出,那么记作
。
这11条推理规则分别是(截图自陆钟万《面向计算机科学的数理逻辑》)
前三条是最常用的,
容易理解,
第一次见到会觉得诡异,为什么
既能推出
,又能推出
,就说明
呢?
本质上说的就是数学证明中经常用的
反证法,我们想证明一个结论(A)成立,但我们不直接证它,而是假设A不成立,那么一定可以推出矛盾。形式推理的例子中,我们会看到
扮演了重要的作用。
后面八条规则,对应于四种不同的逻辑联接符,对每一个联接符都分为引入和消去。要注意的是,消去和引入都是对
符号右边而言的,
是在左边引入,所以仍旧叫“消去”。
形式证明
定义[形式可推演,形式可证明]称公式
是在命题逻辑中由
形式可推演(或形式可证明)的,记为
,如果存在一个模式序列
使得
1.
2. 对每个
,
可由前面的模式和形式推演规则得到。
Question
- axiom(公理)和rule(规则)有什么区别?
一般的规则包含前提和结论两个部分,但比如自反规则(ref)是没有前提的,它的正确性是人为定义的,是一条公理。另外,推理规则也可以理解为一条公理,它的前提条件是,这一条件描述的是集合中的关系,不在命题逻辑中定义。
2. grammar和syntax有什么区别?
grammar一般翻译为句法,在经典逻辑中一般不研究grammar,形式语义学中会研究
命题逻辑中的“语法”syntax指形成规则,比如什么结构的公式是良定义的
3. 推理规则为什么是正确的?
推理规则是人为定义的,本身无所谓正确。之所以认为推理规则是“正确”的,因为它符合语义上的满足关系。
4. 怎么找到
形式证明的模式序列?
如果没有,基本的思路是借助消去右边的,比如要证明可以转化为证明,直到右边只有一个公式。再利用,比如要证明,只需要证明和,证明的困难在于怎么找到合适的,一般都是观察左边公式的结构来找。
如果的左边有或者右边有,比如,一般通过De Morgan律变化,但De Morgan律本身也要形式证明。在下一篇文章中会具体介绍如何进行形式证明