Procedures in Horn-clause programming

  • M. A. Nait Abdallah
Session 4b: Theory And Higher-Order Functions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 225)


In this paper we show the relevance of the notion of procedure to logic programming. We explain how this feature can be obtained by extending first-order logic programs to programs written in a fragment of second-order logic, and outline a combinatory theory of such logic programs. We show how various algebraic structures and abstract data types can be expressed in this framework. We explain how to construct derivations in this setting.


Logic Program Logic Programming Conditional Procedure Procedure Call Derivation Step 
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].
    Bowen K.A. and Kowalski R.A.: Amalgamating language and metalanguage, in Logic Programming, K.L. Clark and T.-S. Taernlund ed, Academic Press (1982), pp 153–172Google Scholar
  2. [ 2]
    de Bruijn N.G.: A survey of the project Automath, in To H.B. Curry Essays on Combinatory Logic, Lambda-Calculus and Formalism, J.R. Hindley and J.P. Seldin eds, Academic Press (1980), pp.597–607Google Scholar
  3. [ 3].
    Church A.: A formulation of the simple theory of types, JSL Vol 5 (1940), pp 56–68Google Scholar
  4. [ 4].
    Colmerauer A.: Prolog and infinite trees, in Logic Programming, K.L. Clark and S.-A. Taernlund ed, Academic Press (1982),pp. 153–172Google Scholar
  5. [ 5].
    Goldfarb W.G.: The undecidability of the second-order unification problem, TCS 13 (1981), pp. 225–230Google Scholar
  6. [ 6].
    Huet G.: The undecidability of unification in third order logic, Information and Control 22, 3 (1973) pp. 257–267Google Scholar
  7. [ 7].
    Jensen D.C. and Pietrzykowski T.: Mechanizing ω-order type theory through unification, TCS 3, (1976), pp. 123–171Google Scholar
  8. [ 8].
    Kowalski R.A.: Predicate logic as programming language, IFIP 1974, North Holland (1974), pp. 569–574Google Scholar
  9. [ 9].
    Lucchesi C.L.: The undecidability of the unification problem for third order languages, report CSRR-2059, Dep. of Appl. Anal. and CS, University of Waterloo (1972)Google Scholar
  10. [10]
    Nait Abdallah M.-A.: Ions and local definitions in logic programming, in Theoretical Aspects of Computer Science, B. Monien and G. Vidal-Naquet eds, Springer LNCS 210, (1986), pp. 60–72Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • M. A. Nait Abdallah
    • 1
  1. 1.Department of Computer ScienceUniversity of Western OntarioLondonCanada

Personalised recommendations