Correctness by construction for probabilistic programs
Authors
School of Computer Science and Engineering
UNSW,
Sydney 2052, Australia
Abstract
The “correct by construction” paradigm can be applied to the development of probabilistic programs; here we use the well known semantics for pGCL, the probabilistic guarded-command language, to illustrate it. That languageās refinement relation enables compact, abstract specifications of probabilistic properties to be transformed gradually to concrete, executable code by applying mathematical insights in a systematic, layered way — and as far as possible, the reasoning in each layer does not depend on earlier layers, and does not affect later ones. We demonstrate the technique by deriving a fair-coin implementation of any given discrete probability distribution. In the special case of simulating a fair die, our constructed algorithm is “within spitting distance” of Knuth and Yao's optimal solution.
BibTeX Entry
@inproceedings{McIver_Morgan_20, author = {Annabelle McIver and Carroll Morgan}, booktitle = {Leveraging Applications of Formal Methods, Verification and Validation: Verification Principles---9th International Symposium on Leveraging Applications of Formal Methods, ISoLA 2020, Rhodes, Greece, October 20-30, 2020, Proceedings, Part {I}}, doi = {10.1007/978-3-030-61362-4\_12}, editor = {Tiziana Margaria and Bernhard Steffen}, pages = {216--239}, paperurl = {https://trustworthy.systems/publications/papers/McIver_Morgan_20.pdf}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, title = {Correctness by Construction for Probabilistic Programs}, url = {https://doi.org/10.1007/978-3-030-61362-4\_12}, volume = {12476}, year = {2020} }