Filters








210 Hits in 4.5 sec

Synthesis and transformation of logic programs using unfold/fold proofs

Alberto Pettorossi, Maurizio Proietti
1999 The Journal of Logic Programming  
We present a method for proving properties of de®nite logic programs. This method is called unfold/fold proof method because it is based on the unfold/fold transformation rules.  ...  We ®nally illustrate our synthesis method through some examples of program specialization, program synthesis, and program transformation, which can all be viewed as program syntheses from implicit de®nitions  ...  Renault implemented a system for unfold/fold transformations which helped us in the program derivations presented in this paper.  ... 
doi:10.1016/s0743-1066(99)00029-1 fatcat:zg5rjcqe4bbczjlpsu5iiy2vyy

On Solving Word Equations via Program Transformation [article]

Antonina Nepeivoda
2021 arXiv   pre-print
The paper presents an experiment of solving word equations via specialization of a configuration WE(R,E), where the program WE can be considered as an interpreter testing whether a composition of substitutions  ...  Several variants of such interpreters, when specialized using a basic unfold/fold strategy, are able to decide solvability for a number of sets of the word equations with the overlapping variables.  ...  That is, given an unfold/fold algorithm Spec and a non-deterministic program f (x), the algorithm Spec solves the specialization task f ′ (v , x) s.t.  ... 
arXiv:2007.12247v3 fatcat:6re2wx5ttff6bco2ala3km7xdu

On transformations into linear database logic programs [chapter]

Foto Afrati, Manolis Gergatsoulis, Maria Katzouraki
1996 Lecture Notes in Computer Science  
The results in part (b) are proven by presenting an algorithm that uses unfold/fold techniques in a coordinated form to arrive in a certain syntactically simpler program.  ...  We consider the problem of transformations of logic programs without function symbols (database logic programs) into a special subclass, namely linear logic programs.  ...  Unfold/fold transformations Unfold/fold transformations 15, 17, 8, 9] for de nite clause programs were rst formulated in 18] so as to preserve the meaning of programs.  ... 
doi:10.1007/3-540-62064-8_36 fatcat:qebfiaymlja2xj7nlxw5shx2aa

Transformation Systems and Nondeclarative Properties [chapter]

Annalisa Bossi, Nicoletta Cocco, Sandro Etalle
2002 Lecture Notes in Computer Science  
Program transformation systems are applied both in program synthesis and in program optimization.  ...  For logic programs the "logic" component makes transformations very natural and easy to be studied formally. But, when we move to Prolog programs, the "control" component cannot be ignored.  ...  We can obtain such an improvement via an unfold/fold transformation. By unfolding path(X, Z, Xs) in the body of c5, we obtain Let P 2 = {c1, c2, c3, c4, c8, c9}.  ... 
doi:10.1007/3-540-45628-7_8 fatcat:tsc57srhmrf5xcazwgatdqkliq

Program Transformation for Development, Verification, and Synthesis of Software

Alberto Pettorossi, Maurizio Proietti, Valerio Senni
2008 Festschrifts: Birthday, In Memory of ...  
In this paper we briefly describe the use of the program transformation methodology for the development of correct and efficient programs.  ...  We will consider, in particular, the case of the transformation and the development of constraint logic programs.  ...  His research interests include various aspects of constraint and logic programming, and automatic methods for the transformation, synthesis, and verification of programs. Valerio Senni is a Ph.  ... 
dblp:conf/birthday/PettorossiPS08 fatcat:k6hzxnvmijhsjf2gb5qfh2p6rm

Total correctness by local improvement in program transformation

David Sands
1995 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '95  
The goal of program transformation is to improve efficiency while preserving meaning. One of the best known transformation techniques is Burstall and Darlington's unfold-fold method.  ...  Unfortunately the unfold-fold method itself guarantees neither improvement in efficiency nor total-correctness.  ...  This shows that unfold-fold transformations are only a special case (of transformation), since the unfold-fold method is known to be incomplete in this sense (see [BK83] [Kot80]- [Zhu94] ).  ... 
doi:10.1145/199448.199485 dblp:conf/popl/Sands95 fatcat:s5gm3tffyvdq7epggs2qwaek6m

Program Transformation Systems

H. Partsch, R. Steinbrüggen
1983 ACM Computing Surveys  
Interest is increasing in the transformational approach to programming and in mechanical aids for supporting the program development process.  ...  Available aids range from simple editorlike devices to rather powerful interactive transformation systems and even to automatic synthesis tools.  ...  Special thanks go to R. Bird, R. Hyerle, and ACM's technical editor, R. Rutherford, who improved the English formulation, and to M. Kr/imer, I. Dippold, and S.  ... 
doi:10.1145/356914.356917 fatcat:n3fsxgfsgngedkmtflmt7wl4p4

Using call/exit analysis for logic program transformation [chapter]

