1、3.1 一阶谓词逻辑,3.1.1 谓词、函数、量词 谓词 A(x1,x2,xn): 个体域 Di 个体变元xi 设i=1,2,n 个体常元 ai Di 论述域D1,D2 Dn 原子命题 A(a1,a2,an) 量词 命题常元(0元原子命题):表示基本事实 例如 A: AI是一门专业基础课程 1元谓词:表示特定对象是否具有某种属性 例如 P(x): x是素数 P(2) n元谓词:表示n个对象之间是否具有某种关系 例如 F(x,y):x和y是朋友 F(张三,李四) “凡是人都有名字”:x (M(x)N(x),例3.1 不存在最大的整数,我们可以把它翻译为乛 x (G(x) y(G(y)D(x,y)
2、或 x (G(x) y(G(y)D(y,x) 例3.2 对于所有的自然数,均有x+yxx y(N(x)N(y)S(x+y,x) 例3.3 某些人对某些食物过敏x y(M(x)F(y)G(x,y),3.1.2 谓词公式 定义1(1)个体常元和个体变元都是项。(2)设f是n元函数符号,若t1,t2,tn是项,则函词f(t1,t2,tn)是项。(3)只有有限次使用(1),(2)得到的符号串才是项。 定义2 设P为n元谓词符号,t1,t2,tn为项,则P(t1,t2,tn)称为原子谓词公式,简称原子公式或者原子。 定义3(1)原子公式是谓词公式。(2)若A,B是谓词公式,则 也是谓词公式。则上式左端也
3、是谓词公式。(3)只有有限步应用(1),(2)生成的公式才是谓词公式。 谓词公式亦称为谓词逻辑中的合适(式)公式,记为Wff。,量词的辖域。(1) xP(x)(2) x(H(x)G(x,y)(3) x A(x)B(x)其中(1)中的P(x)为 x的辖域,(2)中的H(x)G(x,y)为 x的辖域,(3)中的A(x)为 x的辖域指导变元(或作用变元)约束变元自由变元变元公式中可约束出现,自由出现改名规则,定义4 设A为如下形式的谓词公式:B1B2Bn其中Bi(i=1,2,n)形如L1L2Lm,Lj(j=1,2,m)为原子公式或其否定,则A称为合取范式。例如:(P(x)Q(y)(乛P(x)Q(y)
4、R(x,y)(乛Q(y)乛R(x,y)是一个合取范式。,定义5 设A为如下形式的命题公式:B1B2Bn其中Bi(i=1,2,n)形如L1L2Lm,Lj(j=1,2,m)为原子公式或其否定,则A称为析取范式。例如:(P(x)乛Q(y)R(x,y)(乛P(x)Q(y)(乛P(x)R(x,y)是一个析取范式。,定义6 设P为谓词公式,D为其个体域,对于D中的任一解释I:(1)若P恒为真,则称P在D上永真(或有效)或是D上的永真式。(2)若P恒为假,则称P在D上永假(或不可满足)或是D上的永假式。(3)若至少有一个解释,可使P为真,则称P在D上可满足或是D上的可满足式。定义7 设P为谓词公式,对于任何
5、个体域:(1)若P都永真,则称P为永真式。(2)若P都永假,则称P为永假式。(3)若P都可满足,则称P为可满足式。,表3.1 常用逻辑等价式,3.1.3 谓词逻辑中的形式演绎推理,表3.2 常用逻辑蕴含式,例3.4 设有前提:(1)凡是大学生都学过计算机;(2)小王是大学生。试问:小王学过计算机吗? 解令S(x):x是大学生;M(x):x学过计算机;a:小王。则上面的两个命题可用谓词公式表示为(1) x(S(x)M(x)(2) S(a),下面我们进行形式推理:(2) x(S(x)M(x) 前提(2)S(a)M(a) (1),US(3)S(a) 前提(4)M(a) (2),(3),I3得结果:M
6、(a),即“小王学过计算机”。,例3.5 证明 P(a,b)是 x y(P(x,y)W(x,y)和W(a,b)的逻辑结果。证(1) x y(P(x,y)W(x,y) 前提(2) y(P(a,y)W(a,y) (1),US(3) P(a,b)W(a,b) (2),US(4)乛W(a,b) 前提(5)乛P(a,b) (3),(4),I4,例3.6 证 x(P(x)Q(x) x(R(x)乛Q(x)x(R(x)乛P(x)。证 (1) x(P(x)Q(x) 前提 (2)P(y)Q(y) (1),US (3)乛Q(y)乛P(y) (2),E24 (4) x(R(x)Q(x) 前提 (5)R(y)乛Q(y)
7、 (3),US (6)R(y)乛P(y) (3),(5),I6 (7) x(R(x)乛P(x) (6),UG,3.2 归结演绎推理,3.2.1 子句集定义1 原子谓词公式及其否定称为文字,若干个文字的一个析取式称为一个子句,由r个文字组成的子句叫r文字子句,1文字子句叫单元子句,不含任何文字的子句称为空子句,记为NIL。例如 下面的析取式都是子句PQ乛RP(x,y)乛Q(x),定义2 对谓词公式G,通过以下步骤所得的子句集合S,称为G的子句集。(1)消去蕴含词和等值词: (2)缩小否定词的作用范围,直到其仅作用于原子公式:3)适当改名,使量词间不含同名指导变元和约束变元。,(4)消去存在量词。
8、消去存在量词时,变元替换分两种情况:若该存在量词在某些全称量词的辖域内,则用这些全称量词指导变元的一个函数代替该存在量词辖域中的相应约束变元,这样的函数称为Skolem函数: 例如 若该存在量词不在任何全称量词的辖域内,则用一个常量符号代替该存在量词辖域中的相应约束变元,这样的常量符号称为Skolem常量。 例如(5)消去所有全称量词。(6)化公式为合取范式。(7)适当改名,使子句间无同名变元。(8)消去合取词,以子句为元素组成一个集合S。,关于x的Skolem函数,Skolem常量,例3.7 求下面谓词公式的子句集在求子句集过程中,消去存在量词后,把所有全称量词都依次移到整个式子的最左边,再
9、将右部的式子化为合取范式,所得的式子称为原公式的称为Skolem标准型。公式的子句集也可以通过先求前束范式,再求Skolem标准型而得到,引入Skolem函数,是由于存在量词在全称量词的辖域之内,其约束变元的取值则完全依赖于全称量词的取值。Skolem函数反映这种依赖关系。但注意,Skolem标准型与原公式一般并不等价,例如有公式:,它的Skolem标准型是:,我们给出如下的一个解释I:,则在解释I下,G为T,G为F,定理1 谓词词公式G不可满足iff G的子句集不可满足。所以:证明一个公式G的不可满足性,转化为证明其子句集S的不可满足性。 定义3 子句集S是不可满足的,当且仅当其全部子句的合
10、取式是不可满足的。,3.2.2 命题逻辑中的归结原理归结演绎推理是基于一种称为归结原理(principle of resolution)的推理规则的推理方法。归结原理是由J.A.Robinson于1965年首先提出。是谓词逻辑中一种机械化推理方法。归结原理的出现,被认为是自动推理,特别是定理机器证明领域的重大突破。,定义4 设L为一个文字,则称L与乛L为互补文字。定义5 设C1、C2是命题逻辑中的两个子句,C1中有文字L1,C2中有文字L2,且L1与L2互补,从C1、C2中分别删除L1、L2,再将剩余部分析取起来,记构成的新子句为C12,则称C12为C1、C2的归结式(或消解式), C1、C2
11、称为其归结式的亲本子句, L1、L2称为消解基。例3.9 设C1=乛PQR,C2=乛QS,于是C1、C2的归结式为乛PRS,定理2 归结式是其亲本子句的逻辑结论。 证明 设C1 LC1,C2 乛LC2,C1、C2都是文字的析取式,则C1、C2的归结式为C1C2, 因为:C1C1L 乛C1L)C2 乛LC2 (LC2) 所以C1C2 (乛C1L)(LC2)=乛C1C2 C1C2 证毕。由定理2即得推理规则(归结原理):C1C2 (C1-L1)(C2-L2) 其中, C1、C2是两个子句, L1、L2分别是C1、C2中的文字, L1、L2 互补。,例3.10 用归结原理验证分离规则:A(AB)=B
12、和拒取式(AB)乛B = 乛A。解 A(AB)A(乛AB)=B(AB)乛B (乛AB)(乛B) = 乛A类似地可以验证其他推理规则也都可以经消解原理推出。用消解原理就可以代替其他所有的推理规则。 这个方法为机器推理提供了方便。,推论 设C1,C2是子句集S的两个子句,C12是它们的归结式,则(1)若用C12代替C1,C2,得到新子句集S1,则由S1的不可满足可推出原子句集S的不可满足。即S1不可满足 S不可满足(2)若把C12加入到S中,得到新子句集S2,则S2与原S的同不可满足。即S2不可满足 S不可满足,例3.11 证明子句集P乛Q,P,Q是不可满足的。 证 (1)P乛Q (2)乛P (3)Q (4)乛Q 由(1),(2) (5) 由(3),(4),例3.12 用归结原理证明R是P,(PQ)R,(SU)Q,U的逻辑结果。 证:先把诸前提条件化为子句形式,再把结论的非也化为子句. 由所有子句得子句集:P,乛P乛QR,乛SQ,乛UQ,U,乛R 该子句集施行归结:,