Journal of Automated Reasoning

, Volume 11, Issue 1, pp 115–145 | Cite as

A proof procedure for the logic of hereditary Harrop formulas

  • Gopalan Nadathur
Article

Abstract

A proof procedure is presented for a class of formulas in intuitionistic logic. These formulas are the so-calledgoal formulas in the theory of hereditary Harrop formulas. Proof search in intuitionistic logic is complicated by the nonexistence of a Herbrand-like theorem for this logic: formulas cannot in general be preprocessed into a form such as the clausal form, and the construction of a proof is often sensitive to the order in which the connectives and quantifiers are analyzed. An interesting aspect of the formulas we consider here is that this analysis can be carried out in a relatively controlled manner in their context. In particular, the task of finding a proof can be reduced to one of demonstrating that a formula follows from a set of assumptions, with the next step in this process being determined by the structure of the conclusion formula. An acceptable implementation of this observation must utilize unification. However, since our formulas may contain universal and existential quantifiers in mixed order, care must be exercised to ensure the correctness of unification. One way of realizing this requirement involves labelling constants and variables and then using these labels to constrain unification. This form of unification is presented and used in a proof procedure for goal formulas in a first-order version of hereditary Harrop formulas. Modifications to this procedure for the relevant formulas in a higher-order logic are also described. The proof procedure that we present has a practical value in that it provides the basis for an implementation of the logic programming language λProlog.

Key words

