Summary
A specification method for abstract data types based on manysorted second order logic is presented. In our approach the specification is composed of two parts: the first part specifies a set of objects and a set of fundamental operations; the other part specifies an arbitrary number of augmenting operations. The fundamental operations are called constructors. On the basis of constructors the axioms can be put into schematic forms and the resulting theory is categorical.
Similar content being viewed by others
References
Andrews, P.B.: An introduction to mathematical logic and type theory: to truth through proof. New York: Academic Press 1985
Andrews, P.B., Miller, D.A., Cohen, E.L., Pfenning, F.: Automating higher-order logic. In: Automated theorem proving: after 25 years (W.W. Bledsoe and D.W. Loveland, eds.), pp. 169–192. American Mathematical Society 1984
Bertoni, A., Mauri, G., Miglioli, P.A.: A characterization of abstract data as model-theoretic invariants. In: Automata, languages and programming, pp. 26–37. Lect. Notes Comput. Sci. Vol. 71. Berlin, Heidelberg, New York: Springer 1979
Birkhoff, G., Lipson, J. D.: Heterogeneous algebras. J. Combinatorial Theory 8, 115–133 (1970)
Broy, M., Dosch, W., Partsch, H., Pepper, P., Wirsing, M.: Existential quantifiers in abstract data types. In: Automata, languages and programming, pp. 73–87. Lect. Notes Comput. Sci. Vol. 71. Berlin, Heidelberg, New York: Springer 1979
Church, A.: Introduction to mathematical logic, Vol. 1. Princeton, NJ: Princeton University Press 1956
Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types. In: Current trends in programming methodology, Vol. 4 (R.T. Yeh, ed.), pp. 80–149. Englewood Cliffs, NJ: Prentice-Hall 1978
Guttag, J.V.: Abstract data types and the development of data structures. Commun. ACM 20, 396–404 (1977)
Guttag, J.V., Horning, J.J.: The algebraic specification of abstract data types. Acta Inf. 10, 27–52 (1978)
Hilbert, D., Bernays, P.: Grundlagen der Mathematik, Vol. 1, Vol. 2. Berlin: Springer 1934, 1939
Kamin, S.: Final data type specifications: a new data type specification method. 7th ACM Symp. on principles of programming languages, pp. 131–138, 1980
Klaeren, H.A.: A constructive method for abstract algebraic software specification. Theor. Comput. Sci. 30, 139–204 (1984)
Liskov, B., Zilles, S.N.: Programming with abstract data types. SIGPLAN Notices 9: 4, 50–60 (1974)
Majster, M.E.: Data types, abstract data types and their specification problem. Theor. Comput. Sci. 8, 89–127 (1979)
Morris, J.H.: Types are not sets. ACM Symp. on principles of programming languages, pp. 120–124, 1973
Nourani, F.: A model-theoretic approach to specification, extension and implementation. 4th international symposium on programming, Paris, pp. 282–297, 1980
Rogers, R.: Mathematical logic and formalized theories. Amsterdam: North-Holland 1971
Thatcher, J.W., Wagner, E.G., Wright, J.B.: Data type specification: parameterization and the power of specification techniques. 10th ACM Symp. on theory of computing, pp. 119–132, 1978
Wand, W.: Final algebra semantics and data extension. J. Comput. Syst. Sci. 19, 27–44 (1979)
Wasserman, H.C.: A second order axiomatic theory of strings. Notre Dame J. Formal Logic 19, 629–633 (1978)
Wirsing, M., Broy, M.: Abstract data types as lattices of finitely generated models. MFCS, pp. 673–685. Lect. Notes Comput. Sci. Vol. 88. Berlin, Heidelberg, New York: Springer 1980
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Ming-Hua, Z. A second order theory of data types. Acta Informatica 25, 283–303 (1988). https://doi.org/10.1007/BF00283330
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00283330