Improving prolog performance by inductive proof generalizations

  • Milind Gandhe
  • G Venkatesh
Logic Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 444)


This paper investigates the possibility of improving PROLOG performance by using the history of search for previous queries to guide the search for subsequent queries. First, the notion of a proof plan is introduced, and it is shown how a given logic program can be translated into a plan version of it. The plan version allows search to be guided by a proof plan. A specific plan version called the uninformed plan version allows proofs to be generated from the search performed for any query.

Proof plans can be obtained by a generalization from the collection of proofs obtained earlier. A notion dual to most general unification called most special generalization (msg) is introduced for this purpose. The uniqueness of the msg is shown and an algorithm similar to the unification algorithm is given for computing the msg of two proofs. The soundness of guiding a logic program with a proof plan obtained by such a generalization is then shown.

The soundness breaks down, however, for PROLOG programs that use cut. A method based on multiple plan inference is introduced for such programs and its soundness is proved.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Aho,86]
    Aho, A.V., Sethi Ravi and Ullman, J.D. Compilers; Principles, Techniques and Tools, Reading, Addison-Wesley, 1986.Google Scholar
  2. [Apt and van Emden,82]
    Apt, K.R. and van Emden, M.H., Contributions to the Theory of Logic Programming, JACM, 29(3), pp.841–862, 1982.Google Scholar
  3. [Clocksin and Mellish,81]
    Clocksin, W.F. and Mellish, C.S., Programming in Prolog, Springer Verlag, 1981.Google Scholar
  4. [Gandhe,88]
    Gandhe, M., Studies in Intuitionistic Type Theory, Internal Report, Department of COmputer Science and Engineering, I.I.T. Bombay, 1988.Google Scholar
  5. [Gordon,79]
    Gordon, M., Milner, R. and Wadsworth, C. Edinburgh LCF, LNCS vol.78, Springer Verlag, 1979.Google Scholar
  6. [Hindley and Seldin,86]
    Hindley, J.R. and Seldin, J.P., Introduction to Combinators and Lambda Calculus, London Mathematical Society Student Texts #1, Cambridge University Press, 1986.Google Scholar
  7. [Lloyd,84]
    Lloyd, J.W., Foundations of Logic Programming, Springer Verlag, 1984.Google Scholar
  8. [Lowen,88]
    Lowen,U., Optimization Aspects of Logical Formulas in Proceedings of the First Workshop on Computer Science Logic CSL'87, eds. Borger, E, Kleine Buning, H. and Richter, M.M., LNCS vol 329, Springer Verlag, pp. 173–187, 1988.Google Scholar
  9. [MartinLof,80]
    Martin-Lof, P., Constructive Mathematics and Logic Programming in Logic, Methodology and Philosophy of Science, vol 6, North Holland, pp. 153–175, 1980.Google Scholar
  10. [Milner,87]
    Milner, R, Dialogue with a Proof System, Proceedings of TAPSOFT'87, LNCS vol 249, Springer Verlag, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Milind Gandhe
    • 1
  • G Venkatesh
    • 1
  1. 1.Department of Computer Science and EngineeingIndian Institute of TechnologyBombay

Personalised recommendations