Abstract
The Lean mathematical library mathlib is developed by a community of users with very different backgrounds and levels of experience. To lower the barrier of entry for contributors and to lessen the burden of reviewing contributions, we have developed a number of tools for the library which check proof developments for subtle mistakes in the code and generate documentation suited for our varied audience.
The first author is supported by the Sloan Foundation (grant G-2018-10067). The second and third authors receive support from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (grant agreement No. 713999, Matryoshka) and from the Dutch Research Council (NWO) under the Vidi program (project No. 016.Vidi.189.037, Lean Forward).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Andronick, J.: Successes in deployed verified software (and insights on key social factors). In: ter Beek, M.H., McIver, A., Oliveira, J.N. (eds.) FM 2019. LNCS, vol. 11800, pp. 11–17. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-30942-8_2
Avigad, J., de Moura, L., Kong, S.: Theorem Proving in Lean. Carnegie Mellon University (2014)
Bancerek, G., et al.: The role of the Mizar Mathematical Library for interactive proof development in Mizar. J. Autom. Reasoning 61(1–4), 9–32 (2018). https://doi.org/10.1007/s10817-017-9440-6
Bourke, T., Daum, M., Klein, G., Kolanski, R.: Challenges and experiences in managing large-scale proofs. In: Jeuring, J., et al. (eds.) CICM 2012. LNCS (LNAI), vol. 7362, pp. 32–48. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31374-5_3
Buzzard, K., Commelin, J., Massot, P.: Formalising perfectoid spaces. In: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2020, pp. 299–312. Association for Computing Machinery, New York (2020). https://doi.org/10.1145/3372885.3373830
Cohen, C., Sakaguchi, K., Tassi, E.: Hierarchy Builder: algebraic hierarchies made easy in Coq with Elpi, February 2020. https://hal.inria.fr/hal-02478907
Dahmen, S.R., Hölzl, J., Lewis, R.Y.: Formalizing the solution to the cap set problem. In: Harrison, J., O’Leary, J., Tolmach, A. (eds.) 10th International Conference on Interactive Theorem Proving (ITP 2019). Leibniz International Proceedings in Informatics (LIPIcs), vol. 141, pp. 15:1–15:19. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2019). https://doi.org/10.4230/LIPIcs.ITP.2019.15
Ebner, G., Ullrich, S., Roesch, J., Avigad, J., de Moura, L.: A metaprogramming framework for formal verification. PACMPL 1(ICFP), 34:1–34:29 (2017). https://doi.org/10.1145/3110278
Giesl, J., et al.: Analyzing program termination and complexity automatically with AProVE. J. Autom. Reasoning 58(1), 3–31 (2017). https://doi.org/10.1007/s10817-016-9388-y
Gonthier, G., et al.: A machine-checked proof of the odd order theorem. In: ITP 2013, pp. 163–179 (2013). https://doi.org/10.1007/978-3-642-39634-2_14
Han, J.M., van Doorn, F.: A formal proof of the independence of the continuum hypothesis. In: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2020, pp. 353–366. Association for Computing Machinery, New York (2020). https://doi.org/10.1145/3372885.3373826
Kaliszyk, C., Sternagel, T.: Initial experiments on deriving a complete HOL simplification set. In: Blanchette, J.C., Urban, J. (eds.) PxTP 2013. EPiC Series in Computing, vol. 14, pp. 77–86. EasyChair (2013)
Mahboubi, A., Tassi, E.: Mathematical Components (2017)
Marlow, S., Peyton-Jones, S.: The Glasgow Haskell Compiler. In: Brown, A., Wilson, G. (eds.) The Architecture of Open Source Applications, Volume II (2012)
The mathlib Community: The Lean mathematical library. In: CPP, pp. 367–381. ACM, New York(2020). https://doi.org/10.1145/3372885.3373824
de Moura, L., Kong, S., Avigad, J., van Doorn, F., von Raumer, J.: The Lean theorem prover (system description). In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 378–388. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21401-6_26
Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL - A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9
Ringer, T., Palmskog, K., Sergey, I., Gligoric, M., Tatlock, Z.: QED at large: a survey of engineering of formally verified software. Found. Trends® Program. Lang. 5(2–3), 102–281 (2019). https://doi.org/10.1561/2500000045
Sakaguchi, K.: Validating mathematical structures. arXiv (2020). https://arxiv.org/abs/2002.00620
Selsam, D., Ullrich, S., de Moura, L.: Tabled typeclass resolution (2020). https://arxiv.org/abs/2001.04301
Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad-hoc. In: Proceedings of POPL 1989, pp. 60–76 (1989). https://doi.org/10.1145/75277.75283
Wenzel, M.: Isabelle technology for the Archive of Formal Proofs with application to MMT (2019). https://arxiv.org/abs/1905.07244
Acknowledgments
We thank Jeremy Avigad and Jasmin Blanchette for comments on a draft of this paper, and Bryan Gin-ge Chen for many contributions to the mathlib documentation effort.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
van Doorn, F., Ebner, G., Lewis, R.Y. (2020). Maintaining a Library of Formal Mathematics. In: Benzmüller, C., Miller, B. (eds) Intelligent Computer Mathematics. CICM 2020. Lecture Notes in Computer Science(), vol 12236. Springer, Cham. https://doi.org/10.1007/978-3-030-53518-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-030-53518-6_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-53517-9
Online ISBN: 978-3-030-53518-6
eBook Packages: Computer ScienceComputer Science (R0)