Technical Reports (CIS)

Document Type

Technical Report

Date of this Version

April 1991


University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-91-32.


Logic programming languages based on fragments of intuitionistic logic have recently been developed and studied by several researchers. In such languages, implications are permitted in goals and in the bodies of clauses. Attempting to prove a goal of the form D ⊃ G in a context τ leads to an attempt to prove the goal G in the extended context τ ∪{D}. While an intuitionistic notion of context has many uses, it has turned out to be either too powerful or too limiting in several settings. We refine the intuitionistic notion of context by using a fragment of Girard's linear logic that includes additive and multiplicative conjunction, linear implication, universal quantification, the "of course" exponential, and the constants 1 (the empty context) and T (for "erasing" contexts). After presenting our fragment of linear logic, which contains the hereditary Harrop formulas, we show that the logic has a goal-directed interpretation. We also show that the non-determinism that results from the need to split contexts in order to prove a multiplicative conjunction can be handled by viewing proof search as a process that takes a context, consumes part of it, and returns the rest (to be consumed elsewhere). The complete specification of an interpreter for this logic is presented. Examples taken from theorem proving, natural language parsing, and data base programming are presented: each example requires a linear, rather than intuitionistic, notion of context to be modeled adequately.



Date Posted: 07 August 2007