## A conceptual embedding of folding into partial deduction: Towards a maximal integration (1996)

Citations: | 25 - 13 self |

### BibTeX

@TECHREPORT{Leuschel96aconceptual,

author = {Michael Leuschel and Danny De Schreye and André De Waal},

title = {A conceptual embedding of folding into partial deduction: Towards a maximal integration},

institution = {},

year = {1996}

}

### Years of Citing Articles

### OpenURL

### Abstract

The relation between partial deduction and the unfold/fold approach has been a matter of intense discussion. In this paper we consolidate the advantages of the two approaches and provide an extended partial deduction framework in which most of the tupling and deforestation transformations of the fold/unfold approach, as well the current partial deduction transformations, can be achieved. Moreover, most of the advantages of partial deduction, e.g. lower complexity and a more detailed understanding of control issues, are preserved. We build on well-defined concepts in partial deduction and present a conceptual embedding of folding into partial deduction, called conjunctive partial deduction. Two minimal extensions to partial deduction are proposed: using conjunctions of atoms instead of atoms as the principle specialisation entity and also renaming conjunctions of atoms instead of individual atoms. Correctness results for the extended framework (with respect to computed answer semantics and finite failure semantics) are given. Experiments with a prototype implementation are presented, showing that, somewhat to our surprise, conjunctive partial deduction not only handles the removal of unnecessary variables, but also leads to substantial improvements in specialisation for standard partial deduction examples. 1

### Citations

1857 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...ut the paper, we restrict the attention to definite programs and goals. In section 4 we discuss a further extension to the normal case. We suppose familiarity with basic notions in logic programming (=-=[17]-=-). As usual in partial deduction, we assume that the standard notion of an SLD-tree is generalised ([18]) to allow it to be incomplete: at any point we may decide not to select any atom and terminate ... |

240 |
Partial evaluation in logic programming
- Lloyd, Shepherdson
- 1987
(Show Context)
Citation Context .../fold approach (see e.g. [27], [25, 26], [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], [5, 4], =-=[18]-=-). The relation between these two streams of work has been a matter of research, discussion and controversy over the years. Some illuminating discussions, in the context of logic programming, can be f... |

213 |
Unfold/fold transformations of logic programs
- Tamaki, Sato
- 1984
(Show Context)
Citation Context ...ion for standard partial deduction examples. 1 Introduction Two approaches to program transformation have received considerable attention over the last few decades: the unfold/fold approach (see e.g. =-=[27]-=-, [25, 26], [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], [5, 4], [18]). The relation between t... |

145 | Tutorial on specialisation of logic programs
- Gallagher
- 1993
(Show Context)
Citation Context ...e unfold/fold approach (see e.g. [27], [25, 26], [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], =-=[5, 4]-=-, [18]). The relation between these two streams of work has been a matter of research, discussion and controversy over the years. Some illuminating discussions, in the context of logic programming, ca... |

139 | Transformation of logic programs: Foundations and techniques
- Pettorossi, Proietti
- 1994
(Show Context)
Citation Context ... partial deduction examples. 1 Introduction Two approaches to program transformation have received considerable attention over the last few decades: the unfold/fold approach (see e.g. [27], [25, 26], =-=[21, 24, 23]-=- and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], [5, 4], [18]). The relation between these two streams of work... |

63 |
A general criterion for avoiding infinite unfolding during partial deduction
- Bruynooghe, Schreye, et al.
- 1992
(Show Context)
Citation Context ...ich goes beyond mere heuristic strategies, as we find in unfold/fold. Formal frameworks have been developed, analysing issues of termination, code- and search-explosion and obtained efficiency gains (=-=[2, 19]-=-, [5, 4], [11, 14]). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications ([12], [15], [3]... |

63 |
The derivation of an algorithm for program specialisation
- Gallagher, Bruynooghe
- 1991
(Show Context)
Citation Context ...e unfold/fold approach (see e.g. [27], [25, 26], [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], =-=[5, 4]-=-, [18]). The relation between these two streams of work has been a matter of research, discussion and controversy over the years. Some illuminating discussions, in the context of logic programming, ca... |

48 | Global control for partial deduction through characteristic atoms and global trees
- Leuschel, Martens
- 1996
(Show Context)
Citation Context ...ere heuristic strategies, as we find in unfold/fold. Formal frameworks have been developed, analysing issues of termination, code- and search-explosion and obtained efficiency gains ([2, 19], [5, 4], =-=[11, 14]-=-). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications ([12], [15], [3], [9]). As a resul... |

43 |
Unfold/fold transformation of stratified programs
- Seki
- 1991
(Show Context)
Citation Context ...r standard partial deduction examples. 1 Introduction Two approaches to program transformation have received considerable attention over the last few decades: the unfold/fold approach (see e.g. [27], =-=[25, 26]-=-, [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], [5, 4], [18]). The relation between these two s... |

42 | Redundant argument filtering of logic programs
- Leuschel, Srensen
- 1996
(Show Context)
Citation Context ...neral Remarks and Conclusion In the above implementation we still use a simple, but safe renaming (with vars(α(s)) = vars(s)). Details about how to obtain an optimal, correct renaming can be found in =-=[16]-=-. Also note that the framework of conjunctive partial deduction, is mono-variant wrt existential variables: i.e. if p(x, i) is used once, with i existential, and somewhere else with i not being existe... |

39 | De Schreye. Automatic finite unfolding using well-founded measures - Martens, D - 1996 |

36 |
Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs. Theoretical Computer Science 142
- Proietti, Pettorossi
- 1995
(Show Context)
Citation Context ... partial deduction examples. 1 Introduction Two approaches to program transformation have received considerable attention over the last few decades: the unfold/fold approach (see e.g. [27], [25, 26], =-=[21, 24, 23]-=- and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], [5, 4], [18]). The relation between these two streams of work... |

