Advertisement

Compositional Semantics for the Procedural Interpretation of Logic

  • Maarten H. van Emden
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4079)

Abstract

Semantics of logic programs has been given by proof theory, model theory and by fixpoint of the immediate-consequence operator. If clausal logic is a programming language, then it should also have a compositional semantics. Compositional semantics for programming languages follows the abstract syntax of programs, composing the meaning of a unit by a mathematical operation on the meanings of its constituent units. The procedural interpretation of logic has only yielded an incomplete abstract syntax for logic programs. We complete it and use the result as basis of a compositional semantics. We present for comparison Tarski’s algebraization of first-order predicate logic, which is in substance the compositional semantics for his choice of syntax. We characterize our semantics by equivalence with the immediate-consequence operator.

Keywords

Logic Program Logic Programming Predicate Logic Procedural Program Compositional Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Apt, K.R.: Logic programming. In: Handbook of Theoretical Computer Science (1990)Google Scholar
  2. 2.
    Boole, G.: An Investigation of the Laws of Thought. Dover, Mineola (1854) (Dover edition not dated)Google Scholar
  3. 3.
    Brogi, A., Mancarella, P., Pedreschi, D., Turini, F.: Modular logic programming. ACM Transactions on Programming Languages and Systems 16, 1361–1398 (1994)CrossRefGoogle Scholar
  4. 4.
    Bry, F.: A compositional semantics for logic programs and deductive databases. In: Proc. Joint Int. Conf. Symp. Logic Programming (1996)Google Scholar
  5. 5.
    Chen, W., Kifer, M., Warren, D.S.: HILOG: A foundation for higher-order logic programming. Journal of Logic Programming 15, 187–230 (1993)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Codish, M., Debray, S.K., Giacobazzi, R.: Compositional analysis of modular logic programs. In: Proc. 20th ACM Symposium on Principles of Programming Languages (POPL) (1993)Google Scholar
  7. 7.
    Colmerauer, A.: Sur les bases théoriques de Prolog. Technical report, Groupe d’Intelligence Artificielle, Université d’Aix-Marseille II (1979)Google Scholar
  8. 8.
    Colmerauer, A., Kanoui, H., Paséro, R., Roussel, P.: Un système de communication homme-machine en français. Technical report, Groupe d’Intelligence Artificielle, Université d’Aix-Marseille II (1972)Google Scholar
  9. 9.
    Henkin, L., Monk, J.D., Tarski, A.: Cylindric Algebras, Parts I, II. In: Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam (1985)Google Scholar
  10. 10.
    Ibrahim, H., van Emden, M.H.: Towards applicative relational programming (Unpublished draft) available from the Computing Research Repository (1991), http://arxiv.org/corr/home
  11. 11.
    Ibrahim, H.: Applicative expressions for relational programming. Master’s thesis, University of Victoria (1992)Google Scholar
  12. 12.
    Irons, E.T.: A syntax-directed compiler for Algol 60. Communications of the ACM 4, 51–55 (1961)MATHCrossRefGoogle Scholar
  13. 13.
    Kowalski, R.A.: Predicate logic as programming language. In: Proc. IFIP 1974, pp. 569–574 (1974)Google Scholar
  14. 14.
    Kowalski, R.A.: Logic for Problem-Solving. Elsevier, North-Holland (1979)Google Scholar
  15. 15.
    Landin, P.: The mechanical evaluation of expressions. Computer Journal 6, 308–320 (1963)Google Scholar
  16. 16.
    Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)MATHGoogle Scholar
  17. 17.
    McCabe, F.G.: Logic and Objects. Prentice-Hall, Englewood Cliffs (1992)MATHGoogle Scholar
  18. 18.
    Miller, D.: A logical analysis of modules in logic programming. Journal of Logic Programming 6, 79–108 (1989)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Scott, D., Strachey, C.: Toward a mathematical semantics for computer languages. In: Proceedings of the Symposium on Computers and Automata, Polytechnic Institute of Brooklyn, pp. 19–46 (1971)Google Scholar
  20. 20.
    Stoy, J.E.: Denotational Semantics: The Scott-Strachey approach to Programming Language Theory. MIT Press, Cambridge (1977)Google Scholar
  21. 21.
    Tarski, A.: A representation theorem for cylindric algebras. Bull. Amer. Math. Soc. 58, 65–66 (1952)Google Scholar
  22. 22.
    van Emden, M.H., Kowalski, R.A.: The semantics of predicate logic as a programming language. Journal of the ACM 23(4), 733–742 (1976)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Maarten H. van Emden
    • 1
  1. 1.Department of Computer ScienceUniversity of Victoria 

Personalised recommendations