Abstract
We are developing a multilevel metalogic programming language that we call Alloy. It is based on first-order predicate calculus extended with metalogical constructs. An Alloy program consists of a collection of theories, all in the same language, and a representation relation over these theories. The whole language is self-representable, including names for expressions with variables. A significant difference, as compared with many previous approaches, is that an arbitrary number of metalevels can be employed and that the object-meta relationship between theories need not be circular.
The language is primarily intended for representation of knowledge and metaknowledge and is currently being used in research on hierarchical representation of legal knowledge. We believe that the language allows sophisticated expression and efficient automatic deduction of interesting sets of beliefs of agents.
This paper aims to give a preliminary and largely informal definition of the core of the language, a simple but incomplete and inefficient proof system for the language and a sketch of an alternative, more efficient, proof system. The latter is intended to be used as a procedural semantics for the language. It is being implemented by an extension of an abstract machine for Prolog.
P. Dell'Acqua has been financially supported by both Uppsala Univ. and Univ. degli Studi di Milano.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aiello, L. C., Nardi, D. and Schaerf, M., Reasoning about Knowledge and Ignorance, in: H. Tanaka and K. Furukawa (eds.), Proc. Intl. Conf. on Fifth Generation Comp. Sys. 1988, Ohmsha, Tokyo, 1988.
Barklund, J., What is a Meta-Variable in Prolog?, in: H. Abramson and M. H. Rogers (eds.), Meta-Programming in Logic Programming, MIT Press, Cambridge, Mass., 1989.
Barklund, J., Costantini, S., Dell'Acqua, P. and Lanzarone, G. A., Reflection through Constraint Satisfaction, in: P. Van Hentenryck (ed.), Logic Programming: Proc. 11th Intl. Conf., MIT Press, Cambridge, Mass., 1994.
Barklund, J., Costantini, S., Dell'Acqua, P. and Lanzarone, G. A., SLD-Resolution with Reflection, to appear in Proc. ILPS'94, 1994.
Barklund, J. and Hamfelt, A., Hierarchical Representation of Legal Knowledge with Metaprogramming in Logic, J. Logic Programming, 18:55–80 (1994).
Bowen, K. A., Meta-Level Programming and Knowledge Representation, New Generation Computing, 3:359–383 (1985).
Bowen, K. A. and Kowalski, R. A., Amalgamating Language and Metalanguage in Logic Programming, in: K. L. Clark and S.-å. TÄrnlund (eds.), Logic Programming, Academic Press, London, 1982.
Brogi, A., Mancarella, P., Pedreschi, D. and Turini, F., Composition Operators for Logic Theories, in: J. W. Lloyd (ed.), Computational Logic, Springer-Verlag, Berlin, 1990.
Brogi, A., Mancarella, P., Pedreschi, D. and Turini, F., Meta for Modularising Logic Programming, in: A. Pettorossi (ed.), Meta-Programming in Logic, LNCS 649, Springer-Verlag, Berlin, 1992.
Brogi, A., Program Construction in Computational Logic, Ph.D. Thesis, Dipartimento di Informatica, Università di Pisa, 1993.
Brogi, A. and Turini, F., Metalogic for Knowledge Representation, in: J. A. Allen, R. Fikes and E. Sandewall (eds.), Principles of Knowledge Representation and Reasoning: Proc. 2nd Intl. Conf., Morgan Kaufmann, Los Altos, Calif., 1991.
Cervesato, I. and Rossi, G. F., Logic Meta-Programming Facilities in 'LOG, in: A. Pettorossi (ed.), Meta-Programming in Logic, LNCS 649, Springer-Verlag, Berlin, 1992.
Christiansen, H., Efficient and Complete Demo Predicates for Definite Clause Languages, in: P. Van Hentenryck (ed.), Logic Programming: Proc. 11th Intl. Conf., MIT Press, Cambridge, Mass., 1994.
Clark, K. L., Negation as Failure, in: H. Gallaire and J. Minker (eds.), Logic and Data Bases, Plenum Press, New York, 1978.
Colmerauer, A., Kanoui, H., Pasero, R. and Roussel, P., Un Système de Communication Homme-Machine en FranÇais, Technical report, Groupe de Recherche en Intelligence Artificielle, Univ. d'Aix-Marseille, Luminy, 1972.
Costantini, S. and Lanzarone, G. A., Analogical Reasoning in Reflective Prolog, in: A. A. Martino (ed.), Pre-Proc. 3rd Intl. Conf. on Logica Informatica Diritto, Istituto per la documentazione giuridica, Florence, 1989.
Costantini, S., Dell'Acqua, P. and Lanzarone, G. A., Reflective Agents in Metalogic Programming, in: A. Pettorossi (ed.), Meta-Programming in Logic, LNCS 649, Springer-Verlag, Berlin, 1992.
Costantini, S. and Lanzarone, G. A., A Metalogic Programming Language, in: G. Levi and M. Martelli (eds.), Proc. 6th Intl. Conf. on Logic Programming, MIT Press, Cambridge, Mass., 1989.
Eshghi, K., Meta-Language in Logic Programming, Ph.D. Thesis, Dept. of Computing, Imperial College, London, 1986.
Hill, P. M. and Lloyd, J. W., The Gödel Programming Language, MIT Press, Cambridge, Mass., 1994.
Kim, J. S. and Kowalski, R. A., An Application of Amalgamated Logic to Multi-Agent Belief, in: M. Bruynooghe (ed.), Proc. Second Workshop on Meta-Programming in Logic, Dept. of Comp. Sci., Katholieke Univ. Leuven, 1990.
Kowalski, R. A., Meta Matters, invited presentation at Second Workshop on Meta-Programming in Logic, 1990.
Kowalski, R. A., Problems and Promises of Computational Logic, in: J. W. Lloyd (ed.), Computational Logic, Springer-Verlag, Berlin, 1990.
Lloyd, J. W., Foundations of Logic Programming, Second Edition, Springer-Verlag, Berlin, 1987.
Robinson, J. A., A Machine-oriented Logic Based on the Resolution Principle, J. ACM, 12:23–41 (1965).
Sato, T., Meta-Programming through a Truth Predicate, in: K. Apt (ed.), Proc. Joint Intl. Conf. Symp. on Logic Programming 1992, MIT Press, Cambridge, Mass., 1992.
Smorynski, C., The Incompleteness Theorems, in: J. Barwise (ed.), Handbook of Mathematical Logic, North-Holland, Amsterdam, 1977.
Weyhrauch, R. W., Prolegomena to a Theory of Mechanized Formal Reasoning, Artificial Intelligence, 13:133–70 (1980).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barklund, J., Boberg, K., Dell'Acqua, P. (1994). A basis for a multilevel metalogic programming language. In: Fribourg, L., Turini, F. (eds) Logic Program Synthesis and Transformation — Meta-Programming in Logic. META LOPSTR 1994 1994. Lecture Notes in Computer Science, vol 883. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58792-6_17
Download citation
DOI: https://doi.org/10.1007/3-540-58792-6_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58792-7
Online ISBN: 978-3-540-49104-0
eBook Packages: Springer Book Archive