Automated Reasoning in Kleene Algebra

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

Abstract

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.

References

  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)CrossRefMathSciNetMATHGoogle 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)MATHGoogle 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)MATHGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHGoogle Scholar
  19. 19.
    Möller, B., Struth, G.: Algebras of modal operators and partial correctness. Theoretical Computer Science 351(2), 221–239 (2006)MATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Nipkow, T.: More Church-Rosser proofs (in Isabelle/HOL). J. Automated Reasoning 26(1), 51–66 (2001)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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