Exploring the Structure of an Algebra Text with Locales

  • Clemens BallarinEmail author


Locales, the module system of the theorem prover Isabelle, were designed so that developments in abstract algebra could be represented faithfully and concisely. Whether these goals were met is assessed through a case study. Parts of an algebra textbook, Jacobson’s Basic Algebra, that are challenging structurally were formalised. Key parts of the formalisation are presented in greater detail. An analysis of the work from both qualitative and quantitative perspectives substantiates that the design goals were met. In particular, the size ratio of formal to “pen and paper” text does not increase when going further into the book. The analysis also yields guidance on locales including patterns of use, which are identified and described.


Abstract algebra Case study Isabelle Locales Module system Theorem prover 



  1. 1.
    Aransay, J., Ballarin, C., Rubio, J.: A mechanized proof of the basic perturbation lemma. J. Autom. Reason. 40(4), 271–292 (2008)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Bailey, A.: The Machine-Checked Literate Formalisation of Algebra in Type Theory. Ph.D. Thesis, University of Manchester (1998)Google Scholar
  3. 3.
    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, Berlin (2004)Google Scholar
  4. 4.
    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, Also part of the Isabelle user documentation (2010)Google Scholar
  5. 5.
    Ballarin, C.: Reading an algebra textbook. In: Lange C. et al. (eds.) CEUR Workshop Proceedings 1010. Intelligent Computer Mathematics, Bath (2013)Google Scholar
  6. 6.
    Ballarin, C.: Locales: a module system for mathematical theories. J. Autom. Reason. 52(2), 123–153 (2014)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Ballarin, C.: A case study in basic algebra. Archive of Formal Proofs (2019)
  8. 8.
    Ballarin, C. et al.: The Isabelle/HOL algebra library. Part of the Isabelle distribution,
  9. 9.
    Chan, H.-L., Norrish, M.: Mechanisation of AKS algorithm: Part 1–the main theorem. In: Urban, C., Zhang, X. (eds.) Interactive Theorem Proving, ITP 2015, Nanjing, China, LNCS 9236, pp. 117–136. Springer, Berlin (2015)Google Scholar
  10. 10.
    Farmer, W.M.: Theory interpretation in simple type theory. In: Heering, J., Mainke, K., Möller, B., Nipkow, T. (eds.) Higher-Order Algebra, Logic, and Term Rewriting, HOA ’93, Amsterdam, The Netherlands, LNCS 816, pp. 96–123. Springer, Berlin (1994)CrossRefGoogle Scholar
  11. 11.
    Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. J. ACM 39(1), 95–146 (1992)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Gunter, E.L.: Doing Algebra in Simple Type Theory. Technical Report MS-CIS-89-38, University of Pennsylvania (1989)Google Scholar
  13. 13.
    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, Berlin (2007)Google Scholar
  14. 14.
    Haftmann, F., Wenzel, M., (2009) Local theory specifications in Isabelle, Isar. In: Berardi S., Damiani F., de’Liguoro U. (eds) Types for Proofs and Programs, TYPES, Torino, Italy, LNCS 5497, pp. 153–168. Springer, Berlin (2008)zbMATHGoogle Scholar
  15. 15.
    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, Cambridge (2005)zbMATHGoogle Scholar
  16. 16.
    Jacobson, N.: Basic Algebra, vol. I, 2nd edn. Freeman, Dallas (1985)zbMATHGoogle Scholar
  17. 17.
    Kammüller, F.: Modular Reasoning in Isabelle. Ph.D. Thesis, University of Cambridge, Computer Laboratory, Also Technical Report No. 470 (1999)Google Scholar
  18. 18.
    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, Berlin (1999)CrossRefGoogle Scholar
  19. 19.
    Mahboubi, A., Tassi, E.: Canonical structures for the working Coq user. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) Interactive Theorem Proving, ITP 2013, Rennes, France, LNCS 7998, pp. 19–34. Springer, Berlin (2013)Google Scholar
  20. 20.
    Naraschewski, W., Wenzel, M.: Object-oriented verification based on record subtyping in higher-order logic. In: Theorem Proving in Higher Order Logics, LNCS 1479. Springer, pp 349–366 (1998)Google Scholar
  21. 21.
    Paulson, L.C.: Defining functions on equivalence classes. ACM Transactions on Computational Logic 7(4), 658–675 (2006)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Soubiran, E.: Modular Development of Theories and Name-Space Management for the Coq Proof Assistant. Ph.D. Thesis, École Polytechnique (2012)Google Scholar
  23. 23.
    van Benthem Jutting, L.S.: Checking Landau’s “Grundlagen” in the Automath System. Ph.D Thesis, Technische Hogeschool Eindhoven (1977)Google Scholar
  24. 24.
    von Raumer, J.: Secondary Sylow Theorems. Archive of Formal Proofs,, (2014)
  25. 25.
    Wenzel, M.: Isabelle/Isar–a generic framework for human-readable proof documents. Stud. Log. Gramm. Rhetor. 10(23), 277–298 (2007). (Festschrift in Honour of Andrzej Trybulec)Google Scholar
  26. 26.
    Wiedijk, F.: The de Bruijn factor. (2000)

Copyright information

© Springer Nature B.V. 2019

Authors and Affiliations

  1. 1.KarlsruheGermany

Personalised recommendations