Partial correctness for probabilistic demonic programs

Recent work in sequential program semantics has produced both an operational (He et al., Sci. Comput. Programming 28(2, 3) (1997) 171-192) and an axiomatic (Morgan et al., ACM Trans. Programming Languages Systems 18(3) (1996) 325-353; Seidel et al., Tech Report PRG-TR-6-96, Programming Research group, February 1996) treatment of total correctness for probabilistic demonic programs, extending Kozen's original work (J. Comput. System Sci. 22 (1981) 328-350; Kozen, Proc. 15th ACM Symp. on Theory of Computing, ACM, New York, 1983) by adding demonic nondeterminism. For practical applications (e.g. combining loop invariants with termination constraints) it is important to retain the traditional distinction between partial and total correctness. Jones (Monograph ECS-LFCS-90-105, Ph.D. Thesis, Edinburgh University, Edinburgh, UK, 1990) defines probabilistic partial correctness for probabilistic, but again not demonic programs. In this paper we combine all the above, giving an operational and axiomatic framework for both partial and total correctness of probabilistic and demonic sequential programs; among other things, that provides the theory to support our earlier---and practical---publication on probabilistic demonic loops (Morgan, in: Jifeng et al. (Eds.), Proc. BCS-FACS Seventh Refinement Workshop, Workshops in Computing, Springer, Berlin, 1996. Copyright 2001 Elsevier Science B.V.

[1]  Claire Jones,et al.  Probabilistic non-determinism , 1990 .

[2]  Roberto Segala,et al.  Modeling and verification of randomized distributed real-time systems , 1996 .

[3]  Dexter Kozen,et al.  Semantics of probabilistic programs , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[4]  Abbas Edalat,et al.  The generalized Riemann integral on locally compact spaces , 1998 .

[5]  Martín Hötzel Escardó,et al.  PCF Extended with Real Numbers , 1996, Theor. Comput. Sci..

[6]  David D. McDonald,et al.  Programs , 1984, CL.

[7]  Annabelle McIver,et al.  Unifying wp and wlp , 1996, Inf. Process. Lett..

[8]  Greg Nelson,et al.  A generalization of Dijkstra's calculus , 1989, ACM Trans. Program. Lang. Syst..

[9]  Samson Abramsky,et al.  Domain theory , 1995, LICS 1995.

[10]  C. Jones,et al.  A probabilistic powerdomain of evaluations , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[11]  N. S. Barnett,et al.  Private communication , 1969 .

[12]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[13]  Rajiv Gupta,et al.  On randomization in sequential and distributed algorithms , 1994, CSUR.

[14]  Dominic Welsh,et al.  Probability: An Introduction , 1986 .

[15]  Carroll Morgan,et al.  Proof rules for probabilistic loops , 1996 .

[16]  Dexter Kozen,et al.  A probabilistic PDL , 1983, J. Comput. Syst. Sci..

[17]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[18]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[19]  Annabelle McIver,et al.  Probabilistic Models for the Guarded Command Language , 1997, Sci. Comput. Program..

[20]  Abbas Edalat Domain Theory and Integration , 1995, Theor. Comput. Sci..

[21]  Josyula Ramachandra Rao Building on the unity experience: compositionality, fairness and probability in parallelism , 1992 .

[22]  Yishai A. Feldman,et al.  A probabilistic dynamic logic , 1982, STOC '82.