| R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A Transformational Approach to Negation in Logic Programming. Journal of Logic Programming, 8:201-- 228, 1990. |
....combination of NF and embedded implication is particularly problematic, since it leads to the failure of basic logic principles such as cut elimination. The approach to negation that we adopt is transformational, also known as intensional negation, initiated in [21] and developed in Pisa [3] for Horn logic with negation and later extended to constraint logic programming [5] Roughly, given a clause with occurrences of negated predicates, say Q G; P; G 0 , where P is an already de ned atom, the aim is to derive a positive predicate, say non P which implements the complement of P , ....
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201-228, 1990.
....discussed brie y in Section 9. Lassez and Marriot [1987] proposed the seminal uncover algorithm for computing rst order relative complements and introduced the now familiar restriction to linear terms. We quote the de nition of the Not algorithm for the (singleton) complement problem given in [Barbuti et al. 1990] which we generalize in De nition 6.1. Given a nite signature and a linear term t they de ne: Not (x) Not (f(t 1 ; t n ) fg(x 1 ; xm ) j g 2 and g 6= fg [ ff(z 1 ; z i 1 ; s; z i 1 ; z n ) j s 2 Not (t i ) 1 i ng The relative complement problem ....
....which is not compatible with the very irregular structure of the lattice of terms where the smallest upper bound is interpreted as anti uni cation. We end this section showing how pattern complement can be used as a building block of our main application, that is a clause complement algorithm [Barbuti et al. 1990]. In (higher order) logic programming, in fact, pattern complement is a necessary component in any algorithm to synthesize the negation of a given program. This synthesis includes two basic operations: negation to compute the complements of heads of clauses in the de nition of a predicate, and ....
[Article contains additional citation context not shown here]
Barbuti, R., Mancarella, P., Pedreschi, D., and Turini, F. 1990. A transformational approach to negation in logic programming. Journal of Logic Programming 8, 201-228.
....narrowing strategies in the presence of nonterminating functions and extra variables in right hand sides of rewrite rules. 1 Introduction Extra variables in a Horn clause L ( B are variables in the body B which do not occur in L (other notions are existential variables [PP94] local variables [BMPT90] right free variables [BMPT87] or fresh variables [Pad92] It has been argued that extra variables are necessary and contribute to the expressive power of logic languages. For instance, Dershowitz and Okada [DO90] claim that the restriction of logic programming to clauses without extra ....
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A Transformational Approach to Negation in Logic Programming. Journal of Logic Programming (8), pp. 201--228, 1990.
....by Prolog compilers is the following: naf (Q) Q, fail. naf (Q) that is unsound except when the free variables of Q are not constrained (for instance, if Q has no free variables) There are many works related to the program completion of Clark [9] see [16, 1] some of them ([2, 3]) oriented to obtain a program that is a transformation of a original program P which introduces also the only if part of the predicate definitions (i.e. interpreting implications as equivalences) The constructive negation proposed by Chan [7, 8] and formalized in the context of CLP by ....
....while the inside list represents the conjunction of disequalities. We focus on the variable X . 1 Chan treats the disjunctions by means of backtracking. The main advantage of our normal form is that the search space is drastically reduced. SUBGOAL ATTRIBUTE CONSTRAINT not member (X,[1,2,3]) X=1; X=2; X=3] X 6= 1 X 6= 2 X 6= 3 member (X, 1] X= 1 fail false X = 4 [ X=4] X 6= 4 X = 4; X= 5 [ X=4] X=5] X 6= 4 X 6= 5 X = 5; X= 6, X= Y) X=4] X=6; X=Y ] X 6= 4 (X 6= 6 X 6= Y ) member (X, 0,s(0) s(s(0) fA (Y, X = s (Y) 0 X = 0 4 Constructive ....
[Article contains additional citation context not shown here]
R. Barbuti, D. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. JLP, 8(3):201--228, 1990.
....when a function fails. This could optimize the computation and also can transform an infinite computation ( into a finite failure (fail) The technique is independent of our work an can be used to optimize it. Another interesting approach to negation in PROLOG is the transformational one [1, 2]. New predicates are added in order to express the negative information. Informally, the complement of head terms of the positive clauses are computed and they are used later as the head of the negated predicate. However, in some cases, the new program contains some kind of universal ....
R. Barbuti, D. Mancarella, D. Pedreschi, F. Turini. A Transformational Approach to Negation in Logic Programming. Journal of Logic Programming, 8(3):201-228, 1990.
....can freely mix explicit negation and negation as failure. Kowalski pointed out the advantages of this distinction for knowledge representation. The bad news is that default rules are, at least, as difficult to implement as negation in logic programming. We can adapt the transformational approach [2, 3] to treat negation in Prolog. The negative information is expressed by means of new predicates, that are added to the program. In our case, this approach can be easily adapted when the program has no guards or guards without free variables. The default rule can be expressed as several normal ....
R. Barbuti, D. Mancarella, D. Pedreschi, F. Turini. A Transformational Approach to Negation in Logic Programming. J. of Logic Programming, 8(3):201-228, 1990.
....to design and implement a practical form of negation and incorporate it into a Prolog compiler. In [21] we studied systematically what we understood to be the most interesting existing proposals: negation as failure (naf) 8] use of delays to apply naf in a secure way [18] intensional negation [1, 2], and constructive negation [6, 7] We could not find a single technique that offered both completeness and an efficient implementation. However, we proposed to use a combination of these techniques and that information from a static analysis of the program could be used to reduce the cost of ....
....presented technique) Our transformation, when applied to the previous examples, produces the following code: not even(X) X = 0, fA(Y, X = s(s(Y) not even(s(s(X) not even(X) not p(X, Y) X = Y. The transformation is fully formalized in [21] and differs from the original one [2] in some significant points. While the original transformation is limited to a restricted class of programs (that models all programs applying a second transformation) our transformation applies to all kinds of programs. Furthermore, it maintains compact outcomes and is designed to produce ....
R. Barbuti, D. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. JLP, 8(3):201--228, 1990.
....G i s have no free variables we can replace the ffi goals by adequate constraints. Informally, the complement of head terms of P clauses are computed and they are used later in the constraint of the modified Q predicate. The same idea is used into the transformational approach to negation from [BMPT90]. We can modify our example by replacing Q rule for p by the rules: p (Z, Y) q (Z) r (Y) q (Z) Z 0. In case that the transformation is not possible we can apply another optimization: if all p calls are ground, a sound and complete implementation will be the following: p (X) pP (X ....
R. Barbuti, D. Mancarella, D. Pedreschi, F. Turini. A Transformational Approach to Negation in Logic Programming Journal of Logic Programming, 8(3):201-228, 1990.
....G i s have no free variables we can replace the ffi goals by adequate constraints. Informally, the complement of head terms of P clauses are computed and they are used later in the constraint of the modified Q predicate. The same idea is used into the transformational approach to negation from [BMPT90]. We can modify our example by replacing Q rule for p by the rules: p (Z, Y) q (Z) r (Y) q (Z) Z 0. A concrete implementation can use this transformation technique whenever possible, the cut trick to be executed dynamically and constructive negation only when it is absolutely ....
R. Barbuti, D. Mancarella, D. Pedreschi, F. Turini. A Transformational Approach to Negation in Logic Programming Journal of Logic Programming, 8(3):201-228, 1990.
....problem, which has been studied in part in [10] 30] and [103] and also by [18] with respect to the completion semantics, involves the treatment of the equality predicate as a further abducible. Because NAF is a special case of abduction, the problem of constructive negation in logic programming [4, 8, 130] is a special case of abduction with non variable free hypotheses. We have argued that the implementation of abduction needs to be considered within a broader framework of implementing knowledge assimilation (KA) We have seen that abduction can be used to assist the process of KA and that ....
Barbuti, R., Mancarella, P., Pedreschi, D., Turini, F., A transformational approach to negation in logic programming. Journal of Logic Programming 8 (1990) 201--228
....problem, which has been studied in part in [10] 30] and [103] and also by [18] with respect to the completion semantics, involves the treatment of the equality predicate as a further abducible. Because NAF is a special case of abduction, the problem of constructive negation in logic programming [4, 8, 130] is a special case of abduction with non variable free hypotheses. We have argued that the implementation of abduction needs to be considered within a broader framework of implementing knowledge assimilation (KA) We have seen that abduction can be used to assist the process of KA and that ....
Barbuti, R., Mancarella, P., Pedreschi, D., Turini, F., A transformational approach to negation in logic programming. Journal of Logic Programming 8 (1990) 201-228
....combination of NF and embedded implication is particularly problematic, since it leads to the failure of basic logic principles such as cut elimination. The approach to negation that we adopt is transformational, also known as intensional negation, initiated in [17] and developed in Pisa [3] for Horn logic with negation. Roughly, given a clause with occurrences of negated predicates, say Q G; P; G 0 , where P is an already de ned atom, the aim is to derive a positive predicate, say non P which implements the complement of P , preserving operational equivalence; then, it is merely ....
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201-228, 1990.
.... sets of linear patterns as representing sets of ground terms (the union of all ground instances) then they form a boolean algebra under simple union, intersection (implemented via unification) and the complement operation Our principal application is the transformational approach to negation [BMPT90] extended to higher order logic programs , but we believe that our results could also be applied in the implementation and analysis of functional logic languages or logical frameworks. The paper is organized as follows: Section 2 briefly reviews related work, while Section 3 treat the case of ....
....An other approach is discussed in 8. Lassez et Marriot [LM87] proposed the seminal uncover algorithm for computing relative complements and introduced the now familiar restriction to linear terms. We here quote the definition of the Not algorithm for the (singleton) complement problem given in [BMPT90] as an gentler introduction to our Definition 61. Consider a finite language L and a linear term t. NotL (x) NotL (f(t n ) fg(x) j for all g 2 Sigma distinct from fg [ ff(z 1 ; z i Gamma1 ; s; z i 1 ; z n ) j s 2 NotL (t i ) i 2 [1; n]g An alternative solution to the ....
[Article contains additional citation context not shown here]
Roberto Barbuti, Paolo Mancarella, Dino Pedreschi, and Franco Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201--228, 1990.
....concept in linear logic and calculus. Lassez and Marriot [7] proposed the seminal uncover algorithm for computing relative complements and introduced the now familiar restriction to linear terms. We quote the definition of the Not algorithm for the (singleton) complement problem given in [1] which we generalize in Definition 9. Given a finite signature Sigma and a linear term t we define: Not Sigma (x) Not Sigma (f(t n ) fg( x) j for all g 2 Sigma distinct from fg [ ff(z 1 ; z i Gamma1 ; s; z i 1 ; z n ) j s 2 Not Sigma (t i ) i 2 [1; n]g An ....
....negation to compute the complements of heads of clauses in the definition of a predicate, and intersection to combine results of negating individual clause heads. In this paper we have provided algorithms to compute both. While this approach has been investigated for first order Horn clauses [1] and CLP programs [2] the field has been little explored with respect to higher order logics and logical frameworks. This is the most important future work we are considering; the algorithms presented here provide the central foundation. We also plan to extend the results to dependent types to ....
[Article contains additional citation context not shown here]
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201--228, 1990.
....is an approach to negation that transforms a program P (without local variables) into a program P , defining a relation p for every relation p in P , such that p(t) succeeds from P iff p(t) finitely fails from P , and vice versa. Intensional negation was mainly studied by Mancarella et al. [101, 102, 18]. Linear Logic is a modification of the classical Gentzen sequent calculus which was developed by Girard [74] to capture reasoning about resources. In particular linear logic is sensitive to how many times a formula is used as hypothesis in a proof. Cerrito [32, 33] showed that linear logic can ....
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. J. of Logic Programming, 8:201--228, 1990.
....for the resolution of the negated predicates presents some typical bounds, which the floundering and the asymmetric treatment of the positive and negative enquiries. In order to overcome these limits it is possible use an approach constructive to the negation based on the Intentional Negation [27], which allows obtaining the negative knowledge from the information contained in the positive knowledge. The intentional negation produces, for each predicate s symbol of a logic program, definitions of new predicate s symbols with negative meaning respect to initial definitions. The new program, ....
Barbuti, R., Mancarella, P., Pedreschi, D., Turini, F., A Transformational Approach to Negation in Logic Programs, J. Log. Progr.2,201-228,513
....to the non ground literal problem, namely the fact that Negation As Failure can only be used as a test and never computes answers. The problem of handling non ground literals was tackled by various extensions of Negation As Failure, called constructive negation. Examples are intensional negation [3, 4], Chan s constructive negation [7, 8] fail substitutions [20] and fail answers [11, 10] The idea of intensional negation, originally sketched in [25] and then formalized for positive logic programs in [3, 4] is the following. Given a normal program P , we derive a new program P 0 , which ....
....of Negation As Failure, called constructive negation. Examples are intensional negation [3, 4] Chan s constructive negation [7, 8] fail substitutions [20] and fail answers [11, 10] The idea of intensional negation, originally sketched in [25] and then formalized for positive logic programs in [3, 4], is the following. Given a normal program P , we derive a new program P 0 , which contains clauses which allow us to compute the answers to negative queries. Example 1. Let P be the program feven(0) even(s(s(X) even(X)g. The new clauses in P 0 generated by intensional negation are the ....
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201-- 228, 1990.
....terminology where constructive negation means approaches to overcome the restrictions of negation as failure. step. Another extension in [Cha89, Stu91] is that not only literals can be selected but also some other negated formulae. The transformational approach to negation (Barbuti et al. [BMPT90], Sato and Tamaki [ST84] does not use the program completion explicitly. Instead it introduces new predicates to a program in order to express the negative information. The idea is to construct a definite program that defines both the original and the new predicates. However in many cases the ....
....programming answers are given in the form of idempotent substitutions. This is not feasible when answers to negative queries are required. Some generalization of the concept of a substitution is needed to conveniently express inequality. Out of the approaches mentioned in the Introduction only [BMPT90] uses substitutions, but this results in an infinite number of answers in apparently simple cases (e.g. feq(x; x) g[f :eq(x; y)g) The other approaches, in addition to substitutions (or equations) use disequations. In order not to restrict ourselves to a particular form of answers, we will use ....
R. Barbuti, D. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. J. of Logic Programming, 8(3):201--228, 1990.
....the non ground literal problem, namely the fact that Negation As Failure can only be used as a test and never computes answers. The problem of handling non ground literals was tackled by various extensions of Negation As Failure, called constructive negation. Examples are intensional negation [3, 4], Chan s constructive negation [6, 7] the fail substitutions [23] and the fail answers [10, 9] techniques. The idea of intensional negation, originally formalized for positive logic programs [3, 4] is the following. Given a normal program P , we derive a new program P 0 , which contains ....
....extensions of Negation As Failure, called constructive negation. Examples are intensional negation [3, 4] Chan s constructive negation [6, 7] the fail substitutions [23] and the fail answers [10, 9] techniques. The idea of intensional negation, originally formalized for positive logic programs [3, 4], is the following. Given a normal program P , we derive a new program P 0 , which contains clauses which allow us to compute the answers to negative queries. Example 1.2 Let P be the program even(0) even(s(s(X) even(X) The new clauses in P 0 generated by intensional negation are the ....
[Article contains additional citation context not shown here]
R. Barbuti, P.Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. Journal of Logic Programming, 8:201--228, 1990.
....modeling the meaning of extended logic programs by allowing local inconsistencies. The compositionality results are however restricted to pairs of programs which de ne disjoint sets of predicates and which do not interact with each other. Finally, a related work is the paper by Barbuti et al. [3], where a set of operations for composing logic programs are studied in the context of intensional negation. While some of the operations are the same (namely union and intersection) the approach presented in [3] is quite di erent from ours. In [3] negation is handled in a constructive way by ....
....not interact with each other. Finally, a related work is the paper by Barbuti et al. 3] where a set of operations for composing logic programs are studied in the context of intensional negation. While some of the operations are the same (namely union and intersection) the approach presented in [3] is quite di erent from ours. In [3] negation is handled in a constructive way by transforming general programs into pairs of de nite programs. Then union and intersection are de ned over these pairs, and the semantics is given with respect to the completion of the original general programs. ....
[Article contains additional citation context not shown here]
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A Transformational Approach to Negation in Logic Programming. Journal of Logic Programming, 8:201-228, 1990.
.... approach has been also realized using the meta programming facilities of declarative logic language Godel [14] This prototype actually supports an extended repertoire of operators with respect to that presented in this paper [12] which includes an intensional negation operator [1]. So far we have presented a compilation oriented and an interpretation oriented implementation of the language of program expressions. The former consists of a syntactic transformation over programs which produces a new program as an output. The latter consists of a metainterpreter which ....
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programs. Journal of Logic Programming, (2):201--228, 1990.
....is not compositional for other operations, like the intersection or restriction operations considered in this paper. To the best of our knowledge, not many other efforts have been devoted to investigate the composition of general logic programs. A related work is the paper by Barbuti et al. [5], where a set of operations for composing logic programs were studied in the context of intensional negation. While some of the operations are the same (namely union and intersection) the approach presented in [5] is quite different from ours. In [5] negation is handled in a constructive way by ....
....composition of general logic programs. A related work is the paper by Barbuti et al. 5] where a set of operations for composing logic programs were studied in the context of intensional negation. While some of the operations are the same (namely union and intersection) the approach presented in [5] is quite different from ours. In [5] negation is handled in a constructive way by transforming programs into pairs of definite programs. Then union and intersection are defined over these pairs, and the semantics is given with respect to the completion of the original general programs. Recently, ....
[Article contains additional citation context not shown here]
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A Transformational Approach to Negation in Logic Programming. Journal of Logic Programming, 8:201--228, 1990.
No context found.
R. Barbuti, P. Mancarella, D. Pedreschi, and F. Turini. A Transformational Approach to Negation in Logic Programming. Journal of Logic Programming, 8:201-- 228, 1990.
No context found.
R. Barbuti, D. Mancarella, D. Pedreschi, and F. Turini. A transformational approach to negation in logic programming. JLP, 8(3):201--228, 1990.
No context found.
R. Barbuti, P. Mancarella, D. Pedreschi and F. Turini, "A Transformational Approach to Negation in Logic Programming," Journal of Logic Programming vol. 8 (1990) pp. 201-228,.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC