Abstract
Binary logic programs can be obtained from ordinary logic programs by a binarizing transformation. In most cases, binary programs obtained by this way are less efficient than the original programs. Demoen [2] showed an interesting example of a logic program whose computational behavior was improved if it was transformed to a binary program and then specialized by partial deduction.
The class of so called B-stratifiable logic programs is defined. It is shown that for every B-stratifiable logic program, binarization and subsequent partial deduction produce a binary program which usually has a better computational behavior than the original one. Both binarization and partial deduction can be automated.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
R. Apt, From Logic Programming to Prolog, Prentice Hall International, NJ 1996
B. Demoen, On the Transformation of a Prolog Program to a More Efficient Binary Program, in: Logic Program Synthesis and Transformation 1992, Kung-Kiu Lau and Tim Clement (editors), Lecture Notes in Computer Science Vol. Springer-Verlag 1993 pp. 242–252
D. De Schreye, R. Gluck, J. Jorgensen, M. Leuschel, B. Martens, M. H. Sorensen, Conjunctive partial deduction: foundations, control, algorithms and experiments, The Journal of Logic Programming 41 (1999), 231–277
M. Falaschi, G. Levi, M. Martelli, C. Palamidessi, Declarative Modeling of the Operational Behavior of Logic Languages, Theoretical Sci. 69(3):289–318 (1989)
M. Leuschel, Dozen Problems for Partial Deduction (A Set of Benchmarks) http://www.ecs.soton.ac.uk/~mal/systems/dppd/
M. Leuschel, M. H. Sorensen, Redundant Arguments Filtering of Logic Programs, in John Gallagher (ed.), Logic Programm Synthesis and Transformation, Proceedings of the 6th International Workshop, LOPSTR’96, LCNS 1207, 83–103, Stockholm, 1996.
J. W. Lloyd and J. C. Shepherdson, Partial Evaluation in Logic Programming, J. Logic Programming 11 (1991), 217–242
M. J. Maher, Equivalences of Logic Programs, in: Proc. Third Int. Conference on Logic Programming, London 1986, E. Shapiro (editor), Lecture Notes in Sci. Vol 225, Springer-Verlag, Berlin 1986, pp. 410–424
U. W. Neumerkel, Specialization of Prolog Programs with Partially Static Goals and Binarization, PhD Thesis, Technical University, Wien, 1993
M. Proietti, A. Pettorossi, Tranformation of logic programs: Foundations and Techniques, Journal of Logic Programming, 19, 20:261–320, 1994
M. Proietti, A. Pettorossi, Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs, Theoretical Computer Science 142 (1995), 98–124
A. Pettorossi, M. Proietti, Synthesis and Transformation of Logic Programs Using Unfold/Fold Proofs, Tech. Rep. 457, Dipartimento di Informatica, Sistemi e Produzione, Universita di Roma, Tor Vergata, Giugno 1997
D. Sahlin, An Automatic Partial Evaluator for Full Prolog, PhD Dissertation, The Royal Institute of Technology, Dept. of Telecommunication and Computer Science, Stockholm, March 1991
T. Sato, H. Tamaki, Unfold/Fold Transformation of Logic Programs in: Proc. of the 2nd Int. Logic Programming Conference, Uppsala 1984, S. Å. Tärnlund (editor), pp. 127–138
T. Sato, H. Tamaki, Existential Continuation, New Generation Computing 6 (1989), 421–438
J. Šebelík and P. Štěpánek, Horn Clause Programs for Recursive Functions, in: Logic Programming, K. J. Clark and S. Å. Tärnlund (editors), ACADEMIC PRESS, London 1982, pp. 325–240
O. Štěpánková and P. Štěpánek, Stratification of Definite Clause Programs and of General Logic Programs, in: Proc. CSL’ 89, Third Workshop on Computer Science Logic, Kaiserslautern, Germany, 1989, Lect. Notes in Sci. Vol 440, Springer-Verlag, Berlin 1989, pp. 396–408
P. Tarau, A Continuation Passing Style Prolog Engine, Lecture Notes in Computer Science, Vol. 631, pp. 479–480, Springer-Verlag, Berlin 1992
P. Tarau and M. Boyer, Elementary Logic Programs, in: Proc. PLILP’90, P. Deransart and J. Maluzsyński (editors), Lecture Notes in Sci. Vol. Springer-Verlag, Berlin 1990, pp. 159–173
S. Å. Tärnlund, Horn Clause Computability, BIT 17 (1977), 215–226
K. Ueda, Making Exhaustive Search Programs Deterministic, New Generation Computing 5 (1987), 317–326
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hrůza, J., Štěánek, P. (2000). Binary Speed Up for Logic Programs. In: Lloyd, J., et al. Computational Logic — CL 2000. CL 2000. Lecture Notes in Computer Science(), vol 1861. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44957-4_8
Download citation
DOI: https://doi.org/10.1007/3-540-44957-4_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67797-0
Online ISBN: 978-3-540-44957-7
eBook Packages: Springer Book Archive