Skip to main content

The Isabelle Collections Framework

  • Conference paper
Interactive Theorem Proving (ITP 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6172))

Included in the following conference series:

Abstract

The Isabelle Collections Framework (ICF) provides a unified framework for using verified collection data structures in Isabelle/HOL formalizations and generating efficient functional code in ML, Haskell, and OCaml. Thanks to its modularity, it is easily extensible and supports switching to different data structures any time. For good integration with applications, a data refinement approach separates the correctness proofs from implementation details. The generated code based on the ICF lies in better complexity classes than the one that uses Isabelle’s default setup (logarithmic vs. linear time). In a case study with tree automata, we demonstrate that the ICF is easy to use and efficient: An ICF based, verified tree automata library outperforms the unverified Timbuk/Taml library by a factor of 14.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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, pp. 31–43. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Berghofer, S., Reiter, M.: Formalizing the logic-automaton connection. In: TPHOLs ’09, pp. 147–163. Springer, Heidelberg (2009)

    Google Scholar 

  3. Bulwahn, L., Krauss, A., Haftmann, F., Erkök, L., Matthews, J.: Imperative functional programming with Isabelle/HOL. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 134–149. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. The Coq standard library, http://coq.inria.fr/stdlib/index.html

  5. de Dios, J., Peña, R.: Formal certification of a resource-aware language implementation. In: TPHOLs ’09, pp. 196–211. Springer, Heidelberg (2009)

    Google Scholar 

  6. Genet, T., Tong, V.V.T.: Timbuk 2.2., http://www.irisa.fr/celtique/genet/timbuk/

  7. Haftmann, F., Nipkow, T.: Code generation via higher-order rewrite systems. In: Functional and Logic Programming (FLOPS 2010). LNCS. Springer, Heidelberg (2010)

    Google Scholar 

  8. Hardy, G.H., Ramanujan, S.: The normal number of prime factors of a number. Quart. J. of Math. 48, 76–92 (1917)

    MATH  Google Scholar 

  9. Java: The collections framework, http://java.sun.com/javase/6/docs/technotes/guides/collections/

  10. Kaufmann, M., Moore, J.S.: An industrial strength theorem prover for a logic based on common lisp. IEEE Transactions on Software Engineering 23, 203–213 (1997)

    Article  Google Scholar 

  11. Kuncak, V.: Binary search trees. In: Klein, G., Nipkow, T., Paulson, L. (eds.) The Archive of Formal Proofs. Formal proof development (2004), http://afp.sf.net/entries/BinarySearchTree.shtml

  12. Lammich, P.: Isabelle collection library. In: Klein, G., Nipkow, T., Paulson, L. (eds.) The Archive of Formal Proofs. Formal proof development (2009), http://afp.sf.net/entries/collections.shtml

  13. Lammich, P.: Tree automata. In: Klein, G., Nipkow, T., Paulson, L. (eds.) The Archive of Formal Proofs. Formal proof development (2009), http://afp.sf.net/entries/Tree-Automata.shtml

  14. LETHAL tree and hedge automata library, http://lethal.sourceforge.net/

  15. Nipkow, T., Paulson, L.C., Wenzel, M.T. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  16. Nipkow, T., Pusch, C.: AVL trees. In: Klein, G., Nipkow, T., Paulson, L. (eds.) The Archive of Formal Proofs. Formal proof development (2004), http://afp.sf.net/entries/AVL-Trees.shtml

  17. Peyton Jones, S.: Bulk types with class. In: FPW ’96 (1996)

    Google Scholar 

  18. Stepanov, A., Lee, M.: The standard template library. Technical Report 95-11(R.1), HP Laboratories (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lammich, P., Lochbihler, A. (2010). The Isabelle Collections Framework. In: Kaufmann, M., Paulson, L.C. (eds) Interactive Theorem Proving. ITP 2010. Lecture Notes in Computer Science, vol 6172. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14052-5_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14052-5_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14051-8

  • Online ISBN: 978-3-642-14052-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics