ACM Home Page
Please provide us with feedback. Feedback
An unfold/fold transformation framework for definite logic programs
Full text PdfPdf (297 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 26 ,  Issue 3  (May 2004) table of contents
Pages: 464 - 509  
Year of Publication: 2004
ISSN:0164-0925
Authors
Abhik Roychoudhury  National University of Singapore
K. Narayan Kumar  Chennai Mathematical Institute, Madras, India
C. R. Ramakrishnan  State University of New York at Stony Brook, NY
I. V. Ramakrishnan  State University of New York at Stony Brook, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 72,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/982158.982160
What is a DOI?

ABSTRACT

Given a logic 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. Unfold/fold transformations have been widely used for improving program efficiency and for reasoning about programs. Unfolding corresponds to a resolution step and hence is semantics-preserving. Folding, which replaces an occurrence of the right hand side of a clause with its head, may on the other hand produce a semantically different program. Existing unfold/fold transformation systems for logic programs restrict the application of folding by placing (usually syntactic) conditions that are sufficient to guarantee the correctness of folding. These restrictions are often too strong, especially when the transformations are used for reasoning about programs. In this article we develop a transformation system (called SCOUT) for definite logic programs that is provably more powerful (in terms of transformation sequences allowed) than existing transformation systems. This extra power is needed for a novel use of logic program transformations: for the verification of a specific class of concurrent systems, called parameterized concurrent systems.Our transformation system is constructed by developing a framework, which is parameterized by a "measure space" and associated measure functions. This framework places no syntactic restriction on the application of folding, and it can be used to derive transformation systems (by fixing the measure space and functions). The power of the system is determined by the choice of the measure space and functions; thus the relative power of different transformation systems can be compared by considering their measure spaces and functions. The correctness of these transformation systems follows from the correctness of the framework. We show that various existing transformation systems can be obtained as instances of our framework. We extend the unfold/fold transformation framework with a goal replacement transformation that allows semantically equivalent conjunctions of atoms to be interchanged. We then derive a new transformation system SCOUT as an instance of the framework and show its power relative to the existing transformation systems. SCOUT has been used to inductively prove temporal properties of parameterized concurrent systems (infinite families of finite state concurrent systems). We demonstrate the use of the additional power of SCOUT in constructing such induction proofs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
Aravindan, C. and Dung, P. 1995. On the correctness of unfold/fold transformations of normal and extended logic programs. J. Logic Prog. 24, 3, 295--322.
 
4
 
5
6
 
7
 
8
Bossi, A., Cocco, N., and Etalle, S. 1996. Simultaneous replacement in normal programs. J. Logic Computation 6, 1 (February), 79--120.
 
9
10
 
11
 
12
13
14
 
15
 
16
 
17
Das, S. K. 1992. Deductive Databases and Logic Programming. Addison-Wesley, Boston, USA.
 
18
De Schreye, D., Gluck, R., Jorgensen, J., Leuschel, M., Martens, B., and Sorensen, M. 1999. Conjunctive partial deduction: Foundations, control, algorithms, and experiments. J. Logic Prog. 41, 233--277.
 
19
20
 
21
Francesco, N. D. and Santone, A. 1998. A transformation system for concurrent processes. Acta Informatica 35, 12, 1037--1073.
 
22
 
23
 
24
 
25
 
26
Kanamori, T. and Fujita, H. 1987. Unfold/fold transformation of logic programs with counters. In USA-Japan Seminar on Logics of Programs, Also available as ICOT Technical Report.
 
27
28
 
29
 
30
 
31
Maher, M. 1987. Correctness of a logic program transformation system. Tech. rep., IBM T.J. Watson Research Center.
 
32
 
33
Pettorossi, A. and Proietti, M. 1998. Transformation of logic programs. Handbook of Logic in Artificial Intelligence, vol. 5. Oxford University Press, UK, 697--787.
 
34
Pettorossi, A. and Proietti, M. 1999. Synthesis and transformation of logic programs using unfold/fold proofs. J. Logic Prog. 41, 2--3, 197--230.
 
35
36
 
37
 
38
Roychoudhury, A., Narayan Kumar, K., Ramakrishnan, C. R., and Ramakrishnan, I. V. 2002. Beyond Tamaki-Sato style unfold/fold transformations for normal logic programs. Int. J. Found. Comput. Sci. 13, 3, 387--403.
 
39
 
40
41
 
42
 
43
 
44
Seki, H. 1993. Unfold/fold transformation of general logic programs for well-founded semantics. J. Logic Prog. 16, 1, 5--23.
 
45
Tamaki, H. and Sato, T. 1984. Unfold/fold transformations of logic programs. In Proceedings of International Conference on Logic Programming. 127--138.
 
46
Tamaki, H. and Sato, T. 1986a. A generalized correctness proof of the unfold/ fold logic program transformation. Tech. rep., Ibaraki University, Japan.
 
47



REVIEW

"Philip W. Grant : Reviewer"

Unfold/fold transformations have been studied for a number of years. They were initially applied to functional programs, and, later, in the work of Tamaki and Sato, to logic programs, which is the area of concern of this paper.

Basically, un  more...

Collaborative Colleagues:
Abhik Roychoudhury: colleagues
K. Narayan Kumar: colleagues
C. R. Ramakrishnan: colleagues
I. V. Ramakrishnan: colleagues

Peer to Peer - Readers of this Article have also read: