Abstract
This paper presents a study of operational and type-theoretic properties of different resolution strategies in Horn clause logic. We distinguish four different kinds of resolution: resolution by unification (SLD-resolution), resolution by term-matching, the recently introduced structural resolution, and partial (or lazy) resolution. We express them all uniformly as abstract reduction systems, which allows us to undertake a thorough comparative analysis of their properties. To match this small-step semantics, we propose to take Howard’s System H as a type-theoretic semantic counterpart. Using System H, we interpret Horn formulas as types, and a derivation for a given formula as the proof term inhabiting the type given by the formula. We prove soundness of these abstract reduction systems relative to System H, and we show completeness of SLD-resolution and structural resolution relative to System H. We identify conditions under which structural resolution is operationally equivalent to SLD-resolution. We show correspondence between term-matching resolution for Horn clause programs without existential variables and term rewriting.
Highlights
Horn clause logic is a fragment of first-order logic that gives theoretical foundation to logic programming
The formulation of LP-Struct in this paper is based on the abstract reduction system framework, instead of the tree formalism in previous work
We have shown that Howard’s system H is a suitable foundation for logic programming
Summary
Horn clause logic is a fragment of first-order logic that gives theoretical foundation to logic programming. When SLD-resolution produces a finite or infinite ground answer for a variable in the query, we say the query is locally productive at that variable (see Definition 12) This gives us an alternative notion of productivity for logic programming. Program 1 is not productive for the query P (x ) by any of these three notions of productivity: it does not compute an infinite ground formula, it is not terminating by term-matching resolution, and it does not compute a ground answer for x. Program 3 is not globally productive for the query P (x , y) as SLD-resolution computes an infinite formula P
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have