32 |
The applicability of logic program analysis and transformation to theorem proving
- Waal, Gallagher
- 1994
(Show Context)
Citation Context ...19], [5, 4], [11, 14]). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications ([12], [15], =-=[3]-=-, [9]). As a result, partial deduction has reached a degree of maturity that brings it to the edge of widescale industrial applicability, which is beyond what any other transformation technology for l... |

24 | Ecological partial deduction: Preserving characteristic trees without constraints
- Leuschel
- 1995
(Show Context)
Citation Context ...ere heuristic strategies, as we find in unfold/fold. Formal frameworks have been developed, analysing issues of termination, code- and search-explosion and obtained efficiency gains ([2, 19], [5, 4], =-=[11, 14]-=-). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications ([12], [15], [3], [9]). As a resul... |

19 | Partial deduction of the ground representation and its application to integrity checking
- Leuschel, Martens
- 1995
(Show Context)
Citation Context ... ([2, 19], [5, 4], [11, 14]). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications ([12], =-=[15]-=-, [3], [9]). As a result, partial deduction has reached a degree of maturity that brings it to the edge of widescale industrial applicability, which is beyond what any other transformation technology ... |

17 | Towards creating specialised integrity checks through partial evaluation of meta-interpreters
- Leuschel, Schreye
- 1995
(Show Context)
Citation Context ... gains ([2, 19], [5, 4], [11, 14]). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications (=-=[12]-=-, [15], [3], [9]). As a result, partial deduction has reached a degree of maturity that brings it to the edge of widescale industrial applicability, which is beyond what any other transformation techn... |

16 | The PADDY partial deduction system
- Prestwich
- 1992
(Show Context)
Citation Context ...80 s 1 0.875 s 1.12 0.340 s 2.88 relative 1.042 s 1 1.039 s 1.00 1.005 s 1.04 contains 0.740 s 1 0.700 s 1.06 0.160 s 4.63 Table 1: Some Experiments — Absolute Timings and Speedups 5 The Paddy system =-=[22]-=- uses non-atomic, non-recursive folding to avoid backpropagation of bindings (to preserve Prolog semantics). In general this is sufficient to solve the above problem. Apart from that, Paddy only perfo... |

14 |
A comparative analysis of partial deductors for pure Prolog
- Lam, Kusalik
- 1990
(Show Context)
Citation Context ...s are satisfactory, given the fact that no partial input was provided. The next three benchmarks are “standard” partial deduction benchmarks. The depth benchmark is the meta-interpreter also found in =-=[10]-=-, but using a more sophisticated object program. The good results seem to indicate that folding combined with a rather simple unfolding rule can solve some of the traditional local control problems fo... |

14 |
Issues in the partial evaluation of meta-interpreters
- Owen
- 1988
(Show Context)
Citation Context ...elation between these two streams of work has been a matter of research, discussion and controversy over the years. Some illuminating discussions, in the context of logic programming, can be found in =-=[20]-=-, [24, 21], [26] and [1]. From a technical perspective and in the context of definite logic programs, their relation is clear: partial deduction is a strict subset of theunfold/fold transformation. I... |

10 |
How to control unfolding when specializing interpreters
- Lakhotia, Sterling
- 1990
(Show Context)
Citation Context ...[5, 4], [11, 14]). Several fully automated systems have been developed (sp, sage, paddy, mixtus, chtree/ecce) and have been successfully applied to at least medium-size applications ([12], [15], [3], =-=[9]-=-). As a result, partial deduction has reached a degree of maturity that brings it to the edge of widescale industrial applicability, which is beyond what any other transformation technology for logic ... |

7 |
A method for specialising logic programs
- Bossi, Cocco, et al.
- 1990
(Show Context)
Citation Context ... streams of work has been a matter of research, discussion and controversy over the years. Some illuminating discussions, in the context of logic programming, can be found in [20], [24, 21], [26] and =-=[1]-=-. From a technical perspective and in the context of definite logic programs, their relation is clear: partial deduction is a strict subset of theunfold/fold transformation. In essence, partial deduc... |

6 |
A Specification of an Abstract Prolog Machine and its Application to Partial Evaluation
- Komorowksi
- 1981
(Show Context)
Citation Context ...s: the unfold/fold approach (see e.g. [27], [25, 26], [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. =-=[8]-=-, [5, 4], [18]). The relation between these two streams of work has been a matter of research, discussion and controversy over the years. Some illuminating discussions, in the context of logic program... |

4 |
Unfold/fold transformation of general programs for the well-founded semantics
- Seki
- 1993
(Show Context)
Citation Context ...r standard partial deduction examples. 1 Introduction Two approaches to program transformation have received considerable attention over the last few decades: the unfold/fold approach (see e.g. [27], =-=[25, 26]-=-, [21, 24, 23] and partial deduction, also referred to — in slightly different contexts — as partial evaluation or program specialisation (see e.g. [8], [5, 4], [18]). The relation between these two s... |