Probabilistic predicate transformers provide a semantics for imperative programs containing both demonic and probabilistic nondeterminism. Like the (standard) predicate transformers popularised by Dijkstra, they model programs as functions from final results to the initial conditions suffcient to achieve them. This paper presents practical proof rules, using the probabilistic transformers, for reasoning about iterations when probability is present. They are thoroughly illustrated by example: probabilistic binary chop, faulty factorial, the martingale gambling strategy and Herman’s probabilistic self-stabilisation . Just as for traditional programs, weakest-precondition based proof rules for program derivation are an important step on the way to designing more general refinement techniques, or even a refinement calculus, for imperative probabilistic programming.
Content
Author and article information
Conference
Publication date:
July
1996
Publication date
(Print):
July
1996
Pages: 1-19
Affiliations
[*
]Morgan is a member of the Probabilistic Systems Group within the Programming Research
Group at Oxford University: the other members are Annabelle McIver, Jeff Sanders and
Karen Seidel. Our work is supported by the EPSRC.