Download:
|
by Abhik Roychoudhury, K. Narayan Kumar, I. V. Ramakrishnan
http://www.cs.sunysb.edu/~abhik/papers/../transform/ppdp.ps.gz
Add To MetaCart
Abstract:
Abstract. Given a program P, an unfold/fold program transformation system derives a sequence of programs P = P0, P1, : : : , Pn, such that P i+1 is derived from P i 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. 1
Citations
|
212
|
Sato T.: Unfold/Fold Transformations of Logic Programs
– Tamaki
- 1984
|
|
56
|
Total correctness by local improvement in the transformation of functional programs
– Sands
- 1996
|
|
37
|
Unfold/Fold Transformation of Stratified Programs
– Seki
- 1989
|
|
36
|
A method for specializing logic programs
– Bossi, Cocco, et al.
- 1990
|
|
32
|
On the Correctness of Unfold/Fold Transformations of Normal and Extended Logic Programs
– Aravindan, Dung
- 1995
|
|
31
|
Reducing nondeterminism while specializing logic programs
– Pettorossi, Proietti, et al.
- 1997
|
|
30
|
Logic programming and model checking
– Cui, Dong, et al.
- 1998
|
|
26
|
Unfold/fold transformation of general logic programs for well-founded semantics
– Seki
- 1993
|
|
24
|
Unfold/Fold Transformations for Definite Clause Programs
– Gergatsoulis, Katzouraki
- 1994
|
|
24
|
Correctness of a Logic Program Transformation System
– Maher
- 1988
|
|
21
|
A generalized correctness proof of the unfold/fold logic program transformation
– Tamaki, Sato
- 1986
|
|
20
|
Unfold/fold transformation of logic programs with counters
– Kanamori, Fujita
- 1987
|
|
18
|
Deriving unfold/fold transformations of logic programs using extended OLDT-based abstract interpretation
– Boulanger, Bruynooghe
- 1993
|
|
17
|
Unfold/fold transformations of CCP programs
– Etalle, Gabbrielli, et al.
- 1998
|
|
14
|
Transformation of Logic Programs. volume 5
– Pettorossi, Proietti
- 1998
|
|
10
|
Beyond Tamaki-Sato style unfold/fold transformations for normal logic programs
– Roychoudhury, Kumar, et al.
- 1999
|
|
7
|
A generalized unfold/fold transformation system for definite logic programs
– Roychoudhury, Kumar, et al.
- 1998
|
|
4
|
A transformation system for concurrent processes
– Francesco, Santone
- 1998
|
|
4
|
Tabulation based Induction proofs with applications to Automated Verification
– Roychoudhury, Ramakrishnan, et al.
- 1998
|
|
3
|
Proofs by program transformations. Accepted for LOPSTR
– Roychoudhury, Kumar, et al.
- 1999
|