Abstractions in Logic Programs

Abstractions in Logic Programs
复制标题

逻辑程序中的抽象

DOI:
--
复制
发表时间:
1989
期刊:
--
影响因子:
--
通讯作者:
D. Miller
D. Miller
中科院分区:
--
文献类型:
--
作者:
D. Miller

文献摘要

被引文献

相似文献

逻辑程序中的离子 Dale Miller 宾夕法尼亚大学 关注此内容及其他作品: http://repository.upenn.edu/cis_reports 宾夕法尼亚大学计算机与信息科学系技术报告编号 MS-CIS-89-30。本文发表在 ScholarlyCommons 上。 http://repository.upenn.edu/cis_reports/702 如需了解更多信息,请联系repository@pobox.upenn.edu。推荐引用 Miller, Dale,“逻辑程序中的抽象”(1989)。技术报告(CIS)。论文 702。 http://repository.upenn.edu/cis_reports/702 逻辑程序中的抽象 逻辑程序中的抽象 摘要 大多数逻辑编程语言都以一阶、经典的 Horn 子句理论作为其逻辑基础。纯粹的证明理论考虑表明,Horn 子句不够丰富,无法自然地提供大多数现代通用编程语言中常见的抽象机制。例如,Horn子句没有包含模块、数据类型抽象和高阶编程等重要的软件抽象机制。大多数逻辑编程语言都以Horn子句的一阶经典理论作为其逻辑基础。纯粹的证明理论考虑表明,Horn 子句不够丰富,无法自然地提供大多数现代通用编程语言中常见的抽象机制。例如,Horn 子句没有包含模块、数据类型抽象和高阶编程的重要软件抽象机制。由于这种缺乏,基于 Horn 子句的逻辑编程语言的实现者通常在 Horn 子句之上添加几个非逻辑原语,以提供这些缺失的抽象机制。尽管通常以这种方式捕获缺失的功能,但所得语言的形式语义通常缺乏或非常复杂。提供这些缺失功能的另一种方法是丰富逻辑编程的底层逻辑基础。本文采用后一种方法来为逻辑程序提供这些缺失的抽象机制。我们将考虑的丰富内容具有简单直接的操作和证明理论语义。评论 宾夕法尼亚大学计算机与信息科学系技术报告编号 MSCIS-89-30。该技术报告可在 ScholarlyCommons 上获取:http://repository.upenn.edu/cis_reports/702 逻辑程序中的抽象 逻辑程序中的 MS-CIS-89-30 LINC LAB 152
ions in Logic Programs Dale Miller University of Pennsylvania Follow this and additional works at: http://repository.upenn.edu/cis_reports University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-89-30. This paper is posted at ScholarlyCommons. http://repository.upenn.edu/cis_reports/702 For more information, please contact repository@pobox.upenn.edu. Recommended Citation Miller, Dale, "Abstractions in Logic Programs" (1989). Technical Reports (CIS). Paper 702. http://repository.upenn.edu/cis_reports/702 Abstractions in Logic Programsions in Logic Programs Abstract Most logic programming languages have the first-order, classical theory of Horn clauses as their logical foundation. Purely proof-theoretical considerations show that Horn clauses are not rich enough to naturally provide the abstraction mechanisms that are common in most modern, general purpose programming languages. For example, Horn clauses do not incorporate the important software abstraction mechanisms of modules, data type abstractions, and higher-order programming.Most logic programming languages have the first-order, classical theory of Horn clauses as their logical foundation. Purely proof-theoretical considerations show that Horn clauses are not rich enough to naturally provide the abstraction mechanisms that are common in most modern, general purpose programming languages. For example, Horn clauses do not incorporate the important software abstraction mechanisms of modules, data type abstractions, and higher-order programming. As a result of this lack, implementers of logic programming languages based on Horn clauses generally add several nonlogical primitives on top of Horn clauses to provide these missing abstraction mechanisms. Although the missing features are often captured in this fashion, formal semantics of the resulting languages are often lacking or are very complex. Another approach to providing these missing features is to enrich the underlying logical foundation of logic programming. This latter approach to providing logic programs with these missing abstraction mechanisms is taken in this paper. The enrichments we will consider have simple and direct operational and proof theoretical semantics. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MSCIS-89-30. This technical report is available at ScholarlyCommons: http://repository.upenn.edu/cis_reports/702 Abstractions In Logic Programsions In Logic Programs MS-CIS-89-30 LINC LAB 152