第16章 谓词演算中的归结
- 格式:ppt
- 大小:825.50 KB
- 文档页数:35
归结推理⽅法(三)归结推理⽅法(三)引⼊新课:数理逻辑为知识的推理奠定了基础;基于⼀阶谓词逻辑的推理⽅法,是⼀种机械化的可在计算机上加以实现的推理⽅法。
⼀、命题逻辑命题逻辑和谓词逻辑是两种逻辑;对知识的形式化表⽰,特别是定理的⾃动证明发挥了重要作⽤。
谓词逻辑是在命题逻辑的基础上发展起来的。
命题逻辑可看作是谓词逻辑的⼀种特殊形式。
(⼀)命题定义1能够分辨真假的语句称作命题定义2⼀个语句如果不能再进⼀步分解成更简单的语句,并且⼜是⼀个命题,则称此命题为原⼦命题。
说明:(1)原⼦命题是命题中最基本的单位,⽤P,Q,R,…..⼤写拉丁字母表⽰。
⽽命题的真与假分别⽤“T”与“F”表⽰。
命题代表⼈们进⾏思维时的⼀种判断,或者是真。
或者是假,只有这两种情况。
若命题的意义为真,则记为T。
若命题的意义为假,则记为F。
(2)⼀般情况下,只有陈述句才可能是命题,因为只有陈述句才能分辨真假。
如“太阳从西边升起”、“雪是⽩⾊的”等等都是陈述句,⽽其他的⼀些句⼦如疑问句、祈使句、感叹句等均不能分辨其真假。
象这样的没有真假意义的句⼦就不是命题。
(3)并不是所有的陈述句都是命题;例如,“这个句⼦是假的”。
显然⽆法判断该语句的真假,这个语句不是命题。
(4)在有些情况下,要判断⼀个陈述句的真假,是需要⼀定条件的,即该陈述句在⼀种条件下,其逻辑值为真,但在另⼀种条件下,其逻辑值为假。
⽐如,“1+1=10”。
(5)⽤⼤写字母表⽰的命题既可以是⼀个特定的命题,也可以是⼀个抽象命题。
前者称为命题常量,后者称为命题变量。
对于命题变量,只有把确定的命题代⼊后,它才可能有明确的逻辑值(T或F)。
(⼆)命题公式连接词:在⽇常⽣活中,可以通过连接词将⼀些简单的陈述句组成较为复杂的语句,称为复合句。
较复杂的定义。
~:称为“⾮”或“否定”。
其作⽤是否定位于它后⾯的命题。
当命题P为真时,~P为假;当P 为假时,~P为真。
∨:称为“析取”。
它表⽰被它连接的两个命题具有“或”关系。
数学逻辑是数学的基础,它研究命题的推理和证明方法,是数学推理的基础工具。
其中,命题演算和谓词演算是数学逻辑的两个重要分支,它们在数学推理中具有不可替代的作用。
命题演算是逻辑学的基础,它研究命题之间的逻辑关系。
在命题演算中,一个命题是一个陈述句,它要么是真,要么是假。
命题的逻辑连接词有与、或、非三种,分别表示命题的合取、析取和否定。
通过逻辑连接词的运用,可以构造复合命题,从而进行复合命题的推理。
作为命题演算的一种进一步推广,谓词演算引入了变量和量词的概念。
谓词演算研究命题中涉及变量的合取和存在量化,以及含有变量的复合命题的推理。
在谓词演算中,变量可以赋予不同的值,从而使得命题可以为真或为假。
谓词演算的基本元素有谓词、变量和量词。
谓词是关于一个或多个变量的陈述,变量是命题中的未确定的对象,而量词则用于指定变量的范围。
命题演算和谓词演算在数学证明中具有不可替代的作用。
命题演算可以帮助我们分析命题之间的逻辑关系,通过构造复合命题和应用推理规则,可以推导出新的命题。
这为数学推理提供了重要的工具。
谓词演算则更加灵活,通过引入变量和量词的概念,可以处理涉及未知量的问题。
谓词演算可以将复杂的数学问题转化为简单的命题演算问题,从而简化了求解的过程。
在数学推理中,命题演算和谓词演算常常相互配合使用。
命题演算提供了一种简洁的推理方法,适用于处理已知条件推导出结论的问题;而谓词演算则适用于处理引入未知量的问题,通过引入变量和量词可以统一处理不同的情况,使得求解更加简化。
总之,数学逻辑中的命题演算和谓词演算是数学推理的重要工具。
命题演算研究命题之间的逻辑关系,可以帮助我们进行命题的推理和证明;谓词演算引入变量和量词的概念,可以处理涉及未知量的问题,将复杂的数学问题转化为简单的命题演算问题。
它们在数学推理中相互配合,为我们提供了强大的工具,帮助我们解决各种数学问题。
因此,学习和掌握命题演算和谓词演算对于提高数学推理能力具有重要意义。
例3.1(永真性判断)给定一阶语言 , 其中 是两个常元,是 元谓词符号, 是不同的变元. 假设 是以下公式:考察公式 :即它的前束范式是:它的 Skolem 范式 是:根据以下语义推出关系:可知:若将 看成是命题变元 , 对于子句集合它具有一个反驳, 这表明它能够语义推出一个恒假式, 所以, 能够语义推出一个恒假式, 因而 是永假的.所以 是永假的.所以 是永真的.□定义3.1(文字,相反文字,子句,子句集合,空子句,基文字,基子句,子句代换,子句集合代换 )对于谓词逻辑, 可以定义类似于命题逻辑的一些概念:z原子公式或者原子公式的非称为文字.谓词逻辑归结法,,,,.L={c1,c2,P,Q}c1,c2P,Q1x,y,zA(^xP(x)Z^xQ(x))> ^x(P(x)Z Q(x))\A\((^xP(x)Z^xQ(x))> ^x(P(x)Z Q(x))),(^xP(x)Z^xQ(x))[]x(\P(x)[\Q(x)).^x^y]z((P(x)Z Q(y))[\P(z)[\Q(z)).C]z((P(c1)Z Q(c2))[\P(z)[\Q(z)).C(P(c1)Z Q(c2))[\P(c1)[\Q(c1)C(P(c1)Z Q(c2))[\P(c2)[\Q(c2)C X P(c1)Z Q(c2)C X\P(c1)C X\Q(c2)P(c1),Q(c2)p,q{p Z q,\p,\q},CC\AA X Xz 若 是原子公式,则 是 的 相反文字,是 的相反文字. z 文字的有限集合称为子句.z 不出现变元的文字称为基文字. z 不出现变元的子句称为基子句. z 空的子句称为空子句.z 子句的有限集合称为子句集合.z称 为一个代换. 若 是文字, 则 表示z若子句 是 , 则 表示□事实3.1(子句集合与 Skolem 范式)子句 也写为 表示的闭包. 子句集合表示以下合取范式的闭包:因而表示一个 Skolem 范式.□例3.2(基本概念)z 与 是相反文字, 但是 与 不是相反文字.z假设代换 , 则 等于 .z基子句 表示 .z子句 表示语句L \L L L \L 5:{x 1/t 1,l ,x m /t m }L 5(L)L x 1,l ,xm t 1,l ,t m.C {L 1,l ,L n }5(C){5(L 1),l ,5(L n )}.{L 1,l ,L n }L 1ZlZ L n L 1ZlZ L n {{L 1,1,l ,L 1,n 1},{L 2,1,l ,L 2,n 2},l ,{L m,1,l ,L m,n m}}(L 1,1ZlZ L 1,n 1)[(L 2,1ZlZ L 2,n 2)[l[(L m,1ZlZ L m,nm).P(c 1)\P(c 1)P(c 1)\P(z)5={z/c 1}5(\P(z))\P(c 1){P(c)}P(c){P(x),Q(y)}]x ]y(P(x)Z Q(y)).z子句集合 表示 Skolem 范式□定义3.2(可满足)给定一阶语言 , 假设 是子句,是字句集合. z的一个解释 满足 , 是指 满足 所表示的语句.记为z若以下条件成立:则称 是 和 的逻辑推论. 记为 .z若存在 的解释满足 , 则称 是可满足的; 否则称 是不可满足的.z解释 满足 是指 满足 所表示的 Skolem 范式.z若存在 的解释满足 , 则称 是可满足的; 否则称 是不可满足的.□例3.3(可满足)给定一阶语言 , 假设 是 元谓词符号,是常元, 是变元. z子句 是可满足的.z□定义3.3(归结子句)给定一阶语言 , 假设 是 的两个子句. 形如的子句称为 与 的归结子句. 其中 是两个代换,而 与 是两个相反的文字.若三个子句 具有上述关系, 则记为 .□例3.4(归结子句)对任意的赋值 , 当 及 时, 有 . {P(x)Z Q(y),P(c)Z\Q(z)}]x ]y ]z ((P(x)Z Q(y))[(P(c)Z\Q(z))).L C,C 1,C 2,C 3S L I C I C I X C I I X C 1I X C 2I X C 3C 3C 1C 2C 1,C 2X C 3L C C C I S I S L S S S L P,Q 1c x,y P(c)Z Q(x)P(c)Z Q(x),\Q(y)P(c).L C 1,C 2L (51(C 1)-{L 1})P (52(C 2)-{L 2})C 1C 251,52L 1J 51(C 1),L 2J 52(C 2),L 1L 2C 1,C 2,C 3C 1,C 2U res C 3X给定一阶语言 , 其中 是常元,是变元, 是 元函数符号, 是 元谓词符号. 有以下归结推出关系:z .z .z .z .z. z假设{ 是 . {是 . 则:□定义3.4(反驳)子句集合 的一个反驳是指子句的有限序列 , 它满足以下条件:z 是 .z对于每个 :{或者 ,{或者存在 使得 . □例3.5(反驳)给定一阶语言 , 其中 是常元,是变元, 是 元谓词符号. 子句集合有一个反驳 , 其中:L ={c,f,g,P,Q}c x,y f,g 11P(c),\P(x)U res P(c)Z Q(x),\Q(y)U res P(c)P(x)Z Q(x),\Q(y)U res P(x)P(x)Z Q(x),\Q(y)U res P(f (x))P(x)Z Q(x),\Q(y)res P(f 2(x))A P(x)Z P(f(y))Z R(g(y))B \P(y)Z\R(y)A,B res P(f(y))Z R(g(y))Z\R(y),A,B res R(g(y))Z\R(f(y)).S {C i |15i 5n}C n `i C i J S j,k<i (15j,k< n )C j ,C k U res C i L ={c 1,c 2,P,Q}c 1,c 2x P,Q 1{P(c 1)Z Q(c 2),\P(x),\Q(x)}{C 1,C 2,C 3,C 4,C 5}C 1:P(c 1)Z Q(c 2)C 2:\P(x)C 3:\Q(x)C 4:Q(c 2)C 1,C 2U res C 4C 5:`C 3,C 4U res C 5`U U U□定理3.1(归结推出与语义推出)给定一阶语言 , 假设 是 的两个子句.证明:从 可知存在代换 及两个相反的文字 与 , 使得 , , 而假设子句 分别表示公式 . 则可知 . 因为 , 所以即:□定理3.2(归结方法的可靠性)给定一阶语言 , 假设 是 的子句集合. 若 有一个反驳, 则 是不可满足的. 证明根据归结一步可以传递可满性, 若 是可满足的, 则它的反驳序列中每个子句都是可满足的, 但最後一个空子句是不可满足的. 所以 是不可满足的.□定理3.3(归结方法的完全性)给定一阶语言 , 假设 是 的子句集合. 若 是不可满足的, 则 有一个反驳.□例3.6(简单证明)给定一阶语言 , 其中 是常元,是变元, 是 元谓词符号. 语句的 Skolem 范式是:所对应的子句集合是:若 则 .L C 1,C 2L C 1,C 2U res C 3C 1,C 2X C 3C 1,C 2U res C 351,52L 1L 2L 1J 51(C 1)L 2J 52(C 2)C 3=(51(C 1)-{L 1})P (52(C 2)-{L 2}).C i 9i 9i X 5i (C i )(i=1,2)(51(C 1)-{L 1})P (52(C 2)-{L 2})C 391,92C 3,91,9293.C 1,C 2X C 3.L S L S S S S L S L S S L ={c 1,c 2,P,Q}c 1,c 2x P,Q 1\((^xP(x)Z^xQ(x))> ^x(P(x)Z Q(x))),]z((P(c 1)Z Q(c 2))[\P(z)[\Q(z)).=X X它有一个反驳:因而是永假的, 即是永真的. 子句集合对应的基实例集合是若将 分别看成是命题变元 , 则上述基实例集合对应于命题逻辑语句集合:它有一个反驳:对应于谓词逻辑的反驳:可以直接转换为最初子句集合的反驳:□例3.7(多种证明)给定一阶语言 , 假设 是 元谓词符号, 是 元谓词符号,是三个不同的变元, 是两个不同的常元. 定义以下公式: {P(c 1)Z Q(c 2),\P(z),\Q(z)},< P (c 1)Z Q(c 2),\P(z),\Q(z),Q(c 2),`> .\((^xP(x)Z^xQ(x))> ^x(P(x)Z Q(x)))(^xP(x)Z^xQ(x))> ^x(P(x)Z Q(x)){P(c 1)Z Q(c 2),\P(z),\Q(z)},{P(c 1)Z Q(c 2),\P(c 1),\P(c 2),\Q(c 1),\Q(c 2),},P(c 1),P(c 2),Q(c 1),Q(c 2)p 1,p 2,q 1,q 2{p 1Z q 2,\p 1,\p 2,\q 1,\q 2},<p 1Z q 2,\p 1,\q 2,q 2,`> .<P (c 1)Z Q(c 2),\P(c 1),\Q(c 2),Q(c 2),`> .< P (c 1)Z Q(c 2),\P(z),\Q(z),Q(c 2),`> .L ={c 1,c 2,P,Q,R,S}P,Q,R 1S 2x,y,z c 1,c 2A :^x(P(x)[]y(R(y)> S (x,y))),B :]x(P(x)>]y(Q(y)> \S(x,y))),C :]x(R(x)>\Q(x)).则 .□证明(解释赋值方法).若 是一个解释. 假设 , 以下证明:z从 , 可知存在 , 使得 , 且对任意的 , 都有当 时z因为 且 , 所以因而 . z所以 .证毕.□证明(归结方法).的转化为:的转化为:的转化为:前提与结论的反面可以转化为以下子句:有以下的归结推出:对任意的 , 当 时 .若 则 , , , ,., , ,,A,B X C I I X A [B a J D I R I (a )=1Q I (a )=0I X A b J D I P I (b )=1a J D I R I (a )=1S I (b ,a )=1.I X B I X P I (b )Q I (a )=1S I (b ,a )=0.Q I (a )=0I X C A ^x(P(x)[]y(R(y)>S (x,y))),^x ]y(P(x)[(R(y)>S (x,y)))^x ]y(P(x)[(\R(y)Z S(x,y)))]y(P(c 1)[(\R(y)Z S(c 1,y)))]x(P(c 1)[(\R(x)Z S(c 1,x))){P(c 1),\R(x)Z S(c 1,x)}B ]x(P(x)> ]y(Q(y)> \S(x,y))),]x ]y(P(x)>(Q(y)> \S(x,y))),]x ]y(\P(x)Z\Q(y)Z\S(x,y)),]]x(\P(y)Z\Q(z)Z\S(y,z)),{\P(y)Z\Q(z)Z\S(y,z)}.\C \]x(R(x)> \Q(x)).^x \(R(x)> \Q(x))^x(R(x)[Q(x))R()[Q(c 2){R(c 2),Q(c 2)}C 1:P(c 1)C 2:\R(x)Z S(c 1,x),C 3:\P(y)Z\Q(z)Z\S(y,z),C 4:R(c 2)C 5:Q(c 2)y c 2所以证毕.□例3.8(语义推出)给定一阶语言 , 为 元谓词符号, 为 元谓词符号, 为元谓词符号,是三个不同的常元.是四个不同的变元.是以下公式:则 .证明的转化为:的转化为:的转化为:的转化为:可得以下子句:有以下的归结关系:,,..,.,.,,.C1,C3Ures\Q(z)Z\S(c1,z),C2,C4UresS(c1,c2),\Q(z)Z\S(c1,z),S(c1,c2)Ures\Q(c2),C5,\Q(c2)Ures`.A,B X C.L={a,b,c,P,Q,R,S}P,S1R2Q 3a,b,c x,y,z,w A,B,C,D ]x]y((Q(x,x,y)[\P(y))> S(x)),^x^y(R(y,x)[\P(x))^x]yQ(x,x,y)^xS(x)A,B,C X DA]x]y((Q(x,x,y)[\P(y))> S(x)),]x]y(\Q(x,x,y)Z P(y)Z S(x)),\Q(x,x,y)Z P(y)Z S(x)B^x^y(R(y,x)[\P(x)){R(b,a),\P(a)}C^x]yQ(x,x,y)Q(c,c,z)\D\^xS(x)]x\S(x)\S(w)\Q(x,x,y)Z P(y)Z S(x)R(b,a),\P(a)Q(c,c,z)\S(w)证毕.□例3.9(不可推出)给定一阶语言 , 为 元谓词符号,是两个不同的常元. 是三个不同的变元. 则证明可以化为:可能的归结推出只有:因而上述子句集合没有反驳. 即□例3.10(符号化与证明)某些学生喜欢每门课程, 没有学生喜欢文学. 因此, 没有课程是文学. 假设学生与课程的集合为论域, 定义以下谓词:则有以下的符号化:z“某些学生喜欢每门课程”的符号化为 :\Q(x,x,y)Z P(y)Z S(x),Q(c,c,z)U res P(y)Z S(c),P(y)Z S(c),\P(a)U res S(c),S(c),\S(w)U res `.L ={c 1,c 2,P,Q}P,Q 1c 1,c 2x,y,z ^xP(x),^xQ(x)X^x(P(x)[Q(x))./^xP(x)[^xQ(x)[\^x(P(x)[Q(x))^xP(x)[^xQ(x)[]x(\P(x)Z\Q(x))^x ^y(P(x)[Q(y))[]x(\P(x)Z\Q(x))^x ^y ]z(P(x)[Q(y)[(\P(z)Z\Q(z)){P(c 1),Q(c 2),\P(z)Z\Q(z)}P(c 1),\P(z)Z\Q(z)U res \Q(c 1),Q(c 2),\P(z)Z\Q(z)U res \P(c 2).^xP(x),^xQ(x)X^x(P(x)[Q(x))./P(x)x D(x)x S(x)x L(x,y)x yA ^x(P(x)[]y(D(y)>L (x,y))).z“没有学生喜欢文学”的符号化为 :z“没有课程是文学”的符号化为 :需要证明假设 是两个不同的常元,是三个不同的变元.的转化为:的转化为:的转化为:有以下归结推出关系:因而□作业全部B\^xy(P(x)[S(y)[L(x,y)).C\^x(D(x)[S(x)).A,B X C.c1,c2x,y,zA^x(P(x)[]y(D(y)> L(x,y))).P(c1),\D(y)Z L(c1,y).P(c1),\D()Z L(c1,z).B\^xy(P(x)[S(y)[L(x,y)).\P(x)Z\S(y)Z\L(x,y).\C\\^x(D(x)[S(x)).^x(D(x)[S(x)).D(c2),S(c2).P(c1),\P(x)Z\S(y)Z\L(x,y)Ures\S(y)Z\L(c1,y),S(c2),\S(y)Z\L(c1,y)Ures\L(c1,c2),\D(z)Z L(c1,z),\L(c1,c2)Ures\D(c2),D(c2),\D(c2)Ures`.A,B X C.z。
归结推理方法(三)引入新课:数理逻辑为知识的推理奠定了基础;基于一阶谓词逻辑的推理方法,是一种机械化的可在计算机上加以实现的推理方法。
一、命题逻辑✧命题逻辑和谓词逻辑是两种逻辑;对知识的形式化表示,特别是定理的自动证明发挥了重要作用。
✧谓词逻辑是在命题逻辑的基础上发展起来的。
命题逻辑可看作是谓词逻辑的一种特殊形式。
(一)命题定义1能够分辨真假的语句称作命题定义2一个语句如果不能再进一步分解成更简单的语句,并且又是一个命题,则称此命题为原子命题。
说明:(1)原子命题是命题中最基本的单位,用P,Q,R,…..大写拉丁字母表示。
而命题的真与假分别用“T”与“F”表示。
命题代表人们进行思维时的一种判断,或者是真。
或者是假,只有这两种情况。
若命题的意义为真,则记为T。
若命题的意义为假,则记为F。
(2)一般情况下,只有陈述句才可能是命题,因为只有陈述句才能分辨真假。
如“太阳从西边升起”、“雪是白色的”等等都是陈述句,而其他的一些句子如疑问句、祈使句、感叹句等均不能分辨其真假。
象这样的没有真假意义的句子就不是命题。
(3)并不是所有的陈述句都是命题;例如,“这个句子是假的”。
显然无法判断该语句的真假,这个语句不是命题。
(4)在有些情况下,要判断一个陈述句的真假,是需要一定条件的,即该陈述句在一种条件下,其逻辑值为真,但在另一种条件下,其逻辑值为假。
比如,“1+1=10”。
(5)用大写字母表示的命题既可以是一个特定的命题,也可以是一个抽象命题。
前者称为命题常量,后者称为命题变量。
对于命题变量,只有把确定的命题代入后,它才可能有明确的逻辑值(T或F)。
(二)命题公式连接词:在日常生活中,可以通过连接词将一些简单的陈述句组成较为复杂的语句,称为复合句。
较复杂的定义。
~:称为“非”或“否定”。
其作用是否定位于它后面的命题。
当命题P为真时,~P为假;当P 为假时,~P为真。
∨:称为“析取”。
它表示被它连接的两个命题具有“或”关系。
离散数学基础2017-11-19•一些基本定义:−谓词公式中原子或原子的否定形式称为文字。
−文字的析取式称为子句。
−不包含任何文字的子句称为空子句。
»空子句是不可满足的。
−若干相互形成合取关系的子句以集合元素的形式构成集合,称为子句集。
•定理:谓词公式的子句集化归−任何谓词公式都可应用谓词逻辑等值式及推理规则化成相应的子句集。
−过程(构造性证明):(1)蕴涵消去:消去条件蕴涵符号;(2)否定词深入:否定词直接作用在原子上;(3)变量标准化:处于不同量词辖域的约束变量根据易名规则使用不同的变量名;(4)消去存在量词:对不受约束的存在量词,使用常量符号例化;对被约束的存在量词,引入Skolem函数建立依赖;(5)化为前束形: (前缀)(母式),前缀包含全称量词串,母式中不包含任何量词;(6)将母式化为合取范式;(7)消去全称量词(自由变量默认全称量化);(8)由(6)中各极大项构成子句;(9)变量分离:使各子句不含同名变量。
•例:∀xP(x)→∀x∃y((P(x)∨Q(x))→R(x, y))¬ ∀xP(x) ∨ ∀x∃y(¬(P(x) ∨ Q(x)) ∨ R(x, y)) 蕴涵消去∃x¬P(x) ∨ ∀x∃y ((¬P(x) ˄ ¬Q(x)) ∨ R(x, y))否定词深入∃x¬P(x) ∨ ∀z∃y ((¬P(z) ˄ ¬Q(z)) ∨ R(z, y))变量标准化¬P(c) ∨ ∀z((¬P(z) ˄ ¬Q(z)) ∨ R(z, f Skolem(z))消去存在量词∀z(¬P(c) ∨ ((¬P(z) ˄ ¬Q(z)) ∨ R(z, f Skolem(z))) 化为前束形∀z((¬P(c) ∨ ¬P(z) ∨ R(z, f Skolem(z)) ˄(¬P(c) ∨ ¬Q(z) ∨ R(z, f Skolem(z)))将母式化为合取范式¬P(c) ∨ ¬P(z) ∨ R(z, f Skolem(z), ¬P(c) ∨ ¬Q(z) ∨ R(z, f Skolem(z) 消去全称量词 {¬P(c) ∨ ¬P(u) ∨ R(u, f Skolem(u), ¬P(c) ∨ ¬Q(v) ∨ R(v, f Skolem(v)} 变量分离−说明:»子句中的变量总是被默认为全称量化的;»化归得到的子句集不等价于原公式;»考虑到量词消去和引入规则的应用,若公式 A 在逻辑上遵循公式集 S,则也遵循由 S 变换成的子句集。