Results 1  10
of
18
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 374 (108 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.
A logic programming language with lambdaabstraction, function variables, and simple unification
 Extensions of Logic Programming. Springer Lecture Notes in Artificial Intelligence
, 1990
"... A meta programming language must be able to represent and manipulate such syntactic structures as programs, formulas, types, and proofs. A common characteristic of all these structures is that they involve notions of abstractions, scope, bound and free variables, substitution instances, and equality ..."
Abstract

Cited by 291 (24 self)
 Add to MetaCart
A meta programming language must be able to represent and manipulate such syntactic structures as programs, formulas, types, and proofs. A common characteristic of all these structures is that they involve notions of abstractions, scope, bound and free variables, substitution instances, and equality up to alphabetic changes of bound variables.
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 64 (17 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 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.
A ProofTheoretic Analysis of GoalDirected Provability
 Journal of Logic and Computation
, 1992
"... One of the distinguishing features of logic programming seems to be the notion of goaldirected provability, i.e. that the structure of the goal is used to determine the next step in the proof search process. It is known that by restricting the class of formulae it is possible to guarantee that a ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
One of the distinguishing features of logic programming seems to be the notion of goaldirected provability, i.e. that the structure of the goal is used to determine the next step in the proof search process. It is known that by restricting the class of formulae it is possible to guarantee that a certain class of proofs, known as uniform proofs, are complete with respect to provability in intuitionistic logic. In this paper we explore the relationship between uniform proofs and classes of formulae more deeply. Firstly we show that uniform proofs arise naturally as a normal form for proofs in firstorder intuitionistic sequent calculus. Next we show that the class of formulae known as hereditary Harrop formulae are intimately related to uniform proofs, and that we may extract such formulae from uniform proofs in two different ways. We also give results which may be interpreted as showing that hereditary Harrop formulae are the largest class of formulae for which uniform proo...
Constraint Logic Programming with Hereditary Harrop Formulas
, 1997
"... Constraint Logic Programming (CLP) and Hereditary Harrop Formulas (HH)are two well known ways to enhance the expressivity of Horn clauses. In this paper, we present a novel combination of these two approaches. We show how to enrich the syntax and proof theory of HH with the help of a given constrain ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
Constraint Logic Programming (CLP) and Hereditary Harrop Formulas (HH)are two well known ways to enhance the expressivity of Horn clauses. In this paper, we present a novel combination of these two approaches. We show how to enrich the syntax and proof theory of HH with the help of a given constraint system, in such a way that the key property of HH as a logic programming language (namely, the existence of uniform proofs) is preserved. We also present a procedure for goal solving, showing its soundness and completeness for computing answer constraints. As a consequence of this result, we obtain a new strong completeness theorem for CLP that avoids the need to build disjunctions of computed answers, as well as a more abstract formulation of a known completeness theorem for HH.
An Algebraic Framework For The Definition Of Compositional Semantics Of Normal Logic Programs
, 1994
"... ion) Given two normal programs P1 and P2, the following three facts are equivalent: (i) Sem(P 1) = Sem(P 2) (ii) For every program P , Sem(P [ P 1) = Sem(P [ P 2) (iii) For every program P , MP[P1 = MP[P2 . Proof. It is enough to prove that (iii) implies (i), because the other implications are d ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
ion) Given two normal programs P1 and P2, the following three facts are equivalent: (i) Sem(P 1) = Sem(P 2) (ii) For every program P , Sem(P [ P 1) = Sem(P [ P 2) (iii) For every program P , MP[P1 = MP[P2 . Proof. It is enough to prove that (iii) implies (i), because the other implications are direct consequences of lemma 3.1 and theorem 5.1. Let us suppose that there exists a model A in Mod(; ;) such that F 1(A) 6= F 2(A), where F1 = Sem(P 1) and F2 = Sem(P 2). Then, we will show that there exists a program P such that MP[P1 6= MP[P2 . Let j 2 IN be the least layer such that F 1(A) + j 6= F 2(A) + j or F 1(A) j 6= F 2(A) j . Then we can consider two cases. First, if there exists the given level k 2 IN , and F 1(A) + j 6= F 2(A) + j , for some j < k, then F 1(B) 6= F 2(B) for all models B 2 Mod(; ;) such that A + j = B + i and A j 1 = B i 1 for some layer i. This is the case for the model B such that, for all i 2 IN : B + i = A + j B i = A j 1 In any other cas...
On Normal Forms and Equivalence for Logic Programs
 Proceedings of the Joint International Conference and Symposium on Logic Programming
, 1992
"... It is known that larger classes of formulae than Horn clauses may be used as logic programming languages. One such class of formulae is hereditary Harrop formulae, for which an operational notion of provability has been studied, and it is known that operational provability corresponds to provability ..."
Abstract

Cited by 8 (7 self)
 Add to MetaCart
It is known that larger classes of formulae than Horn clauses may be used as logic programming languages. One such class of formulae is hereditary Harrop formulae, for which an operational notion of provability has been studied, and it is known that operational provability corresponds to provability in intuitionistic logic. In this paper we discuss the notion of a normal form for this class of formulae, and show how this may be given by removing disjunctions and existential quantifications from programs. Whilst the normal form of the program preserves operational provability, there are operationally equivalent programs which are not intuitionistically equivalent. As it is known that classical logic is too strong to precisely capture operational provability for larger classes of programs than Horn clauses, the appropriate logic in which to study questions of equivalence is an intermediate logic. We explore the nature of the required logic, and show that this may be obtained by the addit...
A Kripkelike Model for Negation as Failure
 In Proceedings of the North American Conference on Logic Programming (NACLP
, 1989
"... We extend the Kripkelike model theory given in [10] for a fragment of firstorder hereditary Harrop formulae to include negated atoms in goals. This gives us a formal framework in which to study the role of Negation as Failure rule. The class of predicates for which Negation As Failure is applicable ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
We extend the Kripkelike model theory given in [10] for a fragment of firstorder hereditary Harrop formulae to include negated atoms in goals. This gives us a formal framework in which to study the role of Negation as Failure rule. The class of predicates for which Negation As Failure is applicable is discussed, as well as the predicates for which some other form of negation will need to be used. We show how the former class may be incorporated into the model theory, giving a generalisation of the usual T ! construction. No restriction on the class of programs is needed for this approach; the construction may be used for programs which are not locally stratified[14]. This is accomplished by the use of a success level and a failure level of a goal, either or both of which may be infinite. The resulting T operator is not monotonic, which necessitates a slight departure from the standard procedure, but the important properties of the construction still hold. 1 Introduction A classic ...
Success and Failure for Hereditary Harrop Formulae
 Journal of Logic Programming
, 1993
"... We introduce the foundational issues involved in incorporating the Negation as Failure (NAF) rule into the framework of firstorder hereditary Harrop formulae of Miller et al. This is a larger class of formulae than Horn clauses, and so the technicalities are more intricate than in the Horn claus ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We introduce the foundational issues involved in incorporating the Negation as Failure (NAF) rule into the framework of firstorder hereditary Harrop formulae of Miller et al. This is a larger class of formulae than Horn clauses, and so the technicalities are more intricate than in the Horn clause case. As programs may grow during execution in this framework, the role of NAF and the Closed World Assumption (CWA) need some modification, and for this reason we introduce the notion of a completely defined predicate, which may be thought of as a localisation of the CWA. We also show how this notion may be used to define a notion of NAF for a more general class of goals than literals alone. We also show how an extensional notion of universal quantification may be incorporated. This makes our framework somewhat different from that of Miller et al., but not essentially so. We also show how to construct a Kripkelike model for the extended class of programs. This is essentially a de...
On GoalDirected Provability in Classical Logic
, 1994
"... this paper we explore the possibilities for a notion of goaldirected proof in classical logic. The technical point to consider is how to deal with the multipleconclusioned nature of classical sequents, i.e. that classical succedents may contain more than one formula. This means that there may be mo ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
this paper we explore the possibilities for a notion of goaldirected proof in classical logic. The technical point to consider is how to deal with the multipleconclusioned nature of classical sequents, i.e. that classical succedents may contain more than one formula. This means that there may be more than one "candidate" right rule, as there may be several nonatomic formulae in the succedent, and so a choice has to be made as to which formula is to be reduced in the next step. The question of whether this choice may be free or restricted is one of the key decisions to be made. The free choice, i.e. that the order in which the formulae are reduced does not matter, will clearly constrain the logic programming language more than the restricted, one, and is arguably more declarative; on the other hand, the weaker notion is arguably more goaldirected, and there is no obvious reason to insist on the stronger version. We will refer to the free choice as rightreductive proofs, and to the restricted one as rightdirected proofs. Thus there seems to be more than one notion of goaldirected proof in classical logic, and clearly the corresponding logic programming languages may differ according to which class of proofs is used. However, as we shall see, there are do not seem to be any "interesting" languages for which the weaker notion is complete but the stronger one is not, and so it appears the stronger version (which requires that all right rules permute over each other) is the more useful notion.