More on Unfold/Fold Transformations of Normal Programs: Preservation of Fitting's Semantics

The unfold/fold transformation system defined by Tamaki and Sato was meant for definite programs. It transforms a program into an equivalent one in the sense of both the least Herbrand model semantics and the Computed Answer Substitution semantics. Seki extended the method to normal programs and specialized it in order to preserve also the finite failure set. The resulting system is correct wrt nearly all the declarative semantics for normal programs. An exception is Fitting's model semantics. In this paper we consider a slight variation of Seki's method and we study its correctness wrt Fitting's semantics. We define an applicability condition for the fold operation and we show that it ensures the preservation of the considered semantics through the transformation.

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

[2]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

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

[4]  Taisuke Sato,et al.  Equivalence-Preserving First-Order Unfold/Fold Transformation Systems , 1990, Theor. Comput. Sci..

[5]  Hirohisa Seki,et al.  Unfold/Fold Transformation of General Logic Programs for the Well-Founded Semantics , 1993, J. Log. Program..

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

[7]  K. Clark,et al.  Predicate logic: a calculus for deriving programs , 1977, IJCAI 1977.

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

[9]  Melvin Fitting A Deterministic Prolog Fixpoint Semantics , 1985, J. Log. Program..

[10]  Sandro Etalle,et al.  Simultaneous Replacement in Normal Programs , 1996, J. Log. Comput..

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

[12]  Krzysztof R. Apt,et al.  Introduction to Logic Programming , 1988 .

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

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

[15]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[16]  Tadashi Kanamori,et al.  Preservation of Stronger Equivalence in Unfold/Fold Logic Program Transformation , 1990, Theor. Comput. Sci..

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

[18]  Giuseppe Attardi,et al.  Towards a More Declarative Programming Style , 1977, Formal Description of Programming Concepts.

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

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

[21]  Sandro Etalle,et al.  Transforming Normal Programs by Replacement , 1992, META.

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

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

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

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

[26]  Chandrabose Aravindan,et al.  On the Correctness of Unfold/Fold Transformation of Normal and Extended Logic Programs , 1995, J. Log. Program..

[27]  Chandrabose Aravindan,et al.  Partial Deduction of Logic Programs wrt Well-Founded Semantics , 1992, ALP.