Skip to main content

Maintaining a Library of Formal Mathematics

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 12236))

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).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://leanprover-community.github.io/mathlib_stats.html.

  2. 2.

    https://leanprover-community.github.io/mathlib_docs/.

References

  1. 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

    Chapter  Google Scholar 

  2. Avigad, J., de Moura, L., Kong, S.: Theorem Proving in Lean. Carnegie Mellon University (2014)

    Google Scholar 

  3. 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

    Article  MathSciNet  MATH  Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. 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

  6. Cohen, C., Sakaguchi, K., Tassi, E.: Hierarchy Builder: algebraic hierarchies made easy in Coq with Elpi, February 2020. https://hal.inria.fr/hal-02478907

  7. 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

  8. 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

    Article  Google Scholar 

  9. 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

    Article  MathSciNet  MATH  Google Scholar 

  10. 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

  11. 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

  12. 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)

    Google Scholar 

  13. Mahboubi, A., Tassi, E.: Mathematical Components (2017)

    Google Scholar 

  14. Marlow, S., Peyton-Jones, S.: The Glasgow Haskell Compiler. In: Brown, A., Wilson, G. (eds.) The Architecture of Open Source Applications, Volume II (2012)

    Google Scholar 

  15. The mathlib Community: The Lean mathematical library. In: CPP, pp. 367–381. ACM, New York(2020). https://doi.org/10.1145/3372885.3373824

  16. 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

    Chapter  Google Scholar 

  17. 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

    Book  MATH  Google Scholar 

  18. 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

  19. Sakaguchi, K.: Validating mathematical structures. arXiv (2020). https://arxiv.org/abs/2002.00620

  20. Selsam, D., Ullrich, S., de Moura, L.: Tabled typeclass resolution (2020). https://arxiv.org/abs/2001.04301

  21. 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

  22. Wenzel, M.: Isabelle technology for the Archive of Formal Proofs with application to MMT (2019). https://arxiv.org/abs/1905.07244

Download references

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

Authors

Corresponding author

Correspondence to Robert Y. Lewis .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics