Results 1  10
of
89
Logic Programming in a Fragment of Intuitionistic Linear Logic
"... When logic programming is based on the proof theory of intuitionistic logic, it is natural to allow implications in goals and in the bodies of clauses. Attempting to prove a goal of the form D ⊃ G from the context (set of formulas) Γ leads to an attempt to prove the goal G in the extended context Γ ..."
Abstract

Cited by 306 (40 self)
 Add to MetaCart
When logic programming is based on the proof theory of intuitionistic logic, it is natural to allow implications in goals and in the bodies of clauses. Attempting to prove a goal of the form D ⊃ G from the context (set of formulas) Γ leads to an attempt to prove the goal G in the extended context Γ ∪ {D}. Thus during the bottomup search for a cutfree proof contexts, represented as the lefthand side of intuitionistic sequents, grow as stacks. While such an intuitionistic notion of context provides for elegant specifications of many computations, contexts can be made more expressive and flexible if they are based on linear logic. After presenting two equivalent formulations of a fragment of linear logic, we show that the fragment has a goaldirected interpretation, thereby partially justifying calling it a logic programming language. Logic programs based on the intuitionistic theory of hereditary Harrop formulas can be modularly embedded into this linear logic setting. Programming 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. An interpreter for this logic programming language must address the problem of splitting contexts; that is, when attempting to prove a multiplicative conjunction (tensor), say G1 ⊗ G2, from the context ∆, the latter must be split into disjoint contexts ∆1 and ∆2 for which G1 follows from ∆1 and G2 follows from ∆2. Since there is an exponential number of such splits, it is important to delay the choice of a split as much as possible. A mechanism for the lazy splitting of contexts is presented based on viewing proof search as a process that takes a context, consumes part of it, and returns the rest (to be consumed elsewhere). In addition, we use collections of Kripke interpretations indexed by a commutative monoid to provide models for this logic programming language and show that logic programs admit a canonical model.
Logic Programming and Knowledge Representation
 Journal of Logic Programming
, 1994
"... In this paper, we review recent work aimed at the application of declarative logic programming to knowledge representation in artificial intelligence. We consider exten sions of the language of definite logic programs by classical (strong) negation, disjunc tion, and some modal operators and sh ..."
Abstract

Cited by 224 (21 self)
 Add to MetaCart
In this paper, we review recent work aimed at the application of declarative logic programming to knowledge representation in artificial intelligence. We consider exten sions of the language of definite logic programs by classical (strong) negation, disjunc tion, and some modal operators and show how each of the added features extends the representational power of the language.
Logic and databases: a deductive approach
 ACM Computing Surveys
, 1984
"... The purpose of this paper is to show that logic provides a convenient formalism for studying classical database problems. There are two main parts to the paper, devoted respectively to conventional databases and deductive databases. In the first part, we focus on query languages, integrity modeling ..."
Abstract

Cited by 143 (2 self)
 Add to MetaCart
The purpose of this paper is to show that logic provides a convenient formalism for studying classical database problems. There are two main parts to the paper, devoted respectively to conventional databases and deductive databases. In the first part, we focus on query languages, integrity modeling and maintenance, query optimization, and data
Metatheory and Reflection in Theorem Proving: A Survey and Critique
, 1995
"... One way to ensure correctness of the inference performed by computer theorem provers is to force all proofs to be done step by step in a simple, more or less traditional, deductive system. Using techniques pioneered in Edinburgh LCF, this can be made palatable. However, some believe such an appro ..."
Abstract

Cited by 53 (2 self)
 Add to MetaCart
One way to ensure correctness of the inference performed by computer theorem provers is to force all proofs to be done step by step in a simple, more or less traditional, deductive system. Using techniques pioneered in Edinburgh LCF, this can be made palatable. However, some believe such an approach will never be efficient enough for large, complex proofs. One alternative, commonly called reflection, is to analyze proofs using a second layer of logic, a metalogic, and so justify abbreviating or simplifying proofs, making the kinds of shortcuts humans often do or appealing to specialized decision algorithms. In this paper we contrast the fullyexpansive LCF approach with the use of reflection. We put forward arguments to suggest that the inadequacy of the LCF approach has not been adequately demonstrated, and neither has the practical utility of reflection (notwithstanding its undoubted intellectual interest). The LCF system with which we are most concerned is the HOL proof ...
MetaProgramming in Logic Programming
 Handbook of Logic in Artificial Intelligence and Logic Programming
, 1994
"... data types are facilitated in Godel by its type and module systems. Thus, in order to describe the metaprogramming facilities of Godel, a brief account of these systems is given. Each constant, function, predicate, and proposition in a Godel program must be specified by a language declaration. The ..."
Abstract

Cited by 46 (3 self)
 Add to MetaCart
data types are facilitated in Godel by its type and module systems. Thus, in order to describe the metaprogramming facilities of Godel, a brief account of these systems is given. Each constant, function, predicate, and proposition in a Godel program must be specified by a language declaration. The type of a variable is not declared but inferred from its context within a particular program statement. To illustrate the type system, we give the language declarations that would be required for the program in Figure 1. BASE Name. CONSTANT Tom, Jerry : Name. PREDICATE Chase : Name * Name; Cat, Mouse : Name. Note that the declaration beginning BASE indicates that Name is a base type. In the statement Chase(x,y) ! Cat(x) & Mouse(y). the variables x and y are inferred to be of type Name. Polymorphic types can also be defined in Godel. They are constructed from the base types, type variables called parameters, and type constructors. Each constructor has an arity 1 attached to it. As an...
A Theory of Modules for Logic Programming
 In Symp. Logic Programming
