Automated Reasoning in Kleene Algebra

  • Peter Höfner
  • Georg Struth
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4603)


It has often been claimed that model checking, special purpose automated deduction or interactive theorem proving are needed for formal program development. We demonstrate that off-the-shelf automated proof and counterexample search is an interesting alternative if combined with the right domain model. We implement variants of Kleene algebras axiomatically in Prover9/Mace4 and perform proof experiments about Hoare, dynamic, temporal logics, concurrency control and termination analysis. They confirm that a simple automated analysis of some important program properties is possible. Particular benefits of this approach include “soft” model checking in a first-order setting, cross-theory reasoning between standard formalisms and full automation of some (co)inductive arguments. Kleene algebras might therefore provide light-weight formal methods with heavy-weight automation.


Model Check Modal Logic Boolean Algebra Theorem Prover Linear Temporal Logic 
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.
  2. 2.
  3. 3.
    Aboul-Hosn, K., Kozen, D.: KAT-ML: An interactive theorem prover for Kleene algebra with tests. Journal of Applied Non-Classical Logics 16(1-2), 9–33 (2006)CrossRefMathSciNetzbMATHGoogle Scholar
  4. 4.
    Bachmair, L., Dershowitz, N.: Commutation, transformation, and termination. In: Siekmann, J.H. (ed.) 8th International Conference on Automated Deduction. LNCS, vol. 230, pp. 5–20. Springer, Heidelberg (1986)Google Scholar
  5. 5.
    Blackburn, P., de Rijke, M., Venema, Y.: Modal Logic. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  6. 6.
    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
  7. 7.
    Conway, J.H.: Regular Algebra and Finite Machines. Chapman & Hall, Sydney (1971)zbMATHGoogle Scholar
  8. 8.
    De Nivelle, H., Schmidt, R.A., Hustadt, U.: Resolution-based methods for modal logics. Logic Journal of the IGPL 8(3), 265–292 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Trans. Computational Logic 7(4), 798–833 (2006)CrossRefGoogle Scholar
  10. 10.
    Ebert, M., Struth, G.: Diagram chase in relational system development. In: Minas, M. (ed.) 3rd IEEE workshop on Visual Languages and Formal Methods (VLFM 2004), ENTCS, vol. 127, pp. 87–105. Elsevier, Amsterdam (2005)Google Scholar
  11. 11.
    Ehm, T., Möller, B., Struth, G.: Kleene modules. In: Berghammer, R., Möller, B., Struth, G. (eds.) Relational and Kleene-Algebraic Methods in Computer Science. LNCS, vol. 3051, pp. 112–123. Springer, Heidelberg (2004)Google Scholar
  12. 12.
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  13. 13.
    Höfner, P., Struth, G.: Can refinement be automated? Technical Report CS-07-08, Department of Computer Science, University of Sheffield (2007)Google Scholar
  14. 14.
    Jipsen, P.: Personal communicationGoogle Scholar
  15. 15.
    Kahl, W.: Calculational relation-algebraic proofs in Isabelle/Isar. In: Berghammer, R., Möller, B., Struth, G. (eds.) Relational and Kleene-Algebraic Methods in Computer Science. LNCS, vol. 3051, pp. 179–190. Springer, Heidelberg (2004)Google Scholar
  16. 16.
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110(2), 366–390 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Trans. Computational Logic 1(1), 60–76 (2000)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems—Specification. Springer, Heidelberg (1991)zbMATHGoogle Scholar
  19. 19.
    Möller, B., Struth, G.: Algebras of modal operators and partial correctness. Theoretical Computer Science 351(2), 221–239 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Nipkow, T.: More Church-Rosser proofs (in Isabelle/HOL). J. Automated Reasoning 26(1), 51–66 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Ohlbach, H.J., Nonnengart, A., de Rijke, M., Gabbay, D.: Encoding Two-Valued Nonclassical Logics in Classic Logic. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 21, pp. 1403–1485. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  22. 22.
    Struth, G.: Calculating Church-Rosser proofs in Kleene algebra. In: de Swart, H. (ed.) RelMiCS 2001. LNCS, vol. 2561, pp. 276–290. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 23.
    Struth, G.: Abstract abstract reduction. Journal of Logic and Algebraic Programming 66(2), 239–270 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Terese (ed.): Term Rewriting Systems. Cambridge University Press, Cambridge (2003)Google Scholar
  25. 25.
    von Karger, B.: Temporal algebra. Mathematical Structures in Computer Science 8(3), 277–320 (1998)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Peter Höfner
    • 1
  • Georg Struth
    • 1
  1. 1.Department of Computer Science, University of SheffieldUnited Kingdom

Personalised recommendations