Journal of Logic and Computation, Volume 10, Issue 6, pp. 743786: Abstract.
Reflection principles in computational logicJ Barklund^{1}, P Dell'Acqua^{1}, S Costantini^{2} and GA Lanzarone^{3} ^{1}Uppsala University, Computing Science Department, Box 311, S751 05 Uppsala, Sweden, Email: jonas@csd.uu.se; pier@csd.uu.se, ^{2}Department of Pure and Applied Mathematics, University of L'Aquila, via Vetoio Loc. Coppito, I67100 L'Aquila, Italy, Email: stefcost@univaq.it, ^{3}Center of Information Sciences, Faculty of Sciences at Varese, Insubria University, via Ravasi, 2 I21100 Varese, Italy, Email: lanzarone@mail.varbio.unimi.it
We introduce the concept of reflection principle as a knowledge representation paradigm in a computational logic setting. Reflection principles are expressed as certain kinds of logic schemata intended to capture the basic properties of the domain knowledge to be modelled. Reflection is then used to instantiate these schemata to answer specific queries about the domain. This differs from other approaches to reflection mainly in the following three ways. First, it uses logical instead of procedural reflection. Second, it aims at a cognitively adequate declarative representation of various forms of knowledge and reasoning, as opposed to reflection as a means for controlling computation or deduction. Third, it facilitates the building of a complex theory by allowing a simpler theory to be enhanced by a compact metatheory, contrary to the construction of metatheories that are only conservative extensions of the basic theory. A computational logic system for embedding reflection principles, called RCL (for Reflective Computational Logic), is presented in full detail. The system is an extension of Horn clause resolutionbased logic, and is devised in a way that makes important features of reflection parametric as much as possible, so that they can be tailored according to specific needs of different application domains. Declarative and procedural semantics of the logic are described and correctness and completeness of reflection as logical inference are proved. Examples of reflection principles for three difference application areas are shown. Relationship with a variety of distinct sources within the literature on relevant topics is discussed. Keywords: reflection, computational logic, knowledge representation paradigms, logical frameworks, logic programming
