Logic programming with equations
Journal of Logic Programming
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Unfold/fold transformation of stratified programs
Theoretical Computer Science
A transformation system for deductive database modules with perfect model semantics
Theoretical Computer Science
Decompilation: the enumeration of types and grammars
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs
PLILP '91 Selected papers of the symposium on Programming language implementation and logic programming
Program derivation via list introduction
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
An Algorithm for Structuring Flowgraphs
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Some Techniques for Recursion Removal from Recursive Functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Parameterized Unfold/Fold Transformation Framework for Definite Logic Programs
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Unfold/Fold Transformations For Definite Clause Programs
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Enhancing Partial Deduction via Unfold/Fold Rules
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Pigs from sausages? Reengineering from assembler to C via FermaT transformations
Science of Computer Programming - Special issue on program transformation
Derivation of Efficient Logic Programs by Specialization and Reduction of Nondeterminism
Higher-Order and Symbolic Computation
Machine-independent computer programming
Machine-independent computer programming
Incorporating a folding rule into inductive logic programming
IJCAI'05 Proceedings of the 19th international joint conference on Artificial intelligence
Hi-index | 0.00 |
A program-transformation system is determined by a repertoire of correctness-preserving rules, such as folding and unfolding. Normally, we would like the folding rule to be in some sense the inverse of the unfolding rule. Typically, however, the folding rule of logic program transformation systems is an inverse of a limited kind of unfolding. In many cases this limited kind of folding suffices. We argue, nevertheless, that it is both important and possible to extend such a folding so as to be able to fold the clauses resulting from any unfolding of a positive literal. This extended folding rule allows us to derive some programs underivable by the existing version of this rule alone. In addition, our folding rule has applications to decompilation and reengineering, where we are interested in obtaining high-level program constructs from low-level program constructs. Moreover, we establish a connection between logic program transformation and inductive logic programming. This connection stems fromviewing our folding rule as a common extension of the existing multipleclause folding rule, on the one hand, and an operator devised in inductive logic programming, called "intra-construction",on the other hand. Hence, our folding rule can be regarded as a step towards incorporating inductive inference into logic program transformation. We prove correctness with respect to Dung and Kanchanasut's semantic kernel.