Advertisement

Automating Algebraic Methods in Isabelle

  • Walter Guttmann
  • Georg Struth
  • Tjark Weber
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)

Abstract

We implement a large Isabelle/HOL repository of algebras for application in modelling computing systems. They subsume computational logics such as dynamic and Hoare logics and form a basis for various software development methods. Isabelle has recently been extended by automated theorem provers and SMT solvers. We use these integrated tools for automatically proving several rather intricate refinement and termination theorems. We also automate a modal correspondence result and soundness and relative completeness proofs of propositional Hoare logic. These results show, for the first time, that Isabelle’s tool integration makes automated algebraic reasoning particularly simple. This is a step towards increasing the automation of formal methods.

Keywords

Boolean Algebra Algebraic Method Relative Completeness Computational Logic Automate Theorem Prove 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Apt, K.R., de Boer, F.S., Olderog, E.R.: Verification of Sequential and Concurrent Programs, 3rd edn. Springer, Heidelberg (2009)CrossRefzbMATHGoogle Scholar
  2. 2.
    Bachmair, L., Dershowitz, N.: Commutation, transformation, and termination. In: Siekmann, J.H. (ed.) CADE 1986. LNCS, vol. 230, pp. 5–20. Springer, Heidelberg (1986)CrossRefGoogle Scholar
  3. 3.
    Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending Sledgehammer with SMT Solvers. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 116–130. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Böhme, S., Weber, T.: Fast LCF-style proof reconstruction for Z3. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 179–194. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Conway, J.H.: Regular Algebra and Finite Machines. Chapman and Hall, London (1971)zbMATHGoogle Scholar
  7. 7.
    Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM J. Comput. 7(1), 70–90 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Transactions on Computational Logic 7(4), 798–833 (2006)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Desharnais, J., Möller, B., Struth, G.: Algebraic notions of termination. Logical Methods in Computer Science 7(1:1), 1–29 (2011)MathSciNetzbMATHGoogle Scholar
  10. 10.
    Desharnais, J., Struth, G.: Internal axioms for domain semirings. Sci. Comput. Program. 76(3), 181–203 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  12. 12.
    Doornbos, H., Backhouse, R., van der Woude, J.: A calculational approach to mathematical induction. Theor. Comput. Sci. 179(1-2), 103–135 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Foster, S., Struth, G., Weber, T.: Automated engineering of relational and algebraic methods in Isabelle/HOL. In: de Swart, H. (ed.) RAMICS 2011. LNCS, vol. 6663, pp. 52–67. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Haftmann, F., Wenzel, M.: Local theory specifications in Isabelle/Isar. In: Berardi, S., Damiani, F., de’Liguoro, U. (eds.) TYPES 2008. LNCS, vol. 5497, pp. 153–168. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  16. 16.
    Hoare, C.A.R., Hayes, I.J., He, J., Morgan, C.C., Roscoe, A.W., Sanders, J.W., Sorensen, I.H., Spivey, J.M., Sufrin, B.A.: Laws of programming. Commun. ACM 30(8), 672–686 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Hoare, C.A.R., He, J.: Unifying theories of programming. Prentice Hall Europe (1998)Google Scholar
  18. 18.
    Höfner, P., Struth, G.: Automated reasoning in Kleene algebra. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 279–294. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Höfner, P., Struth, G.: On automating the calculus of relations. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 50–66. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Höfner, P., Struth, G., Sutcliffe, G.: Automated verification of refinement laws. Annals of Mathematics and Artificial Intelligence 55(1-2), 35–62 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Jackson, M., Stokes, T.: Semigroups with if-then-else and halting programs. International Journal of Algebra and Computation 19(7), 937–961 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110(2), 366–390 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Transactions on Computational Logic 1(1), 60–76 (2000)MathSciNetCrossRefGoogle Scholar
  24. 24.
    Krauss, A., Nipkow, T.: Proof pearl: Regular expression equivalence and relation algebra. Journal of Automated Reasoning (2011), http://dx.doi.org/10.1007/s10817-011-9223-4
  25. 25.
    Maddux, R.D.: Relation-algebraic semantics. Theor. Comput. Sci. 160(1-2), 1–85 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Möller, B., Struth, G.: Algebras of modal operators and partial correctness. Theor. Comput. Sci. 351(2), 221–239 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Nipkow, T.: Hoare logics in Isabelle/HOL. In: Schwichtenberg, H., Steinbrüggen, R. (eds.) Proof and System-Reliability, pp. 341–367. Kluwer Academic Publishers, Dordrecht (2002)CrossRefGoogle Scholar
  28. 28.
    Paulson, L.C., Blanchette, J.C.: Three years of experience with Sledgehammer, a practical link between automatic and interactive theorem provers. In: Sutcliffe, G., Ternovska, E., Schulz, S. (eds.) Proceedings of the 8th International Workshop on the Implementation of Logics, pp. 3–13 (2010)Google Scholar
  29. 29.
    Schirmer, N.: Verification of Sequential Imperative Programs in Isabelle/HOL. Ph.D. thesis, TU München (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Walter Guttmann
    • 1
  • Georg Struth
    • 2
  • Tjark Weber
    • 3
  1. 1.Institut für Programmiermethodik und CompilerbauUniversität UlmGermany
  2. 2.Department of Computer ScienceThe University of SheffieldUK
  3. 3.Computer LaboratoryUniversity of CambridgeUK

Personalised recommendations