【24h】

Proof Checking and Logic Programming

机译:证明检查和逻辑编程

获取原文

摘要

In a world where trusting software systems is increasingly important, formal methods and formal proof can help provide trustable foundations. Proof checking can help to reduce the size of the trusted base since we do not need to trust an entire theorem prover if we can check the proofs they produce by a trusted (and smaller) checker. Many approaches to building proof checkers require embedding within them a full programming language. In most many modern proof checkers and theorem provers, that programming language is a functional programming language, often a variant of ML. In fact, parts of ML (e.g., strong typing, abstract datatypes, and higher-order programming) were designed to make ML into a trustworthy "meta-language" for checking proofs. While there is considerable overlap in the foundations of logic programming and proof checking (both benefit from unification, backtracking search, efficient term structures, etc.), the discipline of logic programming has, in fact, played a minor role in the history of proof checking. I will argue that logic programming can have a major role in the future of this important topic.
机译:在信任软件系统日益重要的世界中,形式化方法和形式证明可以帮助提供可信赖的基础。证明检查可以帮助减小可信库的大小,因为如果我们可以通过可靠(且较小)的检查者检查它们产生的证明,则不需要信任整个定理证明者。构建证明检查器的许多方法都需要在其中嵌入完整的编程语言。在大多数现代证明检验器和定理证明者中,编程语言是一种功能性编程语言,通常是ML的一种变体。实际上,ML的某些部分(例如强类型,抽象数据类型和高阶编程)旨在使ML成为可信赖的“元语言”以检查证明。尽管逻辑编程和证明检查的基础存在很大的重叠(两者都受益于统一,回溯搜索,有效的术语结构等),但逻辑编程的学科实际上在证明的历史中仅扮演了次要的角色检查。我将争辩说,逻辑编程可以在这个重要主题的未来中扮演重要角色。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号