From Kleene Algebra to Refinement Algebra

  • Joakim von Wright
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2386)


Kleene Algebra with Tests (KAT) has proved to be useful for reasoning about programs in a partial correctness framework. We describe Demonic Refinement Algebra (DRA), a variation of KAT for total correctness and illustrate its modeling and reasoning power with a number of applications and examples.


Program Transformation Total Correctness Partial Correctness Galois Connection Weak Precondition 
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.
    C. Aarts et al. Fixpoint calculus. Information Processing Letters, 53(3), February 1995.Google Scholar
  2. 2.
    R. J. Back and J. von Wright. Encoding, decoding, and data refinement. Formal Aspects of Computing, 12(5):313–349, 2000.zbMATHCrossRefGoogle Scholar
  3. 3.
    R.J. Back. Correctness Preserving Program Refinements: Proof Theory and Applications, volume 131 of Mathematical Centre Tracts. Mathematical Centre, Amsterdam, 1980.zbMATHGoogle Scholar
  4. 4.
    R.J. Back. Refining atomicity in parallel algorithms. In PARLE Conference on Parallel Architectures and Languages Europe, Eindhoven, the Netherlands, June 1989. Springer-Verlag.Google Scholar
  5. 5.
    R.J. Back and K. Sere. Stepwise refinement of action systems. Structured Programming, 12:17–30, 1991.Google Scholar
  6. 6.
    R.J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer-Verlag, 1998.Google Scholar
  7. 7.
    R.J. Back and J. von Wright. Reasoning algebraically about loops. Acta Informatica, 36:295–334, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    R.C. Backhouse and B.A. Carré. Regular algebra applied to path finding problems. Journal Inst. Math. Appl., 15:161–186, 1975.zbMATHCrossRefGoogle Scholar
  9. 9.
    J.W. de Bakker. Mathematical Theory of Program Correctness. Prentice-Hall, 1980.Google Scholar
  10. 10.
    W. Chen and J.T. Udding. Program inversion: more than fun! Report CS 8903, Department of Mathematics and Computer Science, University of Groningen, 1988.Google Scholar
  11. 11.
    E. Cohen. Hypotheses in Kleene Algebra. Unpublished manuscript, Telcordia, 1994.Google Scholar
  12. 12.
    E. Cohen. Separation and reduction. In Mathematics of Program Construction, volume 1837 of Lecture Notes in Computer Science, Portugal, July 2000. Springer-Verlag.CrossRefGoogle Scholar
  13. 13.
    E.W. Dijkstra. A Discipline of Programming. Prentice-Hall International, 1976.Google Scholar
  14. 14.
    R.M. Dijkstra. Computation calculus bridging a formalization gap. Science of Computer Programming, 37:3–36, 2000.zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    D. Gries. The Science of Programming. Springer-Verlag, New York, 1981.zbMATHGoogle Scholar
  16. 16.
    I.J. Hayes. Reasoning about real-time repetitions: Terminating and nonterminating. Techn. Rep. 01-04, Software Verification Research Centre, The University of Queensland, February 2001.Google Scholar
  17. 17.
    D. Kozen. Kleene algebra with tests. ACM Transactions on Programming Languages and Systems, 19(3):427–443, 1999.CrossRefGoogle Scholar
  18. 18.
    D. Kozen. On Hoare logic and Kleene algebra with tests. ACM Transactions on Computational Logic, 1(1):60–76, 2000.CrossRefMathSciNetGoogle Scholar
  19. 19.
    D. Kozen and M-C. Patron. Certification of compiler optimizations using Kleene Algebra with tests. In 1st International Conference on Computational logic, volume 1861 of Lecture Notes in Artificial Intelligence, pages 568–582, London, July 2000. Springer-Verlag.Google Scholar
  20. 20.
    M.S. Manasse and C.G. Nelson. Correct compilation of control structures. Techn. Memo. 11271-840909-09™, AT&T Bell Laboratories, September 1984.Google Scholar
  21. 21.
    C.C. Morgan. Programming from Specifications. Prentice-Hall, 1990.Google Scholar
  22. 22.
    J.L.A. van de Snepscheut. On lattice theory and program semantics. Technical Report CS-TR-93-19, Caltech, Pasadena, California, USA, 1993.Google Scholar
  23. 23.
    J. von Wright. Program inversion in the refinement calculus. Information Processing Letters, 37(2):95–100, January 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Joakim von Wright
    • 1
  1. 1.Åbo Akademi University and Turku Centre for Computer Science (TUCS)TurkuFinland

Personalised recommendations