Advertisement

Multi-SLD resolution

  • Donald A. Smith
  • Timothy J. Hickey
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 822)

Abstract

Multi-SLD resolution is a variant of SLD resolution based on a simple idea.: Let the allowed constraints be closed under disjunction, and provide a mechanism for collecting solutions to a goal and turning the solutions into a disjunctive constraint. This idea leads to an operational model of logic programming, called data, or- parallelism, in which multiple constraint environments partially replace backtracking as the operational embodiment of disjunction. The model has a natural implementation on data-parallel computers since each disjunct of a disjunctive constraint can be handled by a single (virtual) processor. In this paper, we
  • formalize the notions of multi-SLD resolution, multi-derivation, multi-SLD tree, and environment tree;

  • prove the soundness and completeness of multi-SLD resolution; and

  • describe and justify several useful optimization techniques based on the form of constraints in a multi-derivation: the distinction between engine and multi variables, templates, and sharing of bindings in the environment tree.

Together these results provide the foundations for a new operational semantics of disjunction in logic programming.

Keywords

Logic Program Logic Programming Environment Tree Constraint Logic Programming Abstract Machine State 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    K. Ali and R. Karlsson. The Muse Or-Parallel Prolog model and its performance. In NACLP, pages 757–776, 1990.Google Scholar
  2. 2.
    H. Arro, J. Barklund, and J. Bevemyr. Parallel bounded quantifiers: Preliminary results. In Proceedings of the JICSLP'92 Post-Conference Joint Workshop on Distributed and Parallel Logic Programming Systems, 1992.Google Scholar
  3. 3.
    J. Barklund. Parallel Unification. PhD thesis, Uppsala University, 1990.Google Scholar
  4. 4.
    C. Beeri, S. Naqvi, R. Ramakirishnan, O. Shmueli, and S. Tsur. Sets and negation in a logic database langauge (LDL1). In PODS. ACM Press, 1987.Google Scholar
  5. 5.
    D. Chan. Constructive negation based on the completed database. In ICLP88. MIT Press, 1988.Google Scholar
  6. 6.
    D. Chan. An extension of constructive negation and its application in coroutining. In NACLP89. MIT Press, 1989.Google Scholar
  7. 7.
    M. Dincbas, P. Van Hentenryck, H. Simonis, and A. Aggoun. The constraint logic programming language CHIP. In 2nd FGCS, 1988.Google Scholar
  8. 8.
    E. Lusk et. al. The Aurora or-parallel prolog system. New Generation Computing, 7:243–271, 1990.Google Scholar
  9. 9.
    J. Jaffar and J.-L. Lassez. Constraint logic programming. In Proceedings 14th POPL, 1987.Google Scholar
  10. 10.
    Péter Kacsuk. Execution Models of Prolog for Parallel Computers. MIT, 1990.Google Scholar
  11. 11.
    K. Kunen. Answer sets and negation as failure. In ICLP87, 1987.Google Scholar
  12. 12.
    G. Kuper. Logic programming with sets. In PODS. ACM Press, 1987.Google Scholar
  13. 13.
    J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1987.Google Scholar
  14. 14.
    M. J. Maher. Complete axiomatizations of the algebra of finite, rational, and infinite trees. In Third LICS, 1988.Google Scholar
  15. 15.
    André Mariën and Bart Demoen. Findall without Findall/3. In Warren [34], pages 408–423.Google Scholar
  16. 16.
    H. Milroth. Reforming Compilation of Logic Programs. PhD thesis, Uppsala University, 1990.Google Scholar
  17. 17.
    Vijay A. Saraswat. Concurrent Constraint Programming. MIT, 1990.Google Scholar
  18. 18.
    T. Sato and F. Motoyoshi. A complete top-down interpreter for first order programs. In ILPS91. MIT Press, 1991.Google Scholar
  19. 19.
    T. Sato and H. Tamaki. Existential continuation. 6, 1989.Google Scholar
  20. 20.
    D. A. Smith. Constraint operations for CLP(FT). In ICLP91. MIT Press, 1991.Google Scholar
  21. 21.
    D. A. Smith. Multilog: Data or-parallel logic programming. In JICSLP '92 Workshop on Parallel Implementations of Logic Programming Systems, 1992.Google Scholar
  22. 22.
    D. A. Smith. Simpler quantifier elimination for equality formulas. Technical Report CS-92-167, Brandeis University, 1992.Google Scholar
  23. 23.
    D. A. Smith. Multilog: Data or-parallel logic programming. In Warren [34].Google Scholar
  24. 24.
    D. A. Smith. Why multi-sld beats sld (even on a uniprocessor). Technical report, University of Waikato, (submitted to ALP) 1994.Google Scholar
  25. 25.
    D. A. Smith. Analysis of environment representation schemes for multilog. Technical report, University of Waikato, (submitted to PLILP) 1994.Google Scholar
  26. 26.
    D. A. Smith and T. Hickey. Partial evaluation of a CLP language. In Proceedings of NACLP90. MIT Press, 1990.Google Scholar
  27. 27.
    D.A. Smith. MultiLog: Data Or-Parallel Logic Programming. PhD thesis, Brandeis University, 1993.Google Scholar
  28. 28.
    P. Stuckey. Constructive negation for constraint logic programming. In LICS, 1991.Google Scholar
  29. 29.
    E. Tick. Parallel Logic Programming. MIT, 1991.Google Scholar
  30. 30.
    Bo-Ming Tong and Ho-Fung Leung. Concurrent constraint logic programming on massively parallel simd computers. In International Logic Programming Symposium, 1993.Google Scholar
  31. 31.
    K. Ueda. Making exhaustive search programs deterministic: Part II. In ICLP, pages 356–375, 1987.Google Scholar
  32. 32.
    Kazunori Ueda. Making exhaustive search programs deterministic. In ICLP, pages 270–282, 1986.Google Scholar
  33. 33.
    P. VanHentenryck. Constraint Satisfaction in Logic Programming. MIT Press, 1989.Google Scholar
  34. 34.
    David S. Warren, editor. Proceedings of the Tenth International Conference on Logic Programming, Budapest, Hungary, 1993. The MIT Press.Google Scholar
  35. 35.
    D.H.D. Warren. Or-parallel execution models of prolog. In TAPSOFT, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Donald A. Smith
    • 1
  • Timothy J. Hickey
    • 2
  1. 1.Department of Computer ScienceUniversity of WaikatoHamiltonNew Zealand
  2. 2.Department of Computer ScienceBrandeis UniversityWaltham

Personalised recommendations