Acta Informatica

, Volume 45, Issue 5, pp 321–382 | Cite as

Algebraic reasoning for probabilistic action systems and while-loops

  • Larissa MeinickeEmail author
  • Ian J. Hayes
Original article


Back and von Wright have developed algebraic laws for reasoning about loops in a total correctness framework using the refinement calculus. We extend their work to reasoning about probabilistic loops in the probabilistic refinement calculus. We apply our algebraic reasoning to derive transformation rules for probabilistic action systems and probabilistic while-loops. In particular we focus on developing data refinement rules for these two constructs. Our extension is interesting since some well known transformation rules that are applicable to standard programs are not applicable to probabilistic ones: we identify some of these important differences and we develop alternative rules where possible.


Complete Lattice Probabilistic Choice Sequential Composition Proof Obligation Probabilistic Program 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Back, R.J., Kurki-Suonio, R.: Decentralization of process nets with centralized control. In: Proc. of the 2nd ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, pp. 131–142. ACM Press, New York (1983)Google Scholar
  2. 2.
    Back R.J., Kurki-Suonio R.: Distributed cooperation with action systems. ACM Trans. Program. Lang. Syst. 10(4), 513–554 (1988)zbMATHCrossRefGoogle Scholar
  3. 3.
    Back R.J., Sere K.: Superposition refinement of reactive systems. Formal Aspects Comput. 8(3), 324–346 (1996)zbMATHCrossRefGoogle Scholar
  4. 4.
    Back, R.J., von Wright, J.: Trace refinement of action systems. In: International Conference on Concurrency Theory, LNCS, vol. 836, pp. 367–384. Springer, Heidelberg (1994)Google Scholar
  5. 5.
    Back R.J., von Wright J.: Refinement Calculus: A Systematic Introduction. Springer, Heidelberg (1998)zbMATHGoogle Scholar
  6. 6.
    Back R.J., von Wright J.: Reasoning algebraically about loops. Acta Inf. 36(4), 295–334 (1999)zbMATHCrossRefGoogle Scholar
  7. 7.
    Celiku O., McIver A.: Compositional specification and analysis of cost-based properties in probabilistic programs. In: Fitzgerald, J., Hayes, I.J., Tarlecki, A.(eds) Proceedings of Formal Methods Europe 2005, Lecture Notes in Computer Science, vol. 3582, pp. 107–122. Springer, Heidelberg (2005)Google Scholar
  8. 8.
    Cohen, E.: Hypotheses in Kleene algebra. Tech. Rep. TM-ARH-023814, Belcore (1994)Google Scholar
  9. 9.
    Cohen, E.: Separation and reduction. In: Mathematics of Program Construction. LNCS, vol. 1837, pp. 45–59. Springer, Heidelberg (2000)Google Scholar
  10. 10.
    Davey B.A., Priestley H.: Introduction to Lattices. Cambridge University Press, Cambridge (1990)zbMATHGoogle Scholar
  11. 11.
    Dijkstra E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  12. 12.
    Dijkstra E.W., Scholten C.S.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)zbMATHGoogle Scholar
  13. 13.
    Hayes I.J.: Reasoning about real-time repetitions: Terminating and non-terminating. Sci. Comput. Program. 43, 161–192 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Hurd, J.: A formal approach to probabilistic termination. In: TPHOLs. LNCS, vol. 2410, pp. 230–245. Springer, Heidelberg (2002)Google Scholar
  15. 15.
    Kozen D.: Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 19(3), 427–443 (1997)CrossRefGoogle Scholar
  16. 16.
    McIver A., Morgan C.: Demonic, angelic and unbounded probabilistic choices in sequential programs. Acta Inf. 37(4/5), 329–354 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. Springer, Heidelberg (2005)Google Scholar
  18. 18.
    McIver, A., Morgan, C., Troubitsyna, E.: The probabilistic steam boiler: a case study in probabilistic data refinement. In: Grundy, J., Schwenke, M., Vickers, T. (eds.) International Refinement Workshop/Formal Methods Pacific ’98. Springer-Verlag Series in Discrete Mathematics and Theoretical Computer Science, pp. 250–265. Springer, Heidelberg (1998)Google Scholar
  19. 19.
    McIver A., Weber T.: Towards automated proof support for probabilistic distributed systems. In: Sutcliffe, G., Voronkov, A.(eds) Logic for Programming, Artificial Intelligence, and Reasoning, 12th International Conference. LNCS, vol. 3835, pp. 534–548. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    McIver, A.K., Cohen, E., Morgan, C.C.: Using probabilistic Kleene algebra for protocol verification. In: Relations and Kleene Algebra in Computer Science. LNCS, vol. 4136, pp. 296–310 (2006)Google Scholar
  21. 21.
    Meinicke L., Hayes I.J.: Reasoning algebraically about probabilistic loops. In: Liu, Z., He, J.(eds) Proceedings 8th International Conference on Formal Engineering Methods (ICFEM 2006), LNCS, vol. 4260, pp. 380–399. Springer, Heidelberg (2006)Google Scholar
  22. 22.
    Möller, B.: Lazy Kleene algebra. In: Mathematics of Program Construction. LNCS, vol. 3125, pp. 252–273. Springer, Heidelberg (2004)Google Scholar
  23. 23.
    Morgan C.: Programming from Specifications, 2nd edn. Prentice Hall, Englewood Cliffs (1994)zbMATHGoogle Scholar
  24. 24.
    Morgan, C.: Proof rules for probabilistic loops. In: Jifeng, H., Cooke, J.,Wallis, P. (eds.) BCS-FACS 7th Refinement Workshop. Springer, Heidelberg (1996)Google Scholar
  25. 25.
    Morgan, C., McIver, A.: Cost analysis of games, using program logic. In: APSEC ’01: Proceedings of the Eighth Asia-Pacific on Software Engineering Conference, p. 351. IEEE Computer Society, Washington, DC (2001)Google Scholar
  26. 26.
    Morgan C., McIver A., Seidel K.: Probabilistic predicate transformers. ACM Trans. Program. Lang. Syst. 18(3), 325–353 (1996)CrossRefGoogle Scholar
  27. 27.
    Patron, M.C., Kozen, D.: Certification of compiler optimizations using Kleene algebra with tests. In: Lloyd, J., Dahl, V., Furbach, U., Kerber, M., Lau, K.K., Palamidessi, C., Pereira, L.M., Sagiv, Y., Stuckey, P.J. (eds.) Proc. 1st Int. Conf. Computational Logic. Lecture Notes in Artificial Intelligence, vol. 186, pp. 568–582. Springer, Heidelberg (2000)Google Scholar
  28. 28.
    Sere, K., Troubitsyna, E.: Probabilities in action systems. In: Proceedings of the 8th Nordic Workshop on Programming Theory (1996)Google Scholar
  29. 29.
    Solin, K., von Wright, J.: Refinement algebra with operators for enabledness and termination. In: Mathematics of Program Construction. LNCS, vol. 4014, pp. 397–415. Springer, Heidelberg (2006)Google Scholar
  30. 30.
    Troubitsyna E.A.: Reliability assessment through probabilistic refinement. Nordic J. Comput. 6, 320–342 (1999)zbMATHMathSciNetGoogle Scholar
  31. 31.
    von Wright, J.: From Kleene algebra to refinement algebra. In: Mathematics of Program Construction. LNCS, vol. 2386, pp. 233–262. Springer, Heidelberg (2002)Google Scholar
  32. 32.
    von Wright J.: Towards a refinement algebra. Sci. Comput. Program. 51, 23–45 (2004)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia
  2. 2.Department of Computer ScienceÅbo AkademiÅboFinland

Personalised recommendations