Skip to main content

A system for reasoning within and about algebraic specifications

  • Conference paper
  • First Online:
International Symposium on Programming (Programming 1982)

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

Included in the following conference series:

Abstract

A machine-implemented system to support the reasoning about algebraic specifications is presented. The PAT-system is an attempt to ease design, analysis, and implementation of partial abstract data types. More precisely, the PAT-system

  • allows to write "axiomatic abstract types", i.e. parameterised hierarchical algebraic specifications, as well as "domain types", i.e. abstract types defined by domain equations,

  • introduces automatically the semantic conventions for the theory of partial abstract types including axioms for strictness (of partial functions) and for the validity of data type induction,

  • facilitates proofs of derived properties: PAT provides (semiautomatic) strategies for using derived rules of inference as well as for simplifying conditional equations. It allows to use a metalanguage — Edinburgh-ML /LCF 79/ — for generating and performing proofs interactively;

  • makes first attempts for analysing algebraic specifications by checking sufficient conditions for the existence of initial algebras (of hierachical specifications and/or parameterised specifications — for nonhierarchical and nonparameterised specifications initial algebras always exist) and for the existence of weakly terminal algebras,

  • supports development and proof of correctness of implementations; in particular it is possible to verify implementations of "axiomatic types" by "domain types".

The PAT-system is implemented in Edinburgh-ML being part of an interactive verification system, Edinburgh-LCF, which seems particularly appropriate to support proofs with algebraic specifications.

The system PAT tries to use as much as possible the facilities and properties of the underlying Edinburgh-LCF system. Only necessary changes — such as "smash" product instead of "cartesian" product — and extensions — such as the introduction of certain induction schemata — are made.

A short characterisation of LCF and a description of the PAT-system is given. The PAT-system is shortly compared with other systems manipulating algebraic specifications. Finally, as an example for the reasoning with and about algebraic specifications priority queues over linearly ordered data types are described as a parameterised abstract type, PQ.

