第六章逻辑式程序设计语言程序要对数据结构实施某个算法过程.算法实现计算逻辑算法=逻辑+控制逻辑程序设计的基本观点是程序描述的是数据对象之间的关系。关系也是联系对象和对象、对象和属性的联系就是我们所说的事实。事实之间的关系以规则表述,根据规则找出合乎逻辑的事实就是推理逻辑程序设计范型是陈述事实、制定规则,程序设计就是构造证明。程序的执行就在推理
第六章 逻辑式程序设计语言 程序要对数据结构实施某个算法过程,算法实现计算逻辑 算法 = 逻辑 + 控制 逻辑程序设计的基本观点是程序描述的是数据对象之间的 关系。关系也是联系 对象和对象、对象和属性的联系就是我们所说的事实。事 实之间的关系以规则表述,根据规则找出合乎逻辑的事实 就是推理 逻辑程序设计范型是陈述事实、制定规则,程序设计就是 构造证明。程序的执行就在推理
6.1谓词演算谓词演算是符号化事实的形式逻辑系统,它也是逻辑程序设计语言的模型谓词演算诸元素用形式方法研究论域上的对象需要一种语言,它能表达该域对象具有什么性质(properties),以及对象间有些什么关系(relations)描述以公式(Formulas)表达。谓词公式中各元素按一定逻辑规则变换,即谓词演算(predicatecalculus)
6.1谓词演算 谓词演算是符号化事实的形式逻辑系统,它也是逻 辑程序设计语言的模型 • 谓词演算诸元素 用形式方法研究论域上的对象需要一种语言,它能 表达该域对象具有什么性质(properties), 以及对象间 有些什么关系(relations) 描述以公式(Formulas)表达。谓词公式中各元素按 一定逻辑规则变换,即谓词演算(predicate calculus)
(1)公式由一组约定的符号组成的序列,,它包括常量、变量、逻辑连接、命题函数、谓词、量词(2)常量指明论域上的对象(3)变量可束定到特定域上某个范围的对象上(4)函数表征对象具有的映射关系(5)谓词表征对象某种性质的符号(6)量词量词限定的变量名作用域是整个公式(7) 逻辑操作or, not, →(蕴含)<=>(全等)and,当谓词应用到的变元是常量或已被束定的变量上时,就叫做句子(sentence)或命题(proposition)
(1)公式 由一组约定的符号组成的序列,它包括常量、变量、逻 辑连接、命题函数、谓词、量词 (2)常量 指明论域上的对象 (3)变量 可束定到特定域上某个范围的对象上 (4)函数 表征对象具有的映射关系 (5)谓词 表征对象某种性质的符号 (6)量词 量词限定的变量名作用域是整个公式 (7) 逻辑操作 and, or, not, →(蕴含) <=>(全等) 当谓词应用到的变元是常量或已被束定的变量上时,就叫做句子 (sentence)或命题(proposition)
谓词变元的个数称作目(arity),有单目、N目谓词之称N-目谓词的例子。谓词目含义1X是奇数odd(X)2F是S的父亲father(F, S)4N除D得商O和余数Rdivide(N, D, Q, R)结果值谓词例化Falseodd(2)Turedivide (23, 7, 3, 2)Truefather (changshan, changping)N未例化,不知真假divide (23, 7,3, N)
谓词变元的个数称作目(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, changping) True divide (23, 7, 3, N) N未例化, 不知真假
谓词的量化结果值量化谓词FalseVXodd(X)True3Xodd(X)TrueVX(X=2*Y+1→odd (X)FalseVX3Ydivide (X, 3, Y, 0)True,如X=3, Y=1XYdivide (X,3, Y, O)False,但很难证明XVYdivide(X, 3, Y, 0)
谓词的量化 量化谓词 结果值 Xodd(X) False Xodd(X) True X(X=2*Y+1→odd (X)) True XYdivide (X,3,Y,0) False XYdivide (X,3,Y,0) True, 如X =3,Y=1 XYdivide(X,3,Y,0) False, 但很难证明