PREDICATE ABSTRACTIONS IN HIGHER-ORDER LOGIC PROGRAMMING

Authors
Citation
Wd. Chen et Ds. Warren, PREDICATE ABSTRACTIONS IN HIGHER-ORDER LOGIC PROGRAMMING, New generation computing, 14(2), 1996, pp. 195-236
Citations number
35
Categorie Soggetti
Computer Sciences","Computer Science Hardware & Architecture","Computer Science Theory & Methods
Journal title
ISSN journal
02883635
Volume
14
Issue
2
Year of publication
1996
Pages
195 - 236
Database
ISI
SICI code
0288-3635(1996)14:2<195:PAIHLP>2.0.ZU;2-E
Abstract
Lambda calculus offers a natural representation of syntactic structure s involving higher-order constructs and local variables, and supports flexible manipulation of such concepts. Thus an integration of logic p rogramming with lambda-terms would provide more direct support for met a-programming. While it is conceptually straightforward to replace fir st-order terms with lambda-terms, the extra search space in unificatio n with respect to lambda-conversions cannot be ignored from a practica l point of view. Our objective is to explore useful alternatives with weaker conversions that are computationally more tractable. In this pa per, we study predicate abstractions, in which lambda-abstractions are used to provide anonymous predicates and functions that return predic ates. The framework is based upon a simple logic of (untyped) lambda-c alculus, called L(alpha). L(alpha) has a general model-theoretic seman tics and an equality theory that corresponds to alpha-equivalence. Int ended meanings of predicate abstractions are formalized by equivalence axioms over atomic formulas. We show that under certain conditions, c omputing with predicate abstractions does not incur any extra search s pace. Furthermore, programs in this language can be compiled staticall y into efficient Prolog programs and all most general answers are stil l preserved.