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.
Similar content being viewed by others
References
Elliott, Conal and Pfenning, Frank, ‘eLP, a Common Lisp implementation of λProlog’, Implemented as part of the CMU ERGO project (1989).
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).
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).
Fitting, Melvin,First-Order Logic and Automated Theorem Proving, Springer-Verlag (1990).
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).
Hannan, John J.,Investigating a Proof-Theoretic Meta-Language for Functional Programs, Ph.D. thesis, University of Pennsylvania (1990).
Huet, Gérard, ‘A unification algorithm for typed λ-calculus’,Theoretical Computer Science 1, 27–57 (1975).
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).
Martelli, Alberto and Montanari, Ugo, ‘An efficient unification algorithm‘,ACM Transactions on Programming Languages and Systems 4(2), 258–282 (1982).
McCarty, L. Thorne, ‘Clausal intuitionistic logic II. Tableau proof procedures‘,J. Logic Programming 5, 93–132 (1988).
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).
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).
Miller, Dale, ‘A logic programming language with lambda-abstraction, function variables, and simple unification’,J. Logic and Computation 1(4), 497–536 (1991).
Miller, Dale, ‘Unification under a mixed prefix’,Journal of Symbolic Computation 14, 321–358 (1992).
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).
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).
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).
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).
Nadathur, Gopalan, Jayaraman, Bharat and Kwon, Keehang, ‘Scoping constructs in logic programming: Implementation problems and their solution’, submitted (1992).
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).
Nadathur, Gopalan and Miller, Dale, ‘Higher-order Horn clauses’,J. ACM 37(4), 777–814 (1990).
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).
Paulson, Lawrence R., ‘The representation of logics in higher-order logic’, Technical Report Number 113, University of Cambridge, Computer Laboratory, August 1987.
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).
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).
van Emden, M. H. and Kowalski, R.H., ‘The semantics of predicate logic as a programming language’,J. ACM 23(4), 733–742 (1976).
Wallen, Lincoln A.,Automated Proof Search in Non-Classical Logics: Efficient Matrix Proof Methods for Modal and Intuitionistic Logics, MIT Press (1990).
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00881902