Skip to main content

Typing abstract data types

  • Contributed Papers
  • Conference paper
  • First Online:

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

Abstract

The purpose of this paper is threefold. First, we describe some basic ideas of constructive type theory, with emphasis on their value for specification. Second, we demonstrate the use of type theory as a specification language. This is done by means of a detailed example, namely, the specification of an abstract data type (ADT) for multisets. (This example is a refinement of the multiset example in [3].) Finally, we describe how a theorem proving environment built on type theory can be used to aid in implementation of the ADT.

This research was supported by EPSRC grant GR/H73103.

Thanks to Don Sannella for helpful comments, and Bill Aitken and Bob Constable for previous collaboration.

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. W. Aitken. Metaprogramming in Nuprl Using Reflection. PhD thesis, Computer Science Department, Cornell University, Ithaca, NY, 1994.

    Google Scholar 

  2. William Aitken, Robert Constable, and Judith Underwood. Metalogical frameworks II: Using reflected decision procedures. unpublished manuscript.

    Google Scholar 

  3. D. Basin and R. Constable. Metalogical frameworks. In G. Huet and G. Plotkin, editors, Logical Environments, chapter 1, pages 1–29. Cambridge University Press, Great Britain, 1993.

    Google Scholar 

  4. R. L. Constable et al. Implementing Mathematics with the Nuprl Development System. Prentice-Hall, NJ, 1986.

    Google Scholar 

  5. R. L. Constable and D. J. Howe. Implementing metamathematics as an approach to automatic theorem proving. In R.B. Banerji, editor, Formal Techniques in Artificial Intelligence: A Source Book, pages 45–76. Elsevier Science Publishers (North-Holland), 1990.

    Google Scholar 

  6. T. Coquand and G. Huet. The Calculus of Constructions. Information and Computation, 76:95–120, 1988.

    Article  Google Scholar 

  7. V. Giarratana, F. Gimona, and U. Montanari. Observability concepts in abstract data type specification. In Proc. 1976 Symposium on Mathematical Foundations of Computer Science, pages 567–578. Springer LNCS 45, 1976.

    Google Scholar 

  8. J. Goguen and J. Meseguer. Universal realization, persistent interconnection and implementation of abstract modules. In Proc. 9th Intl. Colloquium on Automata, Languages, and Programming, pages 265–281. Springer LNCS 140, 1982.

    Google Scholar 

  9. M. Gordon. HOL: A machine oriented formalization of higher order logic. Technical Report 68, Cambridge University, 1985.

    Google Scholar 

  10. Christian Horn. The nurprl proof development system. Technical report, University of Edinburgh, 1988. The Edinburgh version of Nurprl has been renamed Oyster.

    Google Scholar 

  11. Z. Luo. ECC: An extended calculus of constructions. In Proceedings of the Fourth Annual Symposium on Logic in Computer Science. IEEE, 1989.

    Google Scholar 

  12. Z. Luo. Program specification and data refinement in type theory. In Proceedings of the Fourth International Joint Conference on the Theory and Practice of Software Development (TAPSOFT), 1991.

    Google Scholar 

  13. Zhaohui Luo. Computation and Reasoning: A Type Theory for Computer Science. Oxford University Press, 1994.

    Google Scholar 

  14. P. Martin-Löf. Constructive mathematics and computer programming. In Sixth International Congress for Logic, Methodology, and Philosophy of Science, pages 153–75. North-Holland, Amsterdam, 1982.

    Google Scholar 

  15. Bengt Nordström. The ALF proof editor. In TYPES'93: Proceedings of the Fourth Annual Workshop of the EU Esprit Basic Research Action “Types for Proofs and Programs”, number 806 in Lecture Notes in Computer Science. Springer-Verlag, 1993.

    Google Scholar 

  16. S. Owre, J.M. Rushby, and N. Shankar. PVS: An integrated approach to specification and verification. Preprint, January, 1992.

    Google Scholar 

  17. L.C. Paulson. A formulation of the simple theory of types (for Isabelle). In P. Martin-Löf and G. Mints, editors, Proc. of the Int. Conference on Computer Logic, Lecture Notes in Computer Science, Vol. 417, pages 246–274. Springer-Verlag, New York, December, 1988.

    Google Scholar 

  18. R. Pollack. The Theory of Lego. PhD thesis, University of Edinburgh, 1994. Forthcoming as a technical report.

    Google Scholar 

  19. D. Sannella and A. Tarlecki. On observational equivalence and algebraic specification. Journal of Computer and System Sciences, 34:150–178, 1987.

    Article  Google Scholar 

  20. D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: model theoretic foundations. In Proc. 19th Intl. Colloquium on Automata, Languages, and Programming, pages 656–671. Springer LNCS 623, 1992.

    Google Scholar 

  21. Donald Sannella, Stefan Sokolowski, and Andrzej Tarlecki. Toward formal development of programs from algebraic specifications: parameterisation revisited. Acta Informatica, 29:689–739, 1992.

    Article  Google Scholar 

  22. D.T. van Daalen. The Language Theory of AUTOMATH. PhD thesis, Technical University of Eindhoven, Eindhoven, Netherlands, 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Egidio Astesiano Gianna Reggio Andrzej Tarlecki

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Underwood, J. (1995). Typing abstract data types. In: Astesiano, E., Reggio, G., Tarlecki, A. (eds) Recent Trends in Data Type Specification. ADT COMPASS 1994 1994. Lecture Notes in Computer Science, vol 906. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014443

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59132-0

  • Online ISBN: 978-3-540-49198-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics