Abstract
This paper explores the relationship between equational algebraic specifications (using initial algebra semantics) and specifications based on simple inductive types (least fixed points of equations using just products and coproducts, e.g. N≅1+N). The main result is a proof that computable data type (one in which the corresponding algebra is computable in the sense of Mal’cev) can be specified inductively. This extends an earlier result of Bergstra and Tucker showing that any computable data type can be specified equationally.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bergstra, J.A., Tucker, J.V.: Algebraic specifications of computable and semicomputable data structures. TCS 50, 137–181 (1987)
Bergstra, J.A., Tucker, J.V.: Algebraic Specifications of Computable and Semicomputable data structures. Technical Report 115, Mathematical Centre, Department of Computer Science, Amsterdam (1979)
Cockett, J.R.B., Chen, H.G., Smith, L.R.: Preliminary User Manual for CHARITY. Technical Report CS-89-82, University of Tennessee (1989)
Davis, M.: Computability and Unsolvability. McGraw-Hill, New York (1958)
Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types. In: Yeh, R.T. (ed.) Current Trends in Programming Methodology, IV, Data Structuring, pp. 80–149. Prentice-Hall, Englewood Cliffs (1978)
Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Abstract data types as initial algebras and the correctness of data representations. In: Proc. Conference on Computer Graphics, Pattern Recognition and Data Structures (1975)
Guttag, J.V.: Abstract data types and the development of data structures. Communications of the ACM 20(6), 396–404 (1977)
Guttag, K.V., Horning, J.J.: The algebraic specification of data types. Acta Mathematica 10, 27–52 (1978)
Hagino, T.: A categorical programming language. PhD thesis, University of Edinburgh (1988)
Kleene, S.C.: Introduction to Metamathematics. D. Van Nostrand, New York (1952)
Lehmann, D.J., Smyth, M.B.: Algebraic specification of data types: a synthetic approach. Mathematical Systems Theory 14, 97–139 (1981)
Lehmann, D.J., Smyth, M.B.: Data types. In: 18th Annual Symposium on Foundations of Computer Science, Providence, RI, pp. 7–12. IEEE, New York (1977)
Mal’cev, A.I.: Constructive algebra. i. Russian Mathematical Surveys 16, 77–129 (1961)
Wagner, E.G.: All recursive types defined using products and sums can be implemented using pointers. In: Bergman, C.H., Pigozzi, D.L., Maddux, R.D. (eds.) Algebraic Logic and Universal Algebra in Computer Science. LNCS, vol. 425, pp. 111–132. Springer, Heidelberg (1990)
Wagner, E.G.: Categorical semantics, or extending data types to include memory. In: Kreowski, H.-J. (ed.) Recent Trends in Data Type Specification: 3rd Workshop on Theory and Applications of Abstract Data Types Selected Papers. Informatik-Fachberichte, vol. 116, pp. 1–21. Springer, Heidelberg (1984)
Wagner, E.G.: Generic types in a language for data directed design. In: Orejas, F., Ehrig, H., Jantke, K.P., Reichel, H. (eds.) Abstract Data Types 1990. LNCS, vol. 534, pp. 341–361. Springer, Heidelberg (1991)
Walters, R.F.C.: An imperative language based on distributive categories. Research Report 89–26, Department of Pure Mathematics, The University of Sydney (December 1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Wagner, E.G. (2005). Relationships Between Equational and Inductive Data Types. In: Kreowski, HJ., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds) Formal Methods in Software and Systems Modeling. Lecture Notes in Computer Science, vol 3393. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31847-7_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-31847-7_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24936-8
Online ISBN: 978-3-540-31847-7
eBook Packages: Computer ScienceComputer Science (R0)
