Journal of Automated Reasoning

, Volume 52, Issue 2, pp 123–153 | Cite as

Locales: A Module System for Mathematical Theories



Locales are a module system for managing theory hierarchies in a theorem prover through theory interpretation. They are available for the theorem prover Isabelle. In this paper, their semantics is defined in terms of local theories and morphisms. Locales aim at providing flexible means of extension and reuse. Theory modules (which are called locales) may be extended by definitions and theorems. Interpretation to Isabelle’s global theories and proof contexts is possible via morphisms. Even the locale hierarchy may be changed if declared relations between locales do not adequately reflect logical relations, which are implied by the locales’ specifications. By discussing their design and relating it to more commonly known structuring mechanisms of programming languages and provers, locales are made accessible to a wider audience beyond the users of Isabelle. The discussed mechanisms include ML-style functors, type classes and mixins (the latter are found in modern object-oriented languages).


Theorem prover Module system Theory hierarchy Theory interpretation Isabelle 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ancona, D., Zucca, E.: A theory of mixin modules: basic and derived operators. Math. Struct. Comput. Sci. 8, 401–446 (1998)CrossRefMATHMathSciNetGoogle Scholar
  2. 2.
    Ballarin, C.: Locales and locale expressions in Isabelle/Isar. In: Berardi, S., Coppo, M., Damiani, F. (eds.) Types for Proofs and Programs, TYPES 2003, Torino, Italy. LNCS 3085, pp. 34–50. Springer (2004)Google Scholar
  3. 3.
    Ballarin, C.: Interpretation of locales in Isabelle: managing dependencies between locales. Tech. Rep. TUM-I0607, Technische Universität München (2006)Google Scholar
  4. 4.
    Ballarin, C.: Interpretation of locales in Isabelle: theories and proof contexts. In: Borwein, J.M., Farmer, W.M. (eds.) Mathematical Knowledge Management, MKM 2006, Wokingham, UK. LNCS 4108, pp. 31–43. Springer (2006)Google Scholar
  5. 5.
    Ballarin, C.: Tutorial to locales and locale interpretation. In: Lambán, L., Romero, A., Rubio, J. (eds.) Contribuciones Científicas en Honor de Mirian Andrés Gómez. Servicio de Publicaciones de la Universidad de La Rioja, Logroño, Spain (2010). Also part of the Isabelle user documentationGoogle Scholar
  6. 6.
    Bracha, G.: The programming language Jigsaw: mixins, modulariy and multiple inheritance. Ph.D. thesis, University of Utah (1992). Also Technical Report UUCS-92-007Google Scholar
  7. 7.
    Carette, J., Farmer, W.M., Jeremic, F., Maccio, V., O’Connor, R., Tran, Q.M.: The MathScheme library: some preliminary experiments. Manuscript arXiv:1106.1862v1 (2011)
  8. 8.
    Farmer, W.M., Guttman, J.D., Thayer, F.J.: Little theories. In: Kapur, D. (ed.) Automated deduction, CADE-11: Saratoga Springs, NY, USA. LNCS 607, pp. 567–581. Springer-Verlag (1992)Google Scholar
  9. 9.
    Gunter, E.L.: Doing algebra in simple type theory. Tech. Rep. MS-CIS-89-38, University of Pennsylvania (1989)Google Scholar
  10. 10.
    Haftmann, F., Wenzel, M.: Constructive type classes in Isabelle. In: Altenkirch, T., McBride, C. (eds.) Types for Proofs and Programs, TYPES 2006, Nottingham, UK. LNCS 4502, pp. 160–174. Springer (2007). doi: 10.1007/978-3-540-74464-1_11
  11. 11.
    Haftmann, F., Wenzel, M.: Local theory specifications in Isabelle/Isar. In: Berardi, S., Damiani, F., de’Liguoro, U. (eds.) Types for Proofs and Programs, TYPES 2008, Torino, Italy. LNCS 5497, pp. 153–168. Springer (2009). doi: 10.1007/978-3-642-02444-3_10
  12. 12.
    Harper, R., Pierce, B.C.: Design considerations for ML-style module systems. In: Pierce, B.C. (ed.) Advanced Topics in Types and Programming Languages. MIT Press (2005)Google Scholar
  13. 13.
    Jenks, R.D., Sutor, R.S.: AXIOM: The Scientific Computation System. Springer-Verlag (1992)Google Scholar
  14. 14.
    Kammüller, F.: Modular reasoning in Isabelle. Ph.D. thesis, University of Cambridge, Computer Laboratory (1999). Also Technical Report No. 470Google Scholar
  15. 15.
    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.) Theorem Proving in Higher Order Logics: TPHOLs’99, Nice, France. LNCS 1690, pp. 149–165. Springer (1999)Google Scholar
  16. 16.
    Milner, R., Tofte, M.: Commentary on Standard ML. MIT Press, Cambridge (1990)Google Scholar
  17. 17.
    Nipkow, T.: Order-sorted polymorphism in Isabelle. In: Huet, G., Plotkin, G. (eds.) Logical Environments, pp. 164–188. Cambridge University Press, Cambridge (1993)Google Scholar
  18. 18.
    Nipkow, T.: Verified efficient enumeration of plane graphs modulo isomorphism. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) Interactive Theorem Proving (ITP 2011). LNCS 6898, pp. 281–296. Springer (2011)Google Scholar
  19. 19.
    Odersky, M., Altherr, P., Cremet, V., Emir, B., Maneth, S., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., Zenger, M.: An overview of the Scala programming language. Tech. Rep. IC/2004/64, École Polytechnique Fédérale de Lausanne (2004)Google Scholar
  20. 20.
    Java platform, standard edition 6 API specification. (2011)
  21. 21.
    Paulson, L.C.: The reflection theorem: a study in meta-theoretic reasoning. In: Voronkov, A. (ed.) Automated Deduction—CADE-18 International Conference. LNCS 2392, pp. 377–391. Springer (2002)Google Scholar
  22. 22.
    Schirmer, N., Wenzel, M.: State spaces—the locale way. Electr. Notes Theor. Comput. Sci. 254, 161–179 (2009)CrossRefGoogle Scholar
  23. 23.
    Soubiran, E.: Modular development of theories and name-space management for the Coq proof assistant. Ph.D. thesis, École Polytechnique (2012)Google Scholar
  24. 24.
    Wenzel, M.: Type classes and overloading in higher-order logic. In: Theorem Proving in Higher Order Logics. LNCS 1275, pp. 307–322 (1997). doi: 10.1007/BFb0028402

Copyright information

© Springer Science+Business Media Dordrecht 2013

Authors and Affiliations

  1. 1.KarlsruheGermany

Personalised recommendations