Meta-reasoning: A Survey

We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevant successful applications of meta-reasoning, and the basic underlying semantic principles.

[1]  Marianne Kalsbeek Correctness of the Vanilla meta-interpreter and ambivalent syntax , 1995 .

[2]  Robert A. Kowalski,et al.  Problems and Promises of Computational Logic , 1990 .

[3]  Frank Pfenning,et al.  The Practice of Logical Frameworks , 1996, CAAP.

[4]  Daniele Nardi,et al.  Yet Another Solution to the Three Wisemen Puzzle , 1988, ISMIS.

[5]  Robert Kowalski,et al.  From Logic Programming to Multi-agent systems , 1998 .

[6]  Robert A. Kowalski,et al.  From logic programming towards multi‐agent systems , 1999, Annals of Mathematics and Artificial Intelligence.

[7]  Jonas Barklund What Is a Meta-Variable in Prolog? , 1988, META.

[8]  Robert A. Kowalski,et al.  Towards a Unified Agent Architecture that Combines Rationality with Reactivity , 1996, Logic in Databases.

[9]  Jonas Barklund,et al.  A Basis for a Multi-Level Meta-Logic Programming Language , 1994, META.

[10]  Ian Welch,et al.  From Dalang to Kava - The Evolution of a Reflective Java Extension , 1999, Reflection.

[11]  Ulrich Berger,et al.  Computational Logic , 2001, NATO ASI Series.

[12]  Gaetano Aurelio Lanzarone,et al.  A Metalogic Programming Language , 1989, ICLP.

[13]  M. Clavel,et al.  Principles of Maude , 1996, WRLA.

[14]  Daniele Nardi,et al.  Reasoning about Student Knowledge and Reasoning , 1991, IJCAI.

[15]  Francesca Toni,et al.  Combining Introspection and Communication with Rationality and Reactivity in Agents , 1998, JELIA.

[16]  Henning Christiansen Efficient and Complete Demo Predicates for Definite Clause Languages , 1994, ICLP.

[17]  J. van Leeuwen,et al.  Meta-Level Architectures and Reflection , 2001, Lecture Notes in Computer Science.

[18]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[19]  Daniele Nardi,et al.  Reasoning About Knowledge and Ignorance , 1988, Fifth Generation Computer Systems.

[20]  Douglas B. Moran,et al.  The Open Agent Architecture: A Framework for Building Distributed Software Systems , 1999, Appl. Artif. Intell..

[21]  Gaetano Aurelio Lanzarone,et al.  SLD - Resolution with Reflection , 1994, ILPS.

[22]  John W. Lloyd,et al.  The Gödel programming language , 1994 .

[23]  José Meseguer,et al.  Axiomatizing Reflective Logics and Languages , 1996 .

[24]  Gianfranco Rossi,et al.  Logic Meta-Programming Facilities in 'LOG , 1992, META.

[25]  Henning Christiansen,et al.  A Complete Resolution method for Logical Meta-Programming Languages , 1992, META.

[26]  Robert A. Kowalski,et al.  The Situation Calculus and Event Calculus Compared , 1994, ILPS.

[27]  Anand S. Rao,et al.  Modeling Rational Agents within a BDI-Architecture , 1997, KR.

[28]  Helene Kirchner Trees in Algebra and Programming — CAAP '96 , 1996, Lecture Notes in Computer Science.

[29]  Alessandro Provetti Hypothetical Reasoning from Situation Calculus to Event Calculus , 1994, TIME.

[30]  Richard W. Weyhrauch,et al.  Checking Proofs in the Metamathematics of First Order Logic , 1975, IJCAI.

[31]  Donald Michie,et al.  Machine Intelligence 4 , 1970 .

[32]  Alan Bundy,et al.  Using Meta-Level Inference for Selective Application of Multiple Rewrite Rules in Algebraic Manipulation , 1980, CADE.

