Advertisement

Superposition with Lambdas

  • Alexander BentkampEmail author
  • Jasmin Blanchette
  • Sophie Tourret
  • Petar Vukmirović
  • Uwe Waldmann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11716)

Abstract

We designed a superposition calculus for a clausal fragment of extensional polymorphic higher-order logic that includes anonymous functions but excludes Booleans. The inference rules work on \(\beta \eta \)-equivalence classes of \(\lambda \)-terms and rely on higher-order unification to achieve refutational completeness. We implemented the calculus in the Zipperposition prover and evaluated it on TPTP and Isabelle benchmarks. The results suggest that superposition is a suitable basis for higher-order reasoning.

Notes

Acknowledgment

Simon Cruanes patiently explained Zipperposition’s internals and allowed us to continue the development of his prover. Christoph Benzmüller and Alexander Steen shared insights and examples with us, guiding us through the literature and clarifying how the Leos work. Maria Paola Bonacina and Nicolas Peltier gave us some ideas on how to treat the extensionality axiom as a theory axiom, ideas we have yet to explore. Mathias Fleury helped us set up regression tests for Zipperposition. Ahmed Bhayat, Tomer Libal, and Enrico Tassi shared their insights on higher-order unification. Andrei Popescu and Dmitriy Traytel explained the terminology surrounding the \(\lambda \)-calculus. Haniel Barbosa, Daniel El Ouraoui, Pascal Fontaine, and Hans-Jörg Schurr were involved in many stimulating discussions. Christoph Weidenbach made this collaboration possible. Ahmed Bhayat, Mark Summerfield, and the anonymous reviewers suggested several textual improvements. We thank them all.

Bentkamp, Blanchette, and Vukmirović’s research has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (grant agreement No. 713999, Matryoshka). Bentkamp and Blanchette also benefited from the Netherlands Organization for Scientific Research (NWO) Incidental Financial Support scheme. Blanchette has received funding from the NWO under the Vidi program (project No. 016.Vidi.189.037, Lean Forward).

