Isabelle Formalization of Set Theoretic Structures and Set Comprehensions

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10693)


Reasoning about computers and programming languages on paper is most often done with set theory, while most proof assistant formalizations of languages and programs use alternative mathematical foundations. One of the few exceptions has been Mizar where the Simple Concrete Model of computers has been used to verify programs expressed as abstract programming language instruction sequences. The model uses extended set theory features including structures and Fraenkel set comprehension operators. In this paper we show how to formally specify such objects in the Isabelle object logic implementing the Mizar foundations as definitional extensions. To show the adequacy and usability of the mechanisms, we reformalize a number of Mizar definitions and theorems related to structures and set comprehensions, including both mathematical and programming language examples: groups, machines and properties of computer memory states.


Isabelle Mizar Structure Set comprehension Multiple inheritance 



This work has been supported by the European Research Council (ERC) grant no. 714034 SMART and the Polish National Science Center granted by decision n\(^\circ \)DEC-2015/19/D/ST6/01473.


  1. 1.
    Abrial, J.: Modeling in Event-B - System and Software Engineering. Cambridge University Press, Cambridge (2010)CrossRefzbMATHGoogle Scholar
  2. 2.
    Asperti, A., Ricciotti, W.: A formalization of multi-tape turing machines. Theor. Comput. Sci. 603, 23–42 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Brown, C.E., Urban, J.: Extracting higher-order goals from the Mizar mathematical library. In: Kohlhase, M., Johansson, M., Miller, B., de de Moura, L., Tompa, F. (eds.) CICM 2016. LNCS (LNAI), vol. 9791, pp. 99–114. Springer, Cham (2016). CrossRefGoogle Scholar
  4. 4.
    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
  5. 5.
    Geuvers, H., Pollack, R., Wiedijk, F., Zwanenburg, J.: A constructive algebraic hierarchy in Coq. J. Symb. Comput. 34(4), 271–286 (2002)CrossRefzbMATHGoogle Scholar
  6. 6.
    Grabowski, A., Korniłowicz, A., Naumowicz, A.: Mizar in a nutshell. J. Formaliz. Reason. 3(2), 153–245 (2010)MathSciNetzbMATHGoogle Scholar
  7. 7.
    Grabowski, A., Korniłowicz, A., Naumowicz, A.: Four decades of Mizar. J. Autom. Reason. 55(3), 191–198 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Grabowski, A., Korniłowicz, A., Schwarzweller, C.: On algebraic hierarchies in mathematical repository of Mizar. In: Ganzha, M., Maciaszek, L.A., Paprzycki, M. (eds.) Proceedings of the Federated Conference on Computer Science and Information Systems (FedCSIS 2016), pp. 363–371 (2016)Google Scholar
  9. 9.
    Haftmann, F., Wenzel, M.: Constructive type classes in Isabelle. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 160–174. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  10. 10.
    Harrison, J., Urban, J., Wiedijk, F.: History of interactive theorem proving. In: Siekmann, J.H. (ed.) Computational Logic, Handbook of the History of Logic, vol. 9, pp. 135–214. Elsevier, Amsterdam (2014)Google Scholar
  11. 11.
    Iancu, M., Kohlhase, M., Rabe, F., Urban, J.: The Mizar mathematical library in OMDoc: translation and applications. J. Autom. Reason. 50(2), 191–202 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Kaliszyk, C., Pąk, K.: Presentation and manipulation of Mizar properties in an Isabelle object logic. In: Geuvers, H., England, M., Hasan, O., Rabe, F., Teschke, O. (eds.) CICM 2017. LNCS (LNAI), vol. 10383, pp. 193–207. Springer, Cham (2017). CrossRefGoogle Scholar
  13. 13.
    Kaliszyk, C., Pąk, K., Urban, J.: Towards a Mizar environment for Isabelle: foundations and language. In: Avigad, J., Chlipala, A. (eds.) Proceedings of the 5th Conference on Certified Programs and Proofs (CPP 2016), pp. 58–65. ACM (2016)Google Scholar
  14. 14.
    Kaliszyk, C., Pąk, K.: Progress in the independent certification of Mizar mathematical library in Isabelle. In: Ganzha, M., Maciaszek, L.A., Paprzycki, M. (eds.) Proceedings of the Federated Conference on Computer Science and Information Systems (FedCSIS 2017), pp. 227–236 (2017)Google Scholar
  15. 15.
    Kaliszyk, C., Urban, J.: MizAR 40 for Mizar 40. J. Autom. Reason. 55(3), 245–256 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Kaliszyk, C., Wiedijk, F.: Merging procedural and declarative proof. In: Berardi, S., Damiani, F., de’Liguoro, U. (eds.) TYPES 2008. LNCS, vol. 5497, pp. 203–219. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  17. 17.
    Korniłowicz, A., Schwarzweller, C.: Computers and algorithms in Mizar. Mech. Math. Appl. 4(1), 43–50 (2005)Google Scholar
  18. 18.
    Lammich, P.: Refinement to imperative/HOL. In: Urban, C., Zhang, X. (eds.) ITP 2015. LNCS, vol. 9236, pp. 253–269. Springer, Cham (2015). Google Scholar
  19. 19.
    Lee, G., Rudnicki, P.: Alternative aggregates in Mizar. In: Kauers, M., Kerber, M., Miner, R., Windsteiger, W. (eds.) Calculemus/MKM -2007. LNCS (LNAI), vol. 4573, pp. 327–341. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  20. 20.
    Megill, N.D.: Metamath: A Computer Language for Pure Mathematics. Lulu Press, Morrisville (2007)Google Scholar
  21. 21.
    Nakamura, Y., Trybulec, A.: A mathematical model of CPU. Formaliz. Math. 3(2), 151–160 (1992)Google Scholar
  22. 22.
    Pąk, K.: Automated improving of proof legibility in the Mizar system. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 373–387. Springer, Cham (2014). CrossRefGoogle Scholar
  23. 23.
    Sacerdoti-Coen, C., Tassi, E.: Formalising overlap algebras in Matita. Math. Struct. Comput. Sci. 21(4), 763–793 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Wenzel, M., Paulson, L.C., Nipkow, T.: The Isabelle framework. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 33–38. Springer, Heidelberg (2008). CrossRefGoogle Scholar
  25. 25.
    Wiedijk, F.: Mizar’s soft type system. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 383–399. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  26. 26.
    Xu, J., Zhang, X., Urban, C.: Mechanising turing machines and computability theory in Isabelle/HOL. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 147–162. Springer, Heidelberg (2013). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Universität InnsbruckInnsbruckAustria
  2. 2.Uniwersytet w BiałymstokuBiałystokPoland

Personalised recommendations