Binary Speed Up for Logic Programs
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  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.
KeywordsLogic Program Original Program Predicate Symbol Unit Clause Partial Evaluator
Unable to display preview. Download preview PDF.
- 1.R. Apt, From Logic Programming to Prolog, Prentice Hall International, NJ 1996Google Scholar
- 2.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–252Google Scholar
- 5.M. Leuschel, Dozen Problems for Partial Deduction (A Set of Benchmarks) http://www.ecs.soton.ac.uk/~mal/systems/dppd/
- 6.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.Google Scholar
- 8.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–424Google Scholar
- 9.U. W. Neumerkel, Specialization of Prolog Programs with Partially Static Goals and Binarization, PhD Thesis, Technical University, Wien, 1993Google Scholar
- 12.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 1997Google Scholar
- 13.D. Sahlin, An Automatic Partial Evaluator for Full Prolog, PhD Dissertation, The Royal Institute of Technology, Dept. of Telecommunication and Computer Science, Stockholm, March 1991Google Scholar
- 14.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–138Google Scholar
- 16.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–240Google Scholar
- 17.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–408Google Scholar
- 18.P. Tarau, A Continuation Passing Style Prolog Engine, Lecture Notes in Computer Science, Vol. 631, pp. 479–480, Springer-Verlag, Berlin 1992Google Scholar
- 19.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–173Google Scholar