Hiord: A Type-Free Higher-Order Logic Programming Language with Predicate Abstraction

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3321)


A new formalism, called Hiord, for defining type-free higher-order logic programming languages with predicate abstraction is introduced. A model theory, based on partial combinatory algebras, is presented, with respect to which the formalism is shown sound. A programming language built on a subset of Hiord, and its implementation are discussed. A new proposal for defining modules in this framework is considered, along with several examples.


Logic Program Logic Programming Atomic Formula Abstract Syntax Horn Clause 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Miller, D., Nadathur, G., Pfenning, F., Scedrov, A.: Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic 51, 125–157 (1991)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Nadathur, G., Miller, D.: Higher-order horn clauses. Journal of the ACM 37, 777–814 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Miller, D.: λprolog: an introduction to the language and its logic (2002), Manuscript available at
  4. 4.
    Chen, W., Kifer, M., Warren, D.S.: Hilog: JuneA Foundation for Higher-Order Logic Programming. Journal of Logic Programming (1989)Google Scholar
  5. 5.
    Beeson, M.: Foundations of Constructive Mathematics. Springer, Heidelberg (1985)Google Scholar
  6. 6.
    Lawvere, F.W.: Diagonal arguments and cartesian-closed categories. In: Category Theory, Homology Theory and their Applications. Springer, Heidelberg (1969)Google Scholar
  7. 7.
    Huwig, H., Poigné, A.: A Note on Inconsistencies Caused by Fixpoints in a Cartesian Closed Categories. Theoretical Computer Science 73, 101–112 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. Journal of Logic and Computation 1, 497–536 (1991)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Curry, H.B., Feys, R.: Combinatory Logic. North-Holland, Amsterdam (1958)zbMATHGoogle Scholar
  10. 10.
    Cabeza, D.: An Extensible, Global Analysis Friendly Logic Programming System. PhD thesis, Dept. of Computer Science, Technical University of Madrid, Spain, Madrid, Spain (2004)Google Scholar
  11. 11.
    Bueno, F., Cabeza, D., Carro, M., Hermenegildo, M., López-García, P. (eds.): G.P.: The Ciao System. Reference Manual (v1.10). The ciao system documentation series–TR, School of Computer Science, Technical University of Madrid, UPM (2002), System and on-line version of the manual, available at
  12. 12.
    Warren, D.H.: Higher-order extensions to prolog: are they needed? In: Hayes, J., Michie, D., Pao, Y.H. (eds.) Machine Intelligence 10, pp. 441–454. Ellis Horwood Ltd., Chicester (1982)Google Scholar
  13. 13.
    Naish, L.: Higher-order logic programming. Technical Report 96/2, Department of Computer Science, University of Melbourne, Melbourne, Australia (1996)Google Scholar
  14. 14.
    McDowell, R., Miller, D.: A logic for reasoning with higher-order abstract syntax. In: Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science, p. 434. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  15. 15.
    Miller, D.: Abstract syntax and logic programming. In: Proceedings of the Second Russian Conference on Logic Programming. Springer, Heidelberg (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  1. 1.Technical University of MadridSpain
  2. 2.University of New MexicoUSA
  3. 3.Wesleyan UniversityUSA

Personalised recommendations