A Fully Automatic Theorem Prover with Human-Style Output

  • M. GanesalingamEmail author
  • W. T. Gowers
Part of the Mathematics Education in the Digital Era book series (MEDE, volume 14)


This paper describes a program that solves elementary mathematical problems, mostly in metric space theory, and presents solutions that are hard to distinguish from solutions that might be written by human mathematicians.


ATP Automated theorem proving Human-oriented Human-oriented theorem proving Human-like output 



Research supported by a Royal Society 2010 Anniversary Research Professorship.


  1. Asher, N., & Lascarides, A. (2003). Logics of conversation. Cambridge: Cambridge University Press.Google Scholar
  2. Ballantyne, A. M., & Bledsoe, W. W. (1977). Automatic proofs of theorems in analysis using non-standard techniques. Journal of ACM, 24(3), 353–374.Google Scholar
  3. Beeson, M. (1998). Automatic generation of epsilon-delta proofs of continuity. In J. Calmet & J. A. Plaza (Eds.), Proceedings of the International Conference on Artificial Intelligence and Symbolic Computation (AISC ’98) (pp. 67–83). London, UK: Springer.Google Scholar
  4. Beeson, M. (2001). Automatic derivation of the irrationality of e. Journal of Symbolic Computation, 32(4), 333–349.CrossRefGoogle Scholar
  5. Bledsoe, W. W. (1971). Splitting and reduction heuristics in automatic theorem proving. Artificial Intelligence, 2(1), 55–77.CrossRefGoogle Scholar
  6. Bledsoe, W. W. (1977a). Non-resolution theorem proving. Artificial Intelligence, 9(1), 1–35.CrossRefGoogle Scholar
  7. Bledsoe, W. W. (1997b). Set variables. In: Proceedings of the 5th International Joint Conference on Artificial Intelligence (Vol. 1, pp. 501–510). San Francisco, CA: Morgan Kaufmann Publishers Inc.
  8. Bledsoe, W. W. (1983). Using examples to generate instantiations for set variables. Proceedings of IJCAI, 83, 892–901.Google Scholar
  9. Bledsoe, W. W. (1995). A precondition prover for analogy. BioSystems, 34(1), 225–247.CrossRefGoogle Scholar
  10. Bledsoe, W. W., Boyer, R. S., & Henneman, W. H. (1972). Computer proofs of limit theorems. Artificial Intelligence, 3, 27–60.CrossRefGoogle Scholar
  11. Bledsoe, W. W., & Hodges, R. (1988). A survey of automated deduction. In H. Shrobe (Ed.), Exploring artificial intelligence (pp. 483–541). San Mateo, CA: Morgan Kaufmann Publishers Inc.Google Scholar
  12. Boyer, R. S., & Moore, J. S. (1979). A computational logic. ACM Monograph, Cambridge: Academic Press.Google Scholar
  13. Buchberger, B., Crǎciun, A., Jebelean, T., Kovács, L., Kutsia, T., Nakagawa, K., et al. (2006). Theorema: Towards computer-aided mathematical theory exploration. Journal of Applied Logic, 4(4), 470–504.CrossRefGoogle Scholar
  14. Bundy, A. (2011). Automated theorem provers: A practical tool for the working mathematician? Annals of Mathematics and Artificial Intelligence, 61(1), 3–14.CrossRefGoogle Scholar
  15. Clarke, E., & Zhao, X. (1992). Analytica–A theorem prover in Mathematica. Berlin: Springer.Google Scholar
  16. Felty, A., & Miller, D. (1987). Proof explanation and revision. Technical Report MS-CIS-88-17, University of Pennsylvania.Google Scholar
  17. Ganesalingam, M. (2013). The language of mathematics. Berlin: Springer.Google Scholar
  18. Gonthier, G. (2019). A computer-checked proof of the four colour theorem.
  19. Gonthier, G., Asperti, A., Avigad, J., Bertot, Y., Cohen, C., Garillot, F., et al. (2013). A machine-checked proof of the odd order theorem. In S. Blazy, C. Paulin-Mohring & D. Pichardie (Eds.), Interactive theorem proving (pp. 163–179). Berlin: Springer.Google Scholar
  20. Grice, H. P. (1975). Logic and conversation. In P. Cole & J. L. Morgan (Eds.), Syntax and semantics (Vol. 3, pp. 41–58). New York: Academic Press.Google Scholar
  21. Hales, T., Adams, M., Bauer, G., Dang, D.T., Harrison, J., Hoang, T.L., et al. (2015). A formal proof of the Kepler conjecture.
  22. Holland-Minkley, A. M., Barzilay, R., Constable, R. L. (1999). Verbalization of high-level formal proofs. In Proceedings of Sixteenth National Conference on Artificial Intelligence (pp. 277–284).Google Scholar
  23. Humayoun, M., & Raffalli, C. (2010). MathNat—Mathematical text in a controlled natural language. In Special issue: Natural Language Processing and its Applications(Vol. 46, pp. 293–307).Google Scholar
  24. Knott, A. (1996). A data-driven methodology for motivating a set of coherence relations. Ph.D. thesis, University of Edinburgh.Google Scholar
  25. Kuhlwein, D., Cramer, M., Koepke, P., & Schröder, B. (2009). The Naproche system.
  26. Mancosu, P. (Ed.) (2008). Mathematical explanation: Why it matters. In The Philosophy of Mathematical Practice (pp. 134–149). Oxford: Oxford University Press.Google Scholar
  27. Owen, E., & Sweller, J. (1985). What do students learn while solving mathematics problems? Journal of Educational Psychology, 77(3), 272–284.CrossRefGoogle Scholar
  28. Paulson, L. C. (1987). Logic and computation: Interactive proof with Cambridge LCF. Cambridge: Cambridge University Press.Google Scholar
  29. Reiter, E., & Dale, R. (2000). Building natural language generation systems. Cambridge: Cambridge University Press.Google Scholar
  30. Sweller, J., Mawer, R. F., & Ward, M. R. (1983). Development of expertise in mathematical problem solving. Journal of Experimental Psychology: General, 112(4), 639–661.CrossRefGoogle Scholar
  31. Trybulec, A. (1978). The Mizar-QC/6000 logic information language. ALLC Bulletin (Association for Literary and Linguistic Computing), 6(2), 136–140.Google Scholar
  32. Vershinin, K., & Paskevich, A. (2000). Forthel—The language of formal theories. International Journal of Information Theories and Applications, 7(3), 120–126.Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Trinity CollegeCambridgeUK
  2. 2.Department of Pure Mathematics and Mathematical StatisticsUniversity of CambridgeCambridgeUK

Personalised recommendations