Program transformations for non-linear recursive logic programs

Manolis Gergatsoulis, Maria Katzouraki

Program Tranformations for non-linear recursive logic programs Manolis Gergatsoulis and Maria Katzouraki Abstract Fold/unfold program transformation is a powerful technique for improving efficiency of logic programs. A fold/unfold system consists of a few, simple but very powerful transformation rules. Between them the rule for the introduction of new predicate definitions (Eureka), requires the greatest creativity. In this paper we study some possible forms of recursive Eureka definitions and the transformation strategies that result in improvement of the efficiency for a class of nonlinear recursive logic programs. The proposed transformations result in the generalization of the relations defined by the logic procedures. Key Words: program transformations, optimization, generalization, logic programming