hereditary Harrop formulas proof procedure logic programming intuitionistic logic 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Elliott, Conal and Pfenning, Frank, ‘eLP, a Common Lisp implementation of λProlog’, Implemented as part of the CMU ERGO project (1989).Google Scholar
  2. 2.
    Elliott, Conal and Pfenning, Frank, ‘A semi-functional implementation of a higher-order logic programming language’, in Peter Lee (Ed.),Topics in Advanced Language Implementat6ion, pp. 289–325, MIT Press (1991).Google Scholar
  3. 3.
    Felty, Amy and Miller, Dale, ‘Specifying theorem provers in a higher-order logic programming language’, in Ewing Lusk and Ross Overbeek (Eds.),Ninth International Conference on Automated Deduction, pp. 61–80, Argonne, Illinois, Springer-Verlag (1988).Google Scholar
  4. 4.
    Fitting, Melvin,First-Order Logic and Automated Theorem Proving, Springer-Verlag (1990).Google Scholar
  5. 5.
    Gentzen, Gerhard, ‘Investigations into logical deduction’, in M. E. Szabo (Ed.),The Collected Papers of Gerhard Gentzen, pp. 68–131, North Holland Publishing Co. (1969).Google Scholar
  6. 6.
    Hannan, John J.,Investigating a Proof-Theoretic Meta-Language for Functional Programs, Ph.D. thesis, University of Pennsylvania (1990).Google Scholar
  7. 7.
    Huet, Gérard, ‘A unification algorithm for typed λ-calculus’,Theoretical Computer Science 1, 27–57 (1975).Google Scholar
  8. 8.
    Jayaraman, Bharat and Nadathur, Gopalan, ‘Implementation techniques for scoping constructs in logic programming’, in K. Furukawa (Ed.),Eighth International Logic Programming Conference, pp. 871–886, Paris, MIT Press (1991).Google Scholar
  9. 9.
    Martelli, Alberto and Montanari, Ugo, ‘An efficient unification algorithm‘,ACM Transactions on Programming Languages and Systems 4(2), 258–282 (1982).Google Scholar
  10. 10.
    McCarty, L. Thorne, ‘Clausal intuitionistic logic II. Tableau proof procedures‘,J. Logic Programming 5, 93–132 (1988).Google Scholar
  11. 11.
    Miller, Dale, ‘Hereditary Harrop formulas and logic programming’, inProceedings of the VIII International Congress of Logic, Methodology, and Philosophy of Science, pp. 153–156, Moscow (1987).Google Scholar
  12. 12.
    Miller, Dale, ‘Lexical scoping as universal quantification’, in G. Levi and M. Martelli (Eds.),Sixth International Logic Programming Conference, pp. 268–283, Lisbon, Portugal, MIT Press (1989).Google Scholar
  13. 13.
    Miller, Dale, ‘A logic programming language with lambda-abstraction, function variables, and simple unification’,J. Logic and Computation 1(4), 497–536 (1991).Google Scholar
  14. 14.
    Miller, Dale, ‘Unification under a mixed prefix’,Journal of Symbolic Computation 14, 321–358 (1992).Google Scholar
  15. 15.
    Miller, Dale and Nadathur, Gopalan, ‘A logic programming approach to manipulating formulas and programs’, in S. Haridi (Ed.),IEEE Symposium on Logic Programming, pp. 379–388, San Francisco (1987).Google Scholar
  16. 16.
    Miller, Dale, Nadathur, Gopalan, Pfenning, Frank and Scedrov, Andre, ‘Uniform proofs as a foundation for logic programming’,Annals Pure and Applied Logic 51, 125–157 (1991).Google Scholar
  17. 17.
    Miller, Dale, Nadathur, Gopalan and Scedrov, Andre, ‘Hereditary Harrop formulas and uniform proof systems’, in David Gries (Ed.),Symposium on Logic in Computer Science, pp. 98–105, Ithaca, NY (1987).Google Scholar
  18. 18.
    Nadathur, Gopalan and Jayaraman, Bharat, ‘Towards a WAM model for λProlog’, in Ewing Lusk and Ross Overbeek (Eds.),Proceedings of the North American Conference on Logic Programming, pp. 1180–1198, Cleveland, Ohio (1989).Google Scholar
  19. 19.
    Nadathur, Gopalan, Jayaraman, Bharat and Kwon, Keehang, ‘Scoping constructs in logic programming: Implementation problems and their solution’, submitted (1992).Google Scholar
  20. 20.
    Nadathur, Gopalan and Miller, Dale, ‘An overview of λProlog’, in Kenneth A. Bowen and Robert A. Kowalski (Eds.),Fifth International Logic Programming Conference, pp. 810–827, Seattle, Washington, MIT Press (1988).Google Scholar
  21. 21.
    Nadathur, Gopalan and Miller, Dale, ‘Higher-order Horn clauses’,J. ACM 37(4), 777–814 (1990).Google Scholar
  22. 22.
    Nadathur, Gopalan and Wilson, Debra Sue, ‘A representation of lambda terms suitable for operations on their intensions’, inProceedings of the 1990 ACM Conference on Lisp and Functional Programming, pp. 341–348, ACM Press (1990).Google Scholar
  23. 23.
    Paulson, Lawrence R., ‘The representation of logics in higher-order logic’, Technical Report Number 113, University of Cambridge, Computer Laboratory, August 1987.Google Scholar
  24. 24.
    Pfenning, Frank, ‘Partial polymorphic type inference and higher-order unification’, inProceedings of the ACM Lisp and Functional Programming Conference, pp. 153–163, ACM Press (1988).Google Scholar
  25. 25.
    Shankar, Natarajan, ‘Proof search in the intuitionistic sequent calculus’, in D. Kapur (Ed.),Proceedings of the Eleventh International Conference on Automated Deduction - CADE-11, pp. 522–536, Springer-Verlag (1992).Google Scholar
  26. 26.
    van Emden, M. H. and Kowalski, R.H., ‘The semantics of predicate logic as a programming language’,J. ACM 23(4), 733–742 (1976).Google Scholar
  27. 27.
    Wallen, Lincoln A.,Automated Proof Search in Non-Classical Logics: Efficient Matrix Proof Methods for Modal and Intuitionistic Logics, MIT Press (1990).Google Scholar

Copyright information

© Kluwer Academic Publishers 1993

Authors and Affiliations

  • Gopalan Nadathur
    • 1
  1. 1.Department of Computer ScienceDuke UniversityDurhamUSA

Personalised recommendations