Abstract
Four semantics for a small programming language involving unbounded (but countable) nondeterminism are provided. These comprise an operational semantics, two state transformation semantics based on the Egli-Milner and Smyth orders, respectively, and a weakest precondition semantics. Their equivalence is proved. A Hoare-like proof system for total correctness is also introduced and its soundness and completeness in an appropriate sense are shown. Finally, the recursion theoretic complexity of the notions introduced is studied. Admission of countable nondeterminism results in a lack of continuity of various semantic functions, and this is shown to be necessary for any semantics satisfying appropriate conditions. In proofs of total correctness, one resorts to the use of (countable) ordinals, and it is shown that all recursive ordinals are needed.
- 1 ACZEL, P. An introduction to inductive definitions. In Handbook of Mathematical Logic, J. Barwise, Ed. North Holland Studies in Logic and the Foundations of Mathematics, vol. 90, Elsevier-North Holland, Amsterdam, 1977, pp. 739-792.]]Google Scholar
- 2 APT, K.R. Ten years of Hoare's logic: A survey--Part I. ACM Trans. Program. Lang. Syst. 3, 4 (Oct. 1981 ), 431-483.]] Google ScholarDigital Library
- 3 APT, K.R. Ten years of Hoare's logic: A survey, Part II, nondeterminism. Theoret. Comput. Sci. 28 (1984), 83-109.]]Google ScholarCross Ref
- 4 APt, K. R., ANO MAREK, W. Second order arithmetic and related topics. Ann. Math. Logic 6 (1974), 177-209.]]Google ScholarCross Ref
- 5 APt, K. R., AND OLDEROG, E.-R. Proof rules and transformations dealing with fairness. Sci. Comput. Prog. 3 (1983), 65-100.]]Google ScholarCross Ref
- 6 APT, K. R., AND PLOTKIN, G.D. A Cook's tour of countable nondeterminism. In Proceedings ICALP "81, S. Even and O. Kariv, Eds. Lecture Notes in Computer Science, vol. 115. Springer- Verlag, New York, 1981, pp. 479-494.]] Google Scholar
- 7 BACK, R.J. A continuous semantics for unbounded nondeterminism. Theoret. Comput. Sci. 23, 2 (1983), 187-210.]]Google ScholarCross Ref
- 8 BACk, R.J. Semantics of unbounded non-determinism. In Proceedings of the 7th Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science, vol. 85. Springer- Verlag, New York, 1980, pp. 51-63.]] Google Scholar
- 9 BACK, R.J. Proving total correctness of non-deterministic programs in infinitary logic. Acta Inf. 15 (1981), 233-250.]]Google ScholarDigital Library
- 10 BERRY, G., CUR~EN, P. L., AND LEVV, J.J. Full abstraction for sequential languages: The state of the art. In Proceedings of the French Seminar on the Applications of Algebra to Language Definition and Compilation (Fountainbleau, 1982), M. Nivat and J. Reynolds, Eds. Cambridge University Press, Cambridge, Mass., 1985.]]Google Scholar
- 11 BOOM, H.J. A weaker precondition for loops. ACM Trans. Program. Lang. Syst. 4, 4 (Oct. 1982), 668-677.]] Google ScholarDigital Library
- 12 BROY, M., GNATZ, R., AND WIRSING, M. Semantics of non-deterministic and non-continuous constructs. In Program Construction, International Summer School Marktoberdorf (July 1978), F. L. Bauer and M. Broy, Eds. Lecture Notes in Computer Science, vol. 69. Springer-Vedag, New York, 1979, pp. 553-591.]] Google Scholar
- 13 CHANDRA, A. Computable non-deterministic functions. In Proceedings of the 19th Annual Symposium on Foundations of Computer Science. IEEE, New York, 1978, 127-131.]]Google Scholar
- 14 DE BAKKER, J.W. Mathematical Theory of Program Correctness. Prentice-Hall, Englewood Cliffs, N.J., 1980.]] Google Scholar
- 15 DE BAKKER, J. W., AND ZUCKER, J.i. Denotational semantics of concurrency, in Proceedings of the 14th Annual ACM Symposium on Theory of Computing. ACM, New York, 1982, pp. 153-158.]] Google ScholarCross Ref
- 16 DUKSTRA, E.W. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, N. J., 1976.]]Google Scholar
- 17 EMERSON, E. A., AND CLARKE, E.M. Characterizing correctness properties of parallel programs using fixpoints. In Proceedings of the 7th Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science, vol. 85, Springer-Verlag, New York, 1980, pp. 169-181.]] Google Scholar
- 18 FLOYD, R.W. Assigning meanings to programs, in Proceedings of AMS Symposium in Applied Mathematics 19 (1967), 19-31.]]Google ScholarCross Ref
- 19 GUREVlCH, Y. Toward a logic tailored for computational complexity. In Proceedings of 1983 Logic Colloquium in Aachen, Lecture Notes in Mathematics, vol 104. Springer-Verlag, New York, 1984.]]Google Scholar
- 20 HAR~L, D. First-order dynamic logic. In Lecture Notes in Computer Science, vol. 68. Springer- Vedag, Berlin, 1979.]] Google Scholar
- 21 HAREL, D., AND KOZEN, D. A programming language for the inductive sets and applications. Inf. Cont. 63 (1984), 118-139.]] Google ScholarDigital Library
- 22 HENNESSY, M. C. H., AND PLOTmN, G.D. Full abstraction for a'simple parallel programming language. In Mathematical Foundations of Computer Science, J. Becvar, Ed. Lecture Notes in Computer Science, vol. 74. Springer-Verlag, New York, 1979, pp. 108-120.]]Google Scholar
- 23 Hn'CHCOCK, P., AND PARK, D. induction rules and termination proofs. In Automata, Languages, and Programming, M. Nivat, Ed. North Holland, Amsterdam, 1973.]]Google Scholar
- 24 MANNA, Z., AND PNUELI, A. Axiomatic approach to total correctness of programs. Acta Inf. 3 (1974), 253-262.]]Google ScholarDigital Library
- 25 MILNE, G., AND MILNER, R. Concurrent processes and their syntax. J. ACM 26, 2 (July 1979), 302-321.]] Google ScholarDigital Library
- 26 MOSCHOVAKIS, Y.N. Elementary induction on abstract structures. North-Holland, Amsterdam, 1974.]] Google ScholarDigital Library
- 27 NIVAT, M. Infinite words, infinite trees, infinite computations. In Foundations of Computer Science, J. W. de Bakker and J. van Leeuwen, Eds., vol. Ill, no. 2. Mathematical Centre Tracts, vol. 109, 1979, pp. 3-52.]]Google Scholar
- 28 PARK, D. On the semantics of fair parallelism. In Proceedings of the Winter School on Formal Software Specification. Lecture Notes in Computer Science, vol. 86. Springer-Verlag, New York, 1980, pp. 504-526.]] Google Scholar
- 29 PARK, D. A predicate transformer for weak fair iteration. In Proceedings of the 6th IBM Symposium on Mathematical Foundations of Computer Science (Hakone). IBM, New York, 198 I.]]Google Scholar
- 30 PLOTKIN, G.D. A powerdomain construction. SIAM J. Comput. 5, 3 (1976), 452-487.]]Google ScholarCross Ref
- 31 PLOTKIN, G.O. Dijkstra's predicate transformers and Smyth's powerdomains. In Proceedings of the Winter School on Formal Software Specification. Lecture Notes in Computer Science, vol. 86. Springer-Verlag, New York, 1980, pp. 527-553.]] Google Scholar
- 32 ROGERS, H., JR. Theory of Recursive Functions and Effective Computability. McGraw-Hill, New York, 1967.]] Google ScholarDigital Library
- 33 SMVTH, M. Powerdomains. J. Comput. Syst. Sci. 16, i (1978), 23-36.]]Google Scholar
- 34 SPFCTOR. C. Inductively defined sets of natural numbers. In: Infinitistic Methods. Pergamon Press, EImsford, N.Y., 1961, pp. 97-105.]]Google Scholar
- 35 STov, J. Semantic Models. in Theoretical Foundations of Programming Methodology, M. Broy and G. Schmidt, Eds. Reidel, Hingham, Mass., 1982, pp. 293-324.]]Google Scholar
Index Terms
- Countable nondeterminism and random assignment
Recommendations
All countable monoids embed into the monoid of the infinite random graph
We prove that the full transformation monoid on a countably infinite set is isomorphic to a submonoid of End(R), the endomorphism monoid of the infinite random graph R. Consequently, End(R) embeds each countable monoid, satisfies no nontrivial monoid ...
Bidomains and full abstraction for countable nondeterminism
FOSSACS'06: Proceedings of the 9th European joint conference on Foundations of Software Science and Computation StructuresWe describe a denotational semantics for a sequential functional language with random number generation over a countably infinite set (the natural numbers), and prove that it is fully abstract with respect to may-and-must testing.
Our model is based on ...
First-order separation over countable ordinals
Foundations of Software Science and Computation StructuresAbstractWe show that the existence of a first-order formula separating two monadic second order formulas over countable ordinal words is decidable. This extends the work of Henckell and Almeida on finite words, and of Place and Zeitoun on -words. For ...
Comments