, 1986
"... Abstract: We present a logical language which extends the syntax of positive Horn clauses by permitting implications in goals and in the bodies of clauses. The operational meaning of a goal which is an implication is given by the deduction theorem. That is, a goal D ⊃ G is satisfied by a program P i ..."
Abstract

Cited by 41 (5 self)
 Add to MetaCart
Abstract: We present a logical language which extends the syntax of positive Horn clauses by permitting implications in goals and in the bodies of clauses. The operational meaning of a goal which is an implication is given by the deduction theorem. That is, a goal D ⊃ G is satisfied by a program P if the goal G is satisfied by the larger program P ∪ {D}. If the formula D is the conjunction of a collection of universally quantified clauses, we interpret the goal D ⊃ G as a request to load the code in D prior to attempting G, and then unload that code after G succeeds or fails. This extended use of implication provides a logical explanation of parametric modules, some uses of Prolog’s assert predicate, and certain kinds of abstract datatypes. Both a modeltheory and prooftheory are presented for this logical language. We show how to build a possibleworlds (Kripke) model for programs by a fixed point construction and show that the operational meaning of implication mentioned above is sound and complete for intuitionistic, but not classical, logic. 1. Implications as Goals Let A be a syntactic variable which ranges over atomic formulas of firstorder logic. Let G range over a class of formulas, called goal formulas, to be specified shortly. We shall assume, however, that this class always contains ⊤ (true) and all atomic formulas. The formulas represented by A and G may contain free variables. Given these two classes, we define definite clauses, denoted by the syntactic variable D, as follows: D: = G ⊃ A  ∀x D  D1 ∧ D2 A program is defined to be a finite set of closed definite clauses. P will be a syntactic variable for programs. A clause of the form ⊤ ⊃ A will often be written as simply A. Let P be a program. Define [P] to be the smallest set of formulas satisfying the following recursive definitions. (i) P ⊆ [P].
Logic programming revisited: logic programs as inductive definitions
 ACM Transactions on Computational Logic
, 2001
"... Logic programming has been introduced as programming in the Horn clause subset of first order logic. This view breaks down for the negation as failure inference rule. To overcome the problem, one line of research has been to view a logic program as a set of iffdefinitions. A second approach was to ..."
Abstract

Cited by 35 (21 self)
 Add to MetaCart
Logic programming has been introduced as programming in the Horn clause subset of first order logic. This view breaks down for the negation as failure inference rule. To overcome the problem, one line of research has been to view a logic program as a set of iffdefinitions. A second approach was to identify a unique canonical, preferred or intended model among the models of the program and to appeal to common sense to validate the choice of such model. Another line of research developed the view of logic programming as a nonmonotonic reasoning formalism strongly related to Default Logic and Autoepistemic Logic. These competing approaches have resulted in some confusion about the declarative meaning of logic programming. This paper investigates the problem and proposes an alternative epistemological foundation for the canonical model approach, which is not based on common sense but on a solid mathematical information principle. The thesis is developed that logic programming can be understood as a natural and general logic of inductive definitions. In particular, logic programs with negation represent nonmonotone inductive definitions. It is argued that this thesis results in an alternative justification of the wellfounded model as the unique intended model of the logic program. In addition, it equips logic programs with an easy to comprehend meaning
A Formalization of Viewpoints
 FUNDAMENTA INFORMATICAE
, 1995
"... We present a formalisation for the notion of viewpoint , a construct meant for expressing several varieties of relativised truth. The formalisation consists in a logic which extends first order predicate calculus through an axiomatization of provability and with the addition of proper reflection rul ..."
Abstract

Cited by 34 (3 self)
 Add to MetaCart
We present a formalisation for the notion of viewpoint , a construct meant for expressing several varieties of relativised truth. The formalisation consists in a logic which extends first order predicate calculus through an axiomatization of provability and with the addition of proper reflection rules. The extension is not conservative, but consistency is granted. Viewpoints are defined as set of reified metalevel sentences. A proof theory for viewponts is developed which enables to carry out proofs of sentences involving several viewpoints. A semantic account of viewpoints is provided, dealing with issues of self referential theories and paradoxes, and exploiting the notion of contextual entailment . Notions such as beliefs, knowledge, truth and situations can be uniformly modeled as provability in specialised viewpoints, obtained by imposing suitable constraints on viewpoints.
Temporal Theories of Reasoning
 Journal of Applied NonClassical Logics
, 1994
"... ABSTRACT: In this paper we describe a general way of formalizing reasoning behaviour. Such a behaviour may be described by all the patterns which are valid for the behaviour. A pattern can be seen as a sequence of information states which describe what has been derived at each time point. A transiti ..."
Abstract

Cited by 34 (29 self)
 Add to MetaCart
ABSTRACT: In this paper we describe a general way of formalizing reasoning behaviour. Such a behaviour may be described by all the patterns which are valid for the behaviour. A pattern can be seen as a sequence of information states which describe what has been derived at each time point. A transition from an information state at a point in time to the state at the (or a) next time point is induced by one or more inference steps. We choose to model the information states by partial models and the patterns either by linear time or branching time temporal models. Using temporal logic one can define theories and look at all models of that theory. For a number of examples of reasoning behaviour we have been able to define temporal theories such that its (minimal) models correspond to the valid patterns of the behaviour. These theories prescribe that the inference steps which are possible, are "executed " in the temporal model. The examples indicate that partial temporal logic is a powerful means of describing and formalizing complex reasoning patterns, as the dynamic aspects of reasoning systems are integrated into the static ones in a clear fashion.