## SLD-Resolution with Reflection (1995)

Venue: | Logic Programming -- Proc. 1994 Intl. Symp., 554--568 |

Citations: | 5 - 5 self |

### BibTeX

@INPROCEEDINGS{Barklund95sld-resolutionwith,

author = {Jonas Barklund and Stefania Costantini and Pierangelo Dell'Acqua and Gaetano A. Lanzarone and Universit`a Studi Milano},

title = {SLD-Resolution with Reflection},

booktitle = {Logic Programming -- Proc. 1994 Intl. Symp., 554--568},

year = {1995},

pages = {554--568},

publisher = {MIT Press}

}

### OpenURL

### Abstract

We present a language containing names of ground expressions and a corresponding simple extension to SLD-resolution which allows metalevel computation and interlevel communication through reflection. The extended language allows significant freedom in the choice of names and as an example of a possible policy we discuss self-naming expressions. We go on to present a language in which the choice of naming relation has been partly determined by specifying that names of compound expressions are compositional. This is a sensible design decision and we present in detail a rewrite system for extended unification for the language, having certain similarities with a constraint solving system over names. Comparisons are made with related languages and systems. This paper was presented at the 1994 International Symposium on Logic Programming, held in Ithaca, New York. P. Dell'Acqua has been supported by both Universit`a degli Studi di Milano and Uppsala Univ. 1 Introduction This paper prese...

### Citations

960 |
Negation as failure
- Clark
- 1978
(Show Context)
Citation Context ... form "ff and #fi, where ff is some expression having a name and fi is an expression that is a name. The intuition is that "ff means the name of ff and #fi what fi names. The Herbrand equali=-=ty theory [7] is extended with ax-=-ioms on the forms ffl if "ff = "fi, then ff = fi; ffl if #ff = #fi, then ff = fi; ffl #"ff = ff; ffl "ff = ff 1 and #fi = fi \Gamma1 for every ground expression ff and name fi; ffl... |

332 | An efficient unification algorithm
- Martelli, Montanari
- 1982
(Show Context)
Citation Context ...valent Herbrand assignment (under the Herbrand equality theory). Unification algorithms that can be expressed as such rewriting systems have been defined, e.g, by Huet [13] 3 and Martelli & Montanari =-=[19]-=-. The assumption that unification rewrites the whole set of equations to a Herbrand assignment can be relaxed. Let a state instead consist of a triple hG; H;Ei, where G is a set of atoms, H is a Herbr... |

255 |
The GĂ¶del Programming Language
- Hill, Lloyd
- 1994
(Show Context)
Citation Context ...es of expressions. His approach is somewhat different as he takes as his formalism a Prolog system extended with a delaying primitive. The Godel programming language has names as an abstract datatype =-=[12]-=-. Names of expressions will thus always appear as variables in metaprograms. The metalevel part of a program can use the operations associated with the datatype to manipulate names. The naming relatio... |

114 |
Amalgamating language and metalanguage in logic programming
- Bowen, Kowalski
- 1982
(Show Context)
Citation Context ...ture [1, 2]. The need to formally represent knowledge and metaknowledge 1 This is the difference with respect to Reflective Prolog, as mentioned above. has led to the study of metalevel architectures =-=[4]-=-, where these two kinds of knowledge are explicitly represented. The basic features of a metalevel architecture can be summarized in: 1. the naming relation, providing names at the metalevel for the e... |

79 |
Methodology and Implementation of a CLP system
- Jaffar, Michaylov
- 1987
(Show Context)
Citation Context ... with some other relevant work, in chronological order. Heintze et al. [11] propose an approach that integrates metaprogramming facilities and the constraint paradigm. They extend the language CLP(R) =-=[15]-=- with the aim of allowing manipulations of CLP(R) programs and introduce some facilities to access the coded form of the current set of constraints. The addition of these facilities enables one to dev... |

28 |
A metalogic programming language
- Costantini, Lanzarone
- 1989
(Show Context)
Citation Context ... variety of techniques for rewriting equalities involving names. For example, we can choose a naming relation and a rewrite system for names to obtain a slightly modified variant of Reflective Prolog =-=[9, 10]-=-. The question of using ground or nonground representations in metalogic programming has been discussed intensively for a long time. In this proposal we sidestep the question, as the proposed inferenc... |

22 |
R'esolution d"equations dans les langages d'ordre 1,2. . . !. Th`ese de doctorat d"etat, Universit'e de Paris VII
- Huet
- 1976
(Show Context)
Citation Context ...es a set of equations to an equivalent Herbrand assignment (under the Herbrand equality theory). Unification algorithms that can be expressed as such rewriting systems have been defined, e.g, by Huet =-=[13]-=- 3 and Martelli & Montanari [19]. The assumption that unification rewrites the whole set of equations to a Herbrand assignment can be relaxed. Let a state instead consist of a triple hG; H;Ei, where G... |

14 |
Representation and Use of Metaknowledge
- Aiello, Cecchi, et al.
- 1986
(Show Context)
Citation Context ... inference system. Metalevel Architectures The advantages deriving from the ability of explicitly expressing and using metalevel knowledge have been widely recognized, especially in the AI literature =-=[1, 2]-=-. The need to formally represent knowledge and metaknowledge 1 This is the difference with respect to Reflective Prolog, as mentioned above. has led to the study of metalevel architectures [4], where ... |

13 | Definable naming relations in meta-level systems
- Harmelen
- 1992
(Show Context)
Citation Context ...sh the connection between object level and metalevel in the inference process. So far, the only investigation of formal properties of naming relations in metalogic programming is that of van Harmelen =-=[21]-=-. He argues that naming relations should be definable in order to be adapted to the particular requirements of a given metatheory. Similar motivations underlie our approach of parametrizing the naming... |

13 |
A unified treatment of resolution strategies for logic programs
- Wolfram, Maher, et al.
- 1984
(Show Context)
Citation Context ...et's Ph.D. thesis there is a very elegant unification algorithm for first-order expressions, which always terminates. AGLD-resolution, defined by Clark [8], originating from Wolfram, Maher and Lassez =-=[22]-=-.) Adding Names and Reflection Consider the usual language of definite clause programs [18] extended so that for every ground term or atom there is exactly one ground term that names it. Moreover, a t... |

11 | Logic Meta-Programming Facilities in 'Log
- Cervesato, Rossi
- 1992
(Show Context)
Citation Context ... style of metaprogramming based on a truth predicate in three-valued logic. His emphasis is not on presenting a proof system, but rather a metainterpreter for the truth predicate. Cervesato and Rossi =-=[5]-=- present a metalevel extension of a logic programming language, called 0 Log. The extension consists of a naming scheme that associates two different metarepresentations with every syntactic object of... |

9 |
Meta-Programming through a Truth Predicate
- Sato
- 1992
(Show Context)
Citation Context ...representing object level terms and interpreted relations (constraints) for manipulating object level terms. Thus, each metaprogram can be seen as a constraint logic program over this structure. Sato =-=[20]-=- has presented a style of metaprogramming based on a truth predicate in three-valued logic. His emphasis is not on presenting a proof system, but rather a metainterpreter for the truth predicate. Cerv... |

8 | A Basis for a Multilevel Metalogic Programming Language
- Barklund, Boberg, et al.
- 1994
(Show Context)
Citation Context ...m can use the operations associated with the datatype to manipulate names. The naming relation of Godel is compositional and it seems to fit in our framework. The Alloy metalogic programming language =-=[3]-=- exploits an extended version of the scheme described in this paper, including names also of nonground expressions. This complicates the rewriting system but allows a metalevel program to express prop... |

8 |
Efficient and Complete Demo Predicates for Definite Clause Languages
- Christiansen
- 1994
(Show Context)
Citation Context ... remove the distinction between predicate and function symbols, etc. For ground expressions his naming scheme can be captured in our framework, by self-naming. We are aware of a study by Christiansen =-=[6]-=-, whose idea is also to use a delay mechanism when computing names of expressions. His approach is somewhat different as he takes as his formalism a Prolog system extended with a delaying primitive. T... |

6 |
Meta programming as constraint programming
- Lim, Stuckey
- 1990
(Show Context)
Citation Context ...uce some facilities to access the coded form of the current set of constraints. The addition of these facilities enables one to develop new applications and simplification algorithms. Lim and Stuckey =-=[17]-=- propose a metalevel structure of computation in order to give a logical meaning to metaprograms. In particular, they extend the theory of CLP [14] with a metalevel structure that incorporates a metho... |

5 |
Logic Programming Schemes and Their Implementations
- Clark
- 1991
(Show Context)
Citation Context ...tion with Equations To begin with, note that it is well known how to reformulate SLD-resolution over definite clause programs in terms of sets of equations rather than substitutions (see, e.g., Clark =-=[8]-=-). A computation state is then a pair hG; Hi where G is a set of atoms and H is a Herbrand assignment, i.e., a set of equations fX 1 = t 1 ; : : : ; X k = t k g, where the variables X 1 , : : : , X k ... |

5 |
Meta programming
- Heintze, Michaylov, et al.
- 1997
(Show Context)
Citation Context ... few other attempts to combine metalogic programming and constraint logic programming. Here we present a brief overview, together with some other relevant work, in chronological order. Heintze et al. =-=[11]-=- propose an approach that integrates metaprogramming facilities and the constraint paradigm. They extend the language CLP(R) [15] with the aim of allowing manipulations of CLP(R) programs and introduc... |

4 |
A Metalogical Programming Approach: Language
- Costantini, Lanzarone
- 1993
(Show Context)
Citation Context ... variety of techniques for rewriting equalities involving names. For example, we can choose a naming relation and a rewrite system for names to obtain a slightly modified variant of Reflective Prolog =-=[9, 10]-=-. The question of using ground or nonground representations in metalogic programming has been discussed intensively for a long time. In this proposal we sidestep the question, as the proposed inferenc... |

2 |
Reasoning about Knowledge and Reasoning in a Meta-Level Architecture, Intl
- Aiello, Nardi, et al.
- 1991
(Show Context)
Citation Context ... inference system. Metalevel Architectures The advantages deriving from the ability of explicitly expressing and using metalevel knowledge have been widely recognized, especially in the AI literature =-=[1, 2]-=-. The need to formally represent knowledge and metaknowledge 1 This is the difference with respect to Reflective Prolog, as mentioned above. has led to the study of metalevel architectures [4], where ... |

2 |
On the Semantics of Real Metalogic Programming---a Preliminary Report
- Jiang
- 1993
(Show Context)
Citation Context ... and of a destructuring operator allowing us to relate these metarepresentations. They use constraint satisfaction techniques to characterize the destructuring operator, rather that reflection. Jiang =-=[16]-=- proposes an approach quite different from ours, where he takes the syntactic ambiguity of Prolog even further. His logic intentionally tries to remove the distinction between predicate and function s... |