## A parameterized unfold/fold transformation framework for definite logic programs (1999)

### Cached

### Download Links

- [www.comp.nus.edu.sg]
- [www.comp.nus.edu.sg]
- [www.cs.sunysb.edu]
- [www.cs.sunysb.edu]
- [www.cs.sunysb.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | In Principles and Practice of Declarative Programming (PPDP), LNCS 1702 |

Citations: | 23 - 6 self |

### BibTeX

@INPROCEEDINGS{Roychoudhury99aparameterized,

author = {Abhik Roychoudhury and K. Narayan Kumar and C. R. Ramakrishnan and I. V. Ramakrishnan},

title = {A parameterized unfold/fold transformation framework for definite logic programs},

booktitle = {In Principles and Practice of Declarative Programming (PPDP), LNCS 1702},

year = {1999},

pages = {396--413},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

Given a program P, an unfold/fold program transformation system derives a sequence of programs P = P0, P1,:::, Pn, such that Pi+1 is derived from Pi by application of either an unfolding or a folding step. Existing unfold/fold transformation systems for definite logic programs differ from one another mainly in the kind of folding transformations they permit at each step. Some allow folding using a single (possibly recursive) clause while others permit folding using multiple non-recursive clauses. However, none allow folding using multiple recursive clauses that are drawn from some previous program in the transformation sequence. In this paper we develop a parameterized framework for unfold/fold transformations by suitably abstracting and extending the proofs of existing transformation systems. Various existing unfold/fold transformation systems can be obtained by instantiating the parameters of the framework. This framework enables us to not only understand the relative strengths and limitations of these systems but also construct new transformation systems. Specifically we present a more general transformation system that permits folding using multiple recursive clauses that can be drawn from any previous program in the transformation sequence. This new transformation system is also obtained by instantiating our parameterized framework.

### Citations

213 |
Unfold/fold transformations of logic programs
- Tamaki, Sato
- 1984
(Show Context)
Citation Context ...K. Narayan Kumar was partially supported by NSFgrantCDA-9805735.s389 otherwise. An unfold/fold transformation system for de nite logic programs was rst described in a seminal paper by Tamaki and Sato =-=[20]-=-. In the urry of research activity that followed, a number of unfold/fold transformation systems were developed. Kanamori and Fujita [8] proposed a transformation system that was based on maintaining ... |

61 | Total correctness by local improvement in the transformation of functional programs
- Sands
- 1996
(Show Context)
Citation Context ...eresting to study whether we can develop similar parameterized unfold/fold transformation frameworks for other programming paradigms such as functional and concurrent constraint programming languages =-=[5, 17]-=- as well as process algebraic speci cation languages (e.g. CCS) [6]. Acknowledgements: We would like to thank the anonymous referees for their valuable comments. We thank Alberto Pettorossi and Mauriz... |

43 | Unfold/fold transformation of stratified programs - Seki - 1991 |

35 | Logic programming and model checking
- Cui, Dong, et al.
- 1998
(Show Context)
Citation Context ...uses. Such a transformation system is particularly important for verifying parameterized concurrent systems (such asan-process token ring for arbitrary n) using logic program evaluation and deduction =-=[4, 16]-=-. In [15], we have extended the work reported in this paper to obtain generalized unfold/fold transformation systems for normal logic programs. Aravindan and Dung [1] developed an approach to paramete... |

34 | M.: Transformation of logic programs - Pettorossi, Proietti - 1998 |

30 |
A Method for Specializing Logic Programs
- Bossi, N, et al.
- 1990
(Show Context)
Citation Context ...folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation [1, 18, 19]) and applied to practical problems (e.g., =-=[2, 3, 12]-=-). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs for unfold/fold transformations consider transformat... |

25 | On the correctness of unfold/fold transformation of normal and extended logic programs
- Aravindan, Dung
- 1995
(Show Context)
Citation Context ...Maher described a system that permits only reversible folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation =-=[1, 18, 19]-=-) and applied to practical problems (e.g., [2, 3, 12]). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs... |

25 | Reducing nondeterminism while specializing logic programs
- Pettorossi, Proietti, et al.
- 1997
(Show Context)
Citation Context ...folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation [1, 18, 19]) and applied to practical problems (e.g., =-=[2, 3, 12]-=-). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs for unfold/fold transformations consider transformat... |

21 | Correctness of a Logic Program Transformation System
- Maher
- 1987
(Show Context)
Citation Context ...systems were developed. Kanamori and Fujita [8] proposed a transformation system that was based on maintaining counters to guide folding. Maher described a system that permits only reversible folding =-=[10]-=-. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation [1, 18, 19]) and applied to practical problems (e.g., [2, 3, 12]).... |

20 |
Unfold/Fold Transformation of General Logic Programs for the Well-founded Semantics
- Seki
- 1993
(Show Context)
Citation Context ...Maher described a system that permits only reversible folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation =-=[1, 18, 19]-=-) and applied to practical problems (e.g., [2, 3, 12]). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs... |

19 | Transformations of CCP programs
- Etalle, Gabbrielli, et al.
- 2001
(Show Context)
Citation Context ...eresting to study whether we can develop similar parameterized unfold/fold transformation frameworks for other programming paradigms such as functional and concurrent constraint programming languages =-=[5, 17]-=- as well as process algebraic speci cation languages (e.g. CCS) [6]. Acknowledgements: We would like to thank the anonymous referees for their valuable comments. We thank Alberto Pettorossi and Mauriz... |

