Skip to main content
Log in

A proof procedure for the logic of hereditary Harrop formulas

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Elliott, Conal and Pfenning, Frank, ‘eLP, a Common Lisp implementation of λProlog’, Implemented as part of the CMU ERGO project (1989).

  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).

  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. Fitting, Melvin,First-Order Logic and Automated Theorem Proving, Springer-Verlag (1990).

  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).

  6. Hannan, John J.,Investigating a Proof-Theoretic Meta-Language for Functional Programs, Ph.D. thesis, University of Pennsylvania (1990).

  7. Huet, Gérard, ‘A unification algorithm for typed λ-calculus’,Theoretical Computer Science 1, 27–57 (1975).

    Google Scholar 

  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. Martelli, Alberto and Montanari, Ugo, ‘An efficient unification algorithm‘,ACM Transactions on Programming Languages and Systems 4(2), 258–282 (1982).

    Google Scholar 

  10. McCarty, L. Thorne, ‘Clausal intuitionistic logic II. Tableau proof procedures‘,J. Logic Programming 5, 93–132 (1988).

    Google Scholar 

  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).

  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. 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. Miller, Dale, ‘Unification under a mixed prefix’,Journal of Symbolic Computation 14, 321–358 (1992).

    Google Scholar 

  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).

  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. 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).

  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).

  19. Nadathur, Gopalan, Jayaraman, Bharat and Kwon, Keehang, ‘Scoping constructs in logic programming: Implementation problems and their solution’, submitted (1992).

  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. Nadathur, Gopalan and Miller, Dale, ‘Higher-order Horn clauses’,J. ACM 37(4), 777–814 (1990).

    Google Scholar 

  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).

  23. Paulson, Lawrence R., ‘The representation of logics in higher-order logic’, Technical Report Number 113, University of Cambridge, Computer Laboratory, August 1987.

  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).

  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).

  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. Wallen, Lincoln A.,Automated Proof Search in Non-Classical Logics: Efficient Matrix Proof Methods for Modal and Intuitionistic Logics, MIT Press (1990).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nadathur, G. A proof procedure for the logic of hereditary Harrop formulas. J Autom Reasoning 11, 115–145 (1993). https://doi.org/10.1007/BF00881902

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00881902

Key words

Navigation