Development via refinement in probabilistic b: foundation and case study

  • Authors:
  • Thai Son Hoang;Zhendong Jin;Ken Robinson;Annabelle McIver;Carroll Morgan

  • Affiliations:
  • School of Computer Science & Engineering, University of New South Wales, NSW, Australia;School of Computer Science & Engineering, University of New South Wales, NSW, Australia;School of Computer Science & Engineering, University of New South Wales, NSW, Australia;Department of Computing, Macquarie University, NSW, Australia;School of Computer Science & Engineering, University of New South Wales, NSW, Australia

  • Venue:
  • ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In earlier work, we introduced probability to the B by providing a probabilistic choice substitution and by extending B's semantics to incorporate its meaning [8]. 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.