Logic programming in intuitionistic linear logic: Theory, design, and implementation
It is an unfortunate reality that in "logic programming" as exemplified by Prolog few interesting problems can be solved using the purely logical fragment of the language. The programmer must instead resort to the use of extra-logical features about which sound reasoning is difficult or impossible. When logic programming is based on the theory of intuitionistic logic, it is natural to allow implications in goals and in the bodies of clauses. This extension has been studied in depth by Miller, Nadathur, Gabbay, and others and yields many useful features at the language level. There are many problems, though, which cannot be given an attractive treatment in systems based on classical or intuitionistic logic because, in those settings, no control is possible over whether, and how often, a formula is used during a proof. These are called the relevant and affine constraints. These limitations can be addressed by using Girard's linear logic to refine the intuitionistic notion of context. In this thesis I discuss the theory, design, and implementation of a logic programming language based on linear logic as first proposed by Hodas and Miller in 1991. Several example applications, including some taken from database reasoning and natural language processing, are given to justify the language design. It is shown how issues that do not arise in implementing traditional systems can prove crippling to a naive implementation of this logic. A formal operational semantics is proposed which circumvents these problems by delaying otherwise non-deterministic choices in the proof search. A further refinement of the system, in which the programmer can specify the relevant and affine constraints independently, is also discussed. ^
Artificial intelligence|Computer science
Hodas, Joshua Seth, "Logic programming in intuitionistic linear logic: Theory, design, and implementation" (1994). Dissertations available from ProQuest. AAI9427546.