跳到主要内容
10.5555/2331097旅游指南书籍页面出版物页面acm-pubtype公司
跳过页眉部分
用高阶逻辑编程2012年6月
出版商:
  • 剑桥大学出版社
  • 纽约州纽约市西20街40号
  • 美国
国际标准图书编号:978-0-521-87940-8
出版:2012年6月11日
页:
320
跳过书目计量部分
文献计量学
跳过抽象节
摘要

描述句法结构计算的形式系统在计算机科学中经常出现。逻辑编程为此类系统的编码和动画提供了一个自然的框架。然而,这些系统通常包含变量绑定,这是一个必须在计算级别仔细处理的概念。本书旨在说明基于高阶逻辑的简单类型版本的编程语言为提供这种处理提供了优雅的声明性方法。为了实现这一目标,涵盖了三个广泛的主题。首先,确定了一个支持逻辑编程一般视图的证明理论框架。其次,通过将这种观点应用于高阶逻辑,开发了一种名为Prolog的实际语言。最后,通过展示如何在Prolog中对逻辑公式、函数程序、术语和微积分表达式等形式对象上的几个计算进行编码,展示了一种使用规范进行编程的方法。

引用人

  1. Fellner A和Woltzenlogel古B(2019).贪婪的鹅卵石可以压缩空间,国际技术转让软件工具杂志,21:1, (71-86),在线发布日期:2019-02-01.
  2. ACM公司
    Chaudhuri K、Manighetti M和Miller D第八届ACM SIGPLAN认证程序和证明国际会议论文集的证明理论方法,(78-90)
  3. Bartha S和Cheney J:面向程序设计语言语义的元解释学习——归纳逻辑程序设计,(16-25)
  4. ACM公司
    Chaudhuri K关于(同时)替代的两级逻辑观点第七届ACM SIGPLAN认证程序和证明国际会议论文集,(280-292)
  5. ACM公司
    Nadathur G和Wang Y在第20届声明式编程原理与实践国际研讨会的Abella证明助理会议记录中的图解多态性,(1-13)
  6. ACM公司
    Cimini M Languages as the一流公民(愿景论文)第十一届ACM SIGPLAN软件语言工程国际会议论文集,(65-69)
  7. ACM公司
    Ringer T、Yazdani N、Leo J和Grossman D调整证明自动化以适应证明第七届ACM SIGPLAN认证程序和证明国际会议论文集,(115-129)
  8. ACM公司
    Stampoulis A和Chlipala A(2018).使用高阶逻辑编程原型化函数语言:学习λProlog/Makam方法的函数明珠,美国计算机学会程序设计语言会议录,2:ICFP, (1-30),在线发布日期:2018年7月30日.
  9. Chihani Z、Miller D和Renaud F(2017).证据的语义框架,自动推理杂志,59:3, (287-330),在线发布日期:2017年10月1日.
  10. 米勒D(2017).校对和逻辑编程,计算的形式方面,29:3, (383-399),在线发布日期:2017年5月1日.
  11. ACM公司
    Cimini M和Siek J渐进器:生成渐进型系统的方法和算法第43届ACM SIGPLAN-SIGCT年度编程语言原理研讨会论文集,(443-455)
  12. ACM公司
    Cimini M和Siek J(2016).渐变器:生成渐变型系统的方法和算法,ACM SIGPLAN通知,51:1, (443-455),在线发布日期:2016年4月8日.
  13. ACM公司
    Battell C和Felty A:遗传Harrop公式的逻辑作为第十一届逻辑框架和元语言:理论与实践研讨会混合会议记录的规范逻辑,(1-10)
  14. ACM公司
    Charalambidis A、Rondogianis P和Troumpoukis A高阶逻辑编程第18届声明式编程原理与实践国际研讨会论文集,(24-37)
  15. Chihani Z和Miller D(2016).平等推理证明,理论计算机科学电子笔记,323:C, (93-108),在线发布日期:2016年7月11日.
  16. Wang Y和Nadathur G函数程序验证转换的高阶抽象语法方法第25届欧洲程序设计语言与系统研讨会论文集-第9632卷,(752-779)
  17. ACM公司
    Chaudhuri K、Cimini M和Miller D《2015年认证程序和证明会议论文集上互模拟元理论的轻量级形式化》,(157-166)
  18. ACM公司
    McCarty L如何在典型的感知语义学中为法律话语奠定语言基础第十五届人工智能与法律国际会议论文集,(89-98)
  19. ACM公司
    Miller D证明检查与逻辑编程第17届声明式编程原理与实践国际研讨会论文集,(18-18)
  20. Chihani Z、Libal T和Reis G第24届国际自动推理与分析表及相关方法会议论文集——第9323卷,(201-210)
  21. Miller D证明检验与逻辑编程第25届基于逻辑的程序合成与转换国际研讨会修订论文集(第9527卷,(3-17))
  22. Miller D和Volpe M聚焦模态逻辑的标记证明系统第20届国际编程、人工智能和推理逻辑会议论文集-第9450卷,(266-280)
  23. Dunchev C、Guidi F、Sacerdoti Coen C和Tassi E ELPI第20届国际逻辑编程、人工智能和推理会议论文集-第9450卷,(460-468)
  24. ACM公司
    Cervesato I《逻辑框架与元语言:理论与实践2014年国际研讨会逻辑程序设计论文集中索引的理论基础》,(1-9)
  25. ACM公司
    Bélanger O和Chaudhuri K为动态语境自动推导图解定理2014年逻辑框架和元语言国际研讨会论文集:理论与实践,(1-8)
  26. ACM公司
    Miller D基础证明证书第八届ACM SIGPLAN逻辑框架与元语言国际研讨会论文集:理论与实践,(1-2)
  27. ACM公司
    Wang Y,Chaudhuri K,Gacek A和Nadatur G关于高阶关系规范的推理第15届声明式编程原理与实践研讨会论文集,(157-168)
  28. Chihani Z、Miller D和Renaud F第24届自动扣除国际会议论文集一阶逻辑基础证明证书,(162-177)
  29. ACM公司
    Olarte C、Pimentel E、Rueda C和Cataño N访问权限自动验证的线性并发约束方法第14届声明式编程原理与实践研讨会论文集,(207-216)
