Skip to main content
Log in

List partitions

  • Published:
Formal Aspects of Computing

Abstract

By definition, apartition of a list is a division of that list into nonempty contiguous segments. Many programming and operations research problems can be specified in terms of list partitions, and we present a hierarchy of theorems for deriving programs from such specifications. Throughout, reasoning is conducted in an equational style using the calculus for program synthesis developed by Bird and Meertens.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. R. Backhouse. An exploration of the Bird-Meertens formalism. Unpublished draft, Dept. of Comp. Science, Groningen University, The Netherlands, 1988.

    Google Scholar 

  2. R. Bellman.Dynamic Programming. Princeton University Press, N.J., 1957.

    Google Scholar 

  3. R.S. Bird, J. Gibbons, and G. Jones. Formal derivation of a pattern matching algorithm.Science of Computer Programming, 12(2):93–104, July 1989.

    Google Scholar 

  4. R.S. Bird. Transformational programming and the paragraph problem.Science of Computer Programming 6:159–189 (1986).

    Google Scholar 

  5. R.S. Bird. An introduction to the theory of lists. Technical Monograph PRG-56, Oxford University Computing Laboratory, Programming Research Group, October 1986. Also in: M. Broy, editor,Logic of Programming and Calculi of Discrete Design, NATO ASI Series 36, pages 3–42, Springer-Verlag, 1987.

  6. R.S. Bird. A calculus of functions for program derivation. Technical Monograph PRG-64, Oxford University Computing Laboratory, Programming Research Group, December 1987. Also in:Research Topics in Functional Programming (Edited by D. Turner) Addison-Wesley 1987.

  7. R.S. Bird. Lectures on constructive functional programming. inConstructive Methods in Computing Science (Edited by M. Broy) NATO ASI Series F vol 55, Springer-Verlag, 1989.

  8. R.S. Bird. Small specification exercises. inBeauty is Our Business: A Birthday Salute to E. W. Dijkstra (Edited by W. Feijen, N. van Gasteren, D. Gries, and J. Misra) Springer-Verlag 1990

  9. J.G. Ecker and M. Kupferschmid.Introduction to Operations Research. John Wiley & Sons, 1988. ISBN 0-471-88445-6.

  10. Z. Galil and R. Giancarlo. Speeding up dynamic programming with applications to molecular biology.Theoretical Computer Science, 64(1):107–118, 1989.

    Google Scholar 

  11. D. Hirschberg and L. Larmore. The least weight subsequence problem.SIAM Journal of Computing, 16(4):628–638, August 1987.

    Google Scholar 

  12. A. Hartman and M. Rodeh. Optimal parsing of strings. In A. Apostolico and Z. Galil, editors,Combinatorial Algorithms on Words, pages 155–167. Springer-Verlag, 1985.

  13. D.E. Knuth and M.F. Plass. Breaking paragraphs into lines.Software — Practice & Experience, pages 1119–1184, 1981.

  14. G. Malcolm. Homomorphisms and promotability. In J.L.A. van de Snepscheut (editor)Mathematics of Program Construction. LNCS 375, pp335–347, 1989.

  15. L.G.L.T. Meertens. Algorithmics-towards programming as a mathematical activity. In J.W. de Bakker, M. Hazewinkel, and J.K. Lenstra, editors,Mathematics and Computer Science, pages 289–334. CWI Symposium, North-Holland, 1986.

  16. L.G.L.T. Meertens. First steps towards a theory of rose trees. Working paper 592 ROM-25, IFIP WG 2.1, 1988.

  17. O. de Moor.Categories, Relations, and Dynamic Programming. D. Phil Thesis, Oxford University Computing Laboratory, Programming Research Group, 1992.

  18. M. Spivey. A categorical approach to the theory of lists. In J.L.A. van de Snepscheut (editor)Mathematics of Program Construction. LNCS 375, pp399–408, 1989.

  19. J.A. Storer and T.G. Szymanski. Data compression via textual substitution.Journal of the Association for Computing Machinery, 29(4):928–951, 1982.

    Google Scholar 

  20. R.A. Wagner. Common phrases and minimum-space text storage.Communications of the ACM, 16(3): 148–152, 1973.

    Google Scholar 

  21. N. Wirth.Algorithms+Data Structures=Programs. Prentice-Hall, 1976. ISBN 0-13-022418-9.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Supported by a BP research studentship.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bird, R.S., de Moor, O. List partitions. Formal Aspects of Computing 5, 61–78 (1993). https://doi.org/10.1007/BF01211316

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211316

Keywords

Navigation