Automated Engineering of Relational and Algebraic Methods in Isabelle/HOL

(Invited Tutorial)
  • Simon Foster
  • Georg Struth
  • Tjark Weber
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6663)

Abstract

We present a new integration of relational and algebraic methods in the Isabelle/HOL theorem proving environment. It consists of a fine grained hierarchy of algebraic structures based on Isabelle’s type classes and locales, and a repository of more than 800 facts obtained by automated theorem proving. We demonstrate further benefits of Isabelle for hypothesis learning, duality reasoning, theorem instantiation, and reasoning across models and theories. Our work forms the basis for a reference repository and a program development environment based on algebraic methods. It can also be used by mathematicians for exploring and integrating new variants.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aboul-Hosn, K., Kozen, D.: KAT-ML: an interactive theorem prover for Kleene algebra with tests. J. Applied Non-Classical Logics 16(1-2), 9–34 (2006)MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Bachmair, L., Ganzinger, H.: Ordered chaining calculi for first-order theories of transitive relations. J. ACM 45(6), 1007–1049 (1998)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Bauer, G., Wenzel, M.: Calculational reasoning revisited (an Isabelle/Isar experience). In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152, pp. 75–90. Springer (2001)CrossRefGoogle Scholar
  4. 4.
    Berghammer, R., Struth, G.: On automated program construction and verification. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol. 6120, pp. 22–41. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Bergstra, J.A., Fokkink, W.J., Ponse, A.: Process algebra with recursive operations. In: Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.) Handbook of Process Algebra, pp. 333–389. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  6. 6.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development, Coq’Art: the Calculus of Inductive Constructions. Springer, Heidelberg (2004)CrossRefMATHGoogle Scholar
  7. 7.
    Blanchette, J.C., Nipkow, T.: Nitpick: A counterexample generator for higher-order logic based on a relational model finder. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 131–146. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Böhme, S., Nipkow, T.: Sledgehammer: Judgement day. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 107–121. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    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
  10. 10.
    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
  11. 11.
    Desharnais, J., Jipsen, P., Struth, G.: Domain and antidomain semigroups. In: Berghammer, R., Jaoua, A.M., Möller, B. (eds.) RelMiCS 2009. LNCS, vol. 5827, pp. 73–87. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM TOCL 7(4), 798–833 (2006)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Desharnais, J., Struth, G.: Internal axioms for domain semirings. Science of Computer Programming 76(3), 181–203 (2011)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Goranko, V.: The basic algebra of game equivalence. Studia Logica 75, 221–238 (2003)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    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
  16. 16.
    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
  17. 17.
    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
  18. 18.
    Hurd, J.: System description: The Metis proof tactic. In: Benzmueller, C., Harrison, J., Schuermann, C. (eds.) ESHOL 2005, pp. 103–104. arXiv.org (2005)Google Scholar
  19. 19.
    Isabelle website, http://isabelle.in.tum.de/ (accessed February 20, 2011)
  20. 20.
    Jónsson, B., Tarski, A.: Boolean algebras with operators, Part I. American Journal of Mathematics 73, 891–939 (1951)MathSciNetCrossRefMATHGoogle Scholar
  21. 21.
    Kahl, W.: Calculational relation-algebraic proofs in Isabelle/Isar. In: Berghammer, R., Möller, B., Struth, G. (eds.) RelMiCS 2003. LNCS, vol. 3051, pp. 178–190. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  22. 22.
    Klein, G., et al.: seL4: Formal verification of an OS kernel. Comm. ACM 53(6), 107–115 (2010)CrossRefGoogle Scholar
  23. 23.
    Kozen, D.: Kleene algebra with tests. ACM TOPLAS 19(3), 427–443 (1997)MathSciNetCrossRefMATHGoogle Scholar
  24. 24.
    Krauss, A., Nipkow, T.: Proof pearl: Regular expression equivalence and relation algebra. Journal of Automated Reasoning (to appear, 2011)Google Scholar
  25. 25.
    Mackenzie, D.: What in the name of Euclid is going on here? Science 307(5714), 1402–1403 (2005)MathSciNetMATHGoogle Scholar
  26. 26.
    Maddux, R.D.: Relation Algebras. Elsevier, Amsterdam (2006)MATHGoogle Scholar
  27. 27.
    McIver, A., Weber, T.: Towards automated proof support for probabilistic distributed systems. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 534–548. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. 28.
    Möller, B., Struth, G.: Algebras of modal operators and partial correctness. Theoretical Computer Science 351(2), 221–239 (2006)MathSciNetCrossRefMATHGoogle Scholar
  29. 29.
    Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  30. 30.
    von Oheimb, D., Gritzner, T.F.: RALL: Machine-supported proofs for relation algebra. In: McCune, W. (ed.) CADE 1997. LNCS, vol. 1249, pp. 380–394. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  31. 31.
    Paulson, L.C.: Isabelle: The next seven hundred theorem provers. In: Lusk, E.L., Overbeek, R.A. (eds.) CADE 1988. LNCS, vol. 310, pp. 772–773. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  32. 32.
    Struth, G.: Abstract abstract reduction. J. Logic and Algebraic Programming 66(2), 239–270 (2006)MathSciNetCrossRefMATHGoogle Scholar
  33. 33.
    Struth, G.: et al.: Isabelle algebraic methods repository (2011), http://www.dcs.shef.ac.uk/~georg/isa (accessed February 20, 2011)
  34. 34.
    Sutcliffe, G., Suttner, C.: The TPTP problem library for automated theorem proving, http://www.tptp.org (accessed February 20, 2011)
  35. 35.
    Tarski, A.: On the calculus of relations. J. Symbolic Logic 6(3), 73–89 (1941)MathSciNetCrossRefMATHGoogle Scholar
  36. 36.
    Wenzel, M.: Isabelle/Isar— a versatile environment for human-readable formal proof documents. Ph.D. thesis, Institut für Informatik, Technische Universität München, Germany (2002)Google Scholar
  37. 37.
    von Wright, J.: Towards a refinement algebra. Science of Computer Programming 51(1-2), 23–45 (2004)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Simon Foster
    • 1
  • Georg Struth
    • 1
  • Tjark Weber
    • 2
  1. 1.Department of Computer ScienceThe University of SheffieldUK
  2. 2.Computer LaboratoryUniversity of CambridgeUK

Personalised recommendations