Results 1 
6 of
6
HigherOrder Horn Clauses
 JOURNAL OF THE ACM
, 1990
"... A generalization of Horn clauses to a higherorder logic is described and examined as a basis for logic programming. In qualitative terms, these higherorder Horn clauses are obtained from the firstorder ones by replacing firstorder terms with simply typed #terms and by permitting quantification ..."
Abstract

Cited by 61 (20 self)
 Add to MetaCart
A generalization of Horn clauses to a higherorder logic is described and examined as a basis for logic programming. In qualitative terms, these higherorder Horn clauses are obtained from the firstorder ones by replacing firstorder terms with simply typed #terms and by permitting quantification over all occurrences of function symbols and some occurrences of predicate symbols. Several prooftheoretic results concerning these extended clauses are presented. One result shows that although the substitutions for predicate variables can be quite complex in general, the substitutions necessary in the context of higherorder Horn clauses are tightly constrained. This observation is used to show that these higherorder formulas can specify computations in a fashion similar to firstorder Horn clauses. A complete theorem proving procedure is also described for the extension. This procedure is obtained by interweaving higherorder unification with backchaining and goal reductions, and constitutes a higherorder generalization of SLDresolution. These results have a practical realization in the higherorder logic programming language called λProlog.
A Proof Procedure for the Logic of Hereditary Harrop Formulas
 JOURNAL OF AUTOMATED REASONING
, 1993
"... A proof procedure is presented for a class of formulas in intuitionistic logic. These formulas are the socalled goal formulas in the theory of hereditary Harrop formulas. Proof search inintuitionistic logic is complicated by the nonexistence of a Herbrandlike theorem for this logic: formulas cann ..."
Abstract

Cited by 30 (12 self)
 Add to MetaCart
A proof procedure is presented for a class of formulas in intuitionistic logic. These formulas are the socalled goal formulas in the theory of hereditary Harrop formulas. Proof search inintuitionistic logic is complicated by the nonexistence of a Herbrandlike 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 firstorder version of hereditary Harrop formulas. Modifications to this procedure for the relevant formulas in a higherorder 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.
Scoping Constructs In Logic Programming: Implementation Problems And Their Solution
, 1995
"... Machine (WAM). The provision of implications in goals results in the possibility of program clauses being added to the program for the purpose of solving specific subgoals. A naive scheme based on asserting and retracting program clauses does not suffice for implementing such additions for two reaso ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
Machine (WAM). The provision of implications in goals results in the possibility of program clauses being added to the program for the purpose of solving specific subgoals. A naive scheme based on asserting and retracting program clauses does not suffice for implementing such additions for two reasons. First, it is necessary to also support the resurrection of an earlier existing program in the face of backtracking. Second, the possibility for implication goals to be surrounded by quantifiers requires a consideration of the parameterization of program clauses by bindings for their free variables. Devices for supporting these additional requirements are described as also is the integration of these devices into the WAM. Further extensions to the machine are outlined for handling higherorder additions to the language. The ideas Work on this paper has been partially supported by NSF Grants CCR8905825 and CCR 9208465. Address correspondence to Gopalan Nadathur, Department of Compute...
Implementation Considerations for HigherOrder Features in Logic Programming
, 1993
"... This paper examines implementation problems that arise from providing for aspects of higherorder programming within and enhancing the metalanguage abilities of logic programming. One issue of concern is a representation for the simplytyped lambda terms that replace the usual firstorder terms as ..."
Abstract

Cited by 14 (10 self)
 Add to MetaCart
This paper examines implementation problems that arise from providing for aspects of higherorder programming within and enhancing the metalanguage abilities of logic programming. One issue of concern is a representation for the simplytyped lambda terms that replace the usual firstorder terms as data structures; this representation must support an efficient realization of ...conversion operations on these terms. Another issue is the handling of higherorder unification that becomes an integral part of the computational model. An implementation must cater to the branching nature of this operation and also provide a means for temporarily suspending the solution of a unification problem. A final issue concerns the treatment of goals whose structure is not statically apparent. These problems are discussed in detail and solutions to them are described. A representation for lambda terms is presented that uses the de Bruijn "nameless" notation and also permits reduction substitutions to be performed lazily. This notation obviates ...conversion and also supports an efficient implementation of ...reduction. Branching in unification is implemented by using a depthfirst search strategy with backtracking. A structure that is called a branch point record and is akin to the choice point record of the Warren Abstract Machine (WAM) is described for remembering alternatives in unification. An explicit representation for unification problems is presented that permits sharing and also supports the rapid reinstatement of earlier versions of the problem. The implementation of unification is tuned to yield an efficient solution to firstorder like problems, in fact through the use of compiled code as in the WAM. A compilation method is also discussed for goals whose structure changes during execution. Th...
A semantics for logic programs based on first order hereditary Harrop formulas
"... The paper introduces a semantics for logic programs based on first order hereditary Harrop formulas which are expressed in terms of intuitionistic derivations. The derivations are constructed by means of an intuitionistic proof procedure that constitutes the resolution mechanism of the language. The ..."
Abstract
 Add to MetaCart
The paper introduces a semantics for logic programs based on first order hereditary Harrop formulas which are expressed in terms of intuitionistic derivations. The derivations are constructed by means of an intuitionistic proof procedure that constitutes the resolution mechanism of the language. The semantics of a program is a goal independent denotation which can be equivalently specified by a denotational and an operational semantics. The denotational semantics is defined using a set of primitive semantic operators that act on derivations and are directly related to the properties of the derivations. Keywords: Logic Programming, Abstract Interpretation, Harrop Formulas 1 Introduction The aim of this work is to introduce a semantics for logic programs based on first order hereditary Harrop (fohh) formulas expressed in terms of intuitionistic proofs, in order to study the various properties of such programs. The proof procedure presented by Nadathur in [10] constitutes the basis of t...
Classification of recursive functions into polynomial and superpolynomial complexity classes
"... Abstract. We present a decidable and sound criterion for classifying recursive functions over higherorder data structures into polynomial and superpolynomial complexity classes generalizing the seminal results by Bellantoni and Cook [1] and Leivant [4] to complex structural datatypes. The criterion ..."
Abstract
 Add to MetaCart
Abstract. We present a decidable and sound criterion for classifying recursive functions over higherorder data structures into polynomial and superpolynomial complexity classes generalizing the seminal results by Bellantoni and Cook [1] and Leivant [4] to complex structural datatypes. The criterion is complete for the special case of binary strings; whether it is also complete for arbitrary higherorder data structures remains an open problem. Logic programming serves as the underlying model of computation and our results apply to the Horn fragment as well to the fragment of hereditary Harrop formulas. 1