Spring til hovednavigation Spring til søgning Spring til hovedindhold

Conjunctive partial deduction: foundations, control, algorithms, and experiments

Danny De Schreye, Robert Glück, Jesper Jørgensen, Michael Leuschel, Bern Martens, Morten Heine Sørensen

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningpeer review

83 Citationer (Scopus)

Abstract

Partial deduction in the Lloyd-Shepherdson framework cannot achieve certain optimisations which are possible by unfold/fold transformations. We introduce conjunctive partial deduction, an extension of partial deduction accommodating such optimisations, e.g., tupling and deforestation. We first present a framework for conjunctive partial deduction, extending the Lloyd-Shepherdson framework by considering conjunctions of atoms (instead of individual atoms) for specialisation and renaming. Correctness results are given for the framework with respect to computed answer semantics, least Herbrand model semantics, and finite failure semantics. Maintaining the well-known distinction between local and global control, we describe a basic algorithm for conjunctive partial deduction, and refine it into a concrete algorithm for which we prove termination. The problem of finding suitable renamings which remove redundant arguments turns out to be important, so we give an independent technique for this. A fully automatic implementation has been undertaken, which always terminates. Differences between the abstract semantics and Prolog's left-to-right execution motivate deviations from the abstract technique in the actual implementation, which we discuss. The implementation has been tested on an extensive set of benchmarks which demonstrate that conjunctive partial deduction indeed pays off, surpassing conventional partial deduction on a range of small to medium-size programs, while remaining manageable in an automatic and terminating system.

OriginalsprogEngelsk
TidsskriftJournal of Logic Programming
Vol/bind41
Udgave nummer2-3
Sider (fra-til)231-277
Antal sider47
ISSN0743-1066
DOI
StatusUdgivet - 1999

Bibliografisk note

Funding Information:
We would like to thank Annalisa Bossi, Andréde Waal, John Gallagher, Fergus Henderson, Jan Hric, Robert Kowalski, Torben Mogensen, Alberto Pettorossi, Ma-urizio Proietti, Thomas Reps, Dan Sahlin and Zoltan Somogyi for valuable discussions on different aspects of this work. We also thank anonymous referees, of the present paper and of earlier work presented at JICSLP'96, PLILP'96 and LOPSTR'96, for their comments. Danny De Schreye is a Senior Research Associate of the Belgian National Fund for Scientific Research. Michael Leuschel and Bern Martens were supported by the Belgian GOA ``Non-Standard Applications of Abstract Interpretation'' and Michael Leuschel is now a lecturer at the Department of Electronics and Computer Science, University of Southampton. Support was also provided by the project ``Design, Analysis and Reasoning about Tools'' funded by the Danish Natural Sciences Research Council.

Citationsformater