A proof procedure for the logic of hereditary Harrop formulas
- 56 Downloads
- 9 Citations
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 logicPreview
Unable to display preview. Download preview PDF.
References
- 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.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.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).Google Scholar
- 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.Hannan, John J.,Investigating a Proof-Theoretic Meta-Language for Functional Programs, Ph.D. thesis, University of Pennsylvania (1990).Google Scholar
- 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).Google Scholar
- 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).Google Scholar
- 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).Google Scholar
- 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.Nadathur, Gopalan, Jayaraman, Bharat and Kwon, Keehang, ‘Scoping constructs in logic programming: Implementation problems and their solution’, submitted (1992).Google Scholar
- 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).Google Scholar
- 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.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.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.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).Google Scholar