Development via Refinement in Probabilistic B --- Foundation and Case Study (abstract)

In earlier work, we introduced probability to the B-Method (B) by providing a probabilistic choice substitution and by extending B's semantics to incorporate its meaning. This, a first step, allowed probabilistic programs to be written and reasoned about within B.

This paper extends the previous work into refinement within B. To allow probabilistic specification and development within B, we must add a probabilistic specification substitution; and we must determine the rules and techniques for its rigorous refinement into probabilistic code.

Implementation in B frequently contains loops. We generalise the standard proof obligation rules for loops giving a set of rules for reasoning about the correctness of probabilistic loops. We present a small case-study that uses those rules, the randomised Min-Cut algorithm.

Keywords: Probability, program correctness, generalised substitutions, weakest preconditions, B, randomised algorithms, refinement.

 
This web page is written using Xemacs. Last modified: Thu Oct 17 16:53:10 CEST 2013