A Tool for Removing Unused Arguments from Logic Programs Automatically

This paper studies the problem of removing unused arguments from logic programs which have been constructed by a schema-based method. Our schema-based method constructs logic programs semi-automatically. These programs have clear structure which depicts the design decisions that have been taken for their construction. On the other hand, these programs have unused arguments. We propose a method that automatically removes the unused arguments from such programs. This method is based on fold-unfold transformations. We have developed a tool which implements our method and evaluates the initial and the transformed programs. This logic program transformation tool is presented as well.

[1]  John W. Lloyd,et al.  The Gödel programming language , 1994 .

[2]  Hisao Tamaki,et al.  Unfold/Fold Transformation of Logic Programs , 1984, ICLP.

[3]  Alberto Pettorossi,et al.  Rules and strategies for transforming functional and logic programs , 1996, CSUR.

[4]  Jan-Willem Romeijn European Summer School on Logic, Language, and Information , 2008 .

[5]  Manolis Gergatsoulis,et al.  Unfold/Fold Transformations For Definite Clause Programs , 1994, PLILP.

[6]  John P. Gallagher,et al.  Schema-Based Top-Down Design of Logic Programs Using Abstract Data Types , 1994, LOPSTR.

[7]  Alberto Pettorossi,et al.  Transformation of Logic Programs , 1994 .

[8]  John Darlington,et al.  A semantic approach to automatic program improvement , 1972 .

[9]  Emmanouil I. Marakakis Guided Correctness Proofs of Logic Programs , 2005, Artificial Intelligence and Applications.

[10]  Εμμανουηλ Μαρακακησ LOGIC PROGRAM DEVELOPMENT BASED ON TYPED,MODED SCHEMATA AND DATA TYPES , 1997 .

[11]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[12]  Alberto Pettorossi,et al.  Synthesis and Transformation of Logic Programs Using Unfold/Fold Proofs , 1999, J. Log. Program..

[13]  Alberto Pettorossi,et al.  Unfolding - Definition - Folding, in this Order, for Avaoiding Unnecessary Variables in Logic Programs , 1995, Theor. Comput. Sci..

[14]  John P. Gallagher,et al.  Transforming Logic Programs by Specialising Interpreters , 1986, ECAI.

[15]  C. R. Ramakrishnan,et al.  An unfold/fold transformation framework for definite logic programs , 2004, TOPL.

[16]  P. M. Hill,et al.  Meta-Programming in Logic Progamming , 1998 .

[17]  Jan Komorowski,et al.  Towards a Programming Methodology Founded on Partial Deduction , 1990, ECAI.