Skip to main content

Program transformation and rewriting

  • Conference paper
  • First Online:

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

Abstract

We present a basis for program transformation using term rewriting tools. A specification is expressed hierarchically by successive enrichments as a signature and a set of equations. A term can be computed by rewriting. Transformations come from applying a partial unfailing completion procedure to the original set of equations augmented by inductive theorems and a definition of a new function symbol following diverse heuristics. Moreover, the system must provide tools to prove inductive properties; to verify that enrichment produces neither junk nor confusion; and to check for ground confluence and termination. These properties are related to the correctness of the transformation.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Bachmair. Proofs methods for equational theories. PhD thesis, University of Illinois, Urbana-Champaign, 1987. Revised version, August 1988.

    Google Scholar 

  2. L. Bachmair, N. Dershowitz, and D. Plaisted. Completion without failure. In Proceedings of the colloquium on the resolution of Equations in Algebraic Structures, 1987.

    Google Scholar 

  3. F. Bellegarde and P. Lescanne. Transformation Orderings. In 12th Colloquium on Trees in Algebra and Programming, TAPSOFT, pages 69–80, Springer Verlag, Lecture Notes in Computer Science 249, 1987.

    Google Scholar 

  4. F. Bellegarde and P. Lescanne. Termination by Completion, Technical Report CRIN 90-R-028, 1990.

    Google Scholar 

  5. R. M. Burstall and J. Darlington. A Transformation System For Developing Recursive Programs. Journal of the Association for Computing Machinery, 24, pages 44–67, 1977.

    Google Scholar 

  6. N. Dershowitz. Termination. In Proceedings of the first Conference on Rewriting Techniques and Applications, Springer Verlag, Lecture Notes in Computer Science 202, pages 180–224, Dijon, France, 1985.

    Google Scholar 

  7. N. Dershowitz. Synthesis By Completion. Proceedings of the Ninth International Joint Conference on Artificial Intelligence, pages 208–214, Los Angeles, 1985.

    Google Scholar 

  8. N. Dershowitz. Computing with rewrite systems. Information and Control, 65(2/3):122–157, 1985.

    Google Scholar 

  9. N. Dershowitz. Completion and its Applications. Resolution of Equations in Algebraic Structures, Academic Press, New York, 1988.

    Google Scholar 

  10. J. Goguen and C. Kirchner and H. Kirchner and A. Megrelis and J. Meseguer and T. Winkler. An introduction to OBJ-3. In Proceedings of the 1rst Intern. Workshop on Conditional Term Rewriting Systems, Lecture Notes in Computer Science 308, 1988.

    Google Scholar 

  11. D. Kapur, P. Narendran, and H. Zhang. On sufficient completeness and related properties of term rewriting systems. Acta Informatica, 24:395–415, 1987.

    Google Scholar 

  12. D. E. Knuth and P. B. Bendix. Simple Word Problems in Universal Algebras. In J. Leech, editor, Computational Problems in Abstract algebra, pages 263–297, Pergamon Press, Oxford, U.K., 1970.

    Google Scholar 

  13. E. Kounalis, Testing for Inductive (CO)-Reducibility. In Proceedings of the 15th International Colloquium on Trees in Algebra and Programming, Lecture Notes in Computer Science 431, pages 221–238, 1990.

    Google Scholar 

  14. E. Kounalis, M. Rusinowitch. Mechanizing Inductive Reasoning. In Proceedings of the eight National Conference on Artificial Intelligence, AAAI-90, 1990.

    Google Scholar 

  15. D.S. Lankford. On proving term rewriting systems are Noetherian, Memo MTP-3, Mathematic Department, Louisiana Tech. University, Ruston, LA, May 1979. (Revised October 1979).

    Google Scholar 

  16. P. Lescanne, Completion Procedures as Transition Rules + Control:ORME. In 2nd Intern. Workshop Algebraic and Logic Programming, Lecture Notes in Computer Science, 1990.

    Google Scholar 

  17. M. O'Donnell. Equational Logic as a Programming Language. Foundation of Computing, MIT Press, 1985.

    Google Scholar 

  18. U. S. Reddy. Transformational derivation of programs using the Focus system. In Symposium Practical Software Development Environments, pages 163–172, ACM, December 1988.

    Google Scholar 

  19. U. S. Reddy, Formal methods in transformational derivation of programs. In Proceedings of the ACM Intern. Workshop on Automatic Software Design, AAAI, 1990.

    Google Scholar 

  20. U. S. Reddy, Term Rewriting Induction. In Proceedings of the Conference of Automated Deduction, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ronald V. Book

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bellegarde, F. (1991). Program transformation and rewriting. In: Book, R.V. (eds) Rewriting Techniques and Applications. RTA 1991. Lecture Notes in Computer Science, vol 488. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53904-2_99

Download citation

  • DOI: https://doi.org/10.1007/3-540-53904-2_99

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53904-9

  • Online ISBN: 978-3-540-46383-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics