Advertisement

New semantic tools for logic programming

  • Maurizio Gabbrielli
  • Giorgio Levi
  • Maurizio Martelli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 666)

Abstract

The paper is a general overview of our approach to the semantics of logic programs. We introduce new notions and modify the classical semantics, i.e. we use new tools to model those logic programs aspects which really capture their operational semantics, and are therefore useful for defining program equivalences and for semantics-based program analysis. The approach leads to the introduction of extended interpretations which are more expressive than Herbrand interpretations. The semantics in terms of extended interpretations can be obtained as a result of both an operational and a fixpoint construction. It can also be characterized from the modeltheoretic viewpoint, by defining a set of extended models which contains standard Herbrand models. The original construction for positive programs is shown to be applicable to other classes of logic programs, such as constraint logic programs, open programs and general programs. Different extensions are also shown capable to handle higher order constructs such as those used to compute sets of solutions.

Keywords

logic programming operational semantics declarative semantics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    K. R. Apt. Introduction to Logic Programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics. Elsevier. Amsterdam and The MIT Press, Cambridge, 1990.Google Scholar
  2. [2]
    K. R. Apt, H. Blair, and A. Walker. Towards a Theory of Declarative Knowledge. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 89–148. Morgan Kaufmann, Los Altos, Ca., 1988.Google Scholar
  3. [3]
    K. R. Apt and D. Pedreschi. Studies in Pure Prolog: Termination. In J. W. Lloyd, editor, Computational Logic, pages 150–176. Springer-Verlag, Berlin, 1990.Google Scholar
  4. [4]
    K. R. Apt and D. Pedreschi. Proving Termination of General Prolog Programs. In T. Ito and A.R. Meyer, editors, Proc. of Int. Conf. on Theoretical Aspects of Computer Software, Volume 526 of Lecture Notes in Computer Science, pages 265–289. Springer-Verlag, Berlin, 1991.Google Scholar
  5. [5]
    R. Barbuti, M. Codish, R. Giacobazzi, and G. Levi. Modelling Prolog Control. In Proc. Nineteenth Annual ACM Symp. on Principles of Programming Languages, pages 95–104. ACM Press, 1992.Google Scholar
  6. [6]
    R. Barbuti and R. Giacobazzi. A Bottom-up Polymorphic Type Inference in Logic Programming. Technical Report TR 27/89, Dipartimento di Informatica, Università di Pisa, 1989. To appear in Science of Computer Programming.Google Scholar
  7. [7]
    R. Barbuti, R. Giacobazzi, and G. Levi. A Declarative Abstract Semantics for Logic Programs. In A. Bertoni, C. Böhm, and P. Miglioli. editors, Proc. of the Third Italian Conference on Theoretical Computer Science, pages 84–96. World Scientific. 1989.Google Scholar
  8. [8]
    R. Barbuti, R. Giacobazzi, and G. Levi. A Declarative Approach to Abstract Interpretation of Logic Programs. Technical Report TR 20/89. Dipartimento di Informatica. Università di Pisa. 1989.Google Scholar
  9. [9]
    R. Barbuti, R. Giacobazzi, and G. Levi. A General Framework for Semantics-based Bottom-up Abstract Interpretation of Logic Programs. Technical Report TR 12/91, Dipartimento di Informatica, Università di Pisa. 1991. To appear in ACM Transactions on Programming Languages and Systems.Google Scholar
  10. [10]
    R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming. 8:201–228, 1990.Google Scholar
  11. [11]
    A. Bossi, M. Bugliesi, M. Gabbrielli, G. Levi, and M. C. Meo. Differential logic programming. In Proc. Twentieth Annual ACM Symp. on Principles of Programming Languages. ACM Press, 1993.Google Scholar
  12. [12]
    A. Bossi and N. Cocco. Basic transformation operations for logic programs which preserve computed answer substitutions. Journal of Logic Programming. 1991. To appear.Google Scholar
  13. [13]
    A. Bossi, M. Gabbrielli, G. Levi. and M. C. Meo. Contributions to the Semantics of Open Logic Programs. Technical Report TR 17/91. Dipartimento di Informatica. Università di Pisa, 1991.Google Scholar
  14. [14]
    A. Bossi, M. Gabbrielli, G. Levi, and M. C. Meo. Contributions to the Semantics of Open Logic Programs. In Proceedings of the International Conference on Fifth Generation Computer Systems 1992, pages 570–580, 1992.Google Scholar
  15. [15]
    A. Bossi and M. Menegus. Una Semantica Composizionale per Programmi Logici Aperti. In P. Asirelli, editor, Proc. Sixth Italian Conference on Logic Programming, pages 95–109, 1991.Google Scholar
  16. [16]
    F. Bry. Logic Programming as Constructivism: A Formalization and its Application to Databases. In Proc. Eighth ACM Symp. on Principles of Database Systems, 1989.Google Scholar
  17. [17]
    F. Bry. Negation in Logic Programming: A Formalization in Constructive Logic. In Proc. First Workshop on Information Systems and Artificial Intelligence, Ulm, West Germany, 1990.Google Scholar
  18. [18]
    M. Bugliesi. A Declarative View of Inheritance in Logic Programming. In Proc. 3rd Workshop on Extensions of Logic Programming, pages 141–143, 1992.Google Scholar
  19. [19]
    D. Chan. Constructive Negation Based on the Completed Database. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming, pages 111–125. The MIT Press, Cambridge, Mass., 1988.Google Scholar
  20. [20]
    K. L. Clark. Predicate logic as a computational formalism. Res. Report DOC 79/59, Imperial College, Dept. of Computing. London. 1979.Google Scholar
  21. [21]
    M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science. The Weizmann Institute. Rehovot, 1990. To appear in Theoretical Computer Science.Google Scholar
  22. [22]
    M. Codish, S. K. Debray, and R. Giacobazzi. Compositional Analysis of Modular Logic Programs. In Proc. Twentieth Annual ACM Symp. on Principles of Programming Languages. ACM Press, 1993.Google Scholar
  23. [23]
    F. S. de Boer and C. Palamidessi. Concurrent logic languages: Asynchronism and language comparison. In S. Debray and M. Hermenegildo, editors, Proc. North American Conf. on Logic Programming'90, pages 99–114. The MIT Press. Cambridge. Mass., 1990.Google Scholar
  24. [24]
    F. S. de Boer and C. Palamidessi. On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences. In J.C.M. Baeten and J.W. Klop, editors, Proc. of Concur 90. Volume 458 of Lecture Notes in Computer Science, pages 175–194. Springer-Verlag, Berlin, 1990.Google Scholar
  25. [25]
    G. Delzanno and M. Martelli. S-semantica per modellare insiemi di soluzioni. In S. Costantini, editor, Proc. Seventh Italian Conference on Logic Programming, 1992.Google Scholar
  26. [26]
    F. Denis and J.-P. Delahaye. Unfolding. Procedural and Fixpoint Semantics of Logic Programs. In C. Choffrut and M. Jantzen, editors. STACS 91. volume 480 of Lecture Notes in Computer Science, pages 511–522, Springer-Verlag, Berlin, 1991.Google Scholar
  27. [27]
    P. Deransart and G. Ferrand. Programmation en logique avec negation: presentation formelle. Technical Report No. 87/3. Lab. d'Informatique. Département de Mathématiques et d'Informatique, Université d'Orléans. 1987.Google Scholar
  28. [28]
    A. Dovier, E. G. Omodeo, E. Pontelli, and G. Rossi. A Logic Programming Language with Finite Sets. In GULP '91: Atti del Sesto Convegno sulla Programmazione Logica. pages 241–255, 1991.Google Scholar
  29. [29]
    Phan Minh Dung and K. Kanchanasut. A Fixpoint Approach to Declarative Semantics of Logic Programs. In E. Lusk and R. Overbeek. editors. Proc. North American Conf. on Logic Progmmming'89, pages 604–625. The MIT Press. Cambridge. Mass., 1989.Google Scholar
  30. [30]
    K. Eshghi and R. A. Kowalski. Abduction compared with Negation by Failure. In G. Levi and M. Martelli. editors. Proc. Sixth Int'l Conf. on Logic Programming. pages 234–254. The MIT Press, Cambridge. Mass., 1989.Google Scholar
  31. [31]
    M. Falaschi and G. Levi. Finite failures and partial computations in concurrent logic languages. In R. A. Kowalski and K. A. Bowen, editors, Proc. Int'l Conf. on Fifth Generation Computer Systems, pages 364–373. Institute for New Generation Computer Technology, Tokyo, 1988. versione estesa in [32].Google Scholar
  32. [32]
    M. Falaschi and G. Levi. Finite failures and partial computations in concurrent logic languages. Theoretical Computer Science, 75:45–66, 1990.Google Scholar
  33. [33]
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A new Declarative Semantics for Logic Languages. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming, pages 993–1005. The MIT Press, Cambridge, Mass., 1988.Google Scholar
  34. [34]
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative Modeling of the Operational Behavior of Logic Languages. Theoretical Computer Science, 69(3):289–318, 1989.Google Scholar
  35. [35]
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A Model-Theoretic Reconstruction of the Operational Semantics of Logic Programs. Technical Report TR 32/89, Dipartimento di Informatica, Università di Pisa, 1989. To appear in Information and Computation.Google Scholar
  36. [36]
    M. Falaschi, G. Levi, and C. Palamidessi. A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses. Information and Control, 60(1):36–69, 1984.Google Scholar
  37. [37]
    G. Ferrand. A reconstruction of Logic Programming with Negation. Technical Report No. 86/5, Lab. d'Informatique, Département de Mathématiques et d'Informatique, Université d'Orléans, 1986.Google Scholar
  38. [38]
    M. Gabbrielli and G. Levi. Unfolding and Fixpoint Semantics of Concurrent Constraint Programs. In H. Kirchner and W. Wechler. editors. Proc. Second Int'l Conf. on Algebraic and Logic Programming, volume 463 of Lecture Notes in Computer Science, pages 204–216. Springer-Verlag, Berlin, 1990.Google Scholar
  39. [39]
    M. Gabbrielli and G. Levi. Modeling Answer Constraints in Constraint Logic Programs. In K. Furukawa, editor, Proc. Eighth Int'l Conf. on Logic Programming, pages 238–252. The MIT Press, Cambridge, Mass., 1991.Google Scholar
  40. [40]
    M. Gabbrielli and G. Levi. On the Semantics of Logic Programs. In J. Leach Albert, B. Monien, and M. Rodriguez-Artalejo, editors, Automata, Languages and Programming, 18th International Colloquium, volume 510 of Lecture Notes in Computer Science, pages 1–19. Springer-Verlag, Berlin, 1991.Google Scholar
  41. [41]
    M. Gabbrielli and G. Levi. Unfolding and Fixpoint Semantics of Concurrent Constraint Programs. Technical Report TR 2/91. Dipartimento di Informatica. Università di Pisa. 1991. To appear in Theoretical Computer Science.Google Scholar
  42. [42]
    M. Gabbrielli, G. Levi, and D. Turi. A Two Steps Semantics for Logic Programs with Negation. In A. Voronkov, editor, Proceedings of the Int'l Conf. on Logic Programming and Automated Reasoning, volume 624 of Lecture Notes in Artificial Intelligence, pages 297–308. Springer-Verlag, Berlin, 1992.Google Scholar
  43. [43]
    M. Gabbrielli and M. C. Meo. Fixpoint Semantics for Partial Computed Answer Substitutions and Call Patterns. In H. Kirchner and G. Levi. editors. Algebraic and Logic Programming, Proceedings of the Third International Conference. Volume 632 of Lecture Notes in Computer Science, pages 84–99. Springer-Verlag. Berlin. 1992.Google Scholar
  44. [44]
    H. Gaifman, M. J. Maher, and E. Y. Shapiro. Reactive Behavior Semantics for Concurrent Constraint Logic Programs. In E. Lusk and R. Overbeek, editors. Proc. North American Conf. on Logic Programming'89. pages 553–572. The MIT Press. Cambridge. Mass., 1989.Google Scholar
  45. [45]
    H. Gaifman and E. Shapiro. Fully abstract compositional semantics for logic programs. In Proc. Sixteenth Annual ACM Symp. on Principles of Programming Languages. pages 134–142. ACM, 1989.Google Scholar
  46. [46]
    H. Gaifman and E. Shapiro. Proof theory and semantics of logic programs. In Proc. Fourth IEEE Symp. on Logic In Computer Science. pages 50–62. IEEE Computer Society Press. 1989.Google Scholar
  47. [47]
    R. Giacobazzi, S. Debray, and G. Levi. A Generalized Semantics for Constraint Logic Programs. In Proceedings of the International Conference on Fifth Generation Computer Systems 1992, pages 581–591, 1992.Google Scholar
  48. [48]
    R. Giacobazzi and L. Ricci. Pipeline Optimizations in AND-Parallelism by Abstract Interpretation. In D. H. D. Warren and P. Szeredi, editors, Proc. Seventh Int'l Conf. on Logic Programming, pages 291–305. The MIT Press. Cambridge, Mass., 1990.Google Scholar
  49. [49]
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In Proc. Fourteenth Annual ACM Symp. on Principles of Programming Languages, pages 111–119. ACM, 1987.Google Scholar
  50. [50]
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. Technical report, Department of Computer Science, Monash University, June 1986.Google Scholar
  51. [51]
    J. Jaffar, J.-L. Lassez, and M. J. Maher. PROLOG-II an n instance of the logic programming language scheme. In M. Wirsing, editor, Formal Descriptions of Programming Concepts. North-Holland, 1986.Google Scholar
  52. [52]
    B. Jayaraman and D. A. Plaisted. Programming with Equations, Subsets and Relations. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming '89, pages 1051–1068. The MIT Press, Cambridge. Mass., 1989.Google Scholar
  53. [53]
    K. Kanchanasut and P. Stuckey. Eliminating Negation from Normal Logic Programs. In H. Kirchner and W. Wechler, editors, Proc. Second Int'l Conf. on Algebraic and Logic Programming, Volume 463 of Lecture Notes in Computer Science, pages 217–231. Springer-Verlag, Berlin, 1990.Google Scholar
  54. [54]
    T. Kawamura and T. Kanamori. Preservation of Stronger Equivalence in Unfold/Fold Logic Programming Transformation. In Proc. Int'l Conf. on Fifth Generation Computer Systems, pages 413–422. Institute for New Generation Computer Technology, Tokyo, 1988.Google Scholar
  55. [55]
    R. Kemp and G. Ringwood. An Algebraic Framework for the Abstract Interpretation of Logic Programs. In S. Debray and M. Hermenegildo, editors, Proc. North American Conf. on Logic Programming'90, pages 506–520. The MIT Press. Cambridge, Mass., 1990.Google Scholar
  56. [56]
    G. Kreisel and J. L. Krivine. Elements of Mathematical Logic (Model Theory). North-Holland, Amsterdam, 1967.Google Scholar
  57. [57]
    J.-L. Lassez and M. J. Maher. Closures and Fairness in the Semantics of Programming Logic. Theoretical Computer Science, 29:167–184, 1984.Google Scholar
  58. [58]
    G. Levi. Models, Unfolding Rules and Fixpoint Semantics. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming. pages 16–19. The MIT Press, Cambridge, Mass., 1988.Google Scholar
  59. [59]
    G. Levi and P. Mancarella. The Unfolding Semantics of Logic Programs. Technical Report TR-13/88, Dipartimento di Informatics. Università di Pisa. 1988.Google Scholar
  60. [60]
    G. Levi, M. Martelli, and C. Palamidessi. Failure and success made symmetric. In S. Debray and M. Hermenegildo. editors. Proc. North American Conf. on Logic Programming'90, pages 3–22. The MIT Press, Cambridge. Mass., 1990.Google Scholar
  61. [61]
    G. Levi and C. Palamidessi. An approach to the declarative semantics of synchronization in logic languages. In J.-L. Lassez. editor. Proc. Fourth Int'l Conf. on Logic Programming, pages 877–893. The MIT Press. Cambridge. Mass., 1987.Google Scholar
  62. [62]
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag. Berlin. 1987. Second edition.Google Scholar
  63. [63]
    J. W. Lloyd and J. C. Shepherdson. Partial Evaluation in Logic Programming. Journal of Logic Programming, 11:217–242, 1991.Google Scholar
  64. [64]
    M. J. Maher. Equivalences of Logic Programs. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming. pages 627–658. Morgan Kaufmann, Los Altos, Ca., 1988.Google Scholar
  65. [65]
    P. Mancarella and D. Pedreschi. An Algebra of Logic Programs. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int'l Conf. on Logic Programming, pages 1006–1023. The MIT Press, Cambridge, Mass., 1988.Google Scholar
  66. [66]
    K. Marriott and H. Søndergaard. Bottom-up Abstract Interpretation of Logic Programs. In R. A. Kowalski and K. A. Bowen. editors. Proc. Fifth Int'l Conf. on Logic Programming, pages 733–748. The MIT Press, Cambridge, Mass., 1988.Google Scholar
  67. [67]
    K. Marriott and H. Søndergaard. Semantics-based Dataflow Analysis of Logic Programs. In G. Ritter, editor, Information Processing 89. North-Holland, 1989.Google Scholar
  68. [68]
    M. Martelli and C. Tricomi. An Effective Operational Semantics for General Logic Program. In S. Costantini, editor, Proc. Seventh Italian Conference on Logic Programming, pages 171–185, 1992.Google Scholar
  69. [69]
    A. Messora and M. Martelli. Semantica Dichiarativa di Predicati Meta-Logici in Programmazione Logica. In S. Costantini, editor, Proc. Seventh Italian Conference on Logic Programming, pages 155–170, 1992.Google Scholar
  70. [70]
    J. Minker and A. Rajasekar. A Fixpoint Semantics for Disjunctive Logic Programs. Journal of Logic Programming, 9:45–74, 1990.Google Scholar
  71. [71]
    R. A. O'Keefe. Towards an Algebra for Constructing Logic Programs. In Proc. IEEE Symp. on Logic Programming, pages 152–160, 1985.Google Scholar
  72. [72]
    A. Di Pierro, M. Martelli, and C. Palamidessi. Negation as Instantiation: a new rule for the treatment of negation in Logic Programming. In K. Furukawa, editor. Proc. Eighth Int'l Conf. on Logic Programming. The MIT Press. Cambridge, Mass., 1991.Google Scholar
  73. [73]
    H. Rasiowa and R. Sikorski. The Mathematics of Metamathematics. North-Holland, Amsterdam, 1963.Google Scholar
  74. [74]
    V. A. Saraswat, M. Rinard. and P. Panangaden. Semantic foundation of concurrent constraint programming. In Proc. Eighteenth Annual ACM Symp. on Principles of Programming Languages. ACM, 1991.Google Scholar
  75. [75]
    V.A. Saraswat and M. Rinard. Concurrent constraint programming. In Proc. of the Seventeenth ACM Symposium on Principles of Programming Languages, pages 232–245. ACM. New York, 1990.Google Scholar
  76. [76]
    H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Sten-Åke Tärnlund, editor, Proc. Second Int'l Conf. on Logic Programming, pages 127–139, 1984.Google Scholar
  77. [77]
    D. Turi. Extending S-Models to Logic Programs with Negation. In K. Furukawa, editor, Proc. Eighth Int'l Conf. on Logic Programming, pages 397–411. The MIT Press. Cambridge, Mass., 1991.Google Scholar
  78. [78]
    M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM. 23(4):733–742, 1976.Google Scholar
  79. [79]
    D. Warren and M. Kifer. Hilog: A Foundation for Higher-Order Logic Programming. In E. Lusk and R. Overbeek, editors, Proc. North American Conf. on Logic Programming'89, page 1090=1114. The MIT Press, Cambridge, Mass., 1989.Google Scholar
  80. [80]
    S. Yamasaki, M. Yoshida, and S. Doshita. A fixpoint semantics of Horn Sentences based on Substitution Sets. Theoretical Computer Science, 51:309–324, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Maurizio Gabbrielli
    • 1
  • Giorgio Levi
    • 1
  • Maurizio Martelli
    • 2
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly
  2. 2.Dipartimento di Informatica e Scienze dell'InformazioneUniversità di GenovaGenoaItaly

Personalised recommendations