1、第三章 谓词逻辑,3.1 谓词逻辑的基本概念,命题逻辑的缺陷,把问题看成一个个孤立的命题,忽略了问题之间的联系,不能反映某些重要的常见的逻辑思维过程。,1 繁琐 例.表述集合个体性质及相互关系S=1,2,50 表述S中元素大于3这样一个性质,需要 13,23,503等50个命题。,2. 不能描述问题间的逻辑联系 例如,逻辑学中著名的三段论: P:凡人必死 Q:张三是人 R:张三必死 在命题逻辑中: 应该有(PQ) R,从而公式(PQ)R应该是恒真的。 显然该公式不是恒真的,解释P,Q,R就能弄假该公式。,原因:命题R是和命题P, Q有关系的,只是这种关系在命题逻辑中无法表示。 因此,需要对命题
2、的成分、结构和命题间的共同特性等作进一步的分析,这正是谓词逻辑所要研究的问题。,为了表示出这三个命题的内在关系,需要引进谓词的概念。 例如,在前面的例子“张三是人”中的“是人”是谓语,称为谓词,“张三”是主语,称为个体。,定义3.1.1可以独立存在的物体称为个体。(它可以是抽象的,也可以是具体的。)如人、学生、桌子、自然数等都可以做个体。在谓词演算中,个体通常指一个命题里的思维对象。,定义3.1.2 设D是非空个体名称集合,定义在Dn上取值于1,0上的n元函数,称为n元命题函数或n元谓词。其中Dn表示集合D的n次笛卡尔乘积。 一般地,一元谓词描述个体的性质,二元或多元谓词描述两个或多个个体间的
3、关系。0元谓词中无个体,理解为就是命题,这样,谓词逻辑包括命题逻辑。,例: 令G(x,y): “x高于y”,G(x,y)是一个二元谓词。将x代以个体 “张三”,y代以个体 “李四”,则G(张三,李四)就是命题: “张三高于李四”。 G(x,y)不是命题,而是一个命题函数即谓词。 随便将x,y代以确定的个体,由G(x,y)都能得到一个命题。,例.D=2,3,4(1)设P(x):x大于3,则P(x)为一元谓词。指定元素-命题:P(2)=0, P(3)=0, P(4)=1(2)设P(x,y):x大于y,则P(x,y)为二元谓词。 指定元素-命题:P(2,3)=0, P(4,2)=1(3)设P(x,y
4、,z):若x+y-1=z,则P(x,y,z)为1,否则为0 。则P(x,y,z)为三元谓词。 指定元素-命题:P(2,3,4)=1,P(4,2,2)=0,例.用谓词的概念可将三段论做如下的符号化: 令 H(x)表示 “x是人”, M(x)表示 “x必死”。则三段论的三个命题表示如下: P: H(x)M(x) Q: H(张三) R: M(张三),若想得到 “命题”P的否定 “命题”,应该就是“命题”P。但是, P=(H(x)M(x) =(H(x)M(x) =H(x)M(x)亦即,“命题”P的否定 “命题”是 “所有人都不死”。这和人们日常对命题 “所有人都必死”的否定的理解,相差得实在太远了.,
5、2 量词,原因命题P的确切意思应该是: “对任意x,如果x是人,则x必死”。 但是 H(x)M(x) 中并没有确切的表示出 “对任意x”这个意思,亦即H(x)M(x)不是一个命题。 因此,在谓词逻辑中除引进谓词外,还需要引进 “对任意x”这个语句,及其对偶的语句 “存在一个x”。,定义3.1.3 语句 “对任意x”称为全称量词,记以x; 语句 “存在一个x”称为存在量词,记以x。 这时,命题P就可确切地符号化如下: x(H(x)M(x) 命题P的否定命题为: P=(x(H(x)M(x) =x(H(x)M(x) 亦即 “有一个人是不死的”。这个命题确实是 “所有人都要死”的否定。,三段论的三个命
6、题,在谓词逻辑中是如下这样表示的: P:x(H(x)M(x) Q:H(张三) R:M(张三) 以后可以证明:在谓词逻辑中,R是P和Q的逻辑结果。,例.将下列命题符号化: )一切事物都是发展变化的 x F(x) 其中F(x):x是发展变化的 )存在着会说话的机器人 x(F(x)G(x) 其中F(x):x会说话 G(x): x是机器人 注:如果没有明确给出个体域,则认为个体域 为一切事物。,3) 每个软件学院的学生都学离散数学。,D:全校学生集合 P(x):x是软件学院的学生 R(x): x学离散数学 x(P(x) R(x),4)存在着偶素数,D:正整数集合 E(x):x是偶数 P(x):x是素数
7、 x(E(x)P(x),5) 每个人都会犯错误,R(x):x是人 P(x):x会犯错误 x(R(x) P(x),设G(x)是一元谓词,任取x0D,则G(x0)是一个命题。于是xG(x)是这样一个命题 “对任意xD,都有G(x)”。故对命题xG(x)的真值做如下规定: xG(x)取1值对任意xD,G(x)都取1值; xG(x)取0值至少有一个x0D,使G(x0)取0值。,3 量词的语义规定,xG(x)是命题 “存在一个x0D,使得G(x0)成立”。对命题xG(x)的真值规定如下: xG(x)取1值至少有一个x0D,使G(x0)取1值; xG(x)取0值对所有xD,G(x)都取0值。,语义上,当D
8、=x0,x1,是可数集合时, xG(x)等价于G(x0)G(x1) xG(x)等价于G(x0)G(x1),例.D=2,3,4,P(x):x3则 x P(x)等价于 P(2) P(3) P(4) 所以真值为 x P(x)等价于 P(2) P(3) P(4) 所以真值为 ,练习,设个体域D=1,2,3,P(x) :x2。 试判断下列公式的真值: (1) xP(x) P(2); (2) P(3) xP(x).,解:(1)xP(x) P(2)等价于(P(1) P(2) P(3) P(2)所以真值为 (001) 0=1 0=0 (2) P(3) xP(x)等价于1( P(1) P(2) P(3)所以真值
9、为 1( 0 0 1)=1 0=0,4 量词的约束范围,定义3.1.4 在一个由谓词,量词,逻辑联结词,括号组成的有意义的符号串(实际是指下一节将严格定义的公式)中,称变量的出现是约束的,当且仅当它出现在使用这个变量的量词范围之内;称变量的出现是自由的,当且仅当这个出现不是约束的。,例如,x(P(x,y)Q(x,z)R(x)从左向右算起,变量x的第一,第二次出现是约束的,第三次出现是自由的;变量y,z的出现是自由的。,定义3.1.5 称变量是约束的,如果至少有一个它的出现是约束的;称变量是自由的,如果至少有一个它的出现是自由的。 由定义可以看出一个变量可以既是约束变量又是自由变量。 例. x(
10、P(x,y)Q(x,z)R(x) 中的x既是约束变量,又是自由变量;y,z只是自由变量。,改名规则的理论依据 xP(x)与yP(y)都是表示个体域D中的“每个个体都具有性质P”,所以可以把x改名为y,即把xP(x)改成为yP(y)。 xP(x)与yP(y)都是表示个体域D中的“某个个体具有性质P” ,所以也可以把x改名为y,即把xP(x)改成为yP(y)。亦即,谓词逻辑中命题的真值,与命题中的约束变量的记法无关。这就引出了谓词逻辑中的改名规则。,5 约束变量的改名规则,在由谓词,量词,逻辑联结词,括号组成的有意义的符号串(实际是下节定义的公式)中,可将其中出现的约束变量改为另一个约束变量,这种
11、改名必须在量词作用区域内各处以及该量词符号中实行,并且改成的新约束变量要有别于改名区域中的所有其它变量。 显然改名规则不改变原符号串的真值。,对于x(P(x,y)Q(x,z) R(x, v), 可改名为u(P(u,y)Q(u,z) R(x, v) 。 但下面的改名都是不对的:a. u(P(u,y)Q(x,z) R(x, v)b. x(P(u,y)Q(u,z) R(x, v)c. u(P(x,y)Q(x,z) R(x, v)d. y(P(y,y)Q(y,z) R(x, v)e. z(P(z,y)Q(z,z) R(x, v),例:,在形式化中,将使用如下四种符号: 1) 常量符号:用小写英文字母a
12、,b,c,表示,当个体名称集合D给出时,它可以是D中某个元素。 2) 变量符号:用小写英文字母x,y,z,表示,当个体名称集合D给出时,D中任意元素可代入变量符号。,3.2 谓词公式,1 基本符号,3) 函数符号:用小写英文字母f,g,表示,当个体名称集合D给出时,n元函数符号f(x1,xn)可以是Dn到D的任意一个映射。 4) 谓词符号:用大写英文字母P,Q,R,表示,当个体名称集合D给出时,n元谓词符号P(x1,xn)可以是Dn上的任意一个谓词。,谓词逻辑中的项,被递归定义为: 1) 常量符号是项; 2) 变量符号是项; 3) 若f(x1, , xn)是n元函数符号,t1, , tn 是项
13、,则f(t1, , tn)是项; 4) 所有项都是有限次使用1),2),3)生成 的符号串。,2 项,3 公式,若P(x1,xn)是n元谓词符号,t1,tn是项,则P(t1,tn)是原子。 谓词逻辑中的公式,被递归定义如下: 1) 原子是公式; 2) 若G,H是公式,则(G),(GH), (GH), (GH),(GH)是公式; 3) 若G是公式,x是G中的自由变量,则xG,xG是公式; 4) 所有公式都是有限次使用1)3)生成的符号串。,谓词逻辑中公式G的一个解释I,是由非空区域D和对G中常量符号,函数符号,谓词符号以下列规则进行的一组指定组成: 1. 对每个常量符号,指定D中一个元素; 2.
14、 对每个n元函数符号,指定一个函数,即指 定Dn到D的一个映射; 3. 对每个n元谓词符号,指定一个谓词,即指 定Dn到0,1的一个映射。,4 解释,例:,给出如下两个公式: 1) G=x(P(f(x)Q(x,f(a) 2) H=x(P(x)Q(x,a) 设解释I: D=2,3 a 2 f(2) f(3) 3 2 P(2) P(3) Q(2, 2) Q(2, 3) Q(3, 2) Q(3, 3) 0 1 1 1 0 1,TI(G) = TI(P(f(2)Q(2,f(2) (P(f(3)Q(3,f(2) = TI(P(3)Q(2,3)(P(2)Q(3,3) =(11)(01) =1 TI(H)
15、= TI(P(2)Q(2,2)P(3)Q(3,2) =0110 =0,使用量词时应注意以下几个问题: (1) 量词的论域D ,即D中都有哪些元素例. I:D=2,3,P(x):x3 则 TI(x P(x) P(2) P(3) ,(2) 在多重量词时,应注意量词的顺序x y P(x,y) y x P(x,y) 例. I:D=2,3,4,P(x,y):x=yTI (x y P(x,y) = TI ( x (y P(x,y) = TI ( y P(2,y) y P(3,y) y P(4,y) ) =(P(2,2) P(2,3) P(2,4) ) (P(3,2) P(3,3) P(3,4) ) (P(
16、4,2) P(4,3) P(4,4) ) =111=1,TI ( y x P(x,y) = TI ( y (x P(x,y) = TI ( x P(x,2) x P(x,3) x P(x,4) =( P(2,2) P(3,2) P(4,2) ( P(2,3) P(3,3) P(4,3) ( P(2,4) P(3,4) P(4,4) = 0 0 0=0,例. 设个体域D为实数集合,P(x, y)表示xy,则 xyP(x, y)与yxP(x, y)含义是不同的: xyP(x, y) 表示对任意一个实数x,都存在实数y,使得xy;即对任意实数x,都有比x大的实数存在; yxP(x, y) 表示存在一
17、个实数y,对任意实数x,都有xy;即有一个实数比所有实数都大。,例.设D为自然数的集合,P(x,y):xy。判断下列谓词公式所表达的命题的真值: (1)xyP(x,y); (2)yxP(x,y); (3)xyP(x,y)。 解: (1) TI(xyP(x,y) = TI(yP(0,y) yP(1,y) yP(n,y) ) 而 TI(yP(0,y)= TI(P(0,0) P(0,1) )= 0 yP(0,y)表达的含义是:存在比0小的自然数,当然是 假命题。 故,x y P(x,y),(2) TI(yxP(x,y)=TI(xP(x,0) xP(x,1) xP(x,n) )= 1 1 1 = 1(
18、x P(x,n) = P(0,n) P(n+1,n) ) (3) TI(x yP(x,y)= TI(yP(0,y) yP(1,y) ) = 0 0 = 0 当D可数时, x y P(x,y)= yx P(x,y) x y P(x,y)= x y P(x,y),(3)注意量词的作用范围 例. 设个体域为D,aD,P(x)为D上任意一个谓词。 (1)判断x(P(x)P(a)和xP(x)P(a)是否等价。 (2)判断x(P(x)P(a)和xP(x)P(a)是否等价。 解:(1) 任取解释I, 若P(a) 在I下为真,则xP(x)P(a)在I下为真; 若P(a) 在I下为假,则xP(x)在I下为假,故
19、 xP(x)P(a)在I下为真 因此,xP(x)P(a) 是恒真公式.,而x(P(x)P(a)不是恒真公式。设 解释I为: D=1,2a 1 P(1) P(2) 0 1 则 TI(x(P(x) P(a)= TI (P(1) P(1) (P(2) P(1)= 1 0 = 0,(2) 任取解释I,由P(a)P(a)为真,知,存在xD,使得P(x)P(a)为真,即x(P(x)P(a)为真。 因此,xP(x)P(a)为恒真公式。,而xP(x) P(a)不是恒真公式。对于解释I, 若xP(x)在I下为0,则xP(x) P(a)在I下为1。 若xP(x)在I下为1,则如果P(a)在I下为1,则 xP(x)
20、 P(a)在I下为1,否则如果P(a)在I下为0, 则xP(x) P(a)在I下为0。 比如,对于(1)中给出的解释I,TI(xP(x) P(a) = (P(1)P(2) P(1) = (01) 0 = 0 因此,x(P(x) P(a)和xP(x) P(a)不等价。,5 封闭公式,对讨论的公式做如下规定:公式中无自由变量,或将自由变量看做常量。,6 谓词公式的恒真、恒假、可满足,定义3.2.5 公式G称为可满足的,如果存在解释I,使G在I下取1值,简称I满足G。若I不满足G,则简称I弄假G。 定义3.2.6 公式G称为是恒假的(或不可满足的),如果不存在解释I满足G;公式G称为恒真的,如果G的
21、所有解释I都满足G。,例.设G=xP(x)P(a),则G是恒假公式。 证明:对G的任意解释I, 若TI(P(a)=1,则TI(P(a)=0,故TI(xP(x)P(a)=0 若TI(P(a)=0,则TI(xP(x)=0,故TI(xP(x)P(a)=0 因此, G是恒假公式。,例.设G=xP(x) xP(x) ,则G是恒真公式。 证明:对G的任意解释I, 若TI(xP(x)=1,则至少有x0D,使得TI(P(x0) )=1,故TI(xP(x)=1,因此TI(xP(x) xP(x)=1。 若TI(xP(x) )=0,则TI(xP(x) xP(x))=1 因此, G是恒真公式。,定义3.3.1 公式G
22、,H称为等价,记以G=H,如果公式GH是恒真的。 显然,公式G,H等价的充要条件是:对G,H的任意解释I,G,H在I下的真值相同。 因为对任意公式G,H,在解释I下,G,H就是两个命题,所以命题逻辑中给出的基本等价式,在谓词逻辑中仍然成立。,3.3 谓词公式的等价关系 和蕴涵关系,1 公式间的等价,例. 设G=xA(x)B,H=x(A(x)B),其中A(x),B(x)表示含自由变量x的公式,A,B表示不含变量x(不论是自由的还是约束的)的公式。证明 G,H等价。 证明:任取解释I, 若TI(G)=1,则若TI(B)=1,则对于所有的x,无论A(x)取何真值,TI(x(A(x)B))=1,即TI
23、(H)=1。 若TI(B)=0,则TI(xA(x)=0,即对于所有的x, TI(A(x)=0,所以,对于所有的x,TI(A(x)B)=1,即TI(x(A(x)B))=1,亦即TI(H)=1。,若TI(G)=0,则必有TI(xA(x)=1,且TI(B)=0,于是存在x0D, 使得TI(A(x0) )=1,即TI(A(x0)B))=0,从而TI(x(A(x)B))=0,亦即TI(H)=0。 因此,(xA(x)B)=x(A(x)B)。,例. 设G= x(A(x)B(x),H= x A(x) x B(x) G,H不等价。 举反例:简单扼要、击中要害 I:D=2,3 A(2) A(3) B(2) B(3
24、) 1 0 0 0 TI(G)=0 TI(H)=1,定义3.3.2 设G,H是公式,称G蕴涵H,或H是G的逻辑结果,如果公式GH是恒真的,并记以GH。 显然,对任意两个公式G,H,G蕴涵H的充要条件是:对任意解释I,若I满足G,则I必满足H。 同样,命题逻辑中的基本蕴涵式仍成立。,2 公式间的蕴涵,例.设G=x(A(x)B(x),H=xA(x)xB(x) 证明:GH 证明:设I是满足G的任意一个解释。 若TI(xA(x)=0,则TI(xA(x)xB(x)=1; 若TI(xA(x)=1,则在I下对任意xD,有 TI(A(x)=1, 又由TI(x(A(x)B(x)=1知,对 任意xD,TI(A(x
25、)B(x)=1,故 TI(B(x)=1,即,TI(x(B(x)=1, 因此,TI (xA(x)xB(x)=1。,例. 令G1 =x(H(x)M(x),G2=H(a),H=M(a) 证明:H是G1 G2的逻辑结果。 证明:设I是G1 ,G2,H的一个解释,且I满足G1G2,即I满足 x(H(x)M(x)H(a) 则I应该满足M(a)。否则,令M(a)在I下为假,而H(a)在I下为真,于是H(a)M(a)在I下为假,故x(H(x)M(x)在I下为假,矛盾。 故M(a)在I下为真命题。,谓词公式蕴涵的证明方法,证明谓词公式间的等价和蕴涵一般很少用到真值表法。 对于谓词公式A,B,一般有如下证明AB的
26、方法: 方法一. 证明AB是恒真公式。 方法二. 由基本等价式和基本蕴涵式推导出AB。 常用的基本蕴涵式有: x(A(x)B(x)(xA(x)x(B(x) (a) (xA(x)xB(x)x(A(x)B(x) (b) x(A(x)B(x) xA(x) x B(x) (c) 方法三. 任取解释I,若I满足A,往证I满足B。 方法四. 反证法,设结论假,往证前提假。,例. 证明下列蕴涵式,其中A(x),B(x)表示含自由变量x的公式。 (1)xy(A(x)B(y)xA(x); (2)(xA(x)xB(x)x(A(x)B(x); (3)x(A(x) B(x)xA(x) x B(x)。 证明:(1)使用
27、方法一,证明xy(A(x)B(x) xA(x)是恒真公式。xy(A(x)B(y) xA(x)= x(A(x) y B(y) xA(x)= xA(x) yB(y) xA(x)=(xA(x) xA(x) yB(y)=1yB(y) =1 因此,xy(A(x)B(y)xA(x)。,(2)使用方法二。(xA(x)xB(x)= xA(x)xB(x)= x(A(x)xB(x)由基本蕴涵式(b)知, x( A(x) xB(x) x( A(x) B(x), 而x( A(x) B(x)=x(A(x) B(x)。 因此,(xA(x)xB(x)x(A(x)B(x)。,(3)首先使用方法三。任取解释I,假设x(A(x)
28、B(x)在I下为真,则对D中每 个元素x,都有A(x)B(x)为真。 若对D中某个元素x0,B(x0)为真,则xB(x)为真,因此,xA(x) x B(x)为真。 若对D中每个元素x,B(x)都为假,由A(x) B(x)为真知,一定有对D中每个元素x,A(x)均为真,即xA(x)为真。因此,xA(x) x B(x)为真。 综上,x(A(x) B(x)xA(x) x B(x)。,再使用方法四。假设存在解释I使xA(x)xB(x)为假,则xA(x) 为假,且xB(x)为假,即,D中存在元素x0,使A(x0)为假,且对D中任意元素x,B(x)均为假,于是,A(x0)B(x0)为假,故,x(A(x)B
29、(x)在I下为假。因此,x(A(x)B(x)xA(x)x B(x)。,谓词逻辑中公式恒真、恒假性的判断异常困难。 原因: 谓词逻辑中的恒真(恒假)公式,要求所有解释I都满足(弄假)该公式。 而解释I依赖于一个非空集合D。 由于集合D可以是无穷集合,而集合D的 “数目”也可能是无穷多个。 因此,所谓公式的 “所有”解释,实际上是无法考虑的。 1936年Church和Turing分别独立地证明了:对于谓词逻辑,判定问题是不可解的。,3 谓词逻辑的判定问题,谓词逻辑是半可判定的:如果谓词逻辑中的公式是恒真的,则有算法在有限步之内检验出这个公式的恒真性。如果该公式不是恒真的(当然也不是恒假的),则无法
30、在有限步内判定这个事实。,(Alan Mathison Turing,1912-1954) 在孩提时代就对化学和机械着迷,做过大量化学实验。 1931年,获得了剑桥大学皇家学院的奖学金。在完成毕业论文后,被选为该学院的成员。在毕业论文中,发现了统计学中的一个著名定理中心极限定理。 1935年,对判定问题着了迷,这是伟大的德国数学家希尔伯特提出的一个问题:是否有一个能用于判断任何命题是否为真的一般方法。,英国天才数学家、计算机科学家图灵,图灵喜欢跑步,一天,在跑步之后的休息中,发现了解决判定问题的关键思想。在他的解决方案中,他发明了今天称为图灵机的东西。并用它作为计算机器的最一般模型。利用这个机
31、器,发现了一个不能用一般方法判定的问题,这是一个关于他称为可计算性的问题。 从1936年到1938年,图灵在普林斯顿大学访问,与丘奇(Alonze Church)一起工作,丘奇也解决了希尔伯特提出的判定问题。,为现代人工智能做出巨大贡献的图灵在理论上奠定了计算机产生的基础。对于计算机人士而言,获得图灵奖就等于物理学家获得诺贝尔奖一样。 认为如果机器能成功的伪装成人欺骗观察者,那么就认为它具有了智能。图灵试验:由计算机、被测试的人和主持试验人组成。计算机和被测试的人分别在两个不同的房间里。测试过程由主持人提问,由计算机和被测试的人分别做出回答。观测者能通过电传打字机与机器和人联系。被测人在回答问
32、题时尽可能表明他是一个“真正的”人,而计算机也将尽可能逼真的模仿人的思维方式和思维过程。如果试验主持人听取他们各自的答案后,分辨不清哪个是人回答的,哪个是机器回答的,则可以认为该计算机具有了智能。图灵测试的重要意义:使实验研究智能行为成为可能。,在1939年,图灵回到皇家学院。但在第二次世界大战爆发期间,他进入了英国外交部,从事对德国密码的分析工作。他对破译机械的德国密码机Enigma的密码作出了重要贡献,在赢得这次战争中起到了重要作用。 1954年,图灵服氰化物自杀,没有留下遗言作明确解释。,丘奇,丘奇(Alonze Church,1903-1995) 出生于华盛顿特区。 曾在哥廷根跟随希尔
33、伯特学习,后来转到阿姆斯特丹。 从1927年到1967,执教于普林斯顿大学 1967年调到加州大学洛衫矶分校(UCLA)。 是符号逻辑学会(Association of Symbolic Logic)的创始人。对可计算性理论作出了实质性的贡献,其中包括对判定问题的解、演算的发明,以及对现今称为丘奇图灵论题的陈诉。 克莱因和图灵都是丘奇的学生。 在90岁生日后还发表文章。,5 谓词演算的推理理论,1全称指定规则(简称US规则) 这条规有下面两种形式: (1)x P(x) P(y) (2)x P(x) P(c) 其中,P是谓词,(1)中y为任意不在P(x)中约束出现的个体 变元;(2)中c为个体域
34、中的任意一个个体常元。,2存在指定规则(简称ES规则)x P(x) P(c) 其中,c为个体域中使P成立的特定个体常元。必须注意,应用 存在指定规则,其指定的个体c不是任意的。,3全称推广规则(简称UG规则)P(y) x P(x),4存在推广规则(简称EG规则) P(c) x P(x) 其中,c为个体域中的个体常元,这个规则比较明显,对于某些 个体c,若P(c)成立,则个体域中必有x P(x)。,例 证明 x(H(x) M(x)H(a) M(a)这是 著名的苏格拉底三段论的论证。 其中 H(x):x是一个人。M(x):x是要死的。a:苏格拉底。 证明 (1)x(H(x) M(x) 前提(2)H
35、(a) M(a) US(1)(3)H(a) 前提(4)M(a) (2)(3),例 判断下列的推理过程是否正确。(1)x y G(x,y) P(2)y G(z,y) US(1)(3)G(z,c) ES(2)(4)x G(x,c) UG(3)(5)y x G(x,y) EG(4),解 这个推理过程是错误的,因为从它可以得出结论:x y G(x,y) y x G(x,y) 从前面的学习中我们知道这个式子不成立。它的推导错误出现在 第(3)步。x y G(x,y)的含义是:对于任意的一个x,存 在着与它对应的y,使得G(x,y)成立。但是,对y G(z,y) 利用ES规则消去存在变量后得到G(z,c)
36、的含义却是:对于任 意个体z,有同一个体c,使得G(z,c)成立。显然,G(z,c) 不是y G(z,y)的有效结论。 因此,使用ES规则x P(x) P(c)消去存在量词的条件是: P(x)中除x外没有其他自由出现的个体变元。,例 证明:x(C(x)(W(x)R(x)x C(x)Q(x) x R(x)x Q(x) 证明 (1)x C(x) P(2)C(y) ES(1)(3)x(C(x)(W(x) R(x) P(4)C(y)(W(y)R(y) US(3)(5)W(y)R(y) (2)(4)(6)R(y) (5)(7)x R(x) EG(6)(8)Q(x) P(9)x Q(x) EG(8)(10
37、)x Q(x)x Q(x) (7)(9),例 证明:x(A(x)B(x) x A(x)x B(x) 证明 方法1(1)x(A(x)B(x) P(2)A(y)B(y) US(1)(3)x(A(x)B(x) EG(2)(4)x A(x)x B(x) T(3)E,例: 给定前提: x(P(x)y(Q(y) R(x,y) x(P(x) y(S(y)R(x,y) 证明下列结论: x(Q(x)S(x),证明: (1)x(P(x)y(Q(y) R(x,y) P(2)P(a)y(Q(y) R(a,y) ES(1)(3)P(a) (2)(4)x(P(x) y(S(y)R(x,y) P(5)P(a) y(S(y)
38、R(a,y) US(4)(6)y(S(y)R(a,y) (3)(5),(7)y(Q(y) R(a,y) (2) (8)S(z)R(a,z) US(6) (9)Q(z) R(a,z) US(7) (10)R(a,z)S(z) (8) (11)Q(z) S(z) (9)(10) (12)x(Q(x)S(x) UG(11),例 符号化下面的命题“所有的有理数都是实数,所有的无 理数也是实数,任何虚数都不是实数,所以任何虚数既不是有理 数也不是无理数”,并推证其结论。 证明 设:P(x):x是有理数。Q(x):x是无理数。R(x):x是实数。S(x):x是虚数。 本题符号化为:x(P(x) R(x),
39、x(Q(x) R (x),x(S(x)R(x) x(S(x)P(x) R(x),(1)x(S(x)R(x) P (2)S(y)R(y) US(1) (3)x(P(x) R(x) P (4)P(y) R(y) US(3) (5)R(y)P(y) (4) (6)x(Q(x) R(x) P (7)Q(y) R(y) US(6) (8)R(y)Q(y) (7),(9)S(y)P(y) (2)(5) (10)S(y)Q(y) (2)(8) (11)(S(y)P(y)(S(y)Q(y) (9)(10) (12)(S(y)P(y)( S(y)Q(y) (11) (13)S(y)(P(y)Q(y) (12)
40、(14)S(y)(P(y)Q(y) (13) (15)x(S(x)P(x)R(x) UG(14),在命题逻辑中,引进过公式的标准形式,即范式。因为一个公式,在等价意义下,可以有各种不同的表示,因此,公式的标准表示形式就是一个有意义的问题。 在命题逻辑中,已经使用过范式来解决公式的判定问题,范式在谓词逻辑中有同样重要的作用。 本节讨论谓词逻辑中公式的两种标准形式。,3.4 范式,定义3.4.1 谓词逻辑中公式G称为前束范式,如果G有如下形状: Q1x1QnxnM 其中 Qixi或者是xi,或者是xi,i=1,n,M是不含量词的公式,Q1x1Qnxn称为首标,M称为母式。 例如, xyz(P(x,
41、y)Q(x,z) xyzP(x,y,z),1 前束范式,对任意谓词公式,量词是不能随便提前的。 如前面的例子 xP(x) P(a) x(P(x) P(a) xP(x) P(a) x(P(x) P(a),设G是公式,其中自由变量有且仅有一个x,记以G(x),H是不含变量x的公式,于是有: 1) x(G(x)H)=xG(x)H 1) x(G(x)H)=xG(x)H 2) x(G(x)H)=xG(x)H 2) x(G(x)H)=xG(x)H 3) (xG(x)=x(G(x) 4) (xG(x)=x(G(x),引理1,设I是G(x)和H的任意一个解释。 若x(G(x)H)在I下取1值,则在I下,对任意
42、xD,G(x)H都是真命题。若H在I下是真命题,则xG(x)H是真命题;若H在I下是假命题,则必然是对每个xD,G(x)都是真命题,故xG(x)取1值。所以xG(x)H在I下取1值. 若x(G(x)H)在I下取0值,则必有一个x0D,使G(x0) H在I下取0值。故G(x0)为假命题,并且H为假命题。所以xG(x)取0值。从而xG(x)H在I下取0值。,1) 证明:x(G(x)H)=xG(x)H,1) 证明: x(G(x)H)=xG(x)H,设I是G(x)和H的任意一个解释。若x(G(x)H)在I下取1值,则在I下,存在x0D,G(x0)H是真命题。若H是真命题,则xG(x)H是真命题;若H是
43、假命题,则必然有G(x0) 是真命题,故xG(x)取1值。所以xG(x)H在I下取1值。若x(G(x)H)在I下取0值,则在I下对任意的xD,使G(x)H在I下取0值。故G(x)和H都为假命题,所以xG(x)H在I下取0值。,若I满足(xG( x),则I弄假xG(x)。故对任意xD,G(x)都是假命题,从而G(x)都是真命题,故I满足x(G(x)。 若I弄假(xG(x),则I满足xG(x)。故有x0D,使得G(x0)是真命题。从而G(x0)是假命题,故I弄假x(G(x)。,4) 证明: (xG(x)=x(G(x),提示:,若xG(x) 假,则xG(x)假若xG(x)真,则xG(x)真即有: x
44、G(x) xG(x) xG(x) G(a)G(y) xG(x),引理2 设G,H是两个公式,其中自由变量有且只有一个x,分别记以G(x),H(x),于是有: 1) xG(x)xH(x)=x(G(x)H(x) 2) xG(x)xH(x)=x(G(x)H(x) 3) xG(x)xH(x)=xy(G(x)H(y) 4) xG(x)xH(x)=xy(G(x) H(y),2 公式的前束范式,设I是G(x)和H(x)的一个解释。若xG(x)xH(x)在I下取1值,则在解释I下,对任意xD,G(x)、H(x)都是真命题,所以G(x)H(x)是真命题,即对任意xD, G(x)H(x)是真命题,所以x(G(x)H(x)在I下取1值。 若xG(x)xH(x)在I下取0值,则xG(x)为假,或xH(x)为假,若xG(x)为假,必有一个x0D,使G(x0) 在I下取0值,所以G(x0) H(x0)为假命题,所以x(G(x)H(x)在I下取0值。若xH(x)为假,同理可证。,