Procedures in Horn-clause programming
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.
KeywordsLogic Program Logic Programming Conditional Procedure Procedure Call Derivation Step
Unable to display preview. Download preview PDF.
- [ 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]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].Church A.: A formulation of the simple theory of types, JSL Vol 5 (1940), pp 56–68Google Scholar
- [ 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].Goldfarb W.G.: The undecidability of the second-order unification problem, TCS 13 (1981), pp. 225–230Google Scholar
- [ 6].Huet G.: The undecidability of unification in third order logic, Information and Control 22, 3 (1973) pp. 257–267Google Scholar
- [ 7].Jensen D.C. and Pietrzykowski T.: Mechanizing ω-order type theory through unification, TCS 3, (1976), pp. 123–171Google Scholar
- [ 8].Kowalski R.A.: Predicate logic as programming language, IFIP 1974, North Holland (1974), pp. 569–574Google Scholar
- [ 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
- 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