Dmitri Boulanger, Maurice Bruynooghe
1994 Lecture Notes in Computer Science  
A technique for transformation of definite logic programs is presented. A first phase performs an analysis of the extended call/exit patterns of the source program.  ...  The technique provides a framework which, combined with problem specific information concerning the source program, can lead to nontrivial transformations.  ...  The basic ideas of.the approach allow to integrate in one toolkit lots of existing transformation techniques for definite logic programs [18, 13, 11, 12, 22, 23] combined with high level concepts to  ... 
doi:10.1007/3-540-58792-6_3 fatcat:v6z6mv775rdjzpfx3pfdw6ogpu

Generating transformers for deforestation and supercompilation [chapter]

Robert Glück, Jesper Jørgensen
1994 Lecture Notes in Computer Science  
generate program transformers by self-application of a program specializer.  ...  Our aim is to study how the interpretive approach -inserting an interpreter between a source program and a program specializer -can be used to improve the transformation of programs and to automatically  ...  Special thanks to Morten Voetman Christiansen, Neil Jones, Andrei Klimov, Kristian Nielsen, Sergei Romanenko, David Sands, Morten H. Sørensen and Valentin Turchin.  ... 
doi:10.1007/3-540-58485-4_57 fatcat:vzgi4xcfcfh5jjkhzn3agz73nu

The Specialization and Transformation of Constructive Existence Proofs

Peter Madden
1989 International Joint Conference on Artificial Intelligence  
An example system for adapting programs to special situations by transforming constructive synthesis proofs has been reconstructed and is compared with the original implementation [Goad, 1980b, Goad, 1980a  ...  The transformation of constructive program synthesis proofs is discussed and compared with the more traditional approaches to program transformation.  ...  Such a process is notoriously hard to automate and practically all such unfold/fold systems rely on user interaction.  ... 
dblp:conf/ijcai/Madden89 fatcat:qwqnsbe4ujhfxn5l2ticrtsl6e

Deriving sorting algorithms via abductive logic program transformation [article]

Manuel Hernández
2018 arXiv   pre-print
Logic program transformation by the unfold/fold method ad- vocates the writing of correct logic programs via the application of some rules to a naive program.  ...  This work focuses on how to overcome subgoal- introduction difficulties in synthesizing efficient sorting algorithms from an naive sorting algorithm, through logic program transformation and abductive  ...  program transformation [Par91] .  ... 
arXiv:1810.02254v1 fatcat:fppuaayerrambjtdkgyxmajgxi

Finite Countermodel Based Verification for Program Transformation (A Case Study)

Alexei P. Lisitsa, Andrei P. Nemytykh
2015 Electronic Proceedings in Theoretical Computer Science  
On the other hand, the semantics based unfold-fold program transformation methods pose themselves diverse kinds of reachability tasks and try to solve them, aiming at improving the semantics tree of the  ...  program being transformed.  ...  Supercompilation is a semantic based specialization method introduced by V. F. Turchin [53] which utilizes in particular unfold-fold based program transformation.  ... 
doi:10.4204/eptcs.199.2 fatcat:k4g2rkvklvedfjnnrkqzh6anye

Verification of Parameterized Systems Using Logic Program Transformations [chapter]

Abhik Roychoudhury, K. Narayan Kumar, C. R. Ramakrishnan, I. V. Ramakrishnan, Scott A. Smolka
2000 Lecture Notes in Computer Science  
Such proofs rely on a powerful new theory of logicprogram transformations (encompassing unfold, fold and goal replacement over multiple recursive clauses), can be highly automated, and are applicable to  ...  Unfold transformations in our system correspond to algorithmic model-checking steps, fold and goal replacement correspond to program deductions, and all three types of transformations can be arbitrarily  ...  Program P 0 Program P 1 Program P 2 Figure 3 : Example of an unfold/fold transformation sequence. using the proof of α ≡ β .  ... 
doi:10.1007/3-540-46419-0_13 fatcat:wfn7l56ezjb7bkdmre3lriaiiy

Verifying Array Programs by Transforming Verification Conditions [chapter]

Emanuele De Angelis, Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti
2014 Lecture Notes in Computer Science  
In particular, we apply the usual rules for CLP transformation, such as unfolding, folding, and constraint replacement, tailored to the specific domain of integer arrays.  ...  Then, by specializing the interpreter with respect to the given program and property, we generate a set of verification conditions (expressed as a CLP(Array) program) whose satisfiability implies that  ...  Step (B) is performed by applying the unfold/fold transformation rules according to the Transform strategy shown in Figure 1 .  ... 
doi:10.1007/978-3-642-54013-4_11 fatcat:f347lp3cwndclmjj7qprwc2r4e

Recursive Program Optimization Through Inductive Synthesis Proof Transformation

Peter Madden, Alan Bundy, Alan Smaill
1999 Journal of automated reasoning  
target, which yields a computationally more efficient algorithm.  ...  The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the  ...  we mentioned that one of the most influential strategies for program transformation is the unfold/fold technique [?] .  ... 
doi:10.1023/a:1005969312327 dblp:journals/jar/MaddenBS99 fatcat:bfa4t4khaje2donwrokh4u7yc4
« Previous Showing results 1 — 15 out of 210 results