逻辑式程序设计语言 .ppt

[5]用分配率P∨(Q∧R)=(P∨Q)∧(P∨R)化成合取范式 ┠ (a(X)∨c(X,g(X)))∧(b(X)∨c(X,g(X))) 经过以上变换,任何一复合公式均可成为如下形式: F = C1∧C2 ∧…Cn 且其中Ci称为子句 若以;代∨则有: Ci = L1 ∨L2 ∨…Lv = L1;L2;…;Lv 因此,任一公式均可化为∨连接的子句的集合 * ppt课件 6.2 自动定理证明 证明系统 事实即证明系统中的公理(axioms) 证明系统(proof system)是应用公理演绎出定理 (theorems)的合法演绎规则的集合 演绎也叫归约(deduction),是对证明系统中合法 推理规则的一次应用 演绎从公理导出结论(conclusion), 中间可利用以 这些规则演绎出的定理 证明(proof)是个语句序列, 以每个语句得到证明而结束, 即每个句子要么演绎成公理, 要么演绎成前此导出的定理 * ppt课件 一个证明若有N个语句(命题)则称N步证明 反驳(refutation)是一个语句的反向证明。 它证明 一个语句是矛盾的, 即不合乎给定的公理 一个语句若能从公理出发推演出来, 则称合法语句, 任何合法语句也叫做定理(theorem) 从某一公理集合导出的所有定理集合称为理论(theory) * ppt课件 模型 从公理集合中导出定理集称之为理论,有了理论我们要解释它的语义必须借助某个模型(model)。因为形式系统只是符号抽象,借助模型我们可为每个常量、函数、谓词符号找到真理性的解释。即定义每个论域,并表明域上成员和常量公理之间的关系。 公理的谓词符号必须派定为域中对象的性质, 函数派定为对域中对象的操作。 公理集合一般情况下只是定义的部分(偏)函数和谓词, 是问题域的一个侧面。 所以能满足该理论的模型往往不止一个。 * ppt课件 例 一个最简单的理论 公理集: ?Xinterval(X)→not interval (X+1) (a1) ?Xnot interval (X+1)→interval(X) (a2) 2=1+1 (a3) 从间隔数公理可导出定理: ?Xinterval (X)→interval (X+2) (t1) ?Xinterval (X+2) → interval(X) (t2) 谓词interval(间隔数)在整数域上有两个子域odd、even都能够满足间隔数理论不能证明interval(3),也不能证明not interval(3)为真命题。这就是Hilbert讨论过的可判定(decidability)问题。 1936年Church和Turing证实谓词演算可判定性问题是没有解的 一旦我们断言interval(3)或interval(2)是真命题,我们立刻可通过演绎证明按这个理论写出的每一个谓词为真。这就是Godel和Herbrand1930年证实的谓词演算具备的完整性(completeness) * ppt课件 证明技术 从谓词演算具有完整性, 理论上可证明按公理集合建立的任何理论。关键是效率。 如果我们从公理出发做出每一个步骤, 在新的步骤上仍然要查找每一个公理,找出可能的推理。如此下去就形成一个庞大的树行公理集, 每层的结点表示一个公理的语句, 其深度和宽度随问题和最初给出的公理而定, 一层一步骤, N层的树就是N步推理。 对于自动定理证明程序, 只有穷举每条可能的证明步骤才能说它是完全的。 穷举完所有路径马上遇到组合爆炸问题,无论是深度优先还是广度优先,百步演绎可能的路径数都是天文数字。 * ppt课件 归结定理证明 J.A.Robinson1965年提出的归结法(reso

文档评论(0)

1亿VIP精品文档

相关文档