Higher-order Horn clauses
- 1 October 1990
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 37 (4), 777-814
- https://doi.org/10.1145/96559.96570
Abstract
A generalization of Horn clauses to a higher-order logic is described and examined as a basis for logic programming. In qualitative terms, these higher-order Horn clauses are obtained from the first-order ones by replacing first-order terms with simply typed λ-terms and by permitting quantification over all occurrences of function symbols and some occurrences of predicate symbols. Several proof-theoretic 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 higher-order Horn clauses are tightly constrained. This observation is used to show that these higher-order formulas can specify computations in a fashion similar to first-order Horn clauses. A complete theorem-proving procedure is also described for the extension. This procedure is obtained by interweaving higher-order unification with backchaining and goal reductions, and constitutes a higher-order generalization of SLD-resolution. These results have a practical realization in the higher-order logic programming language called λProlog.Keywords
This publication has 14 references indexed in Scilit:
- Specifying theorem provers in a higher-order logic programming languagePublished by Springer Nature ,2005
- A logical analysis of modules in logic programmingThe Journal of Logic Programming, 1989
- Some uses of higher-order logic in computational linguisticsPublished by Association for Computational Linguistics (ACL) ,1986
- The Expressiveness of Simple and Second-Order Type StructuresJournal of the ACM, 1983
- Contributions to the Theory of Logic ProgrammingJournal of the ACM, 1982
- The undecidability of the second-order unification problemTheoretical Computer Science, 1981
- Proving and applying program transformations expressed with second-order patternsActa Informatica, 1978
- A unification algorithm for typedTheoretical Computer Science, 1975
- Resolution in type theoryThe Journal of Symbolic Logic, 1971
- A formulation of the simple theory of typesThe Journal of Symbolic Logic, 1940