Abstract
As a variation of a recent proposal of Broy and Nelson's, a construct for nondeterministic choice is proposed that terminates if at least one of the branches terminates and that for all other aspects serves as a demonic choice. Two versions of the operator are discussed. In contrast to the Broy-Nelson proposal, the semantics are given by monotonic predicate transformers and monotonic operations on them. In this way the semantics of recursion is completely standard. The paper concludes with proof rules for recursive procedures and a small example of their applications.
Preview
Unable to display preview. Download preview PDF.
References
R.J.R. Back, J. von Wright: Refinement calculus, Part I: Sequential Nondeterministic Programs. In: J.W. de Bakker, W.-P. de Roever, G. Rozenberg (eds.) Stepwise Refinement of Distributed Systems. Lecture Notes in Computer Science 430 (Springer, Berlin, 1990) pp. 42–66.
M. Broy, G. Nelson: Adding fair choice to Dijkstra's calculus. ACM Transactions on Programming Languages and Systems, 16 (1994) 924–938.
E.W. Dijkstra: A discipline of programming. Prentice-Hall 1976.
E.W. Dijkstra, CS. Scholten: Predicate calculus and program semantics. Springer V. 1990.
H. Doornbos: A relational model of programs without the restriction to Egli-Milner-monotone constructs. In: E.-R. Olderog: Programming Concepts, Methods and Calculi. North-Holland, 1994, pp. 363–382.
W.H. Hesselink: Programs, Recursion and Unbounded Choice. Cambridge Tracts in Theoretical Computer Science 27. Cambridge University Press 1992. ISBN 0521 404363.
W.H. Hesselink: Proof rules for recursive procedures. Formal Aspects of Computing 5 (1993) 554–570.
W.H. Hesselink: Nondeterminacy and recursion via stacks and games. Theoretical Computer Science 124 (1994) 273–295.
W.H. Hesselink: Safety and progress of recursive procedures. Formal Aspects of Computing (to appear).
C.C. Morgan: Data refinement by miracles. Information Processing Letters 26 (1987/88) 243–246.
C. Morgan: Programming from Specifications. Prentice Hall, Englewood Cliffs, NJ, 1990.
C. Morgan, P.H.B. Gardiner: Data refinement by calculation. Acta Informatica 27 (1990) 481–503.
J.M. Morris: A theoretical basis for stepwise refinement and the programming calculus. Science of Comp. Programming 9 (1987) 287–306.
G. Nelson: A generalization of Dijkstra's calculus. ACM Transactions on Programming Languages and Systems, 11 (1989) 517–561.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hesselink, W.H. (1995). Angelic termination in Dijkstra's calculus. In: Möller, B. (eds) Mathematics of Program Construction. MPC 1995. Lecture Notes in Computer Science, vol 947. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60117-1_18
Download citation
DOI: https://doi.org/10.1007/3-540-60117-1_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60117-3
Online ISBN: 978-3-540-49445-4
eBook Packages: Springer Book Archive