Refinement Algebra with Operators for Enabledness and Termination

  • Kim Solin
  • Joakim von Wright
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4014)


Refinement algebras are abstract algebras for reasoning about programs in a total-correctness framework. We extend a reduct of von Wright’s demonic refinement algebra with two operators for modelling enabledness and termination of programs. We show how the operators can be used for expressing relations between programs and apply the algebra to reasoning about action systems.


Boolean Algebra Iteration Operator Domain Operator Total Correctness Abstract Algebra 
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.: Correctness Preserving Program Refinements: Proof Theory and Applications. In: Mathematical Centre Tracts, vol. 131. Mathematical Centre, Amsterdam (1980)Google Scholar
  2. 2.
    Back, R.-J., Kurki-Suonio, R.: Decentralisation of process nets with centralised control. In: Proc. of 2nd Ann. ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, PODC 1983, pp. 131–142. ACM Press, New York (1983)CrossRefGoogle Scholar
  3. 3.
    Back, R.-J.: Refining atomicity in parallel algorithms. In: Odijk, E., Rem, M., Syre, J.-C. (eds.) PARLE 1989. LNCS, vol. 366, pp. 199–216. Springer, Heidelberg (1989)Google Scholar
  4. 4.
    Back, R.-J., Sere, K.: Stepwise refinement of action systems. Structured Programming 12(1), 17–30 (1991)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 Inform. 36(4), 295–334 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Chen, W., Udding, J.T.: Program inversion: more than fun! Sci. of Comput. Program. 15(1), 1–13 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Cohen, E.: Hypotheses in Kleene algebra. Telcordia (unpublished manuscript, 1994)Google Scholar
  9. 9.
    Cohen, E.: Separation and reduction. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 45–59. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. CoRR cs.LO/0310054 (2003)Google Scholar
  11. 11.
    Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  12. 12.
    Floyd, R.W.: Assigning meanings to programs. In: Schwartz, J.T. (ed.) Mathematical Aspects of Computer Science. Proc. of Symp. on Applied Math. Amer. Math. Soc., vol. XIX, pp. 19–32 (1967)Google Scholar
  13. 13.
    Gries, D.: The Science of Programming. Springer, Heidelberg (1981)zbMATHGoogle Scholar
  14. 14.
    Höfner, P., Möller, B., Solin, K.: Omega algebra, demonic refinement algebra and commands. Technical Report 2006-11. Inst. für Informatik, Universität Augsburg (2006)Google Scholar
  15. 15.
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Inform. and Comput. 110(2), 366–390 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Kozen, D.: Kleene algebra with tests. ACM Trans. on Program. Lang. and Syst. 19(3), 427–443 (1997)CrossRefGoogle Scholar
  17. 17.
    Möller, B.: Lazy Kleene Algebra. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 252–273. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Möller, B., Struth, G.: Greedy-like algorithms in Kleene algebra. In: Berghammer, R., Möller, B., Struth, G. (eds.) RelMiCS 2003. LNCS, vol. 3051, pp. 202–215. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)zbMATHGoogle Scholar
  20. 20.
    Nelson, G.: A generalization of Dijkstra’s calculus. ACM Trans. on Program. Lang. and Syst. 11(4), 517–561 (1989)CrossRefGoogle Scholar
  21. 21.
    Sampaio, A.C.A.: An Algebraic Approach To Compiler Design. World Scientific, Singapore (1997)zbMATHCrossRefGoogle Scholar
  22. 22.
    von Wright, J.: From kleene algebra to refinement algebra. In: Boiten, E.A., Möller, B. (eds.) MPC 2002. LNCS, vol. 2386, pp. 233–262. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 23.
    von Wright, J.: Towards a refinement algebra. Sci. of Comput. Program. 51(1-2), 23–45 (2004)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Kim Solin
    • 1
  • Joakim von Wright
    • 1
  1. 1.Turku Centre for Computer ScienceÅboFinland

Personalised recommendations