On logic programs with data-driven computations

  • Norbert Heck
  • Jürgen Avenhaus
Automatic Programming I
Part of the Lecture Notes in Computer Science book series (LNCS, volume 204)


The operational semantics of a logic program R is typically given as the set of answer substitutions which can be computed from an input statement G by pattern directed procedure calls of R. Unfortunately, the evaluation of programs is highly nondeterministic, it may lead to infinite computations and result in a lot of outputs. In this paper we restrict to data driven procedure calls and show that this has two main advantages:
  1. (1)

    the number of possible computations is strongly reduced, and

  2. (2)

    standard techniques allow to construct programs which can be proved to terminate finitely and uniquely. The restricted evaluation strategy is complete for a large class of programs.



Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Apt, van Emden 82]
    K.R. Apt and M.H. van Emden, Contributions to the theory of logic programming, J.ACM 29 (1982), pp. 841–862.Google Scholar
  2. [Clark 79]
    K.L. Clark, Predicate logic as a computational formalism, Res. Rep., Dep. of Computing, Imperial College, London (1979).Google Scholar
  3. [Clark, Mc Cabe 79]
    K.L. Clark and F.G. Mc Cabe, The Control Facilities of IC-PROLOG Expert Systems in the Micro Electronic Age, (D. Michie Ed.), Edinburgh Univ. Press (1979), pp. 122–149.Google Scholar
  4. [Heck 84]
    N. Heck, Abstrakte Datentypen mit automatischen Implementierungen, Dissertation, Univ. Kaiserslautern (1984).Google Scholar
  5. [Heck, Avenhaus 84]
    N. Heck and J. Avenhaus, Automatic Implementation of Abstract Data Types Specified by the Logic Programming Language, Proc. International Conf. on Fifth Generation Computer Systems, Tokyo (1984), pp. 210–219.Google Scholar
  6. [Hill 74]
    R. Hill, LUSH-Resolution and its completeness, DCL-Memo 78, Univ. Edinburgh (1974).Google Scholar
  7. [Kowalski 74]
    R. Kowalski, Predicate Logic as Programming Language, Proc. IFIP 74, North Holland, Amsterdam (1974), pp. 569–574.Google Scholar
  8. [Knuth, Bendix 70]
    D.E. Knuth and P.G. Bendix, Simple word problems in universal algebras. In: Computational Problems in Abstract Algebra (J. Leech, Ed.), Pergamon Press (1970), pp. 263–297.Google Scholar
  9. [Lloyd 84]
    J.W. Lloyd, Foundation of Logic Programming, Springer, Berlin (1984).Google Scholar
  10. [Morris 80]
    P.H. Morris, A Data-Flow Interpreter for Logic Programs, Logic Programming Workshop, Hungary (1980), pp. 148–159.Google Scholar
  11. [van Emden, Kowalski 76]
    M.H. van Emden and R. Kowalski, The Semantics of Predicate Logic as a Programming Language, J.ACM 23 (1976), pp. 733–742.CrossRefGoogle Scholar
  12. [Wise 82]
    M.J. Wise, A Parallel Prolog: the construction of a data-driven model, Conf. Rec. of the 1982 Symp. on LISP and Funct. Programming, pp. 56–66.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Norbert Heck
    • 1
  • Jürgen Avenhaus
    • 2
  1. 1.IBM BöblingenGermany
  2. 2.Universität KaiserslauternGermany

Personalised recommendations