A Neurally-Guided, Parallel Theorem Prover

  • Michael RawsonEmail author
  • Giles Reger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11715)


We present a prototype of a neurally-guided automatic theorem prover for first-order logic with equality. The prototype uses a neural network trained on previous proof search attempts to evaluate subgoals based directly on their structure, and hence bias proof search toward success. An existing first-order theorem prover is employed to dispatch easy subgoals and prune branches which cannot be solved. Exploration of the search space is asynchronous with respect to both the evaluation network and the existing prover, allowing for efficient batched neural network execution and for natural parallelism within the prover. Evaluation on the MPTP dataset shows that the prover can improve with learning.


ATP Graph Convolutional Network Tableaux MCTS 



The authors wish to thank Josef Urban and his group in ČVUT, Prague for their help and encouragement with early iterations of this work, and for supplying the Mizar dataset used in this paper.


  1. 1.
    Barendregt, H.P., et al.: The Lambda Calculus. North-Holland, Amsterdam (1984)zbMATHGoogle Scholar
  2. 2.
    Bowman, S.R., Potts, C., Manning, C.D.: Recursive neural networks can learn logical semantics. arXiv preprint arXiv:1406.1827 (2014)
  3. 3.
    Bridge, J.P., Holden, S.B., Paulson, L.C.: Machine learning for first-order theorem proving. J. Autom. Reason. 53(2), 141–172 (2014)CrossRefGoogle Scholar
  4. 4.
    de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). Scholar
  5. 5.
    Defferrard, M., Bresson, X., Vandergheynst, P.: Convolutional neural networks on graphs with fast localized spectral filtering. In: Advances in Neural Information Processing Systems, pp. 3844–3852 (2016)Google Scholar
  6. 6.
    Deters, M., Reynolds, A., King, T., Barrett, C.W., Tinelli, C.: A tour of CVC4: how it works, and how to use it. In: Formal Methods in Computer-Aided Design, FMCAD 2014, Lausanne, Switzerland, 21–24 October 2014, p. 7 (2014)Google Scholar
  7. 7.
    Evans, R., Saxton, D., Amos, D., Kohli, P., Grefenstette, E.: Can neural networks understand logical entailment? arXiv preprint arXiv:1802.08535 (2018)
  8. 8.
    Färber, M., Kaliszyk, C., Urban, J.: Monte Carlo connection prover. arXiv preprint arXiv:1611.05990 (2016)
  9. 9.
    Fey, M., Lenssen, J.E.: Fast graph representation learning with PyTorch geometric. In: ICLR Workshop on Representation Learning on Graphs and Manifolds (2019)Google Scholar
  10. 10.
    Gao, H., Ji, S.: Graph U-Net (2018). Preprint:
  11. 11.
    Ge, Y., de Moura, L.: Complete instantiation for quantified formulas in satisfiabiliby modulo theories. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 306–320. Springer, Heidelberg (2009). Scholar
  12. 12.
    Grabowski, A., Kornilowicz, A., Naumowicz, A.: Mizar in a nutshell. J. Formalized Reason. 3(2), 153–245 (2010)MathSciNetzbMATHGoogle Scholar
  13. 13.
    Haykin, S.: Neural Networks: A Comprehensive Foundation. Prentice Hall PTR, Upper Saddle River (1994)zbMATHGoogle Scholar
  14. 14.
    Irving, G., Szegedy, C., Alemi, A.A., Een, N., Chollet, F., Urban, J.: DeepMath – deep sequence models for premise selection. In: Advances in Neural Information Processing Systems, pp. 2235–2243 (2016)Google Scholar
  15. 15.
    Jakubův, J., Urban, J.: ENIGMA: efficient learning-based inference guiding machine. In: Geuvers, H., England, M., Hasan, O., Rabe, F., Teschke, O. (eds.) CICM 2017. LNCS (LNAI), vol. 10383, pp. 292–302. Springer, Cham (2017). Scholar
  16. 16.
    Kaliszyk, C., Urban, J.: FEMaLeCoP: fairly efficient machine learning connection prover. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 88–96. Springer, Heidelberg (2015). Scholar
  17. 17.
    Kaliszyk, C., Urban, J., Michalewski, H., Olšák, M.: Reinforcement learning of theorem proving. In: Advances in Neural Information Processing Systems, pp. 8822–8833 (2018)Google Scholar
  18. 18.
    Kinyon, M., Veroff, R., Vojtěchovský, P.: Loops with Abelian inner mapping groups: an application of automated deduction. In: Bonacina, M.P., Stickel, M.E. (eds.) Automated Reasoning and Mathematics. LNCS (LNAI), vol. 7788, pp. 151–164. Springer, Heidelberg (2013). Scholar
  19. 19.
    Kipf, T.N., Welling, M.: Semi-supervised classification with graph convolutional networks. arXiv preprint arXiv:1609.02907 (2016)
  20. 20.
    Komendantskaya, E., Heras, J.: Proof mining with dependent types. In: Geuvers, H., England, M., Hasan, O., Rabe, F., Teschke, O. (eds.) CICM 2017. LNCS (LNAI), vol. 10383, pp. 303–318. Springer, Cham (2017). Scholar
  21. 21.
    Korovin, K.: iProver – an instantiation-based theorem prover for first-order logic (system description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 292–298. Springer, Heidelberg (2008). Scholar
  22. 22.
    Krizhevsky, A., Sutskever, I., Hinton, G.E.: ImageNet classification with deep convolutional neural networks. In: Advances in Neural Information Processing Systems, pp. 1097–1105 (2012)Google Scholar
  23. 23.
    Kühlwein, D., Blanchette, J.C., Kaliszyk, C., Urban, J.: MaSh: machine learning for sledgehammer. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 35–50. Springer, Heidelberg (2013). Scholar
  24. 24.
    Kühlwein, D., Schulz, S., Urban, J.: E-MaLeS 1.1. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 407–413. Springer, Heidelberg (2013). Scholar
  25. 25.
    Kühlwein, D., Urban, J.: MaLeS: a framework for automatic tuning of automated theorem provers. J. Autom. Reason. 55(2), 91–116 (2015)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Loos, S., Irving, G., Szegedy, C., Kaliszyk, C.: Deep network guided proof search. arXiv preprint arXiv:1701.06972 (2017)
  27. 27.
    Otten, J.: A non-clausal connection calculus. In: Brünnler, K., Metcalfe, G. (eds.) TABLEAUX 2011. LNCS (LNAI), vol. 6793, pp. 226–241. Springer, Heidelberg (2011). Scholar
  28. 28.
    Otten, J.: nanoCoP: A non-clausal connection prover. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS (LNAI), vol. 9706, pp. 302–312. Springer, Cham (2016). Scholar
  29. 29.
    Paszke, A., et al.: Automatic differentiation in PyTorch (2017)Google Scholar
  30. 30.
    Rawson, M., Reger, G.: Dynamic strategy priority: empower the strong and abandon the weak. In: AITP 2018 (2018)Google Scholar
  31. 31.
    Rawson, M., Reger, G.: Towards an efficient architecture for intelligent theorem provers. In: AITP 2019 (2019)Google Scholar
  32. 32.
    Reger, G., Suda, M., Voronkov, A.: The challenges of evaluating a new feature in Vampire. In: Vampire Workshop, pp. 70–74 (2014)Google Scholar
  33. 33.
    Riazanov, A., Voronkov, A.: The design and implementation of VAMPIRE. AI Commun. 15(2, 3), 91–110 (2002)zbMATHGoogle Scholar
  34. 34.
    Riazanov, A., Voronkov, A.: Limited resource strategy in resolution theorem proving. J. Symb. Comput. 36(1–2), 101–115 (2003)MathSciNetCrossRefGoogle Scholar
  35. 35.
    Robinson, A.J., Voronkov, A.: Handbook of Automated Reasoning, vol. 1. Gulf Professional Publishing, Houston (2001)zbMATHGoogle Scholar
  36. 36.
    Schlichtkrull, M., Kipf, T.N., Bloem, P., van den Berg, R., Titov, I., Welling, M.: Modeling relational data with graph convolutional networks. In: Gangemi, A., et al. (eds.) ESWC 2018. LNCS, vol. 10843, pp. 593–607. Springer, Cham (2018). Scholar
  37. 37.
    Schulz, S.: E - A brainiac theorem prover. AI Commun. 15(2, 3), 111–126 (2002)zbMATHGoogle Scholar
  38. 38.
    Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., Salakhutdinov, R.: Dropout: a simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 15(1), 1929–1958 (2014)MathSciNetzbMATHGoogle Scholar
  39. 39.
    Sun, Y., Wong, A.K., Kamel, M.S.: Classification of imbalanced data: a review. Int. J. Pattern Recogn. Artif. Intell. 23(04), 687–719 (2009)CrossRefGoogle Scholar
  40. 40.
    Sutcliffe, G., Melville, S.: The practice of clausification in automatic theorem proving (1996)Google Scholar
  41. 41.
    Suttner, C.B., Schumann, J.: Parallel automated theorem proving. Mach. Intell. Pattern Recogn. 14, 209–257 (1994). ElsevierCrossRefGoogle Scholar
  42. 42.
    Urban, J.: MPTP 0.2: design, implementation, and initial experiments. J. Autom. Reason. 37(1–2), 21–43 (2006)zbMATHGoogle Scholar
  43. 43.
    Urban, J.: MaLARea: a metasystem for automated reasoning in large theories. In: ESARLT, vol. 257 (2007)Google Scholar
  44. 44.
    Urban, J., Vyskočil, J., Štěpánek, P.: MaLeCoP machine learning connection prover. In: Brünnler, K., Metcalfe, G. (eds.) TABLEAUX 2011. LNCS (LNAI), vol. 6793, pp. 263–277. Springer, Heidelberg (2011). Scholar
  45. 45.
    Wang, M., Tang, Y., Wang, J., Deng, J.: Premise selection for theorem proving by deep graph embedding. In: Advances in Neural Information Processing Systems, pp. 2786–2796 (2017)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.University of ManchesterManchesterUK

Personalised recommendations