ORACLE SEMANTICS FOR PROLOG

Citation
R. Barbuti et al., ORACLE SEMANTICS FOR PROLOG, Information and computation, 122(2), 1995, pp. 178-200
Citations number
52
Categorie Soggetti
Information Science & Library Science",Mathematics,"Computer Science Information Systems
Journal title
ISSN journal
08905401
Volume
122
Issue
2
Year of publication
1995
Pages
178 - 200
Database
ISI
SICI code
0890-5401(1995)122:2<178:OSFP>2.0.ZU;2-P
Abstract
This paper proposes to specify semantic definitions for logic programm ing languages such as Prolog in terms of an oracle which specifies the control strategy and identifies which clauses are to be applied to re solve a given goal. The approach is quite general. It can be applied t o Prolog to specify both operational and declarative semantics as well as other logic programming languages. Previous semantic definitions f or Prolog typically encode the sequential depth-first search of the la nguage into various mathematical frameworks, Such semantics mimic a Pr olog interpreter in the sense that following the ''leftmost'' infinite path in the computation tree excludes computation to the right of thi s path from being considered by the semantics. The basic idea in this paper is to abstract away from the sequential control of Prolog and to provide a declarative characterization of the clauses to apply to a g iven goal. The decision whether or not to apply a clause is viewed as a query to an oracle which is specified from within the semantics and reasoned about from outside. This approach results in simple and conci se semantic definitions which are more useful for arguing the correctn ess of program transformations and providing the basis for abstract in terpretations than previous proposals. (C) 1995 Academic Press, Inc.