Advertisement

The Isabelle Framework

  • Makarius Wenzel
  • Lawrence C. Paulson
  • Tobias Nipkow
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5170)

Abstract

Isabelle, which is available from http://isabelle.in.tum.de , is a generic framework for interactive theorem proving. The Isabelle/Pure meta-logic allows the formalization of the syntax and inference rules of a broad range of object-logics following the general idea of natural deduction [32,33]. The logical core is implemented according to the well-known “LCF approach” of secure inferences as abstract datatype constructors in ML [16]; explicit proof terms are also available [8]. Isabelle/Isar provides sophisticated extra-logical infrastructure supporting structured proofs and specifications, including concepts for modular theory development. Isabelle/HOL is a large application within the generic framework, with plenty of logic-specific add-on tools and a large theory library. Other notable object-logics are Isabelle/ZF (Zermelo-Fraenkel set-theory, see [34,36] and Isabelle/HOLCF [26] (Scott’s domain theory within HOL). Users can build further formal-methods tools on top, e.g. see [53].

Keywords

Automate Reasoning Natural Deduction High Order Logic Prime Number Theorem Structure Proof 
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.
    Aehlig, K., Haftmann, F., Nipkow, T.: A compiled implementation of normalization by evaluation. In: Theorem Proving in Higher Order Logics (TPHOLs 2008). LNCS. Springer, Heidelberg (2008)Google Scholar
  2. 2.
    Alkassar, E., Schirmer, N., Starostin, A.: Formal pervasive verification of a paging mechanism. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2008). LNCS, vol. 4963, pp. 109–123. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Aspinall, D.: Proof General: A generic tool for proof development. In: European Joint Conferences on Theory and Practice of Software (ETAPS) (2000)Google Scholar
  4. 4.
    Avigad, J., Donnelly, K., Gray, D., Raff, P.: A formally verified proof of the prime number theorem. ACM Trans. Comput. Logic 9(1:2), 1–23 (2007)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Ballarin, C.: Locales and locale expressions in Isabelle/Isar. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Ballarin, C.: Interpretation of locales in Isabelle: Theories and proof contexts. In: Borwein, J.M., Farmer, W.M. (eds.) MKM 2006. LNCS (LNAI), vol. 4108. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Bauer, G., Wenzel, M.: Calculational reasoning revisited — an Isabelle/Isar experience. In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Berghofer, S., Nipkow, T.: Proof terms for simply typed higher order logic. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Berghofer, S., Nipkow, T.: Executing higher order logic. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol. 2277, pp. 24–40. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Berghofer, S., Nipkow, T.: Random testing in Isabelle/HOL. In: Cuellar, J., Liu, Z. (eds.) Software Engineering and Formal Methods (SEFM 2004), pp. 230–239. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  11. 11.
    Berghofer, S., Wenzel, M.: Inductive datatypes in HOL — lessons learned in Formal-Logic Engineering. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Berghofer, S., Wenzel, M.: Logic-free reasoning in Isabelle/Isar. In: Mathematical Knowledge Management (MKM 2008), LNCS (LNAI). Springer, Heidelberg (2008)Google Scholar
  13. 13.
    Bortin, M., Broch Johnsen, E., Lüth, C.: Structured formal development in Isabelle. Nordic Journal of Computing 13 (2006)Google Scholar
  14. 14.
    Bulwahn, L., Krauss, A., Haftmann, F., Erkök, L., Matthews, J.: Imperative functional programming in Isabelle/HOL. In: Theorem Proving in Higher Order Logics (TPHOLs 2008). LNCS. Springer, Heidelberg (2008)Google Scholar
  15. 15.
    Chaieb, A., Wenzel, M.: Context aware calculation and deduction — ring equalities via Gröbner Bases in Isabelle. In: Kauers, M., et al. (eds.) MKM/CALCULEMUS 2007. LNCS (LNAI), vol. 4573. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Gordon, M.J.C., Milner, R., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)zbMATHGoogle Scholar
  17. 17.
    Haftmann, F., Nipkow, T.: A code generator framework for Isabelle/HOL. In: K. Schneider, J. Brandt (eds.) Theorem Proving in Higher Order Logics: Emerging Trends Proceedings. Dept. Comp. Sci., U. Kaiserslautern (2007)Google Scholar
  18. 18.
    Haftmann, F., Wenzel, M.: Constructive type classes in Isabelle. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Haftmann, F., Wenzel, M.: Local theory specifications in Isabelle/Isar (2008), http://www.in.tum.de/~wenzelm/papers/local-theory.pdf
  20. 20.
    Heiser, G., Elphinstone, K., Kuz, I., Klein, G., Petters, S.M.: Towards trustworthy computing systems: taking microkernels to the next level. SIGOPS Operating Systems Review 41(4), 3–11 (2007)CrossRefGoogle Scholar
  21. 21.
    Kammüller, F., Wenzel, M., Paulson, L.C.: Locales: A sectioning concept for Isabelle. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Klein, G., Nipkow, T.: A machine-checked model for a Java-like language, virtual machine and compiler. ACM Trans. Progr. Lang. Syst. 28(4), 619–695 (2006), http://doi.acm.org/10.1145/1146809.1146811 CrossRefGoogle Scholar
  23. 23.
    Krauss, A.: Partial recursive functions in Higher-Order Logic. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Leinenbach, D., Petrova, E.: Pervasive compiler verification — from verified programs to verified systems. In: Workshop on Systems Software Verification (SSV 2008). Elsevier, Amsterdam (2008)Google Scholar
  25. 25.
    Lochbihler, A.: Type safe nondeterminism — a formal semantics of Java threads. In: Foundations of Object-Oriented Languages (FOOL 2008) (2008)Google Scholar
  26. 26.
    Müller, O., Nipkow, T., von Oheimb, D., Slotosch, O.: HOLCF = HOL + LCF. Journal of Functional Programming 9, 191–223 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Nipkow, T.: Order-sorted polymorphism in Isabelle. In: Huet, G., Plotkin, G. (eds.) Logical Environments. Cambridge University Press, Cambridge (1993)Google Scholar
  28. 28.
    Nipkow, T.: Structured proofs in Isar/HOL. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  29. 29.
    Nipkow, T., Bauer, G., Schultz, P.: Flyspeck I: Tame graphs. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 21–35. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  30. 30.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  31. 31.
    Obua, S.: Flyspeck II: The basic linear programs. Ph.D. thesis, Technische Universität München (2008)Google Scholar
  32. 32.
    Paulson, L.C.: Natural deduction as higher-order resolution. Journal of Logic Programming 3 (1986)Google Scholar
  33. 33.
    Paulson, L.C.: Isabelle: the next 700 theorem provers. In: Odifreddi, P. (ed.) Logic and Computer Science. Academic Press, London (1990)Google Scholar
  34. 34.
    Paulson, L.C.: Set theory for verification: I. From foundations to functions. Journal of Automated Reasoning 11(3) (1993)Google Scholar
  35. 35.
    Paulson, L.C.: A fixedpoint approach to implementing (co)inductive definitions. In: Bundy, A. (ed.) CADE 1994. LNCS, vol. 814. Springer, Heidelberg (1994)Google Scholar
  36. 36.
    Paulson, L.C.: Set theory for verification: II. Induction and recursion. Journal of Automated Reasoning 15(2) (1995)Google Scholar
  37. 37.
    Paulson, L.C.: Generic automatic proof tools. In: Veroff, R. (ed.) Automated Reasoning and its Applications: Essays in Honor of Larry Wos. MIT Press, Cambridge (1997)Google Scholar
  38. 38.
    Paulson, L.C.: A generic tableau prover and its integration with Isabelle. Journal of Universal Computer Science 5(3) (1999)Google Scholar
  39. 39.
    Paulson, L.C.: The relative consistency of the axiom of choice — mechanized using Isabelle/ZF. LMS Journal of Computation and Mathematics 6, 198–248 (2003)Google Scholar
  40. 40.
    Paulson, L.C.: Organizing numerical theories using axiomatic type classes. Journal of Automated Reasoning 33(1) (2004)Google Scholar
  41. 41.
    Paulson, L.C., Susanto, K.W.: Source-level proof reconstruction for interactive theorem proving. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  42. 42.
    Slind, K.: Function definition in higher order logic. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  43. 43.
    Tuch, H., Klein, G., Norrish, M.: Types, bytes, and separation logic. In: Principles of Programming Languages (POPL 2007), pp. 97–108. ACM Press, New York (2007)Google Scholar
  44. 44.
    Urban, C.: Nominal techniques in Isabelle/HOL. Journal of Automated Reasoning 40, 327–356 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  45. 45.
    Urban, C., Cheney, J., Berghofer, S.: Mechanizing the metatheory of LF. In: 23rd IEEE Symp. Logic in Computer Science (LICS) (2008)Google Scholar
  46. 46.
    Wasserrab, D., Nipkow, T., Snelting, G., Tip, F.: An operational semantics and type safety proof for multiple inheritance in C++. In: Object Oriented Programming, Systems, Languages, and Applications (OOPSLA 2006), pp. 345–362. ACM Press, New York (2006)Google Scholar
  47. 47.
    Weber, T.: Bounded model generation for Isabelle/HOL. In: Ahrendt, W., Baumgartner, P., de Nivelle, H., Ranise, S., Tinelli, C. (eds.) Workshops Disproving and Pragmatics of Decision Procedures (PDPAR 2004), vol. 125, pp. 103–116. Elsevier, Amsterdam (2005)Google Scholar
  48. 48.
    Wenzel, M.: Type classes and overloading in higher-order logic. In: Gunter, E.L., Felty, A.P. (eds.) TPHOLs 1997. LNCS, vol. 1275. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  49. 49.
    Wenzel, M.: Isar — a generic interpretative approach to readable formal proof documents. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  50. 50.
    Wenzel, M.: Structured induction proofs in Isabelle/Isar. In: Borwein, J.M., Farmer, W.M. (eds.) MKM 2006. LNCS (LNAI), vol. 4108. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  51. 51.
    Wenzel, M.: Isabelle/Isar — a generic framework for human-readable proof documents. In: R. Matuszewski, A. Zalewska (eds.) From Insight to Proof — Festschrift in Honour of Andrzej Trybulec, Studies in Logic, Grammar, and Rhetoric, vol. 10(23). University of Białystok (2007), http://www.in.tum.de/~wenzelm/papers/isar-framework.pdf
  52. 52.
    Wenzel, M., Paulson, L.C.: Isabelle/Isar. In: Wiedijk, F. (ed.) The Seventeen Provers of the World. LNCS (LNAI), vol. 3600. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  53. 53.
    Wenzel, M., Wolff, B.: Building formal method tools in the Isabelle/Isar framework. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  54. 54.
    Wiedijk, F., Wenzel, M.: A comparison of the mathematical proof languages Mizar and Isar. Journal of Automated Reasoning 29(3-4) (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Makarius Wenzel
    • 1
  • Lawrence C. Paulson
    • 2
  • Tobias Nipkow
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGermany
  2. 2.Computer LaboratoryUniversity of CambridgeUK

Personalised recommendations