Transformation of Left Terminating Programs: The reordering problem

Annalisa Bossi, Maurizio Proietti (Editor), Nicoletta Cocco, Sandro Etalle

    Research output: Contribution to conferencePaperAcademicpeer-review

    15 Citations (Scopus)
    95 Downloads (Pure)


    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.
    Original languageUndefined
    Number of pages13
    Publication statusPublished - Sep 1995
    Event5th International Workshop on Logic Program Synthesis and Transformation, LOPSTR '95 - Utrecht, The Netherlands
    Duration: 20 Sep 199522 Sep 1995


    Workshop5th International Workshop on Logic Program Synthesis and Transformation, LOPSTR '95
    OtherSeptember 20-22, 1995


    • EWI-1149
    • IR-56271

    Cite this