Abstract
In order to work with mathematical content in computer systems, it is necessary to represent it in formal languages. Ideally, these are supported by tools that verify the correctness of the content, allow computing with it, and produce human-readable documents. These goals are challenging to combine and state-of-the-art tools typically have to make difficult compromises.
In this paper we discuss languages that have been created for this purpose, including logical languages of proof assistants and other formal systems, semi-formal languages, intermediate languages for exchanging mathematical knowledge, and language frameworks that allow building customized languages.
We evaluate their advantages based on our experience in designing and applying languages and tools for formalizing mathematics. We reach the conclusion that no existing language is truly good enough yet and derive ideas for possible future improvements.
C. Kaliszyk—Supported by ERC starting grant no. 714034 SMART.
F. Rabe—Supported by DFG grant RA-1872/3-1 OAF and EU grant Horizon 2020 ERI 676541 OpenDreamKit.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Ausbrooks, R., et al.: Mathematical Markup Language (MathML) Version 3.0. Technical report, World Wide Web Consortium (2010). http://www.w3.org/TR/MathML3
Abrial, J.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Arthan, R.: ProofPower. http://www.lemma-one.com/ProofPower/
Asperti, A., Coen, C.S., Tassi, E., Zacchiroli, S.: Crafting a proof assistant. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 18–32. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74464-1_2
Buswell, S., Caprotti, O., Carlisle, D., Dewar, M., Gaetano, M., Kohlhase, M.: The Open Math Standard, Version 2.0. Technical report, The Open Math Society (2004). http://www.openmath.org/standard/om20
Boespflug, M., Carbonneaux, Q., Hermant, O.: The \(\lambda \varPi \)-calculus modulo as a universal proof language. In: Pichardie, D., Weber, T. (eds.) Proceedings of PxTP2012: Proof Exchange for Theorem Proving, pp. 28–43 (2012)
Brown, C., Kaliszyk, C., Pąk, K.: Higher-order Tarski Grothendieck as a foundation for formal proof. In: Harrison, J., O’Leary, J., Tolmach, A. (eds.) Interactive Theorem Proving. LIPIcs, vol. 141, pp. 9:1–9:16 (2019)
Berčič, K., Kohlhase, M., Rabe, F.: Towards a unified mathematical data infrastructure: database and interface generation. In: Kaliszyk, C., Brady, E., Kohlhase, A., Sacerdoti Coen, C. (eds.) CICM 2019. LNCS (LNAI), vol. 11617, pp. 28–43. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23250-4_3
Benzmüller, C., Rabe, F., Sutcliffe, G.: THF0 – the core of the TPTP language for higher-order logic. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 491–506. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-71070-7_41
Constable, R., et al.: Implementing Mathematics with the Nuprl Development System. Prentice-Hall, Upper Saddle River (1986)
Curry, H., Feys, R.: Combinatory Logic. North-Holland, Amsterdam (1958)
Cramer, M., Fisseni, B., Koepke, P., Kühlwein, D., Schröder, B., Veldman, J.: The Naproche project controlled natural language proof checking of mathematical texts. In: Fuchs, N.E. (ed.) CNL 2009. LNCS (LNAI), vol. 5972, pp. 170–186. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14418-9_11
Coquand, T., Huet, G.: The calculus of constructions. Inf. Comput. 76(2/3), 95–120 (1988)
Codescu, M., Horozal, F., Kohlhase, M., Mossakowski, T., Rabe, F.: Project abstract: logic atlas and integrator (LATIN). In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) CICM 2011. LNCS (LNAI), vol. 6824, pp. 289–291. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22673-1_24
Church, A.: A formulation of the simple theory of types. J. Symb. Log. 5(1), 56–68 (1940)
Coq Development Team: The Coq proof assistant: reference manual. Technical report, INRIA (2015)
Dunchev, C., Guidi, F., Sacerdoti Coen, C., Tassi, E.: ELPI: fast, embeddable, \(\lambda \)prolog interpreter. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 460–468. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48899-7_32
Dehaye, P.-O., et al.: Interoperability in the OpenDreamKit project: the math-in-the-middle approach. In: Kohlhase, M., Johansson, M., Miller, B., de de Moura, L., Tompa, F. (eds.) CICM 2016. LNCS (LNAI), vol. 9791, pp. 117–131. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42547-4_9
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
Common Logic editors: Common Logic (CL) – A framework for a family of logic-based languages. Technical Report 24707, ISO/IEC (2007)
Farmer, W., Guttman, J., Thayer, F.: IMPS: an interactive mathematical proof system. J. Autom. Reason. 11(2), 213–248 (1993)
Gonthier, G., et al.: A machine-checked proof of the odd order theorem. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 163–179. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39634-2_14
Ganesalingam, M.: The language of mathematics. In: Ganesalingam, M. (ed.) The Language of Mathematics. LNCS, vol. 7805, pp. 17–38. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37012-0_2
Ginev, D., Corneli, J.: NNexus reloaded. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 423–426. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08434-3_31
Garillot, F., Gonthier, G., Mahboubi, A., Rideau, L.: Packaging mathematical structures. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 327–342. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03359-9_23
Ginev, D., et al.: The SMGloM project and system: towards a terminology and ontology for mathematics. In: Greuel, G.-M., Koch, T., Paule, P., Sommese, A. (eds.) ICMS 2016. LNCS, vol. 9725, pp. 451–457. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42432-3_58
Gauthier, T., Kaliszyk, C.: Sharing HOL4 and HOL light proof knowledge. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 372–386. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48899-7_26
Gauthier, T., Kaliszyk, C.: Aligning concepts across proof assistant libraries. J. Symb. Comput. 90, 89–123 (2019)
Hales, T.: Dense Sphere Packings: A Blueprint for Formal Proofs. London Mathematical Society Lecture Note Series, vol. 400. Cambridge University Press (2012)
Hales, T.: Developments in formal proofs. Séminaire Bourbaki, 1086, 2013–2014. arxiv.org/abs/1408.6474
Hales, T.: The formal abstracts project (2017). https://formalabstracts.github.io/
Harrison, J.: HOL light: a tutorial introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 265–269. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0031814
Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. J. Assoc. Comput. Mach. 40(1), 143–184 (1993)
HOL4 development team. https://hol-theorem-prover.org/
Howard, W.: The formulas-as-types notion of construction. In: To, H.B. (ed.) Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism, pp. 479–490. Academic Press, Cambridge (1980)
Horn, P., Roozemond, D.: OpenMath in SCIEnce: SCSCP and POPCORN. In: Carette, J., Dixon, L., Coen, C.S., Watt, S.M. (eds.) CICM 2009. LNCS (LNAI), vol. 5625, pp. 474–479. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02614-0_38
Horozal, F., Rabe, F.: Formal logic definitions for interchange languages. In: Kerber, M., Carette, J., Kaliszyk, C., Rabe, F., Sorge, V. (eds.) CICM 2015. LNCS (LNAI), vol. 9150, pp. 171–186. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-20615-8_11
Humayoun, M.: Developing system MathNat for automatic formalization of mathematical texts. Ph.D. thesis, Université de Grenoble (2012)
Hurd, J.: OpenTheory: package management for higher order logic theories. In: Dos Reis, G., Théry, L. (eds.) Programming Languages for Mechanized Mathematics Systems, pp. 31–37. ACM (2009)
Iancu, M., Kohlhase, M., Rabe, F.: Translating the Mizar Mathematical Library into OMDoc format. Technical Report KWARC Report-01/11, Jacobs University Bremen (2011)
Klein, G., et al.: Comprehensive formal verification of an OS microkernel. ACM Trans. Comput. Syst. 32(1), 2 (2014)
Kaliszyk, C., Kohlhase, M., Müller, D., Rabe, F.: A standard for aligning mathematical concepts. In: Kohlhase, A., et al. (eds.) Work in Progress at CICM 2016, pp. 229–244. CEUR-WS.org (2016)
Kaufmann, M., Manolios, P., Moore, J.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, Boston (2000)
Kohlhase, M., Müller, D., Owre, S., Rabe, F.: Making PVS accessible to generic services by interpretation in a universal format. In: Ayala-Rincón, M., Muñoz, C.A. (eds.) ITP 2017. LNCS, vol. 10499, pp. 319–335. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66107-0_21
Kohlhase, M., et al.: Knowledge-based interoperability for mathematical software systems. In: Blömer, J., Kotsireas, I.S., Kutsia, T., Simos, D.E. (eds.) MACIS 2017. LNCS, vol. 10693, pp. 195–210. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-72453-9_14
Kofler, K., Neumaier, A.: DynGenPar – a dynamic generalized parser for common mathematical language. In: Jeuring, J., et al. (eds.) CICM 2012. LNCS (LNAI), vol. 7362, pp. 386–401. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31374-5_26
Knuth, D.: Literate programming. Comput. J. 27(2), 97–111 (1984)
Kohlhase, M.: OMDoc – An Open Markup Format for Mathematical Documents [version 1.2]. LNCS (LNAI), vol. 4180. Springer, Heidelberg (2006). https://doi.org/10.1007/11826095
Kohlhase, M.: Using as a semantic markup format. Math. Comput. Sci. 2(2), 279–304 (2008)
Kaliszyk, C., Pąk, K.: Semantics of Mizar as an Isabelle object logic. J. Autom. Reason. 63(3), 557–595 (2019)
Kaliszyk, C., Pąk, K.: Declarative proof translation (short paper). In: Harrison, J., O’Leary, J., Tolmach, A. (eds.) 10th International Conference on Interactive Theorem Proving (ITP 2019). LIPIcs, vol. 141, pp. 35:1–35:7 (2019)
Kamp, H., Reyle, U.: From Discourse to Logic. Introduction to Modeltheoretic Semantics of Natural Language, Formal Logic and Discourse Representation Theory, Studies in Linguistics and Philosophy, vol. 42. Springer, Heidelberg (1993). https://doi.org/10.1007/978-94-017-1616-1
Kaliszyk, C., Rabe, F.: Towards knowledge management for HOL light. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 357–372. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08434-3_26
Kohlhase, M., Rabe, F.: QED reloaded: towards a pluralistic formal library of mathematical knowledge. J. Form. Reason. 9(1), 201–234 (2016)
Kohlhase, M., Rabe, F.: Experiences from Exporting Major Proof Assistant Libraries (2020). https://kwarc.info/people/frabe/Research/KR_oafexp_20.pdf
Kaliszyk, C., Rabe, F., Sutcliffe, G.: TH1: the TPTP typed higher-order form with rank-1 polymorphism. In: Fontaine, P., Schulz, S., Urban, J. (eds.) Workshop on Practical Aspects of Automated Reasoning, pp. 41–55 (2016)
Kohlhase, M., Rabe, F., Sacerdoti Coen, C., Schaefer, J.: Logic-independent proof search in logical frameworks (short paper). In: Peltier, N., Sofronie-Stokkermans, V. (ed.) Automated Reasoning, vol. 12166, pp. 395–401. Springer (2020)
Kohlhase, M., Rabe, F., Wenzel, M.: Making Isabelle Content Accessible in Knowledge in Representation Formats (2020). https://kwarc.info/people/frabe/Research/KRW_isabelle_19.pdf
Kohlhase, M., Schaefer, J.: GF + MMT = GLF - from language to semantics through LF. In: Miller, D., Scagnetto, I. (eds.) Logical Frameworks and Meta-Languages: Theory and Practice, pp. 24–39. Open Publishing Association (2019)
Kaliszyk, C., Urban, J., Vyskočil, J.: Automating formalization by statistical and semantic parsing of mathematics. In: Ayala-Rincón, M., Muñoz, C.A. (eds.) ITP 2017. LNCS, vol. 10499, pp. 12–27. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66107-0_2
Kamareddine, F., Wells, J.: Computerizing mathematical text with MathLang. In: Ayala-Rincón, M., Haeusler, E. (eds.) Logical and Semantic Frameworks, with Applications, pp. 5–30. ENTCS (2008)
Kamareddine, F., Wells, J., Zengler, C., Barendregt, H.: Computerising mathematical text. In: Siekmann, J. (ed.) Computational Logic. Elsevier (2014)
Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)
Linton, S.: GAP: groups, algorithms, programming. ACM Commun. Comput. Algebr. 41(3), 108–109 (2007)
Megill, N.: Metamath: A Computer Language for Pure Mathematics. Lulu Press, Morrisville (2007)
Milner, R.: Logic for computable functions: descriptions of a machine implementation. ACM SIGPLAN Not. 7, 1–6 (1972)
Martin-Löf, P.: An intuitionistic theory of types: predicative part. In: Proceedings of the ’73 Logic Colloquium, pp. 73–118. North-Holland (1974)
Miller, D.A., Nadathur, G.: Higher-order logic programming. In: Shapiro, E. (ed.) ICLP 1986. LNCS, vol. 225, pp. 448–462. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-16492-8_94
Müller, D., Rabe, F.: Rapid prototyping formal systems in MMT: case studies. In: Miller, D., Scagnetto, I. (eds.) Logical Frameworks and Meta-languages: Theory and Practice, pp. 40–54 (2019)
Müller, D., Rabe, F., Kohlhase, M.: Theories as types. In: Galmiche, D., Schulz, S., Sebastiani, R. (eds.) IJCAR 2018. LNCS (LNAI), vol. 10900, pp. 575–590. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94205-6_38
Müller, D., Rothgang, C., Liu, Y., Rabe, F.: Alignment-based translations across formal systems using interface theories. In: Dubois, C., Woltzenlogel Paleo, B. (eds.) Proof eXchange for Theorem Proving, pp. 77–93. Open Publishing Association (2017)
Müller, D., Rabe, F., Sacerdoti Coen, C.: The Coq library as a theory graph. In: Kaliszyk, C., Brady, E., Kohlhase, A., Sacerdoti Coen, C. (eds.) CICM 2019. LNCS (LNAI), vol. 11617, pp. 171–186. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23250-4_12
Naumowicz, A.: SAT-enhanced Mizar proof checking. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 449–452. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08434-3_37
Norell, U.: The Agda WiKi (2005). http://wiki.portal.chalmers.se/agda
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
Owre, S., Rushby, J.M., Shankar, N.: PVS: a prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55602-8_217
Paulson, L.: Isabelle: A Generic Theorem Prover. LNCS, vol. 828. Springer, Heidelberg (1994). https://doi.org/10.1007/BFb0030541
Paulson, L., Coen, M.: Zermelo-Fraenkel Set Theory. Isabelle distribution, ZF/ZF.thy (1993)
Pfenning, F., Schürmann, C.: System description: Twelf - a meta-logical framework for deductive systems. In: Ganzinger, H. (ed.) Automated Deduction, pp. 202–206 (1999)
Rabe, F.: A logical framework combining model and proof theory. Math. Struct. Comput. Sci. 23(5), 945–1001 (2013)
Rabe, F.: How to identify, translate, and combine logics? J. Log. Comput. 27(6), 1753–1798 (2017)
Rabe, F.: A Modular type reconstruction algorithm. ACM Trans. Comput. Log. 19(4), 1–43 (2018)
Ranta, A.: Grammatical Framework: Programming with Multilingual Grammars. CSLI Publications, Stanford (2011)
Rabe, F., Kohlhase, M.: A scalable module system. Inf. Comput. 230(1), 1–54 (2013)
Rabe, F., Schürmann, C.: A practical module system for LF. In: Cheney, J., Felty, A. (eds.) Proceedings of the Workshop on Logical Frameworks: Meta-Theory and Practice (LFMTP), pp. 40–48. ACM Press (2009)
Stein, W., et al.: Sage Mathematics Software. The Sage Development Team (2013). http://www.sagemath.org
Sutcliffe, G., Schulz, S., Claessen, K., Baumgartner, P.: The TPTP typed first-order form with arithmetic. In: Bjørner, N., Voronkov, A. (eds.) LPAR 2012. LNCS, vol. 7180, pp. 406–419. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28717-6_32
Sutcliffe, G.: The TPTP problem library and associated infrastructure: the FOF and CNF Parts, v3.5.0. J. Autom. Reason. 43(4), 337–362 (2009)
Trybulec, A., Blair, H.: Computer assisted reasoning with MIZAR. In: Joshi, A. (eds.) Proceedings of the 9th International Joint Conference on Artificial Intelligence, pp. 26–28. Morgan Kaufmann (1985)
Wenzel, M.: Isabelle as document-oriented proof assistant. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) CICM 2011. LNCS (LNAI), vol. 6824, pp. 244–259. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22673-1_17
Wiedijk, F.: The QED manifesto revisited. In: From Insight to Proof, Festschrift in Honour of Andrzej Trybulec, pp. 121–133 (2007)
Windsteiger, W.: Theorema 2.0: a system for mathematical theory exploration. In: Hong, H., Yap, C. (eds.) ICMS 2014. LNCS, vol. 8592, pp. 49–52. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44199-2_9
Wiesing, T., Kohlhase, M., Rabe, F.: Virtual theories – a uniform interface to mathematical knowledge bases. In: Blömer, J., Kotsireas, I.S., Kutsia, T., Simos, D.E. (eds.) MACIS 2017. LNCS, vol. 10693, pp. 243–257. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-72453-9_17
Wang, Q., Kaliszyk, C., Urban, J.: First experiments with neural translation of informal to formal mathematics. In: Rabe, F., Farmer, W.M., Passmore, G.O., Youssef, A. (eds.) CICM 2018. LNCS (LNAI), vol. 11006, pp. 255–270. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96812-4_22
Wolfram. Mathematica (2012)
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
Kaliszyk, C., Rabe, F. (2020). A Survey of Languages for Formalizing 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_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-53518-6_9
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)