On the Power of Homeomorphic Embedding for Online Termination

  • Michael Leuschel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1503)


Recently well-quasi orders in general, and homeomorphic embedding in particular, have gained popularity to ensure the termination of program analysis, specialisation and transformation techniques. In this paper we investigate and clarify for the first time, both intuitively and formally, the advantages of such an approach over one using well-founded orders. Notably we show that the homeomorphic embedding relation is strictly more powerful than a large class of involved well-founded approaches.


Logic Program Logic Programming Function Symbol Partial Evaluation Predicate Symbol 
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.
    M. Alpuente, M. Falaschi, P. Julián, and G. Vidal. Spezialisation of lazy functional logic programs. In Proceedings PEPM’97, pages 151–162, Amsterdam, The Netherlands, 1997. ACM Press.Google Scholar
  2. 2.
    M. Alpuente, M. Falaschi, and G. Vidal. Narrowing-driven partial evaluation of functional logic programs. In H. Riis Nielson, editor, Proceedings ESOP’96, LNCS 1058, pages 45–61. Springer-Verlag, 1996.Google Scholar
  3. 3.
    K. R. Apt. Introduction to logic programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, chapter 10, pages 495–574. North-Holland Amsterdam, 1990.Google Scholar
  4. 4.
    R. Bol. Loop checking in partial deduction. The Journal of Logic Programming, 16(1&2):25–46, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    M. Bruynooghe, D. De Schreye, and B. Martens. A general criterion for avoiding infnite unfolding during partial deduction. New Generation Computing, 11(1):47–79, 1992.zbMATHGoogle Scholar
  6. 6.
    D. De Schreye and S. Decorte. Termination of logic programs: The never ending story. The Journal of Logic Programming, 19 & 20:199–260, May 1994.Google Scholar
  7. 7.
    N. Dershowitz. Termination of rewriting. Journal of Symbolic Computation, 3:69–116, 1987.zbMATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol.B, pages 243–320. Elsevier, MIT Press, 1990.Google Scholar
  9. 9.
    N. Dershowitz and Z. Manna. Proving termination with multiset orderings. Communications of the ACM, 22(8):465–476, 1979.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    J. Gallagher. Tutorial on specialisation of logic programs. In Proceedings PEPM’93, pages 88–98. ACM Press, 1993.Google Scholar
  11. 11.
    R. Glück, J. Jørgensen, B. Martens, and M. H. Sørensen. Controlling conjunctive partial deduction of definite logic programs. In H. Kuchen and S. Swierstra, editors, Proceedings PLILP’96, LNCS 1140, pages 152–166, Aachen, Germany, September 1996. Springer-Verlag.Google Scholar
  12. 12.
    R. Glück and M. H. Sørensen. A roadmap to supercompilation. In O. Danvy, R. Glück, and P. Thiemann, editors, Proceedings of the 1996 Dagstuhl Seminar on Partial Evaluation, LNCS 1110, pages 137–160, Schloß Dagstuhl, 1996. Springer-Verlag.Google Scholar
  13. 13.
    J. Gustedt. Algorithmic Aspects of Ordered Structures. PhD thesis, Technische Universität Berlin, 1992.Google Scholar
  14. 14.
    G. Higman. Ordering by divisibility in abstract algebras. Proceedings of the London Mathematical Society, 2:326–336, 1952.zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    G. Huet. Confluent reductions: Abstract properties and applications to term rewriting systems. Journal of the ACM, 27(4):797–821, 1980.zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    N. D. Jones. An introduction to partial evaluation. ACM Computing Surveys, 28(3):480–503, September 1996.Google Scholar
  17. 17.
    N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.Google Scholar
  18. 18.
    J. Jørgensen, M. Leuschel, and B. Martens. Conjunctive partial deduction in practice. In J. Gallagher, editor, Proceedings LOPSTR’96, LNCS 1207, pages 59–82, Stockholm, Sweden, August 1996. Springer-Verlag.Google Scholar
  19. 19.
    J. B. Kruskal. Well-quasi ordering, the tree theorem, and Vazsonyi’s conjecture. Transactions of the American Mathematical Society, 95:210–225, 1960.zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    L. Lafave and J. Gallagher. Constraint-based partial evaluation of rewriting-based functional logic programs. In N. Fuchs, editor, Proceedings LOPSTR’97, LNCS, Leuven, Belgium, July 1997. Springer-Verlag.Google Scholar
  21. 21.
    P. Lescanne. Well rewrite orderings and well quasi-orderings. Technical Report N∘ 1385, INRIA-Lorraine, France, January 1991.Google Scholar
  22. 22.
    M. Leuschel. The ECCE partial deduction system and the DPPD library of benchmarks. 1996–1998. Obtainable via
  23. 23.
    M. Leuschel. Advanced Techniques for Logic Program Specialisation. PhD thesis, K.U. Leuven, May 1997. Accessible via
  24. 24.
    M. Leuschel. Homeomorphic Embedding for Online Termination. Technical Report, Department of Electronics and Computer Science, University of Southampton, 1998.Google Scholar
  25. 25.
    M. Leuschel and B. Martens. Global control for partial deduction through characteristic atoms and global trees. In O. Danvy, R. Glück, and P. Thiemann, editors, Proceedings of the 1996 Dagstuhl Seminar on Partial Evaluation, LNCS 1110, pages 263–283, Schloß Dagstuhl, 1996. Springer-Verlag.Google Scholar
  26. 26.
    M. Leuschel, B. Martens, and D. De Schreye. Controlling generalisation and polyvariance in partial deduction of normal logic programs. ACM Transactions on Programming Languages and Systems, 20(1):208–258, January 1998.Google Scholar
  27. 27.
    N. Lindenstrauss, Y. Sagiv, and A. Serebrenik. Unfolding the mystery of mergesort. In N. Fuchs, editor, Proceedings LOPSTR’97, LNCS, Leuven, Belgium, July 1997. Springer-Verlag.Google Scholar
  28. 28.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.Google Scholar
  29. 29.
    J. W. Lloyd and J. C. Shepherdson. Partial evaluation in logic programming. The Journal of Logic Programming, 11(3&4):217–242, 1991.CrossRefMathSciNetzbMATHGoogle Scholar
  30. 30.
    R. Marlet. Vers une Formalisation de l’Évaluation Partielle. PhD thesis, Université de Nice-Sophia Antipolis, December 1994.Google Scholar
  31. 31.
    B. Martens. On the Semantics of Meta-Programming and the Control of Partial Deduction in Logic Programming. PhD thesis, K.U. Leuven, February 1994.Google Scholar
  32. 32.
    B. Martens and D. De Schreye. Automatic ifnite unfolding using well-founded measures. The Journal of Logic Programming, 28(2):89–146, August 1996.Google Scholar
  33. 33.
    B. Martens, D. De Schreye, and T. Horváth. Sound and complete partial deduction with unfolding based on well-founded measures. Theoretical Computer Science, 122(1–2):97–117, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  34. 34.
    B. Martens and J. Gallagher. Ensuring global termination of partial deduction while allowing flexible polyvariance. In L. Sterling, editor, Proceedings ICLP’95, pages 597–613, Kanagawa, Japan, June 1995. MIT Press.Google Scholar
  35. 35.
    J. Martin. Sonic partial deduction. Technical Report, Department of Electronics and Computer Science, University of Southampton, 1998.Google Scholar
  36. 36.
    P.-A. Melliès. On a duality between Kruskal and Dershowitz theorems. In K. G. Larsen, editor, Proceedings of ICALP’98, LNCS, Aalborg, Denmark, 1998. Springer-Verlag.Google Scholar
  37. 37.
    A. Middeldorp and H. Zantema. Simple termination of rewrite systems. Theoretical Computer Science, 175(1):127–158, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  38. 38.
    L. Plümer. Termination Proofs for Logic Programs. LNCS 446. Springer-Verlag, 1990.zbMATHGoogle Scholar
  39. 39.
    L. Puel. Using unavoidable set of trees to generalize Kruskal’s theorem. Journal of Symbolic Computation, 8:335–382, 1989.zbMATHMathSciNetCrossRefGoogle Scholar
  40. 40.
    E. Ruf. Topics in Online Partial Evaluation. PhD thesis, Stanford University, March 1993.Google Scholar
  41. 41.
    D. Sahlin. Mixtus: An automatic partial evaluator for full Prolog. New Generation Computing, 12(1):7–51, 1993.zbMATHCrossRefGoogle Scholar
  42. 42.
    M. H. Sørensen and R. Glück. An algorithm of generalization in positive supercompilation. In J. W. Lloyd, editor, Proceedings ILPS’95, pages 465–479, Portland, USA, December 1995. MIT Press.Google Scholar
  43. 43.
    M. H. Sørensen, R. Glück and N.D. Jones. A positive supercompiler. Journal of Functional Programming, 1996.Google Scholar
  44. 44.
    J. Stillman. Computational Problems in Equational Theorem Proving. PhD thesis, State University of New York at Albany, 1988.Google Scholar
  45. 45.
    V. F. Turchin. The concept of a supercompiler. ACM Transactions on Programming Languages and Systems, 8(3):292–325, 1986.zbMATHCrossRefMathSciNetGoogle Scholar
  46. 46.
    W. Vanhoof and B. Martens. To parse or not to parse. In N. Fuchs, editor, Proceedings LOPSTR’97, LNCS, Leuven, Belgium, July 1997. Springer-Verlag.Google Scholar
  47. 47.
    D. Weise, R. Conybeare, E. Ruf, and S. Seligman. Automatic online partial evaluation. In Proceedings of the Conference on Functional Programming Languages and Computer Architectures, LNCS 523, pages 165–191, Harvard University, 1991. Springer-Verlag.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Michael Leuschel
    • 1
    • 2
    • 3
  1. 1.Department of Computer ScienceK.U. LeuvenBelgium
  2. 2.Department of Electronics and Computer ScienceUniversity of SouthamptonUK
  3. 3.DIKU, University of CopenhagenDenmark

Personalised recommendations