第六章逻辑式程序设计语言.ppt
《第六章逻辑式程序设计语言.ppt》由会员分享,可在线阅读,更多相关《第六章逻辑式程序设计语言.ppt(46页珍藏版)》请在优知文库上搜索。
1、 第六章 逻辑式程序设计语言逻辑式语言基本形式:用一种符号逻辑作为程序设计语言来进行程序设计,通常称为逻辑程序设计语言,或声明性语言第六章 逻辑式程序设计语言程序要对数据结构实施某个算法过程,算法实现计算逻辑 算法 = 逻辑 + 控制逻辑程序设计的基本观点是程序描述的是数据对象之间的关系。关系也是联系对象和对象、对象和属性的联系就是我们所说的事实。事实之间的关系以规则表述,根据规则找出合乎逻辑的事实就是推理逻辑程序设计范型是陈述事实、制定规则,程序设计就是构造证明。程序的执行就在推理6.1谓词演算谓词演算 谓词演算是符号化事实的形式逻辑系统,它也是逻辑程序设计语言的模型 表示命题表示命题 表示
2、命题之间的关系表示命题之间的关系 描述如何根据假设为真的命题推断出新命题描述如何根据假设为真的命题推断出新命题 谓词演算诸元素谓词演算诸元素 用形式方法研究论域上的对象需要一种语言,它能表达该域对象具有什么性质(properties), 以及对象间有些什么关系(relations) 描述以公式(Formulas)表达。谓词公式中各元素按一定逻辑规则变换,即谓词演算(predicate calculus)(1)公式 由一组约定的符号组成的序列,它包括常量、变量、逻辑连接、命题函数、谓词、量词(2)常量 指明论域上的对象(3)变量 可束定到特定域上某个范围的对象上(4)函数 表征对象具有的映射关系
3、(5)谓词 表征对象某种性质的符号(6)量词 量词限定的变量名作用域是整个公式(7) 逻辑操作 and, or, not, (蕴含) (全等)当谓词应用到的变元是常量或已被束定的变量上时,就叫做句子(sentence)或命题(proposition)谓词变元的个数称作目(arity),有单目、N目谓词之称 N-目谓词的例子。 谓词 目 含义 odd(X) 1 X是奇数 father(F,S) 2 F是S的父亲 divide(N,D,Q,R) 4 N除D得商Q和余数R 谓词例化 结果值 odd(2) False divide (23, 7, 3,2) Ture father (changshan
4、, changping) True divide (23, 7, 3, N) N未例化, 不知真假谓词的量化量化谓词 结果值 Xodd(X) False Xodd(X) True X(X=2*Y+1odd (X) True XYdivide (X,3,Y,0) True, 如X =3,Y=1XYdivide (X,3,Y,0) FalseXYdivide(X,3,Y,0) False, 但很难证明谓词演算的等价变换谓词演算的等价变换1以, 消除、符号2化为前束范式,消除最外的符号,否定符号内移(XP(X) X( p(X)3用斯柯林变换消去存在量词 X(a ( X) b(X) Y c (X,Y)
5、 X(a (X) b(X) c (X, g(X)4 消除前束范式的全称量词 a(X) b(X) c (X,g(X) 一般谓词公式变换为子句的实例。一般谓词公式变换为子句的实例。号为号为“可推出可推出”5用分配率P(QR)=(PQ)(PR)化成合取范式 (a(X)c(X,g(X)(b(X)c(X,g(X) 经过以上变换,任何一复合公式均可成为如下形式: F = C1C2 Cn 且其中Ci称为子句 若以;代则有: Ci = L1 L2 Lv = L1;L2;Lv 因此,任一公式均可化为连接的子句的集合6.2 自动定理证明自动定理证明 证明系统证明系统 事实即证明系统中的公理(axioms) 证明系
6、统(proof system)是应用公理演绎出定理 (theorems)的合法演绎规则的集合 演绎也叫归约(deduction),是对证明系统中合法 推理规则的一次应用 演绎从公理导出结论(conclusion), 中间可利用以 这些规则演绎出的定理证明证明(proof)是个语句序列, 以每个语句得到证明而结束, 即每个句子要么演绎成公理, 要么演绎成前此导出的定理一个证明若有一个证明若有N个语句个语句(命题命题)则称则称N步证明步证明反驳反驳(refutation)是一个语句的反向证明。是一个语句的反向证明。 它证明它证明 一个语句是矛盾的,一个语句是矛盾的, 即不合乎给定的公理即不合乎给定
7、的公理一个语句若能从公理出发推演出来,一个语句若能从公理出发推演出来, 则称则称合法语合法语句句, 任何合法语句也叫做任何合法语句也叫做定理定理(theorem)从某一公理集合导出的所有定理集合称为从某一公理集合导出的所有定理集合称为理论理论(theory) 模型模型 从公理集合中导出定理集称之为从公理集合中导出定理集称之为理论理论,有了理论,有了理论我们要解释它的语义必须借助某个我们要解释它的语义必须借助某个模型模型(model)。因因为形式系统只是符号抽象,借助模型我们可为每个常为形式系统只是符号抽象,借助模型我们可为每个常量、函数、谓词符号找到真理性的解释。即定义每个量、函数、谓词符号找
8、到真理性的解释。即定义每个论域,并表明域上成员和常量公理之间的关系。论域,并表明域上成员和常量公理之间的关系。 公理的谓词符号必须派定为域中对象的性质,公理的谓词符号必须派定为域中对象的性质, 函数派定为对域中对象的操作。函数派定为对域中对象的操作。 公理集合一般情况下只是定义的部分公理集合一般情况下只是定义的部分(偏偏)函数和函数和谓词,谓词, 是问题域的一个侧面。是问题域的一个侧面。 所以能满足该理论的所以能满足该理论的模型往往不止一个。模型往往不止一个。例例 一个最简单的理论一个最简单的理论 公理集公理集: Xinterval(X)not interval (X+1) (a1) Xnot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 逻辑 程序设计语言