Refinement algebra for probabilistic programs

We identify a refinement algebra for reasoning about probabilistic program transformations in a total-correctness setting. The algebra is equipped with operators that determine whether a program is enabled or terminates respectively. As well as developing the basic theory of the algebra we demonstrate how it may be used to explain key differences and similarities between standard (i.e. non-probabilistic) and probabilistic programs and verify important transformation theorems for probabilistic action systems.

[1]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[2]  Ian J. Hayes,et al.  Algebraic reasoning for probabilistic action systems and while-loops , 2008, Acta Informatica.

[3]  Kim Solinand Refinement Algebra with Operators for Enabledness and Termination , 2006 .

[4]  Georg Struth,et al.  Can Refinement be Automated? , 2008, REFINE@IFM.

[5]  Ralph-Johan Back A Method for Refining Atomicity in Parallel Algorithms , 1989, PARLE.

[6]  Ian J. Hayes,et al.  Reasoning Algebraically About Probabilistic Loops , 2006, ICFEM.

[7]  Annabelle McIver,et al.  Abstraction, Refinement And Proof For Probabilistic Systems (Monographs in Computer Science) , 2004 .

[8]  Larissa Meinicke,et al.  Reactive Probabilistic Programs and Refinement Algebra , 2008, RelMiCS.

[9]  Ralph-Johan Back,et al.  Decentralization of process nets with centralized control , 1983, PODC '83.

[10]  Annabelle McIver,et al.  Using Probabilistic Kleene Algebra for Protocol Verification , 2006, RelMiCS.

[11]  Annabelle McIver,et al.  Towards Automated Proof Support for Probabilistic Distributed Systems , 2005, LPAR.

[12]  Ralph-Johan Back,et al.  Reasoning algebraically about loops , 1999, Acta Informatica.

[13]  Dexter Kozen,et al.  On Kleene Algebras and Closed Semirings , 1990, MFCS.

[14]  Ernie Cohen,et al.  Separation and Reduction , 2000, MPC.

[15]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[16]  Georg Struth,et al.  Kleene algebra with domain , 2003, TOCL.

[17]  Bernhard Möller,et al.  Lazy Kleene Algebra , 2004, MPC.

[18]  Leslie Lamport,et al.  Pretending Atomicity , 1989 .

[19]  Annabelle McIver,et al.  Cost analysis of games, using program logic , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[20]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[21]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[22]  Joakim von Wright,et al.  From Kleene Algebra to Refinement Algebra , 2002, MPC.

[23]  Renate A. Schmidt Relations and Kleene Algebra in Computer Science: Proceedings of RelMiCS/AKA 2006 , 2006 .

[24]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[25]  Toshinori Takai,et al.  Monodic Tree Kleene Algebra , 2006, RelMiCS.

[26]  Luís Moniz Pereira,et al.  Proceedings of the First International Conference on Computational Logic , 2000 .

[27]  Dexter Kozen,et al.  Kleene algebra with tests , 1997, TOPL.

[28]  Thorsten Ehm,et al.  The Kleene algebra of nested pointer structures: theory and applications , 2003 .

[29]  Dexter Kozen,et al.  Certification of Compiler Optimizations Using Kleene Algebra with Tests , 2000, Computational Logic.

[30]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[31]  Kim Solin On Two Dually Nondeterministic Refinement Algebras , 2006, RelMiCS.

[32]  Joakim von Wright,et al.  Refinement Algebra with Operators for Enabledness and Termination , 2006, MPC.

[33]  Eerke Albert Boiten Mathematics of Program Construction: Sixth International Conference , 2002 .

[34]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[35]  Larissa Meinicke Transformation Rules for Probabilistic Progams: An Algebraic Approach , 2008 .

[36]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[37]  Ralph-Johan Back,et al.  Decentralization of Process Nets with Centralized Control , 1983, PODC.

[38]  Dexter Kozen,et al.  A completeness theorem for Kleene algebras and the algebra of regular events , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[39]  Thomas W. Doeppner,et al.  Parallel program correctness through refinement , 1977, POPL.

[40]  Ian J. Hayes,et al.  Probabilistic Choice in Refinement Algebra , 2008, MPC.

[41]  Joakim von Wright,et al.  Towards a refinement algebra , 2004, Sci. Comput. Program..