[33]  Gaetano Aurelio Lanzarone,et al.  Reflective Agents in Metalogic Programming , 1992, META.

[34]  Richard W. Weyhrauch,et al.  Prolegomena to a Theory of Mechanized Formal Reasoning , 1980, Artif. Intell..

[35]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[36]  Jack Belzer,et al.  Encyclopedia of Computer Science and Technology , 2002 .

[37]  Michael R. Genesereth,et al.  Logical foundations of artificial intelligence , 1987 .

[38]  Norman W. Paton,et al.  Stimuli and Business Policies as Modelling Constructs: Their Definition and Validation Through the Event Calculus , 1997, CAiSE.

[39]  Jürgen Dix,et al.  Meta-agent programs , 2000, J. Log. Program..

[40]  Barbara Pernici,et al.  temporal Reasoning , 1993, Temporal Databases.

[41]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[42]  Gerhard Brewka,et al.  Declarative Representation of Revision Strategies* , 2000, J. Appl. Non Class. Logics.

[43]  P. M. Hill,et al.  Meta-Programming in Logic Progamming , 1998 .

[44]  Danny De Schreye,et al.  Two semantics for definite meta-programs, using the non-ground representation , 1995 .

[45]  LogicJonas BarklundBox Metaprogramming in Logic , 1994 .

[46]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[47]  John McCarthy First Order Theories of Individual Concepts and Propositions. , 1979 .

[48]  Stefania Costantini Semantics of a Metalogic Programming Language , 1990, Int. J. Found. Comput. Sci..

[49]  C. Cecchi,et al.  Representation and use of metaknowledge , 1986, Proceedings of the IEEE.

[50]  Robert A. Kowalski,et al.  The Iff Proof Procedure for Abductive Logic Programming , 1997, J. Log. Program..

[51]  Jonas Barklund,et al.  A Basis for a Multilevel Metalogic Programming Language , 1994 .

[52]  Luís Moniz Pereira,et al.  Model-based diagnosis preferences and strategies representation with logic meta-programming , 1995 .

[53]  Giorgio Levi,et al.  A Formalization of Metaprogramming for real , 1993, ICLP.

[54]  Robert A. Kowalski,et al.  Amalgamating language and metalanguage in logic programming , 1982 .

[55]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[56]  Gaetano Aurelio Lanzarone,et al.  Reflection principles in computational logic , 2000, J. Log. Comput..

[57]  P. Schönemann On artificial intelligence , 1985, Behavioral and Brain Sciences.

[58]  Suryanarayana M. Sripada,et al.  Efficient Implementation of the Event Calculus for Temporal Database Applications , 1995, ICLP.

[59]  Fausto Giunchiglia,et al.  Introspective Metatheoretic Reasoning , 1994, META.

[60]  Frank van Harmelen Definable Naming Relations in Meta-level Systems , 1992, META.

[61]  Daniele Nardi,et al.  Modal and meta languages: consistency and expressiveness , 1995 .

[62]  Pattie Maes,et al.  Computational reflection , 1987, The Knowledge Engineering Review.

[63]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[64]  Danny De Schreye,et al.  Why Untyped Nonground Metaprogramming Is Not (Much Of) A Problem , 1995, J. Log. Program..

[65]  Peter Gärdenfors Belief Revision: A Vade-Mecum , 1992, META.

[66]  Alan Bundy,et al.  Using Meta-Level Inference for Selective Application of Multiple Rewrite Rule Sets in Algebraic Manipulation , 1980, Artif. Intell..

[67]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[68]  D. Pedreschi,et al.  Composition Operators for Logic Theories , 1990 .

[69]  H. Keisler,et al.  Handbook of mathematical logic , 1977 .

[70]  Dov M. Gabbay,et al.  Handbook of logic in artificial intelligence and logic programming (vol. 1) , 1993 .

[71]  Antonio Brogi,et al.  Meta-logic for program composition: semantics issues , 1995 .

