Nothing Special   »   [go: up one dir, main page]

Skip to main content

A Recursion Removal Theorem

  • Conference paper
5th Refinement Workshop

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

In this paper we briefly introduce a Wide Spectrum Language and its transformation theory and describe a recent success of the theory: a general recursion removal theorem. Recursion removal often forms an important step in the systematic development of an algorithm from a formal specification. We use semantic-preserving transformations to carry out such developments and the theorem proves the correctness of many different classes of recursion removal. This theorem includes as special cases the two techniques discussed by Knuth [13] and Bird [7]. We describe some applications of the theorem to cascade recursion, binary cascade recursion, Gray codes, and an inverse engineering problem.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. W. Ackermann, “Zum Hilbertschen Aufbau der reellen Zahlen,” Math. Ann. 99 (1928), 118–133.

    Article  MathSciNet  MATH  Google Scholar 

  2. J. Arsac, “Transformation of Recursive Procedures,” in Tools and Notations for Program Construction, D. Neel, ed., Cambridge University Press, Cambridge, 1982, 211–265.

    Google Scholar 

  3. J. Arsac, “Syntactic Source to Source Program Transformations and Program Manipulation,” Comm. ACM 22 (Jan., 1982 ), 43–54.

    Google Scholar 

  4. R. J. R. Back, Correctness Preserving Program Refinements, Mathematical Centre Tracts#131, Mathematisch Centrum, 1980.

    Google Scholar 

  5. F. L. Bauer, B. Moller, H. Partsch und P. Pepper, “Formal Construction by Transformation—Computer Aided Intuition Guided Programming,” IEEE Trans. Software Eng. 15 (Feb., 1989 ).

    Google Scholar 

  6. F. L. Bauer und H. Wossner, Algorithmic Language and Program Development, Springer-Verlag, New York–Heidelberg–Berlin, 1982.

    Book  MATH  Google Scholar 

  7. R. Bird, “Notes on Recursion Removal,” Comm. ACM 20 (June, 1977 ), 434–439.

    Google Scholar 

  8. R. Bird, “Lectures on Constructive Functional Programming,” Oxford University, Technical Monograph PRG-69, Sept., 1988.

    Google Scholar 

  9. P. T. Breuer, K. Lano und J. Bowen, “Understanding Programs through Formal Methods,” Oxford University, Programming Research Group, 9 Apr., 1991.

    Google Scholar 

  10. T. Bull, “An Introduction to the WSL Program Transformer,” Conference on Software Maintenance 1990, San Diago (Nov. 26th-29th, 1990 ).

    Google Scholar 

  11. B. A. Davey und H. A. Priestley, Introduction to Lattices and Order, Cambridge University Press, Cambridge, 1990.

    MATH  Google Scholar 

  12. E. W. Dijkstra, A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ, 1976.

    MATH  Google Scholar 

  13. D. E. Knuth, “Structured Programming with the GOTO Statement,” Comput. Surveys 6 (1974), 261–301.

    Article  MATH  Google Scholar 

  14. C. Morgan, Programming from Specifications, Prentice-Hall, Englewood Cliffs, NJ, 1990.

    MATH  Google Scholar 

  15. C. Morgan und K. Robinson, “Specification Statements and Refinements,” IBM J. Res. Develop. 31 (1987).

    Google Scholar 

  16. C. C. Morgan, “The Specification Statement,” ACM TOPLAS 10 (1988), 403–419.

    Article  MATH  Google Scholar 

  17. C. C. Morgan, K. Robinson und Paul Gardiner, “On the Refinement Calculus,” Oxford University, Technical Monograph PRG-70, Oct., 1988.

    Google Scholar 

  18. E. L. Post, “Formal Reduction of the General Combinatorial Decision Problem,” Amer. J. Math. (1943).

    Google Scholar 

  19. D. Taylor, “An Alternative to Current Looping Syntax,” SIGPLAN Notices 19 (Dec., 1984), 48–53.

    Google Scholar 

  20. M. Ward, “Proving Program Refinements and Transformations,” Oxford University, DPhil Thesis, 1989.

    Google Scholar 

  21. M. Ward, “Derivation of a Sorting Algorithm,” Durham University, Technical Report, 1990.

    Google Scholar 

  22. M. Ward, “Specifications and Programs in a Wide Spectrum Language,” Durham University, Technical Report, 1990.

    Google Scholar 

  23. M. Ward, “A Definition of Abstraction,” University of Durham Technical Report, 1990.

    Google Scholar 

  24. M. Ward, “A Recursion Removal Theorem - Proof and Applications,” University of Durham, Technical Report, 1991.

    Google Scholar 

  25. M. Ward, “The Largest True Square Problem—An Exercise in the Derivation of an Algorithm,” Durham University, Technical Report, Apr., 1990.

    Google Scholar 

  26. M. Ward, “The Schorr-Waite Graph Marking Algorithm An Exercise in the Derivation of an Algorithm,” Durham University, Technical Report, Apr., 1990.

    Google Scholar 

  27. M. Ward, “Abstracting a Specification from Code,” Submitted to Journal of Software Maintenance and Management, Aug., 1991.

    Google Scholar 

  28. M. Ward, F. W. Calliss und M. Munro, “The Maintainer’s Assistant,” Conference on Software Maintenance 1989, Miami Florida(Oct. 16th-19th, 1989 ).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag London

About this paper

Cite this paper

Ward, M. (1992). A Recursion Removal Theorem. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds) 5th Refinement Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3550-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3550-0_4

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19752-2

  • Online ISBN: 978-1-4471-3550-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics