Results 1 - 10
of
66
Uniform proofs as a foundation for logic programming
- ANNALS OF PURE AND APPLIED LOGIC
, 1991
"... A proof-theoretic characterization of logical languages that form suitable bases for Prolog-like 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 334 (96 self)
- Add to MetaCart
A proof-theoretic characterization of logical languages that form suitable bases for Prolog-like 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 cut-free sequent proofs called uniform proofs. A uniform proof is one that can be found by a goal-directed 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 first-order and higher-order 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 first-order and higher-order 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 first-order Horn clauses is briefly discussed.
Logic Programming in a Fragment of Intuitionistic Linear Logic: Extended Abstract
- In Kahn, G. (Ed.), Sixth Annual Symposium on Logic in Computer Science
, 1991
"... 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 283 (36 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 bottom-up search for a cut-free proof contexts, represented as the left-hand 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 goal-directed 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. 1
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 62 (16 self)
- Add to MetaCart
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 non-deterministic 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 Prolog-like language with facilities data types, and encapsulation of state.
Foundations of Semantic Web Databases
- IN: PODS ’04: PROCEEDINGS OF THE TWENTY-THIRD ACM SIGMODSIGACT-SIGART SYMPOSIUM ON PRINCIPLES OF DATABASE SYSTEMS
, 2004
"... The Semantic Web is based on the idea of adding more machine-readable semantics to web information via annotations written in a language called the Resource Description Framework (RDF). RDF resembles a subset of binary first-order logic including the ability to refer to anonymous objects. Its extend ..."
Abstract
-
Cited by 60 (15 self)
- Add to MetaCart
The Semantic Web is based on the idea of adding more machine-readable semantics to web information via annotations written in a language called the Resource Description Framework (RDF). RDF resembles a subset of binary first-order 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 well-defined 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 55 (2 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 model-fitting 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...
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 integrity c ..."
Abstract
-
Cited by 49 (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 resource-bounded 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
"... : First-order Horn clause logic can be extended to a higher-order 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 higher-order unification. Althoug ..."
Abstract
-
Cited by 43 (12 self)
- Add to MetaCart
: First-order Horn clause logic can be extended to a higher-order 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 higher-order unification. Although higher-order unification is more complex than usual first-order 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 higher-order 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 36 (4 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 model-theory and proof-theory are presented for this logical language. We show how to build a possible-worlds (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 first-order 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].
Hypothetical Datalog: Complexity and Expressibility
- Theoretical Computer Science
, 1988
"... We present an extension of Horn-clause logic which can hypothetically add and delete tuples from a database. Such logics have been discussed in the literature, but their complexities and expressibilities have remained an open question. This paper examines two such logics in the function-free, predic ..."
Abstract
-
Cited by 34 (15 self)
- Add to MetaCart
We present an extension of Horn-clause logic which can hypothetically add and delete tuples from a database. Such logics have been discussed in the literature, but their complexities and expressibilities have remained an open question. This paper examines two such logics in the function-free, predicate case. It is shown, in particular, that augmenting Horn-clause logic with hypothetical addition increases its data-complexity from PTIME to PSPACE. When deletions are added as well, complexity increases again, to EXPTIME. We then augment the logic with negation-as-failure and develop the notion of stratified hypothetical rulebases. It is shown that negation does not increase complexity. To establish expressibility, we view the logic as a query language for relational databases. It is shown that any typed generic query that is computable in PSPACE can be expressed as a stratified rulebase of hypothetical additions. Similarly, any typed generic query that is computable in EXPTIME can be exp...

