LPAR 2015: Logic for Programming, Artificial Intelligence, and Reasoning pp 460-468 | Cite as
ELPI: Fast, Embeddable, \(\lambda \)Prolog Interpreter
Conference paper
First Online:
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.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.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.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.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.Guidi, F.: The formal system \(\lambda \delta \). In: ToCL, vol. 11(1), pp. 1–37, November 2009Google Scholar
- 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.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.Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic Comput. 1, 253–281 (1991)CrossRefGoogle Scholar
- 9.Miller, D., Nadathur, G.: Programming with Higher-Order Logic. Cambridge University Press, Cambridge (2012) MATHCrossRefGoogle Scholar
- 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.Ridoux, O.: \(\lambda \)-Prolog de A a Z... ou presque. Habilitation à diriger des recherches, Université de Rennes 1 (1998)Google Scholar
- 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.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