Abstract
Well-quasi orders in general, and homeomorphic embedding in particular, have gained popularity to ensure the termination of techniques for program analysis, specialisation, transformation, and verification. In this paper we survey and discuss this use of homeomorphic embedding and clarify the advantages of such an approach over one using well-founded orders. We also discuss various extensions of the homeomorphic embedding relation. We conclude with a study of homeomorphic embedding in the context of metaprogramming, presenting some new (positive and negative) results and open problems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. A. Abdulla, K. Čerāns, B. Jonsson, and Y.-K. Tsay. General decidability theorems for infinite-state systems. In Proceedings, 11 th Annual IEEE Symposium on Logic in Computer Science, pages 313–321, New Brunswick, New Jersey, 27-30 July 1996. IEEE Computer Society Press.
E. Albert, M. Alpuente, M. Falaschi, P. Julián, and G. Vidal. Improving control in functional logic program specialization. In G. Levi, editor, Static Analysis. Proceedings of SAS’98, LNCS 1503, pages 262–277, Pisa, Italy, September 1998. Springer-Verlag.
E. Albert, M. Alpuente, M. Hanus, and G. Vidal. A partial evaluation framework for curry programs. In Proc. of the 6th International Conference on Logic for Programming and Automated Reasoning (LPAR’99), LNCS 1705, pages 376–395. Springer-Verlag, 1999.
M. Alpuente, M. Falaschi, P. Julián, and G. Vidal. Spezialisation of lazy functional logic programs. In Proceedings of PEPM’97, the ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 151–162, Amsterdam, The Netherlands, 1997. ACM Press.
M. Alpuente, M. Falaschi, and G. Vidal. Narrowing-driven partial evaluation of functional logic programs. In H. Riis Nielson, editor, Proceedings of the 6th European Symposium on Programming, ESOP’96, LNCS 1058, pages 45–61. Springer-Verlag, 1996.
M. Alpuente, M. Falaschi, and G. Vidal. Partial Evaluation of Functional Logic Programs. ACM Transactions on Programming Languages and Systems, 20(4):768–844, 1998.
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.
K. R. Apt and F. Turini. Meta-logics and Logic Programming. MIT Press, 1995.
K. Benkerimi and J. W. Lloyd. A partial evaluation procedure for logic programs. In S. Debray and M. Hermenegildo, editors, Proceedings of the North American Conference on Logic Programming, pages 343–358. MIT Press, 1990.
R. Bol. Loop checking in partial deduction. The Journal of Logic Programming, 16(1&2):25–46, 1993.
M. Bruynooghe, D. De Schreye, and B. Martens. A general criterion for avoiding infinite unfolding during partial deduction. New Generation Computing, 11(1):47–79, 1992.
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.
D. De Schreye, R. Glück, J. Jørgensen, M. Leuschel, B. Martens, and M. H. Sørensen. Conjunctive partial deduction: Foundations, control, algorithms and experiments. The Journal of Logic Programming, 41(2 & 3):231–277, November 1999.
N. Dershowitz. Orderings for term-rewriting systems. Theoretical Computer Science, 17(3):279–301, Mar. 1982.
N. Dershowitz. Termination of rewriting. Journal of Symbolic Computation, 3:69–116, 1987.
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.
N. Dershowitz and Z. Manna. Proving termination with multiset orderings. Communications of the ACM, 22(8):465–476, 1979.
A. Finkel. The minimal coverability graph for Petri nets. Lecture Notes in Computer Science, 674:210–243, 1993.
A. Finkel and P. Schnoebelen. Fundamental structures in well-structured infinite transition systems. In Proceedings of LATIN’98, LNCS 1380, pages 102–118. Springer-Verlag, 1998.
F. Fioravanti, A. Pettorossi, and M. Proietti. Rules and strategies for contextual specialization of constraint logic programs. Electronic Notes in Theoretical Computer Science, 30(2), December 1999.
F. Fioravanti, A. Pettorossi, and M. Proietti. Automated strategies for specializing constraint logic programs. In Logic Based Program Synthesis and Transformation. Proceedings of Lopstr’2000, LNCS 1207, pages 125–146, 2000.
H. Fujita and K. Furukawa. A self-applicable partial evaluator and its use in incremental compilation. New Generation Computing, 6(2 & 3):91–118, 1988.
D. A. Fuller and S. Abramsky. Mixed computation of Prolog programs. New Generation Computing, 6(2 & 3):119–141, June 1988.
Y. Futamura, K. Nogi, and A. Takano. Essence of generalized partial computation. Theoretical Computer Science, 90(1):61–79, 1991.
J. Gallagher. Tutorial on specialisation of logic programs. In Proceedings of PEPM’93, the ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 88–98. ACM Press, 1993.
J. Gallagher and M. Bruynooghe. The derivation of an algorithm for program specialisation. New Generation Computing, 9(3 & 4):305–333, 1991.
R. Glück. On the mechanics of metasystem hierarchies in program transformation. In M. Proietti, editor, Logic Program Synthesis and Transformation. Proceedings of LOPSTR’95, LNCS 1048, pages 234–251, Utrecht, The Netherlands, September 1995. Springer-Verlag.
R. Glück, J. Hatcli., and J. Jørgensen. Generalization in hierarchies of online program specialization systems. In P. Flener, editor, Logic-Based Program Synthesis and Transformation. Proceedings of LOPSTR’98, LNCS 1559, pages 179–198, Manchester, UK, June 1998. Springer-Verlag.
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 of the International Symposium on Programming Languages, Implementations, Logics and Programs (PLILP’96), LNCS 1140, pages 152–166, Aachen, Germany, September 1996. Springer-Verlag.
R. Glück and M. H. Sørensen. A roadmap to supercompilation. In O. Danvy, R. Glück, and P. Thiemann, editors, Partial Evaluation, International Seminar, LNCS 1110, pages 137–160, Schloβ Dagstuhl, 1996. Springer-Verlag.
J. Gustedt. Algorithmic Aspects of Ordered Structures. PhD thesis, Technische Universität Berlin, 1992.
M. Hanus. The integration of functions into logic programming. The Journal of Logic Programming, 19 & 20:583–628, May 1994.
G. Higman. Ordering by divisibility in abstract algebras. Proceedings of the London Mathematical Society, 2:326–336, 1952.
P. Hill and J. Gallagher. Meta-programming in logic programming. In D. M. Gabbay, C. J. Hogger, and J. A. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, volume 5, pages 421–497. Oxford Science Publications, Oxford University Press, 1998.
G. Huet. Confluent reductions: Abstract properties and applications to term rewriting systems. Journal of the ACM, 27(4):797–821, 1980.
N. D. Jones. An introduction to partial evaluation. ACM Computing Surveys, 28(3):480–503, September 1996.
N. D. Jones. Computability and Complexity: From a Programming Perspective. MIT Press, 1997.
N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.
J. Jørgensen, M. Leuschel, and B. Martens. Conjunctive partial deduction in practice. In J. Gallagher, editor, Logic Program Synthesis and Transformation. Proceedings of LOPSTR’96, LNCS 1207, pages 59–82, Stockholm, Sweden, August 1996. Springer-Verlag.
R. M. Karp and R. E. Miller. Parallel program schemata. Journal of Computer and System Sciences, 3:147–195, 1969.
J. B. Kruskal. Well-quasi ordering, the tree theorem, and Vazsonyi’s conjecture. Transactions of the American Mathematical Society, 95:210–225, 1960.
L. Lafave and J. Gallagher. Constraint-based partial evaluation of rewritingbased functional logic programs. In N. Fuchs, editor, Logic Program Synthesis and Transformation. Proceedings of LOPSTR’97, LNCS 1463, pages 168–188, Leuven, Belgium, July 1997.
H. Lehmann and M. Leuschel. Solving planning problems by partial deduction. In M. Parigot and A. Voronkov, editors, Proceedings of the International Conference on Logic for Programming and Automated Reasoning (LPAR’2000), LNAI 1955, pages 451–468, Reunion Island, France, 2000. Springer-Verlag.
P. Lescanne. Rewrite orderings and termination of rewrite systems. In A. Tarlecki, editor, Mathematical Foundations of Computer Science 1991, LNCS 520, pages 17–27, Kazimierz Dolny, Poland, September 1991. Springer-Verlag.
P. Lescanne. Well rewrite orderings and well quasi-orderings. Technical Report No 1385, INRIA-Lorraine, France, January 1991.
M. Leuschel. Improving homeomorphic embedding for online termination. In P. Flener, editor, Logic-Based Program Synthesis and Transformation. Proceedings of LOPSTR’98, LNCS 1559, pages 199–218, Manchester, UK, June 1998. Springer-Verlag.
M. Leuschel. On the power of homeomorphic embedding for online termination. In G. Levi, editor, Static Analysis. Proceedings of SAS’98, LNCS 1503, pages 230–245, Pisa, Italy, September 1998. Springer-Verlag.
M. Leuschel. Logic program specialisation. In J. Hatcli., T. Æ. Mogensen, and P. Thiemann, editors, Partial Evaluation: Practice and Theory, LNCS 1706, pages 155–188, Copenhagen, Denmark, 1999. Springer-Verlag.
M. Leuschel and M. Bruynooghe. Logic program specialisation through partial deduction: Control issues. Theory and Practice of Logic Programming, 2(4 & 5):461–515, July & September 2002.
M. Leuschel and H. Lehmann. Coverability of reset Petri nets and other wellstructured transition systems by partial deduction. In J. Lloyd, editor, Proceedings of the International Conference on Computational Logic (CL’2000), LNAI 1861, pages 101–115, London, UK, 2000. Springer-Verlag.
M. Leuschel and H. Lehmann. Solving coverability problems of Petri nets by partial deduction. In M. Gabbrielli and F. Pfenning, editors, Proceedings of PPDP’2000, pages 268–279, Montreal, Canada, 2000. ACM Press.
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, Partial Evaluation, International Seminar, LNCS 1110, pages 263–283, Schloβ Dagstuhl, 1996. Springer-Verlag.
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.
M. Leuschel and T. Massart. Infinite state model checking by abstract interpretation and program specialisation. In A. Bossi, editor, Logic-Based Program Synthesis and Transformation. Proceedings of LOPSTR’99, LNCS 1817, pages 63–82, Venice, Italy, September 1999.
C. S. Lii, N. D. Jones, and A. M. Ben-Amram. The size-change principle for program termination. In Proceedings of POPL’01. ACM Press, January 2001.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.
J. W. Lloyd and J. C. Shepherdson. Partial evaluation in logic programming. The Journal of Logic Programming, 11(3&4):217–242, 1991.
R. Marlet. Vers une Formalisation de l’ Évaluation Partielle. PhD thesis, Université de Nice-S ophia Antipolis, December 1994.
B. Martens. On the Semantics of Meta-Programming and the Control of Partial Deduction in Logic Programming. PhD thesis, K.U. Leuven, February 1994.
B. Martens and D. De Schreye. Automatic finite unfolding using well-founded measures. The Journal of Logic Programming, 28(2):89–146, August 1996.
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.
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.
J. Martin and M. Leuschel. Sonic partial deduction. In Proceedings of the Third International Ershov Conference on Perspectives of System Informatics, LNCS 1755, pages 101–112, Novosibirsk, Russia, 1999. Springer-Verlag.
A. Middeldorp and H. Zantema. Simple termination of rewrite systems. Theoretical Computer Science, 175(1):127–158, 1997.
T. Mogensen and P. Sestoft. Partial evaluation. In A. Kent and J. G. Williams, editors, Encyclopedia of Computer Science and Technology, pages 247–279. Marcel Decker, 270 Madison Avenue, New York, New YOrk 10016, 1997.
A. Pettorossi and M. Proietti. Transformation of logic programs: Foundations and techniques. The Journal of Logic Programming, 19&20:261–320, May 1994.
A. Pettorossi and M. Proietti. A comparative revisitation of some program transformation techniques. In O. Danvy, R. Glück, and P. Thiemann, editors, Partial Evaluation, International Seminar, LNCS 1110, pages 355–385, Schloβ Dagstuhl, 1996. Springer-Verlag.
L. Puel. Using unavoidable set of trees to generalize Kruskal’s theorem. Journal of Symbolic Computation, 8:335–382, 1989.
E. Ruf. Topics in Online Partial Evaluation. PhD thesis, Stanford University, March 1993.
D. Sahlin. Mixtus: An automatic partial evaluator for full Prolog. New Generation Computing, 12(1):7–51, 1993.
J. P. Secher and M. H. Sørensen. On perfect supercompilation. In Proceedings of the Third International Ershov Conference on Perspectives of System Informatics, LNCS 1755, pages 113–127, Novosibirsk, Russia, 1999. Springer-Verlag.
L. Song and Y. Futamura. A new termination approach for specialization. In W. Taha, editor, Proceedings of SAIG’00, LNCS 1924, pages 72–91. Springer-Verlag, 2000.
M. H. Sørensen. Convergence of program transformers in the metric space of trees. In Mathematics of Program Construction, Proceedings of MPC’98, LNCS 1422, pages 315–337. Springer-Verlag, 1998.
M. H. Sørensen and R. Glück. An algorithm of generalization in positive supercompilation. In J. W. Lloyd, editor, Proceedings of ILPS’95, the International Logic Programming Symposium, pages 465–479, Portland, USA, December 1995. MIT Press.
M. H. Sørensen and R. Glück. Introduction to supercompilation. In J. Hatcli., T. Æ. Mogensen, and P. Thiemann, editors, Partial Evaluation-Practice and Theory, LNCS 1706, pages 246–270, Copenhagen, Denmark, 1999. Springer-Verlag.
M. H. Sørensen, R. Glück, and N. D. Jones. A positive supercompiler. Journal of Functional Programming, 6(6):811–838, 1996.
J. Stillman. Computational Problems in Equational Theorem Proving. PhDthesis, State University of New York at Albany, 1988.
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, pages 415–420, 1986.
V. F. Turchin. The concept of a supercompiler. ACM Transactions on Programming Languages and Systems, 8(3):292–325, 1986.
W. Vanhoof and B. Martens. To parse or not to parse. In N. Fuchs, editor, Logic Program Synthesis and Transformation. Proceedings of LOPSTR’97, LNCS 1463, pages 322–342, Leuven, Belgium, July 1997.
A. Weiermann. Complexity bounds for some finite forms of Kruskal’s theorem. Journal of Symbolic Computation, 18(5):463–488, November 1994.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Leuschel, M. (2002). Homeomorphic Embedding for Online Termination of Symbolic Methods. In: Mogensen, T.Æ., Schmidt, D.A., Sudborough, I.H. (eds) The Essence of Computation. Lecture Notes in Computer Science, vol 2566. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36377-7_17
Download citation
DOI: https://doi.org/10.1007/3-540-36377-7_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00326-7
Online ISBN: 978-3-540-36377-4
eBook Packages: Springer Book Archive