## Preserving Termination of Tabled Logic Programs While Unfolding (1997)

### Cached

### Download Links

- [www.cs.kuleuven.ac.be]
- [www.stups.uni-duesseldorf.de]
- [www.stups.uni-duesseldorf.de]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. of the 7th Int’l Workshop on Logic Programming Synthesis and Transformation (LOPSTR’97 |

Citations: | 15 - 9 self |

### BibTeX

@INPROCEEDINGS{Leuschel97preservingtermination,

author = {Michael Leuschel and Bern Martens and Konstantinos Sagonas},

title = {Preserving Termination of Tabled Logic Programs While Unfolding},

booktitle = {In Proc. of the 7th Int’l Workshop on Logic Programming Synthesis and Transformation (LOPSTR’97},

year = {1997},

pages = {189--205},

publisher = {Springer}

}

### OpenURL

### Abstract

We provide a first investigation of the specialisation and transformation of tabled logic programs through unfolding. We show that --- surprisingly --- unfolding, even determinate, can worsen the termination behaviour in the context of tabling. We therefore establish two criteria which ensure that such mishaps are avoided. We also briefly discuss the influence of some other transformation techniques on the termination and efficiency of tabled logic programs.

### Citations

581 | A Transformation System for Developing Recursive Programs - Burstall, Darlington - 1977 |

264 | Tabled evaluation with delaying for general logic programs - Chen, Warren - 1996 |

240 | Partial evaluation in logic programming - Lloyd, Shepherdson - 1991 |

215 | XSB as an efficient deductive database engine - Sagonas, Swift, et al. - 1994 |

214 | Unfold/fold transformation of logic programs - Tamaki, Sato - 1984 |

149 | Tutorial on Specialisation of Logic Programs, in - Gallagher - 1993 |

140 | Transformation of Logic Programs: Foundations and Techniques - Pettorossi, Proietti - 1994 |

116 | Declarative Modeling of the Operational Behavior of Logic Languages - Falaschi, Levi, et al. - 1989 |

106 | An Automatic Partial Evaluator for Full Prolog - Sahlin - 1994 |

43 | Finiteness analysis - Holst - 1991 |

42 | Efficient tabling mechanisms for logic programs - Ramakrishnan, Rao, et al. - 1995 |

34 | De Schreye. Logic program specialisation: How to be more specific
- Leuschel, D
- 1996
(Show Context)
Citation Context ...essary for termination — requires the use of the ground representation when using SLD(NF)-execution. This imposes a large initial overhead and leads to further difficulties in terms of specialisation =-=[15, 16]-=-. However, by writing the integrity checker in a tabled environment we can use the non-ground representation and together with the techniques explored in this paper, one might obtain effective special... |

33 | Controlling Conjunctive Partial Deduction of Definite Logic Programs - Glück, Jørgensen, et al. - 1996 |

25 | Supporting transformations for the partial evaluation of logic programs - Benkerimi, Hill - 1993 |

25 | A conceptual embedding of folding into partial deduction: Towards a maximal integration - Leuschel, Schreye, et al. - 1996 |

23 |
Semantics preserving transformation rules for Prolog
- Proietti, Pettorossi
(Show Context)
Citation Context ...t Herbrand model and set of computed answer substitutions semantics and — even in the context of the unfair Prolog selection rule — it cannot worsen the (universal) termination behaviour of a program =-=[21]-=-. Under tabled execution, however, unfolding — even determinate — may transform a terminating program into a non-terminating one ! Naturally, this is a situation that better be avoided. To reason abou... |

19 | Partial deduction of the ground representation and its application to integrity checking - Leuschel, Martens - 1995 |

18 | Termination analysis for tabled logic programming - Decorte, Schreye, et al. - 1998 |

18 | Towards creating specialised integrity checks through partial evaluation of meta-interpreters - Leuschel, Schreye - 1995 |

17 |
Some low-level transformations for logic programs
- Gallagher, Bruynooghe
- 1990
(Show Context)
Citation Context ...← p(X) P ′ : p(X) ← p(X) t(X) ← p(X) Fig. 4. P ′ is obtained from P by unfolding wrt t(X). 6.2 Polyvariance and Renaming Most partial evaluators and deducers use a technique called renaming (see e.g. =-=[10, 1]-=-) to remove redundant structure from the specialised program but also to ensure the independence condition of [17] (thus avoiding the use of abstraction instead), thereby allowing unlimited polyvarian... |

16 | The PADDY partial deduction system - Prestwich - 1992 |

12 | An unfold rule for full Prolog - Prestwich |

9 | Exploiting goal independence in the analysis of logic programs - Codish, Bruynooghe, et al. - 1997 |

7 | The SLG-WAM: A Search-Efficient Engine for WellFounded Evaluation of Normal Logic Programs - Sagonas - 1996 |

4 | revised version of - Extended - 2002 |

2 |
Resolution with Tabulation
- OLD
- 1986
(Show Context)
Citation Context ...-up evaluation to be incorporated within a top-down framework, combining the advantages of both. Although the concept of tabled execution of logic programs has been around for more than a decade (see =-=[27]-=-), practical systems based on tabling are only beginning to appear. Early experience with these systems suggests that they are indeed practically viable. In particular the XSB system [24], based on SL... |

1 | General Purpose Semantic Based Program Analysis using XSB - Codish, Demoen, et al. - 1996 |

1 |
k > q. In that case we have B →P i+1 B ′ as unfolding preserves the set of computed answers. More precisely, by Definition 2, we know that B ′ = Bk ˆ θ where ˆθ = θθ1 . . . θk−1. Let us consider the following auxiliary clause Aux = aux
- Bq
(Show Context)
Citation Context ... original one under a semantics of choice. Various systems for program transformation have been developed, usually based on the use of the fold/unfold framework. This framework dates back to at least =-=[2]-=-, has been introduced to the logic programming community in a seminal paper of Tamaki and Sato [26], has since been the subject of considerable research (see e.g. the references in [18]), and has been... |