Transforming Normal Programs by Replacement

The replacement transformation operation, already defined in [28], is studied wrt normal programs. We give applicability conditions able to ensure the correctness of the operation wrt Fitting's and Kunen's semantics. We show how replacement can mimic other transformation operations such as thinning, fattening and folding, thus producing applicability conditions for them too. Furthermore we characterize a transformation sequence for which the preservation of Fitting's and Kunen's semantics is ensured.

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

[2]  Christopher J. Hogger,et al.  Derivation of Logic Programs , 1981, JACM.

[3]  Kenneth Kunen,et al.  Negation in Logic Programming , 1987, J. Log. Program..

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

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

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

[7]  Yves Deville Logic programming , 1990 .

[8]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[9]  Annalisa Bossi,et al.  A method for specializing logic programs , 1990, TOPL.

[10]  Melvin Fitting,et al.  A Kripke-Kleene Semantics for Logic Programs , 1985, J. Log. Program..

[11]  Jean-Marie Jacquet,et al.  Introduction to Logic Programming , 1993, ICLP Workshop on Construction of Logic Programs.

[12]  中川 裕志,et al.  UNFOLD/FOLD TRANSFORMATION OF STRATIFIED PROGRAMS , 1989 .

[13]  Alberto Pettorossi,et al.  Synthesis of Eureka Predicates for Developing Logic Programs , 1990, ESOP.

[14]  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.

[15]  Yves Deville,et al.  Logic programming - systematic program development , 1990, International series in logic programming.

[16]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[17]  Taisuke Sato,et al.  An Equivalence Preserving First Order Unfold/fold Transformation System , 1990, International Conference on Algebraic and Logic Programming.

[18]  Cliff B. Jones,et al.  Systematic Program Development , 1986 .

[19]  Michael J. Maher A Tranformation System for Deductive Databases Modules with Perfect Model Semantics , 1993, Theor. Comput. Sci..

[20]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[21]  John C. Shepherdson,et al.  Negation as Failure: A Comparison of Clark's Completed Data Base and Reiter's Closed World Assumption , 1984, J. Log. Program..

[22]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[23]  John W. Lloyd,et al.  Partial Evaluation in Logic Programming , 1991, J. Log. Program..

[24]  Michael J. Maher Correctness of a Logic Program Transformation System , 1987 .

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

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

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