[72]  David P. Miller,et al.  Temporal reasoning , 1986, WSC '86.

[73]  Yuejun Jiang Ambivalent Logic as the Semantic Basis of Metalogic Programming , 1994, ICLP.

[74]  Franco Turini,et al.  Logic Program Synthesis and Transformation — Meta-Programming in Logic , 1994, Lecture Notes in Computer Science.

[75]  Harvey Abramson,et al.  Meta-programming in logic programming , 1989 .

[76]  Fausto Giunchiglia,et al.  A Metatheory of a Mechanized Object Theory , 1996, Artif. Intell..

[77]  C. Smorynski The Incompleteness Theorems , 1977 .

[78]  Fausto Giunchiglia,et al.  Multilanguage hierarchical logics (or: how we can do without modal logics) , 1994, CNKBS.

[79]  John W. Lloyd,et al.  The Go¨del programming language , 1994 .

[80]  Inge M. C. Lemmens,et al.  A Formal Analysis of Smithsonian Computational Reflection , 1999, Reflection.

[81]  Luigia Carlucci Aiello,et al.  Using Meta-Theoretic Reasoning to do Algebra , 1980, CADE.

[82]  Robert A. Kowalski,et al.  Database Updates in the Event Calculus , 1992, J. Log. Program..

[83]  Michael J. Maher,et al.  A Theory of Complete Logic Programs with Equality , 1984, J. Log. Program..

[84]  Kurt Konolige,et al.  An Autoepistemic Analysis of Metalevel Reasoning in Logic Programming , 1992, META.

[85]  Gaetano Aurelio Lanzarone,et al.  Semantical Properties of Encodings in Logic Programming , 1995, ILPS.

[86]  Patrick Lincoln,et al.  Maude as a metalanguage , 1998, WRLA.

[87]  Frank Wolter,et al.  Semi-qualitative Reasoning about Distances: A Preliminary Report , 2000, JELIA.

[88]  Donald Perlis,et al.  Languages with Self-Reference II: Knowledge, Belief, and Modality , 1988, Artif. Intell..

[89]  R. Smullyan Diagonalization and Self-Reference , 1994 .

[90]  Bruce G. Buchanan,et al.  Meta-Level Knowledge: Overview and Applications , 1977, IJCAI.

[91]  Corin A. Gurr,et al.  Towards fast and declarative meta-programming , 1995 .

[92]  Gaetano Aurelio Lanzarone,et al.  A metalogic programming approach: language, semantics and applications , 1994, J. Exp. Theor. Artif. Intell..

[93]  Af Bowers,et al.  Meta-Logics and Logic Programming , 1995 .

[94]  Giorgio Levi,et al.  A New Declarative Semantics for Logic Languages , 1988, ICLP/SLP.

[95]  Robert A. Kowalski,et al.  Reconciling the Event Calculus With the Situation Calculus , 1997, J. Log. Program..

[96]  Jean G. Vaucher,et al.  ObjVProlog: Metaclasses in Logic , 1989, ECOOP.

[97]  Margus Veanes,et al.  Meta-programming with theory systems , 1995 .

[98]  Yuejun Jiang,et al.  A vademecum of ambivalent logic , 1995 .

[99]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[100]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[101]  Robert A. Kowalski,et al.  A Metalogic Programming Approach to Multi-Agent Knowledge and Belief , 1991, Artificial and Mathematical Theory of Computation.

[102]  Alessandro Provetti,et al.  HYPOTHETICAL REASONING ABOUT ACTIONS: FROM SITUATION CALCULUS TO EVENT CALCULUS , 1996, Comput. Intell..

[103]  Antonio Brogi,et al.  Composing logic programs by meta-programming in Go¨del , 1995 .

[104]  Luc Steels,et al.  Enhancing the Knowledge Engineering Process: Contributions from Esprit , 1993 .

[105]  A. Pettorossi,et al.  Meta-Programming in Logic , 1992, Lecture Notes in Computer Science.