Preserving Universal Termination through Unfold/Fold

We study how to preserve universal termination besides computed answer substitutions while transforming definite programs. We consider the unfold operation both alone and combined with the introduction of a new definition and fold operations. We prove that unfold always preserves universal termination. Moreover we define a restricted version of the Tamaki-Sato's transformation sequence and show that it preserves universal termination as well.

[1]  Sandro Etalle,et al.  Simultaneous Replacement in Normal Programs , 1996, J. Log. Comput..

[2]  Neil D. Jones,et al.  Stepwise Development of Operational and Denotational Semantics for Prolog , 1984, International Conference on Spoken Language Processing.

[3]  M. Baudinet Logic programming semantics: techniques and applications , 1989 .

[4]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[5]  Alberto Pettorossi,et al.  Semantics preserving transformation rules for Prolog , 1991 .

[6]  Hirohisa Seki,et al.  A Comparative Study of the Well-Founded and the Stable Model Semantics: Transformation's Viewpoint , 1990, LPNMR.

[7]  Hirohisa Seki,et al.  Unfold/Fold Transformations of Stratified Programs , 1991, Theor. Comput. Sci..

[8]  Annalisa Bossi,et al.  Basic Transformation Operations which Preserve Computed Answer Substitutions of Logic Programs , 1993, J. Log. Program..

[9]  Taisuke Sato,et al.  Equivalence-Preserving First-Order Unfold/Fold Transformation Systems , 1990, Theor. Comput. Sci..

[10]  Hirohisa Seki,et al.  Unfold/Fold Transformation of General Logic Programs for the Well-Founded Semantics , 1993, J. Log. Program..

[11]  John C. Shepherdson,et al.  Unfold/fold transformations of logic programs , 1992, Mathematical Structures in Computer Science.

[12]  Catuscia Palamidessi,et al.  Algebraic Properties of Idempotent Substitutions , 1990, ICALP.

[13]  Sandro Etalle,et al.  Transforming Normal Programs by Replacement , 1992, META.

[14]  Chandrabose Aravindan,et al.  On the Correctness of Unfold/Fold Transformation of Normal and Extended Logic Programs , 1995, J. Log. Program..

[15]  Elmar Eder,et al.  Properties of Substitutions and Unifications , 1983, J. Symb. Comput..

[16]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[17]  Annalisa Bossi,et al.  Proving Termination of Logic Programs by Exploiting Term Properties , 1991, TAPSOFT, Vol.2.

[18]  Sandro Etalle,et al.  On Safe Folding , 1992, PLILP.

[19]  Krzysztof R. Apt,et al.  Introduction to Logic Programming , 1988 .

[20]  Alberto Pettorossi,et al.  Unfolding - Definition - Folding, in this Order, for Avaoiding Unnecessary Variables in Logic Programs , 1991, PLILP.

[21]  Jan Komorowski,et al.  Partial evaluation as a means for inferencing data structures in an applicative language: a theory and implementation in the case of prolog , 1982, POPL '82.