A basis for a multilevel metalogic programming language | SpringerLink
Skip to main content

A basis for a multilevel metalogic programming language

  • Conference paper
  • First Online:
Logic Program Synthesis and Transformation — Meta-Programming in Logic (META 1994, LOPSTR 1994)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Barklund, J., Costantini, S., Dell'Acqua, P. and Lanzarone, G. A., SLD-Resolution with Reflection, to appear in Proc. ILPS'94, 1994.

    Google Scholar 

  5. Barklund, J. and Hamfelt, A., Hierarchical Representation of Legal Knowledge with Metaprogramming in Logic, J. Logic Programming, 18:55–80 (1994).

    Google Scholar 

  6. Bowen, K. A., Meta-Level Programming and Knowledge Representation, New Generation Computing, 3:359–383 (1985).

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Brogi, A., Program Construction in Computational Logic, Ph.D. Thesis, Dipartimento di Informatica, Università di Pisa, 1993.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Clark, K. L., Negation as Failure, in: H. Gallaire and J. Minker (eds.), Logic and Data Bases, Plenum Press, New York, 1978.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. Eshghi, K., Meta-Language in Logic Programming, Ph.D. Thesis, Dept. of Computing, Imperial College, London, 1986.

    Google Scholar 

  20. Hill, P. M. and Lloyd, J. W., The Gödel Programming Language, MIT Press, Cambridge, Mass., 1994.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. Kowalski, R. A., Meta Matters, invited presentation at Second Workshop on Meta-Programming in Logic, 1990.

    Google Scholar 

  23. Kowalski, R. A., Problems and Promises of Computational Logic, in: J. W. Lloyd (ed.), Computational Logic, Springer-Verlag, Berlin, 1990.

    Google Scholar 

  24. Lloyd, J. W., Foundations of Logic Programming, Second Edition, Springer-Verlag, Berlin, 1987.

    Google Scholar 

  25. Robinson, J. A., A Machine-oriented Logic Based on the Resolution Principle, J. ACM, 12:23–41 (1965).

    Article  Google Scholar 

  26. 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.

    Google Scholar 

  27. Smorynski, C., The Incompleteness Theorems, in: J. Barwise (ed.), Handbook of Mathematical Logic, North-Holland, Amsterdam, 1977.

    Google Scholar 

  28. Weyhrauch, R. W., Prolegomena to a Theory of Mechanized Formal Reasoning, Artificial Intelligence, 13:133–70 (1980).

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Laurent Fribourg Franco Turini

Rights and permissions

Reprints 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

Publish with us

Policies and ethics