Journal of Automated Reasoning

, Volume 62, Issue 2, pp 237–260 | Cite as

From Types to Sets by Local Type Definition in Higher-Order Logic

  • Ondřej KunčarEmail author
  • Andrei Popescu


Types in higher-order logic (HOL) are naturally interpreted as nonempty sets. This intuition is reflected in the type definition rule for the HOL-based systems (including Isabelle/HOL), where a new type can be defined whenever a nonempty set is exhibited. However, in HOL this definition mechanism cannot be applied inside proof contexts. We propose a more expressive type definition rule that addresses the limitation and we prove its consistency. This higher expressive power opens the opportunity for a HOL tool that relativizes type-based statements to more flexible set-based variants in a principled way. We also address particularities of Isabelle/HOL and show how to perform the relativization in the presence of type classes.


HOL Isabelle Local typedef Type definition Relativization Type classes Overloading Dependent types Model Consistency Transfer Type-based theorems Set-based theorems 



We thank reviewers for useful comments and suggestions. The ITP 2016 reviewers helped us to improve the previous conference version of the paper. We thank Fabian Immler and Dmitriy Traytel for interesting discussions on Types to Terms and HOL dependent typing, respectively. We are indebted to Johannes Hölzl to introduce us to HOL-Algebra and to remind us that not every locale can be translated into a corresponding type class in Isabelle. We gratefully acknowledge support from DFG through grant NI 491/13-3 and from EPSRC through grant EP/N019547/1.


  1. 1.
    Kunčar, O., Popescu, A.: From types to sets by local type definition in higher-order logic. In: Blanchette, J.C., Merz, S. (eds.) ITP 2016, LNCS, vol. 9807, pp. 200–218, Springer (2016)Google Scholar
  2. 2.
    Bove, A., Dybjer, P., Norell, U.: A brief overview of AGDA—a functional language with dependent types. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009, LNCS, vol. 5674, pp. 73–78, Springer (2009)Google Scholar
  3. 3.
    Bertot, Y., Castéran, P.: Interactive theorem proving and program development—Coq’Art: the calculus of inductive constructions. In: Texts in Theoretical Computer Science. An EATCS Series, Springer (2004)Google Scholar
  4. 4.
    Asperti, A., Ricciotti, W., Coen, C.S., Tassi, E.: The Matita interactive theorem prover. In: CADE-23, pp. 64–69 (2011)Google Scholar
  5. 5.
    Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall Inc., Upper Saddle River (1986)Google Scholar
  6. 6.
    The HOL4 Theorem Prover.
  7. 7.
    Harrison, J.: HOL Light: a tutorial introduction. In: Srivas, M.K., Camilleri, A.J. (eds.) FMCAD ’96, LNCS, vol. 1166, pp. 265–269, Springer (1996)Google Scholar
  8. 8.
    Adams, M.: Introducing HOL Zero—(extended abstract). In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010, LNCS, vol. 6327, pp. 142–143, Springer, Berlin (2010)Google Scholar
  9. 9.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL—a proof assistant for higher-order logic. part of the Isabelle2015 distribution (2015).
  10. 10.
    Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach. Kluwer, Dordrecht (2000)Google Scholar
  11. 11.
    Bancerek, G., Byliński, C., Grabowski, A., Korniłowicz, A., Matuszewski, R., Naumowicz, A., Pąk, K., Urban, J.: Mizar: state-of-the-art and beyond. In: Kerber, M., Carette, J., Kaliszyk, C., Rabe, F., Sorge, V. (eds.) Intelligent Computer Mathematics, pp. 261–279. Springer, Berlin (2015)CrossRefGoogle Scholar
  12. 12.
    Shankar, N., Owre, S., Rushby, J.M.: PVS Tutorial. Computer Science Laboratory, SRI International (1993)Google Scholar
  13. 13.
    Homeier, P.V.: The HOL-Omega logic. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009, LNCS, vol. 5674, pp. 244–259, Springer (2009)Google Scholar
  14. 14.
    Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad hoc. In: POPL ’89, ACM, pp. 60–76 (1989)Google Scholar
  15. 15.
    Nipkow, T., Snelting, G.: Type classes and overloading resolution via order-sorted unification. In: Hughes, J. (ed.) Functional Programming Languages and Computer Architecture, LNCS, vol. 523, pp. 1–14. Springer, Berlin (1991)CrossRefGoogle Scholar
  16. 16.
  17. 17.
    Immler, F.: Generic Construction of Probability Spaces for Paths of Stochastic Processes. Master’s Thesis, Institut für Informatik, Technische Universität München (2012)Google Scholar
  18. 18.
    Aransay, J., Ballarin, C., Rubio, J.: A mechanized proof of the basic perturbation lemma. J. Autom. Reason. 40(4), 271–292 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Chan, H., Norrish, M.: Mechanisation of AKS algorithm: part 1—the main theorem. In: Urban, C., Zhang, X. (eds.) ITP 2015, LNCS, vol. 9236, pp. 117–136, Springer (2015)Google Scholar
  20. 20.
    Coble, A.R.: Formalized information-theoretic proofs of privacy using the HOL4 theorem-prover. In: Borisov, N., Goldberg, I. (eds.) PETS 2008, LNCS, vol. 5134, pp. 77–98, Springer (2008)Google Scholar
  21. 21.
    Hölzl, J., Heller, A.: Three chapters of measure theory in Isabelle/HOL. In: van Eekelen, M.C.J.D., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011, LNCS, vol. 6898, pp. 135–151, Springer (2011)Google Scholar
  22. 22.
    Maggesi, M.: A formalisation of metric spaces in HOL light (2015). Presented at the Workshop Formal Mathematics for Mathematicians. CICM 2015 (published online).
  23. 23.
  24. 24.
    Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)zbMATHGoogle Scholar
  25. 25.
    Harrison, J.: HOL Done Right (1995).
  26. 26.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL—A Proof Assistant for Higher-Order Logic, LNCS, vol. 2283. Springer, Berlin (2002)zbMATHGoogle Scholar
  27. 27.
    Kunčar, O., Popescu, A.: Comprehending Isabelle/HOL’s consistency. In: Yang, H. (ed.) ESOP 2017, LNCS, vol. 10201, pp. 724–749, Springer (2017)Google Scholar
  28. 28.
    Pitts, A.: Introduction to HOL: a theorem proving environment for higher order logic, chap. The HOL logic, In: Gordon and Melham [15], pp. 191–232 (1993)Google Scholar
  29. 29.
    Wenzel, M.: Type classes and overloading in higher-order logic. In: Gunter, E.L., Felty, A.P. (eds.) TPHOLs ’97, LNCS, vol. 1275, pp. 307–322, Springer (1997)Google Scholar
  30. 30.
    Haftmann, F., Wenzel, M.: Constructive type classes in Isabelle. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006, LNCS, vol. 4502, pp. 160–174, Springer (2006)Google Scholar
  31. 31.
    Krauss, A., Schropp, A.: A mechanized translation from higher-order logic to set theory. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010, LNCS, vol. 6172, pp. 323–338, Springer (2010)Google Scholar
  32. 32.
    Huffman, B., Kunčar, O.: Lifting and transfer: a modular design for quotients in Isabelle/HOL. In: Gonthier, G., Norrish, M. (eds.) CPP 2013, LNCS, vol. 8307, pp. 131–146, Springer (2013)Google Scholar
  33. 33.
    Kunčar, O.: Types, Abstraction and Parametric Polymorphism in Higher-Order Logic. Ph.D. Thesis, Fakultät für Informatik, Technische Universität München (2016).
  34. 34.
    Traytel, D., Popescu, A., Blanchette, J.C.: Foundational, compositional (co)datatypes for higher-order logic: category theory applied to theorem proving. In: LICS 2012, IEEE, pp. 596–605 (2012)Google Scholar
  35. 35.
    Reynolds, J.C.: Types, abstraction and parametric polymorphism. In: IFIP Congress, pp. 513–523 (1983)Google Scholar
  36. 36.
    Wadler, P.: Theorems for free! In: FPCA ’89, ACM, pp. 347–359 (1989)Google Scholar
  37. 37.
    Mitchell, J.C.: Representation independence and data abstraction. In: POPL ’86, ACM, pp. 263–276 (1986)Google Scholar
  38. 38.
    Harrison, J.: The HOL Light theory of Euclidean space. J. Autom. Reason. 50, 173–190 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  39. 39.
    Harrison, J.: A HOL theory of Euclidean space. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005, LNCS, vol. 3603. Springer, Oxford (2005)Google Scholar
  40. 40.
    Divasón, J., Joosten, S., Thiemann, R., Yamada, A.: A formalization of the Berlekamp–Zassenhaus factorization algorithm. In: CPP, pp. 17–29 (2017)Google Scholar
  41. 41.
    Kunčar, O., Popescu, A.: Safety and conservativity of definitions in HOL and Isabelle/HOL. Proc. ACM Program. Lang. 24, 1–24 (2017)Google Scholar
  42. 42.
  43. 43.
    Ballarin, C.: Locales: a module system for mathematical theories. J. Autom. Reason. 52(2), 123–153 (2014)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media B.V., part of Springer Nature 2018

Authors and Affiliations

  1. 1.Fakultät für InformatikTechnische Universität MünchenMunichGermany
  2. 2.Department of Computer Science, School of Science and TechnologyMiddlesex UniversityLondonUK

Personalised recommendations