Skip to main content

Specifications using multiple-conclusion logic programs

  • Invited Talks
  • Conference paper
  • First Online:
  • 270 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 844))

Abstract

Multiset rewriting has proved to be a useful presentation of process synchronization [1, 2, 3, 6]. Since sequent calculus presentations of logics that do not use the structural rules of contractions and weakening are based on using multisets of formulas as left and right contexts, it is natural to identify processes with formulas, multisets with sequent contexts, and multiset rewriting as an inference rule. Given earlier work on using sequent calculus to describe logic programming as goal-directed search for proofs [8], it is most natural to use right-hand contexts of sequents to represent multisets of processes. This choice requires the identification of the multiset constructor and the empty multiset with the multiplicative disjunction and false (the

and ⊥ of linear logic [4]), and backchaining with a single step of multiset rewriting. While the logic programming language λProlog [10] and its linear logic refinement Lolli [5] contain rich sources of abstraction (such as modular programming, abstract data types, and higher-order programming), they contain no primitives for specifying concurrency, communications, or synchronization. If multiset rewriting is added to Lolli via the logical connectives

and ⊥, the result is a language that contains primitives for both abstraction and concurrency. Surprisingly, the resulting logic, called Forum [7], is a presentation of all of linear logic in the sense that all of the connectives of linear logic can be defined via logical equivalences using only the connectives of Forum. Thus the rich meta-theory of linear logic, for example, the de Morgan dualities and cut-elimination, can be applied to the analysis of Forum programs. Several examples to illustrate the expressiveness of this presentation of linear logic will be given. These examples will involve a specification of sequent calculi for object-level logics, a specification of the π-calculus [9], and a specification of a functional programming language that contains side-effects and concurrency operators. In each of these examples, we shall argue that the specification is perspicuous and modular and that the meta-theory of linear logic can be used to derive properties of the specification.

The work presented here is supported in part by grants ONR N00014-93-1-1324, NSF CCR-91-02753, NSF CCR-92-09224, and DARPA N00014-85-K-0018.

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

References

  1. J.M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. New Generation Computing, 9:3–4, 1991.

    Google Scholar 

  2. J-P. Banâtre, A. Coutant, and D. Le Metayer. A parallel machine for multiset transformation and its programming style. Future Generation Computer Systems, 4(2):133–145, 1988.

    Google Scholar 

  3. G. Berry and G. Boudol. The chemical abstract machine. In Proceedings of the 17th Annual Symposium of Programming Languages, pages 81–94, 1990.

    Google Scholar 

  4. Jean-Yves Girard. Linear logic. Theoretical Computer Science, 50:1–102, 1987.

    Google Scholar 

  5. Joshua Hodas and Dale Miller. Logic programming in a fragment of intuitionistic linear logic. Journal of Information and Computation, 1994. (To appear). Available from ftp.cis.upenn.edu, pub/papers/miller/ic94.ps.Z.

    Google Scholar 

  6. Naoki Kobayashi and Akinori Yonezawa. ACL — a concurrent linear logic programming paradigm. In Dale Miller, editor, Logic Programming — Proceedings of the 1993 International Symposium, pages 279–294. MIT Press, October 1993.

    Google Scholar 

  7. Dale Miller. A multiple-conclusion meta-logic. In S. Abramsky, editor, Ninth Annual Symposium on Logic in Computer Science, Paris, July 1994. (To appear). Available from ftp.cis.upenn.edu, pub/papers/miller/lics94.dvi.Z.

    Google Scholar 

  8. Dale Miller, Gopalan Nadathur, Frank Pfenning, and Andre Scedrov. Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, 51:125–157, 1991.

    Google Scholar 

  9. Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, Part I. Information and Computation, pages 1–40, September 1992.

    Google Scholar 

  10. Gopalan Nadathur and Dale Miller. An Overview of λProlog. In Fifth International Logic Programming Conference, pages 810–827, Seattle, Washington, August 1988. MIT Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo Jaan Penjam

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Miller, D. (1994). Specifications using multiple-conclusion logic programs. In: Hermenegildo, M., Penjam, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1994. Lecture Notes in Computer Science, vol 844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58402-1_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-58402-1_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58402-5

  • Online ISBN: 978-3-540-48695-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics