Skip to main content

Powerdomains and nondeterministic recursive definitions

  • Conference paper
  • First Online:

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

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.

Unable to display preview. Download preview PDF.

References

  1. Astesiano, E., Costa, G., Sharing in Nondeterminism, 6th Int. Coll. on Algorithms, Languages and Programming, LNCS, 71, 1979.

    Google Scholar 

  2. Berry, G. and Curien, P.L., Sequential Algorithms on Concrete Data Types, November 1979.

    Google Scholar 

  3. Boudol, G., Semantique Operationelle et Algebrique des Programmes Recursifs Non-deterministes, These de Doctorat D'etat, Universite de Paris VII, 1980.

    Google Scholar 

  4. Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, 1976.

    Google Scholar 

  5. Floyd, R.W., Nondeterministic Algorithms, JACM, 14, pp. 636–644, 1967.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Hennessy, M.C.B. and Plotkin, G., Full Abstraction for a Simple Programming Language, LNCS, 74, 1979.

    Google Scholar 

  8. Nivat, M., Nondeterministic Programs: An Algebraic Overview. In: S.H. Lavington (ed.) Proc. of IFIP Congress 1980, North Holland, 1980.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Päppinghaus, P. and Wirsing, M., Nondeterministic Partial Logic: Isotonic and Guarded Truth-Functions, University of Edinburgh, 1980.

    Google Scholar 

  11. Plotkin, G., A Powerdomain Construction, SIAM J. on Computing, 5, pp. 452–486, 1976.

    Google Scholar 

  12. Plotkin, G., Dijkstra's Predicate Transformers and Smyth's Power Domains In: LNCS, 86, pp. 527–553, 1979.

    Google Scholar 

  13. Plotkin, G., LCF considered as a programming language, Theoretical Computer Science, Vol. 5, pp. 223–255, 1977.

    Google Scholar 

  14. Smyth, M.B., Powerdomains, JCSS, Vol. 16, pp. 23–26, 1978.

    Google Scholar 

  15. Trakhtenbrot, M., Relationships between classes of Monotonic Functions, Theoretical Computer Science, Vol. 2, pp. 225–247, 1976.

    Google Scholar 

  16. Vuillemin, J., Correct and Optimal Implementation of Recursion in a Simple Programming Language, JCSS, Vol. 9, No. 3, pp. 332–354, June 1974.

    Google Scholar 

  17. Winskel, G., Events in Computation, Ph.D. thesis. University of Edinburgh, 1980.

    Google Scholar 

  18. Astesiano, E., Costa, G., Nondeterminism and Fully Abstract Models, 1979.

    Google Scholar 

  19. Scott, D., Outline of a Mathematical Theory of Computation, Oxford Monograph PRG-2, Oxford University Press, 1970.

    Google Scholar 

  20. Naur, P., (ed.) Revised Report on the Algorithmic Language ALGOL 60, CACM, Vol. 6, 1963.

    Google Scholar 

  21. Stoy, J., Denotational Semantics: The Scot-Strachey Approahc to Programing Language Theory, MIT Press, 1977.

    Google Scholar 

  22. Gordon, M., The Denotational Description of Programming Languages, Springer-Verlag, 1979.

    Google Scholar 

  23. Courcelle, B., and Nivat, M., Algebraic families of interpretations. IRIA Rapport de Recherche 189, 1976.

    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

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

Publish with us

Policies and ethics