ELPI: Fast, Embeddable, \(\lambda \)Prolog Interpreter

  • Cvetan Dunchev
  • Ferruccio Guidi
  • Claudio Sacerdoti Coen
  • Enrico Tassi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9450)

Abstract

We present a new interpreter for \(\lambda \)Prolog that runs consistently faster than the byte code compiled by Teyjus, that is considered the best available implementation of \(\lambda \)Prolog. The key insight is the identification of a fragment of the language, which we call reduction-free fragment (\(\mathcal {L}_\lambda ^\beta \)), that occurs quite naturally in \(\lambda \)Prolog programs and that admits constant time reduction and unification rules.

Keywords

Operational Semantic Prolog Program Proof Term Interactive Theorem Prover Synthetic Benchmark 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Asperti, A., Ricciotti, W., Sacerdoti Coen, C., Tassi, E.: Hints in unification. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 84–98. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  2. 2.
    de Bruijn, N.G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. In: Nederpelt, R.P., Geuvers, J.H., de Vrijer, R.C. (eds.) Selected Papers on Automath, pp. 375–388. North-Holland, Amsterdam (1994)Google Scholar
  3. 3.
    Gonthier, G., Asperti, A., Avigad, J., Bertot, Y., Cohen, C., Garillot, F., Le Roux, S., Mahboubi, A., O’Connor, R., Ould Biha, S., Pasca, I., Rideau, L., Solovyev, A., Tassi, E., Théry, L.: A machine-checked proof of the odd order theorem. In: Blazy, Sandrine, Paulin-Mohring, Christine, Pichardie, David (eds.) ITP 2013. LNCS, vol. 7998, pp. 163–179. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  4. 4.
    Gonthier, G., Ziliani, B., Nanevski, A., Dreyer, D.: How to make ad hoc proof automation less ad hoc. J. Funct. Program. 23(4), 357–401 (2013)MATHMathSciNetCrossRefGoogle Scholar
  5. 5.
    Guidi, F.: The formal system \(\lambda \delta \). In: ToCL, vol. 11(1), pp. 1–37, November 2009Google Scholar
  6. 6.
    Guidi, F.: Verified representations of Landau’s “Grundlagen” in \(\lambda \delta \) and in the calculus of constructions (2015). http://lambdadelta.info/, Submitted to JFR
  7. 7.
    Liang, C., Nadathur, G., Qi, X.: Choices in representation and reduction strategies for lambda terms in intensional contexts. JAR 33(2), 89–132 (2004)MATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic Comput. 1, 253–281 (1991)CrossRefGoogle Scholar
  9. 9.
    Miller, D., Nadathur, G.: Programming with Higher-Order Logic. Cambridge University Press, Cambridge (2012) MATHCrossRefGoogle Scholar
  10. 10.
    Nadathur, G., Mitchell, D.J.: System description: Teyjus - a compiler and abstract machine based implementation of \(\lambda \) prolog. In: Ganzinger, Harald (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 287–291. Springer, Heidelberg (1999) CrossRefGoogle Scholar
  11. 11.
    Ridoux, O.: \(\lambda \)-Prolog de A a Z... ou presque. Habilitation à diriger des recherches, Université de Rennes 1 (1998)Google Scholar
  12. 12.
    Sozeau, M., Oury, N.: First-class type classes. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 278–293. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  13. 13.
    van Benthem Jutting, L.S.: Checking Landau’s “Grundlagen” in the Automath system. In: Mathematical Centre Tracts, vol. 83. Mathematisch Centrum (1979)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Cvetan Dunchev
    • 1
  • Ferruccio Guidi
    • 1
  • Claudio Sacerdoti Coen
    • 1
  • Enrico Tassi
    • 2
  1. 1.Department of Computer ScienceUniversity of BolognaBolognaItaly
  2. 2.Inria Sophia-AntipolisValbonneFrance

Personalised recommendations