Elementary logic programs

  • Paul Tarau
  • Michel Boyer
Logic Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 456)


We introduce a variant of binary programs called elementary programs, based on a set of algebraic operations on a lattice of expressions. We propose a version of SLD-resolution that evaluates elementary programs by a unique operation of arrow composition and we study its OR-parallel implementation.

Elementary programs will become the target of our program transformations operating on more expressive programs like the definite metaprograms we consider subsequently.

Unfolding, remarkably simple on elementary programs, gives them an alternative semantics. Through a transformation that forces their fair evaluation, we also present a more efficient technique to compute their logical meaning.


logic program transformations binary programs OR-parallelism metaprograms unfolding fair evaluation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

6. References

  1. [LE88]
    G. Levi, "Models, Unfolding Rules and Fixpoint Semantics", in R. Kowalski, K. A. Bowen (eds.), Logic Programming: Proceedings of the Fifth International Conference and Symposium, p.1649–1665, MIT Pres, 1988.Google Scholar
  2. [LL87]
    J.W. Lloyd, "Foundations of Logic Programming",(2nd ed.), Springer-Verlag,1987.Google Scholar
  3. [MA88]
    M.J. Maher "Equivalences of Logic Programs",in J. Minker (ed.) Foundations of Deductive Databases and Logic Programming, Morgan Kaufmann, p. 627–658, 1988.Google Scholar
  4. [OK88]
    R.A. O'Keefe, electronic message on USENET in comp.lang.prolog, the 19-07-1988.Google Scholar
  5. [PL70]
    G.D. Plotkin, "A Note on Inductive Generalization", in B. Meltzer, D. Mitchie (eds.), Machine Intelligence 5, p. 153–165, 1970.Google Scholar
  6. [RE70]
    J.C. Reynolds, "Transformational Systems and the Algebraic Structure of Atomic Formulas", in B. Meltzer, D. Mitchie (eds.), Machine Intelligence 5, p. 135–151, 1970.Google Scholar
  7. [RO65]
    J.A. Robinson, "A Machine-oriented Logic Based on the Resolution Principle", J. ACM 12,1, p. 23–41, 1965.Google Scholar
  8. [ST84]
    T. Sato, H. Tamaki, "Unfold/Fold Transformation of Logic Programs" in Proc. of 2nd International Logic Programming Conference, p. 127–138, 1984.Google Scholar
  9. [ST89]
    T. Sato, H. Tamaki, "Existential Continuation", New Generation Computing 6, p. 421–438, 1989.Google Scholar
  10. [UE87]
    K. Ueda, "Making Exhaustive Search Programs Deterministic', New Generation Computing 5, p. 317–326, 1987.Google Scholar
  11. [VK76]
    M.H. van Emden, R.A. Kowalski, "The semantics of predicate logics as a programming language", Journal of the A.C.M., 23(4), 733–742.Google Scholar
  12. [WA82]
    D.H.D. Warren, "Higher order extensions to PROLOG: are they needed", in Machine Intelligence 10, Ellis Horwood, 1982.Google Scholar
  13. [YA89]
    R. Yang, "Solving Simple Substitution Ciphers in Andorra-I", in G. Levi and M. Martelli (eds.), Logic Programming: Proceedings of the Sixth International Conference, p. 113–130, M.I.T. Press, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Paul Tarau
    • 1
  • Michel Boyer
    • 2
  1. 1.Département de Mathématique, Physique et InformatiqueUniversité de MonctonMonctonCanada
  2. 2.Département d'Informatique et Recherche OpérationnelleUniversité de MontréalMontrealCanada

Personalised recommendations