This research was partially sponsored by the Sonderforschungsbereich 49, Programmiertechnik, Munich

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.A. Goguen, J.W. Thatcher, E.W. Wagner: An initial algebra approach to the specification, correctness and Implementation of abstract data types. In: Current Trends in Programming Methodology IV. Prentice Hall, 80–144, 1978

    Google Scholar 

  2. F.L. Bauer, M. Broy (eds.): Program Construction. LNCS 69

    Google Scholar 

  3. F.L. Bauer, H. Wössner: Algorithmic language and program development. Berlin: Springer 1981

    Google Scholar 

  4. M. Bergman, P. Deransart: Abstract data types and rewriting systems: application to the programming of algebraic abstract data types in Prolog. 6th CAAP, Genova, March 1981. LNCS 112

    Google Scholar 

  5. J.A. Bergstra, M. Broy, J.V. Tucker, M. Wirsing: On the power of algebraic specifications. 10th MFCS, 1981, LNCS 118

    Google Scholar 

  6. M. Broy, B. Möller, P. Pepper, M. Wirsing: A model-independent approach to implementations of abstract data types. In: A. Salwicki (ed.): Algorithmic logic and the programming language LOGLAN. August 80. To appear in LNCS

    Google Scholar 

  7. M. Broy, P. Pepper: Program development as a formal activity. IEEE Transactions of Software Engineering 7:1 (1981)

    Google Scholar 

  8. M. Broy, M. Wirsing: Partial abstract types. To appear in Acta Informatica. Preliminary version: TUM-I8018, 1980

    Google Scholar 

  9. M. Broy, M. Wirsing: Partial recursive functions and abstract data types. Bull. EATCS 11, June 1980

    Google Scholar 

  10. M. Broy, M. Wirsing: On the algebraic extensions of abstract data types. In J. Diaz, I. Ramos (eds.): Formalization of programming concepts. LNCS 107, 244–251

    Google Scholar 

  11. M. Broy, M. Wirsing: On the algebraic specification of nondeterministic programming languages. In: E. Astesiano, C. Böhm (eds.): 6th CAAP, Genova, 1981. LNCS 112, 162–179.

    Google Scholar 

  12. R.M. Burstall, J.A. Goguen: Putting theories together to make specifications. Proc. IJCAI, MIT, Cambridge, Mass. 1045–1058, 1977

    Google Scholar 

  13. R.M. Burstall, J.A. Goguen: The semantics of CLEAR: a specification language. Proc. Copenhagen Winter School on Abstract Software Specifications, 1980

    Google Scholar 

  14. Report on a wide spectrum language for program specification and development. TUM-I8104, May 1981

    Google Scholar 

  15. A. Cohn: Abstract types in LCF. Unpublished manuscript

    Google Scholar 

  16. W. Dosch, M. Wirsing, G. Ausiello, G.T. Mascari: Polynomials — the specification, analysis and development of an abstract data type. 10. GI-Jahrestagung, Saarbrükken, Oktober 1980, Informatik-Fachberichte 33, 306–320 (1980)

    Google Scholar 

  17. H.P. Ehrig: On realization and implementation. 10th MFCS. LNCS 118

    Google Scholar 

  18. H. Ehrig, H.J. Kreowski, J.W. Thatcher, E.G. Wagner, J.B. Wright: Parameterized data types in algebraic specification languages. 7th ICALP, LNCS 85, 157–168, 1980

    Google Scholar 

  19. S.L. Gerhart, D.R. Musser, D.H. Thompson, D.A. Baker, R.L. Bates, R.W. Erickson, R.L. London, D.G. Taylor, D.S. Wile: An overview of AFFIRM: A specification and and verification system. IFIP 80

    Google Scholar 

  20. J.A. Goguen, J. Tardo: An introduction to reliable software. In: Specification of relaible software, IEEE 1979

    Google Scholar 

  21. J.A. Goguen, R.M. Burstall: CAT, a system for the structured elaboration of correct programs from structured specifications. SRI, Techn. Rep. CSL-118, Oct. 1980

    Google Scholar 

  22. J.V. Guttag: The specification and application to programming of abstract data types. Ph. D. thesis, Univ. of Toronto, 1975

    Google Scholar 

  23. M. Gordon, R. Milner, C. Wadsworth: Edinburgh LCF, LNCS 78 (1979)

    Google Scholar 

  24. J. Leszczylowski: An experiment with Edinburgh LCF. 5th Conf. on Automated Deduction, France, 1980

    Google Scholar 

  25. J. Leszczylowski: The MATE-system. In preparation

    Google Scholar 

  26. B. Liskov, S. Zilles: Programming with abstract data types. Proc. ACM Sigplan Conference on Very High Level Languages, Sigplan Notices 9:4, 55–59, 1974

    Google Scholar 

  27. J. Loeckx: Proving properties of algorithmic specifications of abstract data types in AFFIRM. ISI, AFFIRM Memo, July 1980

    Google Scholar 

  28. P. Mosses: A semantic algebra for binding constructs. Proc. Formalization of Programming Concepts, LNCS 107, 408–419, 1981

    Google Scholar 

  29. R. Nakajima, T. Yusa, K. Kojima: the IOTA programming system — a support system for hierarchical and modular programming. IFIP 80

    Google Scholar 

  30. H. Reichel: Theorie der Aequoide. Dissertation B. Humboldt Universität Berlin, 1979

    Google Scholar 

  31. D. Sannella: Proving theorems in CLEAR theories. In preparation

    Google Scholar 

  32. D. Sannella, M. Wirsing: Implementations of parameterised algebraic specifications. 9th ICALP, Aarhus (1982). To appear.

    Google Scholar 

  33. U. Bartels, W. Althoff, P. Raulefs: APE: An expert system for automatic programming from abstract specifications of data types and algorithms. Universität Bonn, Institut für Informatik III, Memo SEKI-BN-81-01 (1981)

    Google Scholar 

  34. M. Wand: Final algebra semantics and data type extensions. Indiana University TR65, 1978

    Google Scholar 

  35. M. Wirsing, P. Pepper, H. Partsch, W. Dosch, M. Broy: On hierarchies of abstract data types. Institut für Informatik, TU München, TUM-I8007, 1980

    Google Scholar 

  36. M. Wirsing, M. Broy: An analysis of semantic models for algebraic specifications. Int. Summer School on Theoretical Foundations of Programming Methodology, August 1981

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mariangiola Dezani-Ciancaglini Ugo Montanari

Rights and permissions

Reprints and permissions

Copyright information

© 1982 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leszczylowski, J., Wirsing, M. (1982). A system for reasoning within and about algebraic specifications. In: Dezani-Ciancaglini, M., Montanari, U. (eds) International Symposium on Programming. Programming 1982. Lecture Notes in Computer Science, vol 137. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11494-7_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-11494-7_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-39184-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics