Results 1  10
of
96
Uniform proofs as a foundation for logic programming
 ANNALS OF PURE AND APPLIED LOGIC
, 1991
"... A prooftheoretic characterization of logical languages that form suitable bases for Prologlike programming languages is provided. This characterization is based on the principle that the declarative meaning of a logic program, provided by provability in a logical system, should coincide with its ..."
Abstract

Cited by 426 (124 self)
 Add to MetaCart
A prooftheoretic characterization of logical languages that form suitable bases for Prologlike programming languages is provided. This characterization is based on the principle that the declarative meaning of a logic program, provided by provability in a logical system, should coincide with its operational meaning, provided by interpreting logical connectives as simple and fixed search instructions. The operational semantics is formalized by the identification of a class of cutfree sequent proofs called uniform proofs. A uniform proof is one that can be found by a goaldirected search that respects the interpretation of the logical connectives as search instructions. The concept of a uniform proof is used to define the notion of an abstract logic programming language, and it is shown that firstorder and higherorder Horn clauses with classical provability are examples of such a language. Horn clauses are then generalized to hereditary Harrop formulas and it is shown that firstorder and higherorder versions of this new class of formulas are also abstract logic programming languages if the inference rules are those of either intuitionistic or minimal logic. The programming language significance of the various generalizations to firstorder Horn clauses is briefly discussed.
Logic Programming in a Fragment of Intuitionistic Linear Logic
, 1994
"... 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 342 (44 self)
 Add to MetaCart
(Show Context)
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, fromthe 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.
Foundations of Semantic Web Databases
 IN: PODS ’04: PROCEEDINGS OF THE TWENTYTHIRD ACM SIGMODSIGACTSIGART SYMPOSIUM ON PRINCIPLES OF DATABASE SYSTEMS
, 2004
"... The Semantic Web is based on the idea of adding more machinereadable semantics to web information via annotations written in a language called the Resource Description Framework (RDF). RDF resembles a subset of binary firstorder logic including the ability to refer to anonymous objects. Its extend ..."
Abstract

Cited by 114 (22 self)
 Add to MetaCart
The Semantic Web is based on the idea of adding more machinereadable semantics to web information via annotations written in a language called the Resource Description Framework (RDF). RDF resembles a subset of binary firstorder logic including the ability to refer to anonymous objects. Its extended version, RDFS, supports reification, typing and inheritance. These features introduce new challenges into the formal study of sets of RDF/RDFS statements and languages for querying them. Although several such query languages have been proposed, there has been little work on foundational aspects. We investigate these, including computational aspects of testing entailment and redundancy. We propose a query language with welldefined semantics and study the complexity of query processing, query containment, and simplification of answers.
On the Semantics of Arbitration
 International Journal of Algebra and Computation
, 1995
"... : Revision and update operators add new information to some old information represented by a logical theory. Katsuno and Mendelzon show that both revision and update operators can be characterized as accomplishing a minimal change in the old information to accommodate the new information. Arbitratio ..."
Abstract

Cited by 85 (4 self)
 Add to MetaCart
: Revision and update operators add new information to some old information represented by a logical theory. Katsuno and Mendelzon show that both revision and update operators can be characterized as accomplishing a minimal change in the old information to accommodate the new information. Arbitration operators add two or more weighted informations together where the weights indicate the relative importance of the informations rather than a strict priority. This paper shows that arbitration operators can be also characterized as accomplishing a minimal change. The operator of modelfitting is also defined and analyzed in the paper. 1 Introduction Arbitration is the process of settling a conflict between two or more persons. Arbitration occurs in many situations. For example, settling a labor dispute by an outsider, reaching a verdict in a trial, evaluating several alternative research hypotheses, negotiating an international peace agreement, or setting the price of a product in a compe...
A ProofTheoretic Approach to Logic Programming I
 Generalized Horn Clauses, SICS Research Report, 1987; also in J. of Logic and Computation
, 1987
"... In this paper definite Horn clause programs are investigated within a prooftheoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLDresolution is established by purely prooftheoretic methods. Extended Horn clauses ..."
Abstract

Cited by 74 (9 self)
 Add to MetaCart
(Show Context)
In this paper definite Horn clause programs are investigated within a prooftheoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLDresolution is established by purely prooftheoretic methods. Extended Horn clauses are defined as rules of higher levels and related to an approach based on implication formulae in the bodies of clauses. In a further extension, which is treated in Part II of this series, program clauses are viewed as clauses in inductive definitions of atoms, justifying an additional inference schema: a reflection principle that roughly corresponds to interpreting the program clauses as introduction rules in the sense of natural deduction. The evaluation procedures for queries with respect to the defined extensions of definite Horn clause programs are shown to be sound and complete. The sequent calculus with the general elimination schema even permits the introduction of a genuine notion of falsity which is not defined via a metarule.
Lexical scoping as universal quantification
 In Sixth International Logic Programming Conference
, 1989
"... Abstract: A universally quantified goal can be interpreted intensionally, that is, the goal ∀x.G(x) succeeds if for some new constant c, the goal G(c) succeeds. The constant c is, in a sense, given a scope: it is introduced to solve this goal and is “discharged ” after the goal succeeds or fails. Th ..."
Abstract

Cited by 65 (19 self)
 Add to MetaCart
(Show Context)
Abstract: A universally quantified goal can be interpreted intensionally, that is, the goal ∀x.G(x) succeeds if for some new constant c, the goal G(c) succeeds. The constant c is, in a sense, given a scope: it is introduced to solve this goal and is “discharged ” after the goal succeeds or fails. This interpretation is similar to the interpretation of implicational goals: the goal D ⊃ G should succeed if when D is assumed, the goal G succeeds. The assumption D is discharged after G succeeds or fails. An interpreter for a logic programming language containing both universal quantifiers and implications in goals and the body of clauses is described. In its nondeterministic form, this interpreter is sound and complete for intuitionistic logic. Universal quantification can provide lexical scoping of individual, function, and predicate constants. Several examples are presented to show how such scoping can be used to provide a Prologlike language with facilities data types, and encapsulation of state.
Towards a Unified Agent Architecture That Combines Rationality With Reactivity
, 1996
"... In this paper we analyse the differences between rational and reactive agent architectures, and propose a uniform agent architecture that aims to capture both as special cases. For this purpose we employ a proof procedure, to control the agent's behaviour, which combines definitions with integr ..."
Abstract

Cited by 59 (10 self)
 Add to MetaCart
In this paper we analyse the differences between rational and reactive agent architectures, and propose a uniform agent architecture that aims to capture both as special cases. For this purpose we employ a proof procedure, to control the agent's behaviour, which combines definitions with integrity constraints. The proof procedure is general, and has been shown elsewhere to unify abductive logic programming, constraint logic programming and semantic query optimisation. We also employ a resourcebounded formalisation of the proof procedure which allows the agent's reasoning to be interrupted and resumed, so that observations and actions can be performed. 1 Introduction The traditional notion of a rational agent in Artificial Intelligence focuses on the agent's thinking process and downplays or ignores its interaction with the environment. This notion has been challenged in recent years by the contrary notion of a reactive agent that focuses on the agent's timely interaction with the env...
A Logic Programming Approach To Manipulating Formulas And Programs
 IEEE Symp. Logic Programming
, 1994
"... : Firstorder Horn clause logic can be extended to a higherorder setting in which function and predicate symbols can be variables and terms are replaced with simply typed terms. For such a logic programming language to be complete in principle, it must incorporate higherorder unification. Althoug ..."
Abstract

Cited by 56 (17 self)
 Add to MetaCart
(Show Context)
: Firstorder Horn clause logic can be extended to a higherorder setting in which function and predicate symbols can be variables and terms are replaced with simply typed terms. For such a logic programming language to be complete in principle, it must incorporate higherorder unification. Although higherorder unification is more complex than usual firstorder unification, its availability makes writing certain kinds of programs far more straightforward. In this paper, we present such programs written in a higherorder version of Prolog called Prolog. These programs manipulate structures, such as formulas and programs, which contain abstractions or bound variables. We show how a simple natural deduction theorem prover can be implemented in this language. Similarly we demonstrate how several simple program transformers for a functional programming language can be written in Prolog. These Prolog programs exploit the availability of conversion and higherorder unification to elegantly ...
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 47 (6 self)
 Add to MetaCart
(Show Context)
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].