Skip to main content
Log in

Algebraic specification of data types: A synthetic approach

  • Published:
Mathematical systems theory Aims and scope Submit manuscript

Abstract

A mathematical interpretation is given to the notion of a data type, which allows procedural data types and circularly defined data types. This interpretation seems to provide a good model for what most computer scientists would call data types, data structures, types, modes, clusters or classes. The spirit of this paper is that of McCarthy [43] and Hoare [18]. The mathematical treatment is the conjunction of the ideas of Scott on the solution of domain equations [34], [35], and [36] and the initiality property noticed by the ADJ group (ADJ [2] and [3]). The present work adds operations to the data types proposed by Scott and proposes an alternative to the equational specifications proposed by Guttag [14], Guttag and Horning [15] and ADJ [2]. The advantages of such a mathematical interpretation are the following: throwing light on some ill-understood constructs in high-level programming languages, easing the task of writing correct programs and making possible proofs of correctness for programs or implementations.

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. J. Adamek, Free algebras and automata realizations in the language of categories, Commentationes Mathematicae Universitatis Carolinae 589–602 (1974).

  2. ADJ: J. A. Goguen, J. W. Thatcher, E. G. Wagner, and J. B. Wright, Abstract data types as initial algebras and the correctness of data representations, Proc. Conference on Computer Graphics, Pattern Recognition and Data Structures (1975).

  3. ADJ: J. A. Goguen, J. W. Thatcher, E. G. Wagner, and J. B. Wright, Initial algebra semantics and continuous algebras, J. ACM 24, No. 1, 68–95 (1977).

    Google Scholar 

  4. M. A. Arbib, Free dynamics and algebraic semantics, Lecture Notes in computer Science 56, 212–227 (1977).

    Google Scholar 

  5. M. A. Arbib and E. G. Manes, A categorist's view of automata and systems, category theory applied to computation and control, Springer Lecture Notes in Computer Science, Vol. 25 (1974).

  6. J. de Bakker, Recursive procedures, Math. Centrum, Amsterdam (1974).

    Google Scholar 

  7. M. Barr, Coequalizers and free triples, Math. 2., 116, 307–322 (1970).

    Google Scholar 

  8. G. Birkhoff and J. D. Lipson, Heterogeneous algebras, J. Combinatorial Theory 8, 115–133 (1970).

    Google Scholar 

  9. W. H. Burge, Recursive programming techniques, Addison Wesley (1975).

  10. B. Courcelle and M. Nivat, Algebraic families of interpretations, 17th Ann. IEEE Symp. on Foundations of Comp. Sci., 137–146 (1978).

  11. D. P. Friedman and D. S. Wise, CONS should not evaluate its arguments, Proc. of 3rd Coll. on Automata, Languages, and Programming, Edinburgh (1976).

  12. M. Gordon, Models of pure LISP, Ph.D. thesis, Dept. of Artificial Intelligence, Edinburgh University (1973).

  13. M. Gordon, R. Milner, L. Morris, M. Newey, and C. Wadsworth, A metalanguage for interactive proof in LCF, 5th Annual ACM Symp. on Principles of Programming Languages, Tucson, AZ (1978).

  14. J. V. Guttag, Abstract data types and the development of data structures, Communications of the ACM, 20, No. 6, 396–404 (1977).

    Google Scholar 

  15. J. V. Guttag and J. J. Horning, The algebraic specification of abstract data types, Acta Informatica 10, 27–52 (1978).

    Google Scholar 

  16. P. Henderson and J. Morris, Jr., A lazy evaluator, 3rd ACM Symposium on Principles of Programming Languages, 95–103 (1976).

  17. H. Herrlich and G. E. Strecker, Category theory, Allyn and Bacon (1973).

  18. C. A. R. Hoare, Recursive data structures, J. Computer and System Sciences 4, No. 2, 95–103 (1975).

    Google Scholar 

  19. A. Kanda, Data types as initial algebras, 19th Annual Symp. on Foundations of Computer Science (1978).

  20. D. Knuth, The art of computer programming, Vol. 1, Addison-Wesley (1969).

  21. F. W. Lawvere, An elementary theory of the category of sets, Proc. National Academy of Sciences 52, 1506–1510 (1964).

    Google Scholar 

  22. D. J. Lehmann, Categories for fixpoint semantics, Theory of Computation Report No. 15, Dept. of Computer Science, University of Warwick (1976); see also Proc. 17th Annual Symp. on Foundation of Computer Science, IEEE (1976).

  23. D. J. Lehmann, Models in ALGOL Y, Proc. 5th Annual I.I.I. Conference, May 1977, Guidel, France, Publ, by I.R.I.A. (1977).

  24. D. J. Lehmann, On the algebra of order, see extended abstract in Proc. 19th Annual Symp. on F.O.C.S. IEEE, to appear.

  25. D. Lehmann and M. Smyth, Data types, Theory of Computation Report No. 19, University of Warwick (1977).

  26. S. MacLane, Categories for the working mathematician, Springer (1971).

  27. S. MacLane and G. Birkhoff, Algebra, Macmillan (1967).

  28. Z. Manna, Mathematical theory of computation, McGraw-Hill (1974).

  29. G. Markowsky, Categories of chain-complete posets, IBM Research Tech. Report RC5100, to appear in Theoretical Computer Science.

  30. J. Mesguer, On order-complete universal algebra and enriched functorial semantics, Lecture Notes in Computer Science 56, 294–301 (1977).

    Google Scholar 

  31. G. D. Plotkin, A powerdomain construction, SIAM J. Computing 5, No. 3, 452–487 (1976).

    Google Scholar 

  32. G. D. Plotkin and M. B. Smyth, The category theoretic solution of recursive domain equations, Proc 18th Annual Symp. on F.O.C.S. I.E.E.E. (1977).

  33. W. P. de Roever, Recursive program schemes: semantics and proof theory, Mathematical Centre Tract No. 70, Amsterdam (1976).

  34. D. S. Scott, The lattice of flow diagrams, in Semantics of Algorithmic Languages (E. Engeler, ed.), Springer Lecture Notes in Mathematics 188, 311–368 (1971).

    Google Scholar 

  35. D. S. Scott, Continuous lattices, in Toposes, Algebraic Geometry, and Logic (F. W. Lawvere, ed.), Springer Lecture Notes in Mathematics 274, 97–136 (1972).

    Google Scholar 

  36. D. S. Scott, Data types as lattices, SIAM J. Computing 5, No. 3, 522–587 (1976).

    Google Scholar 

  37. M. B. Smyth, Effectively given domains, Theor. Comp. Sci. 5, 257–274 (1977).

    Google Scholar 

  38. M. B. Smyth, Powerdomains, J. Comp. Syst. Sci. 16, 23–36 (1978).

    Google Scholar 

  39. J. Stoy, Denotational semantics, M.I.T. Press (1978).

  40. M. Wand, On the recursive specification of data types, Category Theory Applied to Computation and Control, Springer Lecture Notes in Computer Science Vol. 25 (1974).

  41. M. Wand, Fixed-point constructions in order-enriched categories, Technical Report No. 23, Comp. Science Department, Indiana University (1975).

  42. A. van Wijngaarden, B. J. Mailloux, J. E. L. Peck, C. H. A. Koster, M. Sintzoff, C. H. Lindsey, L. G. L. T. Meertens, and R. G. Fisker, Revised report on the Algorithmic Language ALGOL 68, Acta Informatica 5, 1–236 (1975).

    Google Scholar 

  43. J. McCarthy, A basis for a mathematical theory of computation, in Computer Programming and Formal Systems (P. Braffort and D. Hirschberg, eds.), North-Holland, Amsterdam (1963).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research was conducted at the University of Warwick while both authors were supported by the Science Research Council grant B/RG 31948 to D. Park and M. Paterson. During the final redaction of the paper the first author was partially supported by the National Science Foundation grant MCS78-07461.

EDITOR'S NOTE: This paper is one of several invited for submission to this journal to present different approaches to the subject of the semantics of programming languages.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lehmann, D.J., Smyth, M.B. Algebraic specification of data types: A synthetic approach. Math. Systems Theory 14, 97–139 (1981). https://doi.org/10.1007/BF01752392

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords

Navigation