Predicate abstractions in higher-order logic programming

被引:0
|
作者
Chen, WD [1 ]
Warren, DS [1 ]
机构
[1] SUNY STONY BROOK,DEPT COMP SCI,STONY BROOK,NY 11794
关键词
predicate abstractions; lambda terms; SLD resolution; modular logic programming; encapsulation; alpha-equivalence;
D O I
10.1007/BF03037499
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Lambda calculus offers a natural representation of syntactic structures involving higher-order constructs and local variables, and supports flexible manipulation of such concepts. Thus an integration of logic programming with lambda-terms would provide more direct support for meta-programming. While it is conceptually straightforward to replace first-order terms with lambda-terms, the extra search space in unification with respect to lambda-conversions cannot be ignored from a practical point of view. Our objective is to explore useful alternatives with weaker conversions that are computationally more tractable. In this paper, we study predicate abstractions, in which lambda-abstractions are used to provide anonymous predicates and functions that return predicates. The framework is based upon a simple logic of (untyped) lambda-calculus, called L(alpha). L(alpha) has a general model-theoretic semantics and an equality theory that corresponds to alpha-equivalence. Intended meanings of predicate abstractions are formalized by equivalence axioms over atomic formulas. We show that under certain conditions, computing with predicate abstractions does not incur any extra search space. Furthermore, programs in this language can be compiled statically into efficient Prolog programs and all most general answers are still preserved.
引用
下载
收藏
页码:195 / 236
页数:42
相关论文
共 50 条
  • [1] COMPILATION OF PREDICATE ABSTRACTIONS IN HIGHER-ORDER LOGIC PROGRAMMING
    CHEN, WD
    WARREN, DS
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 528 : 287 - 298
  • [2] HIGHER-ORDER LOGIC PROGRAMMING
    MILLER, DA
    NADATHUR, G
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 225 : 448 - 462
  • [3] HIGHER-ORDER LOGIC PROGRAMMING
    MILLER, DA
    NADATHUR, G
    JOURNAL OF SYMBOLIC LOGIC, 1986, 51 (03) : 851 - 851
  • [4] Hiord: A type-free higher-order logic programming language with predicate abstraction
    Cabeza, D
    Hermenegildo, M
    Lipton, J
    ADVANCES IN COMPUTER SCIENCE - ASIAN 2004, PROCEEDINGS, 2004, 3321 : 93 - 108
  • [5] Predicate Specialization for Definitional Higher-Order Logic Programs
    Troumpoukis, Antonis
    Charalambidis, Angelos
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, LOPSTR 2018, 2019, 11408 : 132 - 147
  • [6] Extensional Higher-Order Logic Programming
    Charalambidis, Angelos
    Handjopoulos, Konstantinos
    Rondogiannis, Panos
    Wadge, William W.
    LOGICS IN ARTIFICIAL INTELLIGENCE, JELIA 2010, 2010, 6341 : 91 - 103
  • [7] Extensional Higher-Order Logic Programming
    Charalambidis, Angelos
    Handjopoulos, Konstantinos
    Rondogiannis, Panagiotis
    Wadge, William W.
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2013, 14 (03)
  • [8] Tabling for higher-order logic programming
    Pientka, B
    AUTOMATED DEDUCTION - CADE-20, PROCEEDINGS, 2005, 3632 : 54 - 68
  • [9] HILOG - A FOUNDATION FOR HIGHER-ORDER LOGIC PROGRAMMING
    CHEN, WD
    KIFER, M
    WARREN, DS
    JOURNAL OF LOGIC PROGRAMMING, 1993, 15 (03): : 187 - 230
  • [10] A higher-order logic programming language with constraints
    Leach, J
    Nieva, S
    FUNCTIONAL AND LOGIC PROGRAMMING, PROCEEDINGS, 2001, 2024 : 108 - 122