Abstract
We provide four semantics for a small programming language involving unbounded (but countable) nondeterminism. These comprise an operational one, two denotational ones based on the Egli-Milner and Smyth orders, respectively, and a weakest precondition semantics. Their equivalence is proved. We also introduce a Hoare-like proof system for total correctness and show its soundness and completeness in an appropriate sense. Admission of countable nondeterminism results in a lack of continuity of various semantic functions; moreover some of the partial orders considered are in general not cpo's and in proofs of total correctness one has to resort to the use of (countable) ordinals. Proofs will appear in the full version of the paper.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Apt, K.R., Ten Years of Hoare's Logic, A Survey, Part I Fac. of Economics, Univ. of Rotterdam, Technical Report (to appear in TOPLAS), 1979
Apt, K.R. and Olderog, E.R., Proof Rules Dealing With Fairness Bericht Nr. uu, Inst. Inf. Prakt. Math., Univ. of Kiel (1981)
Back, R.J., Proving Total Correctness of Non-Deterministic Programs in Infinitary Logic, Computing Centre, Univ. of Helsinki, Research Report No. 9 (to appear in Acta Informatica), 1979
Back, R.J., Semantics of Unbounded Non-Determinism, in: Proc. 7th Colloquium Automata, Languages and Programming, Lecture Notes in Computer Science 85, Springer-Verlag, pp. 51–63, 1980
Boom, H.J., A Weaker Precondition for Loops Mathematisch Centrum Report IW 104/78, 1978
Broy, M., Gratz, R. and Wirsing, M., Semantics of Non-Deterministic and Non-Continuous Constructs in Bauer, F.L. and Broy, M. (eds.) Program Construction, International Summer School Markloberdorf, July 1978 Lecture Notes in Computer Science 69, Springer-Verlag, pp. 553–591, 1979
Chandra, A., Computable Non-Deterministic Functions, in: Proc 19th Annual Symposium on Foundations of Computer Science, pp. 127–131, 1978
Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, 1976
Emerson, E.A. and Clarke, E.M., Characterizing Correctness Properties of Parallel Programs Using Fixpoints, in: Proc 7th Colloquium Automata, Languages and Programming, Lecture Notes in Computer Science 85, Springer-Verlag, pp. 169–181, 1980
Floyd, R.W., Assigning Meanings to Programs, in: Proc. AMS Symposium in Applied Mathematics 19, pp. 19–31, 1967
Harel, D., First-Order Dynamic Logic, Lecture Notes in Computer Science 68, Springer-Verlag, 1979
Hitchcock, P., Park, D., Induction Rules and Termination Proofs, in: Automata, Languages and Programming (ed. M. Nivat) North Holland, 1973
Manna, Z. and Pnueli, A., Axiomatic Approach to Total Correctness of Programs, Acta Informatica 3, pp. 253–262, 1974
Park, D., On The Semantic of Fair Parallelism, in: Proc. Winter School on Formal Software Specification, Lecture Notes in Computer Science 86, Springer-Verlag, pp. 504–526, 1980
Plotkin, G.D., A Powerdomain Construction, SIAM Journal on Computation Vol. 5, No. 3, pp. 452–487, 1976
Plotkin, G.D., Dijkstra's Predicate Transformer and Smyth's Powerdomain in: Proc. Winter School on Formal Software Specification, Lecture Notes in Computer Science 86, Springer-Verlag, pp. 527–553, 1980
Smyth, M., Powerdomains, JCSS, Vol. 16, No. 1, 1978
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1981 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Apt, K.R., Plotkin, G.D. (1981). A cook's tour of countable nondeterminism. In: Even, S., Kariv, O. (eds) Automata, Languages and Programming. ICALP 1981. Lecture Notes in Computer Science, vol 115. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-10843-2_38
Download citation
DOI: https://doi.org/10.1007/3-540-10843-2_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-10843-6
Online ISBN: 978-3-540-38745-9
eBook Packages: Springer Book Archive