Advertisement

The Isabelle Collections Framework

  • Peter Lammich
  • Andreas Lochbihler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6172)

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.

Keywords

Generic Algorithm Prime Divisor Tree Automaton Standard Library Abstract Data Type 
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.
    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)CrossRefGoogle Scholar
  2. 2.
    Berghofer, S., Reiter, M.: Formalizing the logic-automaton connection. In: TPHOLs ’09, pp. 147–163. Springer, Heidelberg (2009)Google Scholar
  3. 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)CrossRefGoogle Scholar
  4. 4.
    The Coq standard library, http://coq.inria.fr/stdlib/index.html
  5. 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. 6.
    Genet, T., Tong, V.V.T.: Timbuk 2.2., http://www.irisa.fr/celtique/genet/timbuk/
  7. 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. 8.
    Hardy, G.H., Ramanujan, S.: The normal number of prime factors of a number. Quart. J. of Math. 48, 76–92 (1917)MATHGoogle Scholar
  9. 9.
  10. 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)CrossRefGoogle Scholar
  11. 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. 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. 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. 14.
    LETHAL tree and hedge automata library, http://lethal.sourceforge.net/
  15. 15.
    Nipkow, T., Paulson, L.C., Wenzel, M.T. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  16. 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. 17.
    Peyton Jones, S.: Bulk types with class. In: FPW ’96 (1996)Google Scholar
  18. 18.
    Stepanov, A., Lee, M.: The standard template library. Technical Report 95-11(R.1), HP Laboratories (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Peter Lammich
    • 1
  • Andreas Lochbihler
    • 2
  1. 1.Universität Münster 
  2. 2.Karlsruher Institut für Technologie 

Personalised recommendations