Summary
The concept of algebraic types is adapted to allow axiomatic characterizations of ordered and continuous algebras; infinite objects are then limit points in the carriers of certain continuous algebras. We mainly study implicative types, i.e., types the axioms of which are conditional inequations describing partial orders. The isomorphism classes of termgenerated ordered models of an implicative type are shown to form a complete lattice under the homomorphism ordering; this includes the wellknown initiality results for equational and conditional types as special cases. For types whose axioms specify strictness of the operations, the initial models are shown to correspond to flat domains.
As a special kind of continuous algebras we consider inductively generated algebras, viz. the ideal completions of term-generated ordered algebras. For an inequational type, i.e., an implicative type where all axiom premises are empty, the completion of models always yields models again, whereas for implicative types this holds only in restricted cases. One such case is provided by hierarchic types which are complete and consistent relative to their primitive parts, and which satisfy certain conditions about limit points.
Examples of algebras that can be specified by such types include those of finite and infinite streams, of sets of atoms under the Egli-Milner ordering, Milner's synchronisation trees, and that of a simple functional language over the natural numbers.
Similar content being viewed by others
References
Backus, J.: Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Commun. ACM 21, 613–641 (1978)
Bauer, F.L.: Algorithmische Sprachen. Vorlesungsskriptum, Kap. 1–3. Institut für Informatik der TU München, July 1977
Bauer, F.L.: Detailization and lazy evaluation, infinite objects and pointer representation. In: Program construction (F.L. Bauer, M. Broy, eds.), pp. 406–420. Lect. Notes Comput. Sci., vol. 69. Berlin: Springer 1979
Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Berlin: Springer 1982
Bauer, F.L., Berghammer, R., Broy, M., Dosch, W., Geiselbrechtinger, F., Gnatz, R., Hangel, E., Hesse, W., Krieg-Brückner, B., Laut, A., Matzner, T., Möller, B., Nickl, F., Partsch, H., Pepper, P., Samelson, K., Wirsing, M.: The Munich project CIP, vol. I: The wide spectrum language CIP-L. Lect. Notes Comput. Sci., vol. 183. Berlin: Springer 1985
Birkhoff, G.: Lattice theory (3rd edition). Am. Math. Soc. Coll. Publ., vol. XXV. Providence, R.I.: AMS 1967
Birkhoff, G., Lipson, J.D.: Heterogeneous algebras. J. Comb. Theory 8, 115–133 (1970)
Bleicher, M.N., Schneider, H.: Completions of partially ordered sets and universal algebras. Acta Math. Acad. Sci. Hung. Tomus 17 (3–4), 271–301 (1966)
Broy, M.: On the Herbrand Kleene universe for nondeterministic computations. In: Mathematical Foundations of Computer Science 1984 (M.P. Chytil, V. Koubek, eds.), pp. 214–222. Lect. Notes Comput. Sci., vol. 176. Berlin: Springer 1984
Broy, M., Wirsing, M.: Initial versus terminal algebra semantics for partially defined abstract types. Institut für Informatik der TU München, TUM-I8018, 1980
Courcelle, B., Nivat, M.: Algebraic families of interpretations. Proc. 17th Annual IEEE Symposium on Foundations of Computer Science, Houston, Tex., 137–146 (Oct. 25–27, 1976)
Delgado Kloos, C., Dosch, W., Möller, B.: An algebra of agents. Proc. VI Congreso de Informática y Automática, Madrid, 15–18 October (To appear). Extended version: Delgado Kloos, C., Dosch, W., Möller, B.: Algebraic specification of a Language for describing communicating agents. Institut für Informatik der TU München, TUM-I8510, 1985
Dosch, W., Möller, B.: An algebraic semantics for Backus' functional programming language with infinite objects. In: GI-13. Jahrestagung (I. Kupka, ed.), pp. 67–85. Informatik-Fachberichte, vol. 73. Berlin: Springer 1983
Dosch, W., Möller, B.: Lazy and busy FP with infinite objects. Proc. 1984 ACM Symposium on LISP and Functional Programming, Austin, Tex., pp. 282–292 (August 6–8, 1984)
Ehrich, H.-D., Lipeck, U.: Algebraic domain equations. Theor. Comput. Sci. 27, 167–196 (1983)
Friedman, D.P., Wise, D.S.: CONS should not evaluate its arguments. In: Automata, languages and programming (S. Michaelson, R. Milner, eds.), pp. 257–285. Edinburgh: Edinburgh University Press 1976
Goguen, J.A.: Abstract errors for abstract data types. In: Formal description of programming concepts (E.J. Neuhold, ed.), pp. 491–525. Amsterdam: North-Holland 1978
Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Initial algebra semantics and continuous algebras. J. ACM 24, 68–95 (1977)
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. 3: Data structuring (R.T. Yeh, ed.), pp. 80–149. Englewood Cliffs, N.J.: Prentice Hall 1978
Guttag, J.V.: The specification and application to programming of abstract data types. PH.D. Thesis, University of Toronto, Department of Computer Science, Rep. CSRG-59, 1975
Henderson, P., Morris, J.H.: A lazy evaluator. Proc. 3rd ACM Symposium on Principles of Programming Languages, pp. 95–103 (1976)
Hennessy, M., Milner, R.: Algebraic laws for nondeterminism and concurrency. University of Edinburgh, Department of Computer Science, Internal Report CSR-133–83, June 1983
Laut, A.: Von abstrakter Syntax zu verketteten Bäumen — Entwicklung einer Rechenstruktur für die Programm-Manipulation. Institut für Informatik der TU München, TUM-I8114, 1981
Laut, A.: Developing algebraic specifications of threaded data structure implementations. In: Werkzeuge der Programmiertechnik (G. Goos, ed.), pp. 28–40. Informatik-Fachberichte, vol. 43. Berlin: Springer 1981
Levy, M.R.: Data types with sharing and circularity. Ph.D. Thesis, University of Waterloo, Department of Computer Science 1978
Levy, M.R., Maibaum, T.S.E.: Continuous data types. SIAM J. Comput. 11, 201–216 (1982)
Markowsky, G., Rosen, B.: Bases for chain-complete posets. Proc. 16th Annual Symposium on Foundations of Computer Science, Berkeley, pp. 34–47 (Oct. 13–15, 1975)
McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, Part I. Commun. ACM 3, 184–195 (1960)
Milner, R.: A calculus of communicating systems. Lect. Notes Comput. Sci., vol. 92. Berlin: Springer 1980
Möller, B.: Unendliche Objekte und Geflechte. Fakultät für Mathematik und Informatik der TU München, Dissertation, TUM-I8213, 1982
Möller, B.: An algebraic semantics for busy (data-driven) and lazy (demand-driven) evaluation and its application to a functional language. In: Automata, languages and programming (J. Diaz, ed.), pp. 513–526. Lect. Notes Comput. Sci., vol. 154. Berlin: Springer 1983
Möller, B., Dosch, W.: On the algebraic specification of domains. In: Proc. 3rd Workshop on Theory and Application of Abstract Data Types (H.-J. Kreowski, ed.). Informatik-Fachberichte. Berlin, Heidelberg, New York: Springer (To appear)
Nivat, M.: On the interpretation of recursive polyadic program schemes. Istituto Nazionale di Alta Matematica, Symposia Matematica XV, pp. 255–281. London: Academic Press 1975
Nivat, M.: Nondeterministic programs: An algebraic overview. In: Information Processing 80 (S.H. Lavington, ed.), pp. 17–28. Amsterdam: North-Holland 1980
Pinegger, T.: Verzögerte Auswertung von Algorithmen über unendlichen Mengen. Institut für Informatik der TU München, Diplomarbeit 1982
Plotkin, G.D.: A powerdomain construction. SIAM J. Comput. 5, 452–487 (1976)
Scott, D.S.: Outline of a mathematical theory of computation. Proc. 4th Annual Princeton Conference on Information Sciences and Systems, pp. 169–176 (1970); Technical Monograph PRG-2, Oxford University, Computing Laboratory, Programming Research Group 1970
Scott, D.S.: The lattice of flow diagrams. In: Symposium on the semantics of programming languages (E. Engeler, ed.), pp. 311–372. Lect. Notes Math., vol. 188. Berlin: Springer 1971
Tarlecki, A., Wirsing, M.: Continuous abstract data types — Basic machinery and results. Universität Passau, Fakultät für Informatik, January 1985
Thatcher, J.W., Wagner, E.G., Wright, J.B.: Specification of abstract data types using conditional axioms. IBM Research Report RC6814, 1976
Vuillemin, J.: Correct and optimal implementations of recursion in a simple programming language. J. Comput. Syst. Sci. 9, 332–354 (1974)
Wand, M.: Final algebra semantics and data type extensions. J. Comput. Syst. Sci. 19, 27–44 (1979)
Wirsing, M., Pepper, P., Partsch, H., Dosch, W., Broy, M.: On hierarchies of abstract data types. Acta Inf. 20, 1–33 (1983)
Wright, J.B., Wagner, E.G., Thatcher, J.W.: A uniform approach to inductive posets and inductive closure. Theor. Comput. Sci. 7, 57–77 (1978)
Author information
Authors and Affiliations
Additional information
This research was carried out within the Sonderforschungsbereich 49 “Programmiertechnik”, Munich, Federal Republic of Germany
Rights and permissions
About this article
Cite this article
Möller, B. On the algebraic specification of infinite objects — ordered and continuous models of algebraic types. Acta Informatica 22, 537–578 (1985). https://doi.org/10.1007/BF00267044
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00267044