Abstract
A nondeterministic Language for recursive definitions, L, is defined. It includes simple functions for manipulating data values, in this case the natural numbers, a choice operator OR and recursive procedures. Various kinds of parameter-passing mechanisms are allowed: the well-known call-by-value, run-time choice which models the Algo160 substitution rule and call-time choice in which no nondeterminism is allowed in the actual parameters once the procedure has been called.
An operational semantics is defined for this language in the form of a next state relation. Using this relation three different operational preorders are defined between programs. The difference in these orders reflect different views of divergent computations.
On the other hand we define three different mathematical models, in the sense of Scott-Theory and show that they are fully-abstract; that is programs are identified in the model if and only if they are identified by the corresponding operational preorder. The three different models are defined using three different powerdomains and these are shown to arise naturally by considering different properties of the semantic counter-part of the operator OR.
Finally we discuss the suitability of L for defining elements of the various domains. An element of a domain is computable if it is the least upper bound of a recursively enumerable set of finite elements. We show that for certain domains all computable elements are definable in L and point to difficulties in extending L so as to define all such elements in the remaining domains.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Astesiano, E., Costa, G., Sharing in Nondeterminism, 6th Int. Coll. on Algorithms, Languages and Programming, LNCS, 71, 1979.
Berry, G. and Curien, P.L., Sequential Algorithms on Concrete Data Types, November 1979.
Boudol, G., Semantique Operationelle et Algebrique des Programmes Recursifs Non-deterministes, These de Doctorat D'etat, Universite de Paris VII, 1980.
Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, 1976.
Floyd, R.W., Nondeterministic Algorithms, JACM, 14, pp. 636–644, 1967.
Hennessy, M.C.B., The Semantics of Call-by-Value and Call-by-Name in a a Nondeterministic Environment, SIAM J. Computing, Vol. 9, No. 1, 1980.
Hennessy, M.C.B. and Plotkin, G., Full Abstraction for a Simple Programming Language, LNCS, 74, 1979.
Nivat, M., Nondeterministic Programs: An Algebraic Overview. In: S.H. Lavington (ed.) Proc. of IFIP Congress 1980, North Holland, 1980.
McCarthy, J., A Basis for a Theory of Computation. In: B. Braffort and D. Hirschberg (eds.) Computer Programming and Formal Systems, North Holland, p. 33–70, 1963.
Päppinghaus, P. and Wirsing, M., Nondeterministic Partial Logic: Isotonic and Guarded Truth-Functions, University of Edinburgh, 1980.
Plotkin, G., A Powerdomain Construction, SIAM J. on Computing, 5, pp. 452–486, 1976.
Plotkin, G., Dijkstra's Predicate Transformers and Smyth's Power Domains In: LNCS, 86, pp. 527–553, 1979.
Plotkin, G., LCF considered as a programming language, Theoretical Computer Science, Vol. 5, pp. 223–255, 1977.
Smyth, M.B., Powerdomains, JCSS, Vol. 16, pp. 23–26, 1978.
Trakhtenbrot, M., Relationships between classes of Monotonic Functions, Theoretical Computer Science, Vol. 2, pp. 225–247, 1976.
Vuillemin, J., Correct and Optimal Implementation of Recursion in a Simple Programming Language, JCSS, Vol. 9, No. 3, pp. 332–354, June 1974.
Winskel, G., Events in Computation, Ph.D. thesis. University of Edinburgh, 1980.
Astesiano, E., Costa, G., Nondeterminism and Fully Abstract Models, 1979.
Scott, D., Outline of a Mathematical Theory of Computation, Oxford Monograph PRG-2, Oxford University Press, 1970.
Naur, P., (ed.) Revised Report on the Algorithmic Language ALGOL 60, CACM, Vol. 6, 1963.
Stoy, J., Denotational Semantics: The Scot-Strachey Approahc to Programing Language Theory, MIT Press, 1977.
Gordon, M., The Denotational Description of Programming Languages, Springer-Verlag, 1979.
Courcelle, B., and Nivat, M., Algebraic families of interpretations. IRIA Rapport de Recherche 189, 1976.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1982 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hennessy, M.C.B. (1982). Powerdomains and nondeterministic recursive definitions. 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_13
Download citation
DOI: https://doi.org/10.1007/3-540-11494-7_13
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