An Unfold/Fold transformation system is a source-to-source rewriting methodology devised to improve the efficiency of a program. Any such transformation should preserve the main properties of the initial program: among them, termination. When dealing with logic programs such as PROLOG programs, one is particularly interested in preserving left termination i.e. termination wrt the leftmost selection rule, which is by far the most widely employed of the search rules. Unfortunately, the most popular Unfold/Fold transformation systems ([TS84, Sek91]) do not preserve the above termination property. In this paper we study the reasons why left termination may be spoiled by the application of a transformation operation and we present a transformation system based on the operations of Unfold, Fold and Switch which ¿ if applied to a left terminating programs ¿ yields a program which is left terminating as well.
|Number of pages||13|
|Publication status||Published - Sep 1995|
|Event||5th International Workshop on Logic Program Synthesis and Transformation, LOPSTR '95 - Utrecht, The Netherlands|
Duration: 20 Sep 1995 → 22 Sep 1995
|Workshop||5th International Workshop on Logic Program Synthesis and Transformation, LOPSTR '95|
|Period||20/09/95 → 22/09/95|
|Other||September 20-22, 1995|