Skip to main content

Imagining CLP(Λ,≡αβ)

  • Conference paper
  • First Online:
  • 160 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 910))

Abstract

We study under which conditions the domain of λ-terms (Λ) and the equality theory of the λ-calculus (≡αβ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom η, and the formula language must depart from Horn clauses and accept universal quantifications and implications in goals. In short, CLP(Λ,≡αβ) must be close to λProlog.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Andreka and I. Nemeti. The Generalised Completeness of Horn Predicate-Logic as a Programming Language. DAI Research Report 21, University of Edinburgh, 1976.

    Google Scholar 

  2. H. Barendregt. Introduction to generalized type systems. J. Functional Programming, 1(2):125–154, 1991.

    Google Scholar 

  3. H. Barendregt and K. Hemerik. Types in lambda calculi and programming languages. In N. Jones, editor, European Symp. on Programming, LNCS 432, pages 1–35, Springer-Verlag, 1990.

    Google Scholar 

  4. C. Belleannée. Vers un démonstrateur de théorèmes adaptatif. Thèse, Université de Rennes I, 1991.

    Google Scholar 

  5. C. Böhm and A. Berarducci. Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science, 39:135–154, 1985.

    Google Scholar 

  6. P. Brisset and O. Ridoux. The architecture of an implementation of λProlog: Prolog/Mali. In Workshop on λProlog, Philadelphia, PA, USA, 1992. ftp: //ftp.irisa.fr/local/lande.

    Google Scholar 

  7. P. Brisset and O. Ridoux. The Compilation of λProlog and its execution with MALI. Technical Report 687, IRISA, 1992. ftp: //ftp.irisa.fr/local/lande.

    Google Scholar 

  8. P. Brisset and O. Ridoux. Continuations in λProlog. In D.S. Warren, editor, 10th Int. Conf. Logic Programming, pages 27–43, MIT Press, 1993.

    Google Scholar 

  9. P. Brisset and O. Ridoux. Naïve reverse can be linear. In K. Furukawa, editor, 8th Int. Conf. Logic Programming, pages 857–870, MIT Press, 1991.

    Google Scholar 

  10. J. Cohen. Constraint logic programming languages. CACM, 33(7):52–68, 1990.

    Google Scholar 

  11. A. Colmerauer. An introduction to Prolog III. CACM, 33(7), 1990.

    Google Scholar 

  12. S. Coupet-Grimal. Représentation sémantique dans le traitement des langues naturelles en Prolog. In Journées Francophones sur la Programmation en Logique, pages 69-91, Teknea, Nîmes, France, 1993.

    Google Scholar 

  13. H.B. Curry and R. Feys. Combinatory Logic, Volume I. North-Holland, Amsterdam, 1968.

    Google Scholar 

  14. M. Dalrymple, S.M. Shieber, and F.C.N. Pereira. Ellipsis and higher-order unification. In Linguistics and Philosophy, pages 399–452, 1991.

    Google Scholar 

  15. N.G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagationes Mathematicae, 34:381–392, 1972.

    Google Scholar 

  16. C.M. Elliott. Extensions and Applications of Higher-Order Unification. Research Report CMU-CS-90-134, School of Computer Science, Carnegie Mellon University, 1990.

    Google Scholar 

  17. C.M. Elliott. Higher-order unification with dependent function types. In N. Derschowitz, editor, 3rd Int. Conf. Rewriting Techniques and Applications, LNCS 355, pages 121–136, Springer-Verlag, 1989.

    Google Scholar 

  18. C.M. Elliott and F. Pfenning. A semi-functional implementation of a higher-order logic programming language. In P. Lee, editor, Topics in Advanced Language Implementation, pages 289–325, MIT Press, 1991.

    Google Scholar 

  19. A. Felty. Implementing tactics and tacticals in a higher-order logic programming language. J. Automated Reasoning, 11(1):43–81, 1993.

    Google Scholar 

  20. J. Hannan and D. Miller. From operational semantics to abstract machines. Mathematical Structures in Computer Science, 4(2):415–459, 1992.

    Google Scholar 

  21. M. Hanus. Horn clause programs with polymorphic types: semantics and resolution. Theoretical Computer Science, 89:63–106, 1991.

    Google Scholar 

  22. P.M. Hill and J.W. LLoyd. The Gödel Report. Technical Report TR-91-02, University of Bristol, 1991.

    Google Scholar 

  23. W.A. Howard. The formulae-as-types notion of construction. In J.P. Seldin and J.R. Hindley, editors, To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 479–490, Academic Press, London, 1980.

    Google Scholar 

  24. G. Huet. Introduction au λ-calcul typé. INRIA, Collection Didactique, 1991.

    Google Scholar 

  25. G. Huet. A unification algorithm for typed λ-calculus. Theoretical Computer Science, 1:27–57, 1975.

    Google Scholar 

  26. S. Le Huitouze, P. Louvet, and O. Ridoux. Logic grammars and λProlog. In D.S. Warren, editor, 10th Int. Conf. Logic Programming, pages 64–79, MIT Press, 1993.

    Google Scholar 

  27. Joxan Jaffar and Jean-Louis Lassez. Constraint logic programming. In 14th ACM Symp. Principles of Programming Languages, pages 111–119, ACM, Munich, Germany 1987.

    Google Scholar 

  28. B. Jayaraman and G. Nadathur. Implementation techniques for scoping constructs in logic programming. In K. Furukawa, editor, 8th Int. Conf. Logic Programming, pages 871–886, MIT Press, 1991.

    Google Scholar 

  29. T.K. Lakshman and U.S. Reddy. Typed Prolog: a semantic reconstruction of the Mycroft-O'Keefe type system. In Int. Logic Programming Symp., pages 202–217, 1991.

    Google Scholar 

  30. J.W. Lloyd. Foundations of Logic Programming. Symbolic computation-Artificial Intelligence, Springer-Verlag, Berlin, FRG, 1987.

    Google Scholar 

  31. S. Michaylov and F. Pfenning. An empirical study of the runtime behavior of higher-order logic programs. In Workshop on λProlog, 1992. Preliminary version.

    Google Scholar 

  32. D.A. Miller. Abstract syntax and logic programming. In A. Voronkov, editor, 2nd Russian Conf. Logic Programming, LNCS 592, Springer-Verlag, 1991.

    Google Scholar 

  33. D.A. Miller. Lexical scoping as universal quantification. In G. Levi and M. Martelli, editors, 6th Int. Conf. Logic Programming, pages. 268–283, MIT Press, 1989.

    Google Scholar 

  34. D.A. Miller. A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic and Computation, 1(4):497–536, 1991.

    Google Scholar 

  35. D.A. Miller. A proposal for modules in λProlog. In R. Dyckhoff, editor, Int. Workshop Extensions of Logic Programming, LNAI 798, pages 206–221, Springer-Verlag, 1993.

    Google Scholar 

  36. D.A. Miller and G. Nadathur. Higher-order logic programming. In E. Shapiro, editor, 3rd Int. Conf. Logic Programming, LNCS 225, pages 448–462, Springer-Verlag, 1986.

    Google Scholar 

  37. D.A. Miller, G. Nadathur, F. Pfenning, and A. Scedrov. Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, 51:125–157, 1991.

    Google Scholar 

  38. D.A. Miller, G. Nadathur, and A. Scedrov. Hereditary Harrop formulas and uniform proof systems. In D. Gries, editor, 2nd Symp. Logic in Computer Science, pages 98–105, Ithaca, New York, USA, 1987.

    Google Scholar 

  39. R. Milner. A theory of type polymorphism in programming. J. Computer and System Sciences, 17:348–375, 1978.

    Google Scholar 

  40. A. Mycroft and R.A. O'Keefe. A polymorphic type system for Prolog. Artificial Intelligence, 23:295–307, 1984.

    Google Scholar 

  41. R. Pareschi and D.A. Miller. Extending definite clause grammars with scoping constructs. In D.H.D. Warren and P. Szeredi, editors, 7th Int. Conf. Logic Programming, pages 373–389, MIT Press, 1990.

    Google Scholar 

  42. F. Pfenning. Dependent types in logic programming. In F. Pfenning, editor, Types in Logic Programming, pages 285–311, MIT Press, 1992.

    Google Scholar 

  43. F. Pfenning. Logic programming in the LF logical framework. In G. Huet and G. Plotkin, editors, Logical Frameworks, pages 149–181, Cambridge University Press, 1991.

    Google Scholar 

  44. F. Pfenning. Partial polymorphic type inference and higher-order unification. In ACM Conf. LISP and Functional Programming, pages 153–163, ACM Press, 1988.

    Google Scholar 

  45. F. Pfenning. Unification and anti-unification in the calculus of constructions. In Symp. Logic in Computer Science, pages 74–85, 1991.

    Google Scholar 

  46. B. Pierce, S. Dietzen, and S. Michaylov. Programming in Higher-Order Typed Lambda-Calculi. Research Report CMU-CS-89-111, School of Computer Science, Carnegie Mellon University, 1989.

    Google Scholar 

  47. L. Sterling and E. Shapiro. The Art of Prolog. MIT Press, 1986.

    Google Scholar 

  48. S-Å. Tärnlund. Horn clause computability. BIT, 17:215–226, 1977.

    Google Scholar 

  49. P. Van Hentenryck. Constraint Satisfaction in Logic Programming. MIT Press, Cambridge, MA, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Andreas Podelski

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ridoux, O. (1995). Imagining CLP(Λ,≡αβ). In: Podelski, A. (eds) Constraint Programming: Basics and Trends. TCS School 1994. Lecture Notes in Computer Science, vol 910. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59155-9_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-59155-9_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59155-9

  • Online ISBN: 978-3-540-49200-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics