The generalised substitution language extended to probabilistic programs
Let predicate P be converted from Boolean to numeric type by writing 〈P〉, with 〈false〉 being 0 and 〈true〉 being 1, so that in a degenerate sense 〈P〉 can be regarded as ‘the probability that P holds in the current state’. Then add explicit numbers and arithmetic operators, to give a richer language of arithmetic formulae into which predicates are embedded by 〈·〉.
Abrial's generalised substitution language GSL can be applied to arithmetic rather than Boolean formulae with little extra effort. If we add a new operator p⊕ for probabilistic choice, it then becomes ‘pGSL’: a smooth extension of GSL that includes random algorithms within its scope.
KeywordsProbability program correctness generalised substitutions weakest preconditions B GSL
Unable to display preview. Download preview PDF.
- 1.J.-R. Abrial. The B-Book. Cambridge University Press, 1996.Google Scholar
- 6.C. Jones. Probabilistic nondeterminism. Monograph ECS-LFCS-90-105, Edinburgh Univ. Edinburgh, U.K., 1990. (PhD Thesis).Google Scholar
- 7.C. Jones and G. Plotkin. A probabilistic powerdomain of evaluations. In Proceedings of the IEEE 4th Annual Symposium on Logic in Computer Science, pages 186–195, Los Alamitos, Calif., 1989. Computer Society Press.Google Scholar
- 8.D. Kozen. A probabilistic PDL. In Proceedings of the 15th ACM Symposium on Theory of Computing, New York, 1983. ACM.Google Scholar
- 9.Annabelle McIver and Carroll Morgan. Probabilistic predicate transformers: part 2. Technical Report PRG-TR-5-96, Programming Research Group, March 1996. Revised version to be submitted for publication under the title Demonic, angelic and unbounded probabilistic choices in sequential programs.Google Scholar
- 10.Annabelle McIver and Carroll Morgan. Partial correctness for probabilistic demonic programs. Technical Report PRG-TR-35-97, Programming Research Group, 1997.Google Scholar
- 11.Annabelle McIver, Carroll Morgan, and Elena Troubitsyna. The probabilistic steam boiler: a case study in probabilistic data refinement. In preparation, 1997.Google Scholar
- 12.C. C. Morgan. The specification statement. ACM Transactions on Programming Languages and Systems, 10(3), July 1988. Reprinted in .Google Scholar
- 13.C. C. Morgan. Proof rules for probabilistic loops. In He Jifeng, John Cooke, and Peter Wallis, editors, Proceedings of the BCS-FACS 7th Refinement Workshop, Workshops in Computing. Springer Verlag, July 1996.Google Scholar
- 14.C. C. Morgan and T. N. Vickers, editors. On the Refinement Calculus. FACIT Series in Computer Science. Springer-Verlag, Berlin, 1994.Google Scholar
- 17.Rajeev Motwani and Prabhakar Raghavan. Randomized Algorithms. Cambridge University Press, 1995.Google Scholar
- 19.K. Seidel, C. C. Morgan, and A. K. McIver. An introduction to probabilistic predicate transformers. Technical Report PRG-TR-6-96, Programming Research Group, February 1996. Revised version to be submitted for publication under the title Probabilistic Imperative Programming: a Rigorous Approach.Google Scholar