## A Proof Procedure for the Logic of Hereditary Harrop Formulas (1993)

### Cached

### Download Links

- [folli.loria.fr]
- [ftp.cs.duke.edu]
- [www.cs.uchicago.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | JOURNAL OF AUTOMATED REASONING |

Citations: | 30 - 12 self |

### BibTeX

@ARTICLE{Nadathur93aproof,

author = {Gopalan Nadathur},

title = {A Proof Procedure for the Logic of Hereditary Harrop Formulas},

journal = {JOURNAL OF AUTOMATED REASONING},

year = {1993},

volume = {11}

}

### Years of Citing Articles

### OpenURL

### Abstract

A proof procedure is presented for a class of formulas in intuitionistic logic. These formulas are the so-called goal formulas in the theory of hereditary Harrop formulas. Proof search inintuitionistic logic is complicated by the non-existence 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 lambdaProlog.

### Citations

710 | The semantics of predicate logic as a programming language
- Emden, Kowalski
- 1976
(Show Context)
Citation Context ...ords: hereditary Harrop formulas, proof procedure, logic programming, intuitionistic logic. 1 Introduction The basis for logic programming has traditionally been provided by the logic of Horn clauses =-=[26]-=-. Using this logic has lead to the realization of novel and genuinely useful features in programming. This logic has, for instance, provided for a paradigm that supports search as a primitive operatio... |

410 |
First-Order Logic and Automated Theorem Proving, 2nd edition
- Fitting
- 1996
(Show Context)
Citation Context .... Methods must therefore be provided for dealing with existential and universal quanti ers in the course of constructing proofs. Fortunately, 2sideas similar to the dynamic Skolemization described in =-=[4]-=- can be used and, in conjunction with the other properties of these formulas, this leads to a rather simple proof procedure. We describe such a procedure in this paper and prove its soundness and comp... |

375 | Uniform proofs as a foundation for logic programming
- Miller, Nadathur, et al.
- 1991
(Show Context)
Citation Context ...rtant to their programming use and, on the other hand, provide a means for realizing additional desirable features. A logic that has been proposed in this regard is that of hereditary Harrop formulas =-=[11, 16]-=-. This logic has a rst-order and a higher-order variant. The essential sense in which (the rst-order version of) this logic extends the logic of Horn clauses is by permitting implications and universa... |

333 | An efficient unification algorithm
- Martelli, Montanari
- 1982
(Show Context)
Citation Context ... does by outlining a procedure that finds a most general unifier for a disagreement set whenever the set has a unifier. This procedure is modelled on the first nondeterministic algorithm presented in =-=[9]-=-. No attention is given to efficiency at this stage; the only purpose is to show the existence and computability of most general unifiers. We begin by defining the following transformations on disagre... |

287 | A logic programming language with lambda-abstraction, function variables, and simple unification
- Miller
(Show Context)
Citation Context ...ussion of the manner in which the procedure described here is actually being 1 Proof procedures have been presented together with proofs of correctness for closely related formula classes in [10] and =-=[13]-=-. The structure of the procedure in [10] di ers from the one considered here. Further, the discussions in [10] seem largely to note the constraints that must be placed on substitution terms without de... |

260 |
Investigations into logical deduction
- Gentzen
- 1969
(Show Context)
Citation Context ...s ,. The set of premises may be empty, and in this case we simply write Ì B. The sequent calculus presented here to formalize this relation bears several similarities to the one used, for example, in =-=[5]-=-; the main di erence is that the cut-elimination theorem has been incorporated here into the presentation of the sequent calculus. The height of a proof is its height when viewed as a tree. The length... |

177 |
An overview of >'Prolog
- Nadathur, Miller
- 1988
(Show Context)
Citation Context ... this logic also provides for higher-order programming and for the use of higher-order terms as data structures. A logic programming language called Prolog that is based on this logic is described in =-=[20]-=- and has been used in numerous applications (e.g., see [3, 6, 15, 24]). Our interest in this paper is in describing a proof procedure for the logic of hereditary Harrop formulas. The practical motivat... |

169 |
A unification algorithm for typed -calculus
- Huet
- 1975
(Show Context)
Citation Context ...s might not exist even when there are unifiers for given terms. There is, nevertheless, a procedure that can be used to find unifiers for terms whenever they exist, and this procedure is described in =-=[7]-=-. This procedure can be factored into the repeated application of certain simple steps, and this permits its amalgamation into a notion of derivation akin to the one described in Section 5. Such an am... |

123 | Unification under a mixed prefix
- Miller
- 1992
(Show Context)
Citation Context ...the problem of unifying terms embedded under arbitrary sequences of quantifiers is central to our proof procedure, and approaches to this problem have been described in [23] and examined in detail in =-=[14]-=-. The specific solution to this problem that is used here involves labelling constants and variables and using these labels to constrain unification. This possibility has also been appreciated previou... |

81 | Partial polymorphic type inference and higher-order unification
- Pfenning
- 1988
(Show Context)
Citation Context ...for the use of higher-order terms as data structures. A logic programming language called Prolog that is based on this logic is described in [20] and has been used in numerous applications (e.g., see =-=[3, 6, 15, 24]-=-). Our interest in this paper is in describing a proof procedure for the logic of hereditary Harrop formulas. The practical motivation for this endeavor is obvious: such a procedure could provide the ... |

69 |
Specifying theorem provers in a higher-order logic programming language
- Felty, Miller
- 1988
(Show Context)
Citation Context ...for the use of higher-order terms as data structures. A logic programming language called Prolog that is based on this logic is described in [20] and has been used in numerous applications (e.g., see =-=[3, 6, 15, 24]-=-). Our interest in this paper is in describing a proof procedure for the logic of hereditary Harrop formulas. The practical motivation for this endeavor is obvious: such a procedure could provide the ... |

65 | Lexical scoping as universal quantification
- Miller
- 1989
(Show Context)
Citation Context ... it for x in the course of solving G. These logical symbols thus provide a means for realizing scoping with respect to program code and names and detailed illustrations of this aspect are provided in =-=[12]-=-. The higher-order version of this logic also provides for higher-order programming and for the use of higher-order terms as data structures. A logic programming language called Prolog that is based o... |

61 | Higher-Order Horn Clauses
- Nadathur, Miller
(Show Context)
Citation Context ...However, there is a simple, and standard, way of doing this using -conversion. We assume such a de nition here; the reader unfamiliar with this formalization of substitution may look, for example, at =-=[21]-=-. As in the rst-order context, the idea of programming can be thought of as asking if a proof exists for a goal formula from a set of program clauses. Now, a property very similar to that presented in... |

42 | Proof search in the intuitionistic sequent calculus
- Shankar
- 1992
(Show Context)
Citation Context ...sue of nding proofs in the general context can be examined with a view towards controlling the search e ort for any arbitrary formula. Some e orts have been invested in this direction, e.g., those in =-=[25, 27]-=-. An alternative direction for exploration is that of nding restricted but interesting classes of formulas for which simple search procedures can be used. Hereditary Harrop formulas are an example of ... |

35 | A semi-functional implementation of a higher-order logic programming language
- Elliott, Pfenning
- 1991
(Show Context)
Citation Context ...ng these labels to constrain uni cation. This possibility has also been appreciated previously: the author rst heard of it from Frank Pfenning in 1988. Finally, actual implementations of Prolog exist =-=[1, 2,20]-=- that have closely related \proof" procedures as their bases. Despite these observations, we believe the discussions in this paper are of interest for at least two reasons. First, there has been, to o... |

35 |
Clausal intuitionistic logic II. tableau proof procedure
- McCarty
- 1988
(Show Context)
Citation Context ...rief discussion of the manner in which the procedure described here is actually being 1 Proof procedures have been presented together with proofs of correctness for closely related formula classes in =-=[10]-=- and [13]. The structure of the procedure in [10] di ers from the one considered here. Further, the discussions in [10] seem largely to note the constraints that must be placed on substitution terms w... |

30 |
A representation of lambda terms suitable for operations on their intensions
- Nadathur, Wilson
- 1990
(Show Context)
Citation Context ...ires the comparison of terms and therefore makes it necessary to examine the structure of a term, perhaps even parts of it embedded under abstractions. We have examined this problem in some detail in =-=[22]-=- and we believe that the notation for lambda terms developed there provides the basis for a satisfactory solution. Another problem concerns the implementation of higher-order uni cation itself. One is... |

25 |
Investigating a proof-theoretic meta-language for functional programs
- Hannan
- 1990
(Show Context)
Citation Context ...for the use of higher-order terms as data structures. A logic programming language called Prolog that is based on this logic is described in [20] and has been used in numerous applications (e.g., see =-=[3, 6, 15, 24]-=-). Our interest in this paper is in describing a proof procedure for the logic of hereditary Harrop formulas. The practical motivation for this endeavor is obvious: such a procedure could provide the ... |

24 |
Automated Proof Search in Non-Classical Logics: Efficient Matrix Methods for Modal and Intuitionistic Logics
- Wallen
- 1990
(Show Context)
Citation Context ...of finding proofs in the general context can be examined with a view towards controlling the search effort for any arbitrary formula. Some efforts have been invested in this direction, e.g., those in =-=[25, 27]-=-. An alternative direction for exploration is that of finding restricted but interesting classes of formulas for which simple search procedures can be used. Hereditary Harrop formulas are an example o... |

20 |
Gopalan Nadathur. A logic programming approach to manipulating formulas and programs
- Miller
- 1987
(Show Context)
Citation Context |

15 |
An e cient uni cation algorithm
- Martelli, Montari
- 1982
(Show Context)
Citation Context ...hat it does by outlining a procedure that nds a most general uni er for a disagreement set whenever the set has a uni er. This procedure is modelled on the rst nondeterministic algorithm presented in =-=[9]-=-. No attention is given to e ciency at this stage; the only purpose is to show the existence and computability of most general uni ers. We begin by de ning the following transformations on disagreemen... |

12 |
The representation of logics in higher-order logic
- Paulson
- 1987
(Show Context)
Citation Context ...emonstrated in [16]. Similarly, the problem of unifying terms embedded under arbitrary sequences of quanti ers is central to our proof procedure, and approaches to this problem have been described in =-=[23]-=- and examined in detail in [14]. The speci c solution to this problem that is used here involves labelling constants and variables and using these labels to constrain uni cation. This possibility has ... |

8 |
Hereditary harrop formulas and logic programming
- Miller
- 1987
(Show Context)
Citation Context ...rtant to their programming use and, on the other hand, provide a means for realizing additional desirable features. A logic that has been proposed in this regard is that of hereditary Harrop formulas =-=[11, 16]-=-. This logic has a rst-order and a higher-order variant. The essential sense in which (the rst-order version of) this logic extends the logic of Horn clauses is by permitting implications and universa... |

7 |
A uni cation algorithm for typed -calculus
- Huet
- 1975
(Show Context)
Citation Context ...i ers might not exist even when there are uni ers for given terms. There is, nevertheless, a procedure that can be used to nd uni ers for terms whenever they exist, and this procedure is described in =-=[7]-=-. This procedure can be factored into the repeated application of certain simple steps, and this permits its amalgamation into a notion of derivation akin to the one described in Section 5. Such an am... |

6 |
eLP, a Common Lisp Implementation of Prolog. Implemented as part of the CMU ERGO project
- Elliott, Pfenning
- 1989
(Show Context)
Citation Context ...ng these labels to constrain uni cation. This possibility has also been appreciated previously: the author rst heard of it from Frank Pfenning in 1988. Finally, actual implementations of Prolog exist =-=[1, 2,20]-=- that have closely related \proof" procedures as their bases. Despite these observations, we believe the discussions in this paper are of interest for at least two reasons. First, there has been, to o... |

6 | Gopalan Nadathur, and Andre Scedrov. Hereditary Harrop formulas and uniform proof systems - Miller - 1987 |

4 |
Bharat Jayaraman, and Keehang Kwon. Scoping constructs in logic programming: Implementation problems and their solution
- Nadathur
- 1995
(Show Context)
Citation Context ...rently been used in an implementation undertaken by Conal Elliott and Frank Pfenning [1] (see the comments in [2]) and is also being used in an abstract machine being developed by us for the language =-=[8, 19]-=-. The correctness of this procedure is, however, not readily apparent from other discussions. The proofs in this paper are, in this sense, essential for ensuring the correctness of possible implementa... |

3 |
Lexical scoping as universal quanti - cation
- Miller
- 1989
(Show Context)
Citation Context ... it for x in the course of solving G. These logical symbols thus provide a means for realizing scoping with respect to program code and names and detailed illustrations of this aspect are provided in =-=[12]-=-. The higher-order version of this logic also provides for higher-order programming and for the use of higher-order terms as data structures. A logic programming language called Prolog that is based o... |

1 |
cation under a mixed pre x
- Uni
- 1991
(Show Context)
Citation Context ... the problem of unifying terms embedded under arbitrary sequences of quanti ers is central to our proof procedure, and approaches to this problem have been described in [23] and examined in detail in =-=[14]-=-. The speci c solution to this problem that is used here involves labelling constants and variables and using these labels to constrain uni cation. This possibility has also been appreciated previousl... |

1 |
Automated Proof Search in Non-Classical Logics: E cient Matrix Proof Methods for Modal and Intuitionistic Logics
- Wallen
- 1990
(Show Context)
Citation Context ...sue of nding proofs in the general context can be examined with a view towards controlling the search e ort for any arbitrary formula. Some e orts have been invested in this direction, e.g., those in =-=[25, 27]-=-. An alternative direction for exploration is that of nding restricted but interesting classes of formulas for which simple search procedures can be used. Hereditary Harrop formulas are an example of ... |