贡献者
  • 理工学院
  • 明尼苏达大学双城分校

评论

萨拉·卡瓦拉

作为定理证明和验证背景下高阶逻辑的一名经验丰富的用户,我对这本书的标题感到好奇和兴奋,它将这个强大的框架与“编程”的实用思想结合在一起。在前言中,作者区分了计算作为模型和计算作为推导,我热衷于探索后一个方面。这些年来,我听到了很多关于?Prolog,所以我很想了解更多。这本书确实对发展和背后的主要概念提供了极好的叙述?序言。解释了逻辑基础,包括Horn子句的使用及其局限性。然后将讨论范围扩大到包括遗传哈罗普公式的使用以及两种公式从一阶到高阶的转换。这些强大的基础用于展示如何在不损失严谨性的情况下实现对象逻辑的模块化和嵌入。通过开发简单的定理证明器和嵌入玩具函数语言和过程代数,进一步说明了这种高阶逻辑的优点。该书涵盖了广泛的发展领域,汇集了多年来对一个强大概念的专注提炼。我对这本书的主要问题是,标题中关于高阶逻辑中“编程”的承诺并没有真正实现。对该语言Teyjus实现的使用的适当介绍被放在附录中,对于如何使用该语言编写典型程序,例如通过迭代或递归、搜索和回溯操作字符串、数字和记录,几乎没有解释。这本书强调了基础,但在学习如何在系统中编程方面,可能无法作为一本用户友好的入门读物。也许这根本不是有意的,但如果是这样,标题可能会被认为具有误导性。作者确实将他们的理想读者描述为对Prolog有一定的经验,他们试图通过尽早向读者介绍Teyjus中使用的具体语法,给这本书带来用户指南的味道。这有它自己的问题:混合使用两种数学符号,例如?还有?而它们的明文等价物pi和sigma会使阅读变得混乱。(如果“forall”和“exists”是字符串的等价物,或者抽象描述中使用了实际的希腊字母?和?,那么情况可能会稍有不同。)其他几个语法约定(例如用中缀反斜杠表示的lambda抽象)可能是研究人员熟悉的惯例?序言,但对于探索理论方面的新手读者来说,他们使阅读这本书稍微有点困惑。作者将相关工作的参考文献远离主要章节,并在每章末尾的参考文献注释部分对其进行分组。例如,遗传哈洛普公式在第3章开始时非正式地介绍,然后进行了广泛的探讨,但该术语的相关性只有在该章的最后一节才真正明确。如果主要部分集中于编程的实际问题,那么这种结构安排是有意义的。然而,考虑到整本书的主要章节都在证明?Prolog,这种结构使人们更难理解决策背后的推理。定义和定理嵌入到文本中,而不是标记和编号,这使得文本看起来更容易阅读;然而,在实践中,它更难以用于深入研究。另一个不太奏效的决定是文本中Horn子句和世袭Harrop公式的穿插。这意味着读者必须随时跟踪文本的流向。如果这本书的主要目的是证明语言的基础是正确的,那么这种对逻辑不同方面的普遍探索是有意义的。但是,如果目标是帮助读者学习如何将系统用作编程工具,那么它就不是。事实上,根据我的阅读,作者的主要目的是解释逻辑系统的演变,而不是其实际用途。因此,我想把对形式逻辑的研究生级理解作为充分利用本书的先决条件。总的来说,我对讨论的深度和这本显然制作精良的书印象深刻。作者成功地论证了Prolog背后的基本思想的力量和多功能性。然而,我仍然觉得作者并没有鼓励我出去下载实现,并让它说:“你好,世界。”在线计算评论服务

访问计算机文献的关键评论在这里

成为评论员计算评论。

建议