Abstract
Term rewriting has so far been understood almost exclusively as a technique for equational reasoning. This paper proposes a much broader interpretation in which term rewriting can be used both as a semantic foundation and as a programming paradigm in areas such as reactive systems, concurrency theory and object-oriented programming that do not fit naturally within the functional world of equational logic. The interpretation proposed views conditional rewriting as a logic in its own right, with its own proof theory and with a very general model theory of wide applicability. The logic is sound and complete and admits initial models. Equational logic appears as a special refinement of the general framework; this supports a natural unification of the functional and concurrent programming paradigms with a purely declarative style. Throughout the paper, the concurrent nature of term rewriting is emphasized; the role of rewriting as a unified model of concurrency is also discussed.
Supported by Office of Naval Research Contracts N00014-90-C-0086, N00014-88-C-0618 and N00014-86-C-0450, and NSF Grant CCR-8707155.
Preview
Unable to display preview. Download preview PDF.
References
G. Agha. Actors. MIT Press, 1986.
M. Barr and C. Wells. Toposes, Triples and Theories. Springer-Verlag, 1985.
Gérard Berry and Gérard Boudol. The Chemical Abstract Machine. In Proc. POPL'90, pages 81–94. ACM, 1990.
Steven Bloom. Varieties of ordered algebras. Journal of Computer and System Sciences, 13:200–212, 1976.
K. Many Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.
Bruno Courcelle and Maurice Nivat. The algebraic semantics of recursive program schemes. In Proceedings, Mathematical Foundations of Computer Science. Springer-Verlag, 1978. Lecture Notes in Computer Science, Volume 64.
N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In Handbook of Theoretical Computer Science, Vol. B. North-Holland, 1990.
N. Dershowitz and M. Okada. A rationale for conditional equational programming. Theoretical Computer Science, 75:111–138, 1990.
N. Dershowitz, M. Okada, and G. Sivakumar. Confluence of conditional rewrite systems. In Jean-Pierre Jouannaud and Stephane Kaplan, editors, Proceedings, Conference on Conditional Term Rewriting, Orsay, France, July 8–10, 1987, pages 31–44. Springer-Verlag, Lecture Notes in Computer Science No. 308, 1988.
Nachum Dershowitz and David A. Plaisted. Equational programming. In J. Richards, editor, Machine Intelligence 11: The logic and acquisition of knowledge, pages 21–56. Oxford University Press, 1988.
J. Engelfriet. Net-based description of parallel object-based systems, or POTs and POPs. Technical report, Noordwijkerhout FOOL Workshop, May 1990.
J. Engelfriet, G. Leih, and G. Rozenberg. Parallel object-based systems and Petri nets, I and II. Technical Report 90-04-5, Dept. of Computer Science, University of Leiden, February 1990.
P. Freyd. Aspects of topoi. Bull. Austral. Math. Soc., 7:1–76, 1972.
Laurent Fribourg. Oriented equational clauses as a programming language. Journal of Logic Programming, 1(2):179–210, 1984.
Kokichi Futatsugi, Joseph Goguen, Jean-Pierre Jouannaud, and José Meseguer. Principles of OBJ2. In Brian Reid, editor, Proceedings of 12th ACM Symposium on Principles of Programming Languages, pages 52–66. ACM, 1985.
H. Ganzinger. A completion procedure for conditional equations. In Jean-Pierre Jouannaud and Stephane Kaplan, editors, Proceedings, Conference on Conditional Term Rewriting, Orsay, France, July 8–10, 1987, pages 62–83. Springer-Verlag, Lecture Notes in Computer Science No. 308, 1988. Final version will appear in J. Symb. Comp.
Jean-Yves Girard. Towards a geometry of interaction. In J.W. Gray and A. Scedrov, editors, Proc. AMS Summer Research Conference on Categories in Computer Science and Logic, Boulder, Colorado, June 1987, pages 69–108. American Mathematical Society, 1989.
Joseph Goguen. How to prove algebraic inductive hypotheses without induction: with applications to the correctness of data type representations. In Wolfgang Bibel and Robert Kowalski, editors, Proceedings, Fifth Conference on Automated Deduction, pages 356–373. Springer-Verlag, 1980. Lecture Notes in Computer Science, Volume 87.
Joseph Goguen, Jean-Pierre Jouannaud, and José Meseguer. Operational semantics of order-sorted algebra. In W. Brauer, editor, Proceedings, 1985 International Conference on Automata, Languages and Programming. Springer-Verlag, 1985. Lecture Notes in Computer Science, Volume 194.
Joseph Goguen, Claude Kirchner, Hélène Kirchner, Aristide Mégrelis, José Meseguer, and Timothy Winkler. An introduction to OBJ3. In Jean-Pierre Jouannaud and Stephane Kaplan, editors, Proceedings, Conference on Conditional Term Rewriting, Orsay, France, July 8–10, 1987, pages 258–263. Springer-Verlag, Lecture Notes in Computer Science No. 308, 1988.
Joseph Goguen, Claude Kirchner, and José Meseguer. Concurrent term rewriting as a model of computation. In R. Keller and J. Fasel, editors, Proc. Workshop on Graph Reduction, Santa Fe, New Mexico, pages 53–93. Springer LNCS 279, 1987.
Joseph Goguen and José Meseguer. Equality, types, modules and generics for logic programming. In S.-A. Tärnlund, editor, Proc. 2nd Intl. Logic Programming Conf., Uppsala, July 2–6, 1984, pages 115–125. Uppsala University, 1984.
Joseph Goguen and José Meseguer. Unifying functional, object-oriented and relational programming with logical semantics. In Bruce Shriver and Peter Wegner, editors, Research Directions in Object-Oriented Programming, pages 417–477. MIT Press, 1987. Preliminary version in SIGPLAN Notices, Volume 21, Number 10, pages 153–162, October 1986; also, Technical Report CSLI-87-93, Center for the Study of Language and Information, Stanford University, March 1987.
Joseph Goguen and José Meseguer. Software for the rewrite rule machine. In Proceedings of the International Conference on Fifth Generation Computer Systems, Tokyo, Japan, pages 628–637. ICOT, 1988.
Joseph Goguen and José Meseguer. Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Technical Report SRI-CSL-89-10, SRI International, Computer Science Lab, July 1989. Given as lecture at Seminar on Types, Carnegie-Mellon University, June 1983. Submitted for publication.
Joseph Goguen, José Meseguer, Sany Leinwand, Timothy Winkler, and Hitoshi Aida. The rewrite rule machine. Technical Report SRI-CSL-89-6, SRI International, Computer Science Lab, March 1989.
Joseph Goguen, James Thatcher, and Eric Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. Technical Report RC 6487, IBM T. J. Watson Research Center, October 1976. Appears in Current Trends in Programming Methodology, IV, Raymond Yeh, Ed., Prentice-Hall, 1978, pages 80–149.
Irene Guessarian. Algebraic Semantics. Springer-Verlag, 1981. Lecture Notes in Computer Science, Volume 99.
W.H. Hesselink. A mathematical approach to nondeterminism in data types. ACM Trans. Prog. Lang. and Sys., 10:87–117, 1988.
G. Huet. Formal Structures for Computation and Deduction. INRIA, 1986.
Gerard Huet. Confluent reductions: Abstract properties and applications to term rewriting systems. Journal of the Association for Computing Machinery, 27:797–821, 1980. Preliminary version in 18th Symposium on Mathematical Foundations of Computer Science, 1977.
H. Hussmann. Nondeterministic algebraic specifications and nonconfluent term rewriting. Computer Science Dept., TU Munich.
H. Hussmann. Unification in conditional equational theories. In Proc. EUROCAL 2, pages 543–553, 1985.
B. Jayaraman and D. Plaisted. Functional programming with sets. In Kahn, editor, Proceedings, IFIP Conference on Functional Programming Languages and Computer Architecture, pages 194–210. Springer-Verlag, Portland, September 1987. Lecture Notes in Computer Science, Volume 274.
J.-P. Jouannaud and B. Waldmann. Reductive conditional term rewriting systems. In Proceedings of Third IFIP Working Conference on Formal Description of Programming Concepts. 1986. Ebberup, Denmark.
Jean-Pierre Jouannaud and Stephane Kaplan, editors. Proceedings, Conference on Conditional Term Rewriting, Orsay, France, July 8–10, 1987. Springer-Verlag, Lecture Notes in Computer Science No. 308, 1988.
S. Kaplan and J.-L. Rémy. Completion algorithms for conditional rewriting systems. In Maurice Nivat and Hassan Aït-Kaci, editors, Resolution of Equations in Algebraic Structures, volume 2, pages 141–170. Academic Press, 1989.
R. Keller and J. Fasel, editors. Proc. Workshop on graph reduction, Santa Fe, New Mexico. Springer LNCS 279, 1987.
G.M. Kelly and R. Street. Review of the elements of 2-categories. In G.M. Kelly, editor, Category Seminar, Sydney 1972/73. Springer Lecture Notes in Mathematics No. 420, 1974.
Claude Kirchner, Hélène Kirchner, and José Meseguer. Operational semantics of OBJ3. In T. Lepistö and A. Salomaa, editors, Proceedings, 15th Intl. Coll. on Automata, Languages and Programming, Tampere, Finland, July 11–15, 1988, pages 287–301. Springer-Verlag, Lecture Notes in Computer Science No. 317, 1988.
J. Lambek. Subequalizers. Canadian Math. Bull., 13:337–349, 1970.
J.-J. Lévy. Optimal reductions in the lambda calculus. In To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism. Academic Press, 1980.
Saunders MacLane. Categories for the working mathematician. Springer, 1971.
Narciso MartÃ-Oliet and José Meseguer. An algebraic axiomatization of linear logic models. Technical Report SRI-CSL-89-11, SRI International, Computer Science Lab, December 1989. To appear in G.M. Reed, A.W. Roscoe and R. Wachter (eds.), Proceedings of the Oxford Symposium on Topology in Computer Science, Oxford University Press, 1990.
Narciso MartÃ-Oliet and José Meseguer. From Petri nets to linear logic. In D.H. Pitt et al., editor, Category Theory and Computer Science, pages 313–340. Springer Lecture Notes in Computer Science, Vol. 389, 1989. Full version to appear in Mathematical Structures in Computer Science.
J. Meseguer. Varieties of chain-complete algebras. Journal of Pure and Applied Algebra, 19:347–383, 1980.
J. Meseguer. A Birkhoff-like theorem for algebraic classes of interpretations of program schemes. In Formalization of Programming Concepts, pages 152–168. Springer-Verlag, 1981. Lecture Notes in Computer Science, Volume 107.
José Meseguer. General logics. In H.-D. Ebbinghaus et al., editor, Logic Colloquium'87, pages 275–329. North-Holland, 1989.
José Meseguer. A logical theory of concurrent objects. In ECOOP-OOPSLA'90 Conference on Object-Oriented Programming, Ottawa, Canada, October 1990, pages 101–115. ACM, 1990.
José Meseguer. Rewriting as a unified model of concurrency. In Proceedings of the Concur'90 Conference, Amsterdam, August 1990, pages 384–400. Springer LNCS Vol. 458, 1990.
José Meseguer. Rewriting as a unified model of concurrency. Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, February 1990. Submitted for publication; revised June 1990.
José Meseguer and Joseph Goguen. Initiality, induction and computability. In Maurice Nivat and John Reynolds, editors, Algebraic Methods in Semantics, pages 459–541. Cambridge University Press, 1985.
José Meseguer and Ugo Montanari. Petri nets are monoids: A new algebraic foundation for net theory. In Proc. LICS'88, pages 155–164. IEEE, 1988.
José Meseguer and Ugo Montanari. Petri nets are monoids. Info and Co, 88:105–155, 1990. Appeared as SRI Tech Report SRI-CSL-88-3, January 1988.
Robin Milner. Communication and Concurrency. Prentice Hall, 1989.
Peter Mosses. Unified algebras and institutions. Technical Report DAIMI PB-274, Computer Science Department, Aarhus University, 1989.
Michael J. O'Donnell. Survey of the equational logic programming project. In Maurice Nivat and Hassan Aït-Kaci, editors, Resolution of Equations in Algebraic Structures. MCC Corporation, 1987. Preliminary Proceedings.
A. Pitts. An elementary calculus of approximations. Unpublished manuscript, University of Sussex, December 1987.
A.J. Power. An abstract formulation of rewrite systems. In D.H. Pitt et al., editor, Category Theory and Computer Science, pages 300–312. Springer Lecture Notes in Computer Science, Vol. 389, 1989.
H. Reichel. Initial Computability, Algebraic Specifications, and Partial Algebras. Oxford University Press, 1987.
D.E. Rydeheard and J.G. Stell. Foundations of equational deduction: A categorical treatment of equational proofs and unification algorithms. In Proceedings of the Summer Conference on Category Theory and Computer Science, Edinburgh, Sept. 1987. Springer LNCS 283, 1987.
R. Seely. Modelling computations: a 2-categorical framework. In D. Gries, editor, Second IEEE Symposium on Logic in Computer Science, pages 65–71. IEEE Computer Society, June 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Meseguer, J. (1991). Conditional rewriting logic: Deduction, models and concurrency. In: Kaplan, S., Okada, M. (eds) Conditional and Typed Rewriting Systems. CTRS 1990. Lecture Notes in Computer Science, vol 516. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54317-1_81
Download citation
DOI: https://doi.org/10.1007/3-540-54317-1_81
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54317-6
Online ISBN: 978-3-540-47558-3
eBook Packages: Springer Book Archive