Title:

Proofs, search and computation in general logic

The Logical Framework (LF) is a formal system for the representation of logics and formal systems as theories within it, which was developed by Harper, Ilonscll and Plotkin. The LF consists of two components: the Allcalculus, the Acalculus with dependent function space (or product) types; and the principle of judgements as types in which judgements, the units of inference in logics and other formal systems, are identified with the types of the Allcalculus. This work is strongly influenced by the work of MartinL6f on judgements in logic. The LF is suitable for mechanical implementation because the AlJcalculus is decidable. We present a theory of search and logic programming for the Altcalculus and consequently for logics which are adequately represented in the LF. The presentation of the Allcalculus of Harper, Honsell and Plotkin is as a (linearized) natural deduction system. The search space induced by such a system is highly nondeterministic and so the first step is to define a Gcntzenized system, in which the natural deduction style IIelimination rule is replace by a sequent calculus style IIelimination rule, which is sound and complete with respect to the system of Harper, Honsell and Plotkin. The Gentzenized system thus provides the foundation for a metacalculus, possessing an important subformula property, for the inhabitation assertions of the Acalculus which forms a suitable basis for proofsearch in the A11calculus. By exploiting the structure of a form of hypolheticageneral judgement, we arc able to obtain (complete) calculi based on certain forms of resolution rule, the search spaces of which are properly contained within that of our basic metacalculus. Furthermore, we are able to further constrain proofsearch in these calculi by considering a certain uniform form for proofs. We develop a unification algorithm for the Allcalculus by extending the work of Huet for the simplytyped Acalculus. We use this unification algorithm to allow us to eliminate nondeterministic choices of terms, when performing proofsearch with the (II/) or resolution rules. This is done by the introduction of a class of universal variables which are later instantiated via the unification algorithm. When unification is used to instantiate universal variables wellformedness may not be preserved. However, by extending the work of Bibel and Wallen (for firstorder classical, modal and inluitionistic logics) to the Allcalculus we are able to obtain a theory which allows to accept as many such instantiations as possible by detecting when the derivation can be reordered in order to yield a wellformed proof. We extend the theory described above to provide a notion of logic programming by admitting universal variables in cndsequents: these are analogous to the logical variables of PROLOG. Finally, we provide a denotational semantics for our logic programs by performing a least fixed point construction in a collection of Herbrand interpretations  maps from C(£) to (families of) sets of terms in  7 , where C(£) is the syntactic category constructed out of the Allcalculus with signature E, and 7 is the category of families of sets. This construction is similar to one of Miller, and exploits a Kripkelike satisfaction predicate. We characterize this construction in terms of the model theory of the Allcalculus using the Yoneda functor.
