Transformation Rules for Locally Stratified Constraint Logic Programs

We propose a set of transformation rules for constraint logic programs with negation. We assume that every program is locally stratified and, thus, it has a unique perfect model. We give sufficient conditions which ensure that the proposed set of transformation rules preserves the perfect model of the programs. Our rules extend in some respects the rules for logic programs and constraint logic programs already considered in the literature and, in particular, they include a rule for unfolding a clause with respect to a negative literal.

[1]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

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

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

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

[5]  Alberto Pettorossi,et al.  Transformation of Logic Programs: Foundations and Techniques , 1994, J. Log. Program..

[6]  Jean Berstel,et al.  Context-Free Languages and Pushdown Automata , 1997, Handbook of Formal Languages.

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

[8]  Alberto Pettorossi,et al.  Reducing nondeterminism while specializing logic programs , 1997, POPL '97.

[9]  David Sands,et al.  Total correctness by local improvement in the transformation of functional programs , 1996, TOPL.

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

[11]  Yves Deville,et al.  Synthesis of Programs in Computational Logic , 2004, Program Development in Computational Logic.

[12]  Thierry Massart,et al.  Infinite State Model Checking by Abstract Interpretation and Program Specialisation , 1999, LOPSTR.

[13]  Sandro Etalle,et al.  Transformations of CLP Modules , 1996, Theor. Comput. Sci..

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

[15]  C. R. Ramakrishnan,et al.  A Parameterized Unfold/Fold Transformation Framework for Definite Logic Programs , 1999, PPDP.

[16]  Michael J. Maher A Transformation System for Deductive Database Modules with Perfect Model Semantics , 1989, FSTTCS.

[17]  María Alpuente,et al.  A Transformation System for Lazy Functional Logic Programs , 1999, Fuji International Symposium on Functional and Logic Programming.

[18]  Tadashi Kanamori,et al.  Construction of Logic Programs Based on Generalized Unfold/Fold Rules , 1987, ICLP.

[19]  Irène Guessarian,et al.  Transforming Constraint Logic Programs , 1994, Theor. Comput. Sci..

[20]  Michael J. Maher,et al.  The Semantics of Constraint Logic Programs , 1998, J. Log. Program..

[21]  Alberto Pettorossi,et al.  Perfect Model Checking via Unfold/Fold Transformations , 2000, Computational Logic.

[22]  C. R. Ramakrishnan,et al.  Beyond Tamaki-Sato Style Unfold/Fold Transformations for Normal Logic Programs , 2002, Int. J. Found. Comput. Sci..

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

[24]  C. R. Ramakrishnan,et al.  Verification of Parameterized Systems Using Logic Program Transformations , 2000, TACAS.

[25]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[26]  autoepistemic Zogic Logic programming and negation : a survey , 2001 .

[27]  Krzysztof R. Apt,et al.  From logic programming to Prolog , 1996, Prentice Hall International series in computer science.

[28]  María Alpuente,et al.  Analyses of Inconsistency for Incremental Equational Logic Programming , 1992, PLILP.

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

[30]  Laurent Fribourg,et al.  Proving Safety Properties of Infinite State Systems by Compilation into Presburger Arithmetic , 1997, CONCUR.

[31]  Hirohisa Seki,et al.  Unfold/Fold Transformations of Stratified Programs , 1991, Theor. Comput. Sci..

[32]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[33]  Alberto Pettorossi,et al.  Program Derivation = Rules + Strategies , 2002, Computational Logic: Logic Programming and Beyond.

[34]  Alberto Pettorossi,et al.  Verifying CTL properties of infinite state systems by specializing constraint logic programs , 2001 .

[35]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

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

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

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

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

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

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

[42]  Gerda Janssens,et al.  Global analysis of constraint logic programs , 1996, TOPL.

[43]  Maurice Bruynooghe,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming Logic Program Specialisation through Partial Deduction: Control Issues , 2022 .

[44]  Hisao Tamaki,et al.  Transformational Logic Program Synthesis , 1984, FGCS.