×

逻辑编程中对高阶特征的处理。 (英语) Zbl 1095.68015号

本文的目的是描述一个处理逻辑编程高阶特征的广泛框架。作者在WAM(Warren Abstract Machine)的经典形式中说明了新逻辑编程框架的实现。本文的主要贡献概括如下:(a)在便于内涵处理的lambda术语表示中,本文开发了消除绑定变量名和捕获术语替换的机制。本文讨论了将这些操作低级编码到WAM结构中。(b) 本文支持项约简和高阶统一的实现。作者在一个逻辑规划模型中描述了帮助实现术语约简的技术,通过带回溯的深度优先搜索在统一上分支,以及必要时分支延迟的特殊确定步骤。其结果是可以处理一阶统一,并动态处理目标,几乎与PROLOG实现完全一样,对高阶程序产生相关后果。(c) 第三个重要贡献是编译,为此,作者提出了对WAM结构的增强和对WAM指令集的修改,共同实现了用高阶语言编译程序的执行。在这种情况下,谓词的内涵角色和外延角色之间的转换得以实现。
本文中开发的理论机制被用于名为Teyjus的(lambda)-Prolog语言的新实现中。Prolog语言的Teyjus实现体现了两个主要特征:(i)逻辑连接词和量词的使用更加丰富,引入了范围概念;(ii)包括多态性分型程序。Teyjus Prolog与经典(SWI-Prolog和SICStus)Prolog实现之间的时间比较,以及Teyju与Prolog/Mari之间的时间对比(\lambda)-Prolog实施令人鼓舞。

MSC公司:

68N17号 逻辑编程
03B40型 组合逻辑与lambda演算

软件:

Twelf公司
PDF格式BibTeX公司 XML格式引用
全文: 内政部