18 |
Unfold/Fold Transformation of Logic Programs with Counters", ICOT
- Kanamori, Fujita
- 1986
(Show Context)
Citation Context ...istent, note that lo (C0 i ) lo (C) . Combining this with (*), we get i+1 (A) lo (C0 ) X (Al ) (G 1 l k 0 ) This completes the proof. 2 Observe that, similar to the goal replacement transformation in =-=[8, 20, 21]-=- the conditions under which rule 6 may be applied are not testable at transformation time. For testability we need to (1) determine whether G and G 0 are semantically equivalent, and (2) estimate and ... |

17 |
A Generalized Correctness Proof of the Unfold/Fold Logic Program Transformation
- Tamaki, Sato
- 1986
(Show Context)
Citation Context ...ets. It is easy to see a one-to-one correspondence between the conditions on unfold/fold transformations of the above instantiation and the Kanamori-Fujita system.s399 The Extended Tamaki-Sato System =-=[21]-=-: In this system all the predicate symbols are partitioned into n strata. In the initial program a predicate from stratum j is de ned using only predicates from strata j. We can obtain this system as ... |

17 | Unfold/fold transformations for definite clause programs - Gergatsoulis, Katzouraki - 1994 |

13 |
Deriving Unfold/Fold Transformations of Logic Programs Using Extended OLDT-based Abstract Interpretation
- Boulanger, Bruynooghe
- 1993
(Show Context)
Citation Context ...folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation [1, 18, 19]) and applied to practical problems (e.g., =-=[2, 3, 12]-=-). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs for unfold/fold transformations consider transformat... |

11 | Beyond Tamaki-Sato style unfold/fold transformations for normal logic programs
- Roychoudhury, Kumar, et al.
- 2002
(Show Context)
Citation Context ... transformation system is particularly important for verifying parameterized concurrent systems (such asan-process token ring for arbitrary n) using logic program evaluation and deduction [4, 16]. In =-=[15]-=-, we have extended the work reported in this paper to obtain generalized unfold/fold transformation systems for normal logic programs. Aravindan and Dung [1] developed an approach to parameterize the ... |

8 |
Transformation of logic programs, volume 5
- Pettorossi, Proietti
- 1998
(Show Context)
Citation Context ...basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation [1, 18, 19]) and applied to practical problems (e.g., [2, 3, 12]). (See =-=[11]-=- for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs for unfold/fold transformations consider transformation sequence... |

6 |
Unfold/fold transformations for de nite clause programs
- Gergatsoulis, Katzouraki
- 1994
(Show Context)
Citation Context ...uide folding. Maher described a system that permits only reversible folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses =-=[7]-=-, negation [1, 18, 19]) and applied to practical problems (e.g., [2, 3, 12]). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformati... |

4 |
Unfold/Fold transformation of strati ed programs. Theoretical Computer
- Seki
- 1993
(Show Context)
Citation Context ...Maher described a system that permits only reversible folding [10]. The basic Tamaki-Sato system itself was extended in several directions (e.g., to handle folding with multiple clauses [7], negation =-=[1, 18, 19]-=-) and applied to practical problems (e.g., [2, 3, 12]). (See [11] for an excellent survey of research on this topic over the past decade). Correctness of Unfold/Fold Transformations Correctness proofs... |

3 | A generalized unfold/fold transformation system for definite logic programs
- Roychoudhury, Kumar, et al.
- 1998
(Show Context)
Citation Context ...sed (extended) TamakiSato system with the counter-based Kanamori-Fujita system thereby obtaining a single system that strictly subsumes either of them even when restricted to conjunctive folding (See =-=[13]-=- for a formal proof of this claim). It is interesting to note that by simple inspection of the instantiations, one can see that when the number of strata is 1 and only conjunctive folding is permitted... |

2 |
A transformation system for concurrent processes
- Francesco, Santone
- 1998
(Show Context)
Citation Context ...old transformation frameworks for other programming paradigms such as functional and concurrent constraint programming languages [5, 17] as well as process algebraic speci cation languages (e.g. CCS) =-=[6]-=-. Acknowledgements: We would like to thank the anonymous referees for their valuable comments. We thank Alberto Pettorossi and Maurizio Proietti for useful discussions and pointers to earlier work. We... |

2 |
Tabulation based Induction proofs with applications to Automated Verification
- Roychoudhury, Ramakrishnan, et al.
- 1998
(Show Context)
Citation Context ...uses. Such a transformation system is particularly important for verifying parameterized concurrent systems (such asan-process token ring for arbitrary n) using logic program evaluation and deduction =-=[4, 16]-=-. In [15], we have extended the work reported in this paper to obtain generalized unfold/fold transformation systems for normal logic programs. Aravindan and Dung [1] developed an approach to paramete... |

1 |
Proofs by program transformations. Accepted for LOPSTR
- Roychoudhury, Kumar, et al.
- 1999
(Show Context)
Citation Context ...the body of a clause in Pi that is replaced and let fC1�::: �Cng be the clauses in Pi that unify with B. Then, min1 k n( i lo (Ck) ; min(hd(Ck))), where hd(Ck) is the head atom of Ck (for details =-=see [14]).-=- The above steps de ne a procedure to add goal replacement toany arbitrary unfold/fold system instantiated in our framework. More importantly, this is done by simply manipulating the measures� the p... |