References

  1. 1.
    Andrews, P.B.: Resolution in type theory. J. Symb. Log. 36(3), 414–432 (1971)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Andrews, P.B.: On connections and higher-order logic. J. Autom. Reason. 5(3), 257–291 (1989)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Andrews, P.B.: Classical type theory. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. II, pp. 965–1007. Elsevier and MIT Press (2001)Google Scholar
  4. 4.
    Andrews, P.B., Bishop, M., Issar, S., Nesmith, D., Pfenning, F., Xi, H.: TPS: a theorem-proving system for classical type theory. J. Autom. Reason. 16(3), 321–353 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Bachmair, L., Ganzinger, H.: Rewrite-based equational theorem proving with selection and simplification. J. Log. Comput. 4(3), 217–247 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Backes, J., Brown, C.E.: Analytic tableaux for higher-order logic with choice. J. Autom. Reason. 47(4), 451–479 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Barbosa, H., Reynolds, A., Fontaine, P., El Ouraoui, D., Tinelli, C.: Higher-order SMT solving (work in progress). In: Dimitrova, R., D’Silva, V. (eds.) SMT 2018 (2018)Google Scholar
  8. 8.
    Becker, H., Blanchette, J.C., Waldmann, U., Wand, D.: A transfinite Knuth–Bendix order for lambda-free higher-order terms. In: de Moura, L. (ed.) CADE 2017. LNCS (LNAI), vol. 10395, pp. 432–453. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-63046-5_27CrossRefGoogle Scholar
  9. 9.
    Bentkamp, A.: Formalization of the embedding path order for lambda-free higher-order terms. Archive of Formal Proofs (2018). http://isa-afp.org/entries/Lambda_Free_EPO.html
  10. 10.
    Bentkamp, A., Blanchette, J.C., Cruanes, S., Waldmann, U.: Superposition for lambda-free higher-order logic. In: Galmiche, D., Schulz, S., Sebastiani, R. (eds.) IJCAR 2018. LNCS (LNAI), vol. 10900, pp. 28–46. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-94205-6_3CrossRefGoogle Scholar
  11. 11.
    Bentkamp, A., Blanchette, J., Tourret, S., Vukmirović, P., Waldmann, U.: Superposition with lambdas (technical report). Technical report (2019). http://matryoshka.gforge.inria.fr/pubs/lamsup_report.pdf
  12. 12.
    Benzmüller, C.: Extensional higher-order paramodulation and RUE-resolution. In: Ganzinger, H. (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 399–413. Springer, Heidelberg (1999).  https://doi.org/10.1007/3-540-48660-7_39CrossRefGoogle Scholar
  13. 13.
    Benzmüller, C., Kohlhase, M.: Extensional higher-order resolution. In: Kirchner, C., Kirchner, H. (eds.) CADE 1998. LNCS (LNAI), vol. 1421, pp. 56–71. Springer, Heidelberg (1998).  https://doi.org/10.1007/BFb0054248CrossRefGoogle Scholar
  14. 14.
    Benzmüller, C., Miller, D.: Automation of higher-order logic. In: Siekmann, J.H. (ed.) Computational Logic, Handbook of the History of Logic, vol. 9, pp. 215–254. Elsevier (2014)Google Scholar
  15. 15.
    Benzmüller, C., Paulson, L.C.: Multimodal and intuitionistic logics in simple type theory. Log. J. IGPL 18(6), 881–892 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Benzmüller, C., Sultana, N., Paulson, L.C., Theiss, F.: The higher-order prover Leo-II. J. Autom. Reason. 55(4), 389–404 (2015)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Bhayat, A., Reger, G.: Set of support for higher-order reasoning. In: Konev, B., Urban, J., Rümmer, P. (eds.) PAAR-2018. CEUR Workshop Proceedings, vol. 2162, pp. 2–16. CEUR-WS.org (2018)Google Scholar
  18. 18.
    Blanchette, J.C., Böhme, S., Popescu, A., Smallbone, N.: Encoding monomorphic and polymorphic types. Log. Meth. Comput. Sci. 12(4) (2016)Google Scholar
  19. 19.
    Blanchette, J.C., Paskevich, A.: TFF1: the TPTP typed first-order form with rank-1 polymorphism. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 414–420. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38574-2_29CrossRefGoogle Scholar
  20. 20.
    Blanchette, J.C., Waldmann, U., Wand, D.: A lambda-free higher-order recursive path order. In: Esparza, J., Murawski, A.S. (eds.) FoSSaCS 2017. LNCS, vol. 10203, pp. 461–479. Springer, Heidelberg (2017).  https://doi.org/10.1007/978-3-662-54458-7_27CrossRefGoogle Scholar
  21. 21.
    Blanqui, F., Jouannaud, J.P., Rubio, A.: The computability path ordering. Log. Meth. Comput. Sci. 11(4) (2015)Google Scholar
  22. 22.
    Böhme, S., Nipkow, T.: Sledgehammer: Judgement Day. In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS (LNAI), vol. 6173, pp. 107–121. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-14203-1_9CrossRefGoogle Scholar
  23. 23.
    Brown, C.E.: Satallax: an automatic higher-order prover. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS (LNAI), vol. 7364, pp. 111–117. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-31365-3_11CrossRefGoogle Scholar
  24. 24.
    de Bruijn, N.G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indag. Math. 75(5), 381–392 (1972)MathSciNetzbMATHCrossRefGoogle Scholar
  25. 25.
    Cervesato, I., Pfenning, F.: A linear spine calculus. J. Log. Comput. 13(5), 639–688 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  26. 26.
    Cruanes, S.: Extending superposition with integer arithmetic, structural induction, and beyond. Ph.D. thesis, École polytechnique (2015)Google Scholar
  27. 27.
    Cruanes, S.: Superposition with structural induction. In: Dixon, C., Finger, M. (eds.) FroCoS 2017. LNCS (LNAI), vol. 10483, pp. 172–188. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-66167-4_10CrossRefGoogle Scholar
  28. 28.
    Czajka, Ł., Kaliszyk, C.: Hammer for Coq: automation for dependent type theory (2018)MathSciNetzbMATHCrossRefGoogle Scholar
  29. 29.
    Dougherty, D.J.: Higher-order unification via combinators. Theor. Comput. Sci. 114(2), 273–298 (1993)MathSciNetzbMATHCrossRefGoogle Scholar
  30. 30.
    Dowek, G.: Higher-order unification and matching. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. II, pp. 1009–1062. Elsevier and MIT Press (2001)Google Scholar
  31. 31.
    Fitting, M.: Types, Tableaus, and Gödel’s God. Kluwer (2002)Google Scholar
  32. 32.
    Ganzinger, H., Stuber, J.: Superposition with equivalence reasoning and delayed clause normal form transformation. Inf. Comput. 199(1–2), 3–23 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  33. 33.
    Gupta, A., Kovács, L., Kragl, B., Voronkov, A.: Extensional crisis and proving identity. In: Cassez, F., Raskin, J.-F. (eds.) ATVA 2014. LNCS, vol. 8837, pp. 185–200. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11936-6_14zbMATHCrossRefGoogle Scholar
  34. 34.
    Henkin, L.: Completeness in the theory of types. J. Symb. Log. 15(2), 81–91 (1950)MathSciNetzbMATHCrossRefGoogle Scholar
  35. 35.
    Huet, G.P.: A mechanization of type theory. In: Nilsson, N.J. (ed.) IJCAI 1973, pp. 139–146. William Kaufmann (1973)Google Scholar
  36. 36.
    Huet, G.P.: A unification algorithm for typed lambda-calculus. Theor. Comput. Sci. 1(1), 27–57 (1975)zbMATHCrossRefGoogle Scholar
  37. 37.
    Jensen, D.C., Pietrzykowski, T.: Mechanizing \(\omega \)-order type theory through unification. Theor. Comput. Sci. 3(2), 123–171 (1976)MathSciNetzbMATHGoogle Scholar
  38. 38.
    Jouannaud, J.P., Rubio, A.: Rewrite orderings for higher-order terms in eta-long beta-normal form and recursive path ordering. Theor. Comput. Sci. 208(1–2), 33–58 (1998)zbMATHCrossRefGoogle Scholar
  39. 39.
    Jouannaud, J.P., Rubio, A.: Polymorphic higher-order recursive path orderings. J. ACM 54(1), 2:1–2:48 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  40. 40.
    Kaliszyk, C., Sutcliffe, G., Rabe, F.: TH1: the TPTP typed higher-order form with rank-1 polymorphism. In: Fontaine, P., Schulz, S., Urban, J. (eds.) PAAR 2016. CEUR Workshop Proceedings, vol. 1635, pp. 41–55. CEUR-WS.org (2016)Google Scholar
  41. 41.
    Kaliszyk, C., Urban, J.: HOL(y)Hammer: online ATP service for HOL Light. Math. Comput. Sci. 9(1), 5–22 (2015)zbMATHCrossRefGoogle Scholar
  42. 42.
    Kohlhase, M.: Higher-order tableaux. In: Baumgartner, P., Hähnle, R., Possega, J. (eds.) TABLEAUX 1995. LNCS, vol. 918, pp. 294–309. Springer, Heidelberg (1995).  https://doi.org/10.1007/3-540-59338-1_43CrossRefGoogle Scholar
  43. 43.
    Konrad, K.: Hot: a concurrent automated theorem prover based on higher-order tableaux. In: Grundy, J., Newey, M. (eds.) TPHOLs 1998. LNCS, vol. 1479, pp. 245–261. Springer, Heidelberg (1998).  https://doi.org/10.1007/BFb0055140CrossRefGoogle Scholar
  44. 44.
    Kovács, L., Voronkov, A.: First-order theorem proving and Vampire. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 1–35. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39799-8_1CrossRefGoogle Scholar
  45. 45.
    Libal, T.: Regular patterns in second-order unification. In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 557–571. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-21401-6_38CrossRefGoogle Scholar
  46. 46.
    Lindblad, F.: A focused sequent calculus for higher-order logic. In: Demri, S., Kapur, D., Weidenbach, C. (eds.) IJCAR 2014. LNCS (LNAI), vol. 8562, pp. 61–75. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08587-6_5CrossRefGoogle Scholar
  47. 47.
    Mayr, R., Nipkow, T.: Higher-order rewrite systems and their confluence. Theor. Comput. Sci. 192(1), 3–29 (1998)MathSciNetzbMATHCrossRefGoogle Scholar
  48. 48.
    Meng, J., Paulson, L.C.: Translating higher-order clauses to first-order clauses. J. Autom. Reason. 40(1), 35–60 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  49. 49.
    Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Log. Comput. 1(4), 497–536 (1991)MathSciNetzbMATHCrossRefGoogle Scholar
  50. 50.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. I, pp. 371–443. Elsevier and MIT Press (2001)Google Scholar
  51. 51.
    Paulson, L.C., Blanchette, J.C.: Three years of experience with Sledgehammer, a practical link between automatic and interactive theorem provers. In: Sutcliffe, G., Schulz, S., Ternovska, E. (eds.) IWIL-2010. EPiC, vol. 2, pp. 1–11. EasyChair (2012)Google Scholar
  52. 52.
    Robinson, J.: Mechanizing higher order logic. In: Meltzer, B., Michie, D. (eds.) Machine Intelligence, vol. 4, pp. 151–170. Edinburgh University Press (1969)Google Scholar
  53. 53.
    Robinson, J.: A note on mechanizing higher order logic. In: Meltzer, B., Michie, D. (eds.) Machine Intelligence, vol. 5, pp. 121–135. Edinburgh University Press (1970)Google Scholar
  54. 54.
    Schlichtkrull, A., Blanchette, J.C., Traytel, D., Waldmann, U.: Formalizing Bachmair and Ganzinger’s ordered resolution prover. In: Galmiche, D., Schulz, S., Sebastiani, R. (eds.) IJCAR 2018. LNCS (LNAI), vol. 10900, pp. 89–107. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-94205-6_7CrossRefGoogle Scholar
  55. 55.
    Schulz, S.: System description: E 1.8. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 735–743. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-45221-5_49CrossRefGoogle Scholar
  56. 56.
    Snyder, W.: Higher order E-unification. In: Stickel, M.E. (ed.) CADE 1990. LNCS (LNAI), vol. 449, pp. 573–587. Springer, Heidelberg (1990).  https://doi.org/10.1007/3-540-52885-7_115CrossRefGoogle Scholar
  57. 57.
    Snyder, W., Gallier, J.H.: Higher-order unification revisited: complete sets of transformations. J. Symb. Comput. 8(1/2), 101–140 (1989)MathSciNetzbMATHCrossRefGoogle Scholar
  58. 58.
    Steen, A., Benzmüller, C.: The higher-order prover Leo-III. In: Galmiche, D., Schulz, S., Sebastiani, R. (eds.) IJCAR 2018. LNCS (LNAI), vol. 10900, pp. 108–116. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-94205-6_8CrossRefGoogle Scholar
  59. 59.
    Sutcliffe, G.: The TPTP problem library and associated infrastructure-from CNF to TH0, TPTP v6.4.0. J. Autom. Reason. 59(4), 483–502 (2017)MathSciNetzbMATHCrossRefGoogle Scholar
  60. 60.
    Sutcliffe, G., Benzmüller, C., Brown, C.E., Theiss, F.: Progress in the development of automated theorem proving for higher-order logic. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 116–130. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02959-2_8zbMATHCrossRefGoogle Scholar
  61. 61.
    Urban, J., Rudnicki, P., Sutcliffe, G.: ATP and presentation service for Mizar formalizations. J. Autom. Reason. 50(2), 229–241 (2013)MathSciNetzbMATHCrossRefGoogle Scholar
  62. 62.
    Vukmirović, P., Blanchette, J.C., Cruanes, S., Schulz, S.: Extending a brainiac prover to lambda-free higher-order logic. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11427, pp. 192–210. Springer, Cham (2019).  https://doi.org/10.1007/978-3-030-17462-0_11CrossRefGoogle Scholar
  63. 63.
    Waldmann, U.: Automated reasoning II. Lecture notes, Max-Planck-Institut für Informatik (2016). http://resources.mpi-inf.mpg.de/departments/rg1/teaching/autrea2-ss16/script-current.pdf
  64. 64.
    Weidenbach, C., Dimova, D., Fietzke, A., Kumar, R., Suda, M., Wischnewski, P.: SPASS version 3.5. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 140–145. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02959-2_10CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Alexander Bentkamp
    • 1
    Email author
  • Jasmin Blanchette
    • 1
    • 2
  • Sophie Tourret
    • 2
  • Petar Vukmirović
    • 1
  • Uwe Waldmann
    • 2
  1. 1.Vrije Universiteit AmsterdamAmsterdamThe Netherlands
  2. 2.Max-Planck-Institut für InformatikSaarbrückenGermany

Personalised recommendations