A comparison of fuzzy and annotated logic ... - Semantic Scholar

Report 14 Downloads 39 Views
A comparison of fuzzy and annotated logic programming Stanislav Krajˇci1 , Rastislav Lencses1 , and Peter Vojt´aˇs23? 1

ˇ arik University Department of Computer Science, Faculty of Science, P. J. Saf´ Institute of Computer Science, Academy of Sciences of the Czech Republic 3 Mathematical Institute, Slovak Academy of Science

2

Abstract. The aim of this paper is to contribute to the study of relationships between different formalism for handling uncertainty in logic programming, knowledge based systems and deductive databases. Generalized annotated programs with restricted semantics (RGA-programs) are well suited to fit real world data. We show that RGA-programs with constant annotations in body are equivalent to programs with left discontinuous annotation and with possibly non-computable semantics. Our model of fuzzy logic programming (FLP) can well handle recursive programs. We show that FLP has the same expressive power as RGAprograms without constant annotations in body of rules. We introduce several syntactical transformations of programs and study their models and production operators. We introduce a new efficient procedural semantics for RGA-programs and show connections between different sorts of computed answers.

Keywords: fuzzy logic programming, generalized annotated programs, declarative and procedural semantics, continuous semantics and computable fixpoint, soundness and completeness

1

Introduction

In literature, there are several models for handling uncertainty and vagueness. The formal model of Generalized Annotated Programs (GAP) by Kifer and Subrahmanian [14] is in the ”middle” of these. All other models for handling uncertainty and vagueness are related to this reference. Lu [17] has shown connections between Annotated and Signed Logic of Haehnle [12], while Kullmann and Sandri [16] have shown transformation between Annotated and Possibilistic Logic of Dubois, Lang and Prade [6]. Other related languages include Evidential Support Logic Programming of Baldwin ([2]), Hybrid Probabilistic Programs of Dekhtyar and Subrahmanian ([5]) and one from Lukasiewicz [18] on Probabilistic Programs and their connection to Truth Functional Programs. In this paper we study some variants of annotated programs and compare them to a model of ?

Partially supported by Slovak grants VEGA 1/7557/20, 1/7555/20 and 1/0385/03 ˇ 201/00/1489. Correspondence to [email protected] and Czech GACR

fuzzy logic programming (FLP). For early surveys on fuzzy logic programming see Dubois, Lang and Prade [7] and Vojt´aˇs [22]. GAP by Kifer and Subrahmanian [14] has attracted much attention and several authors have pursued this line of research, and/or compared to it their results ([4], [23], [10], [9], [20]), used it for modeling agent technologies ([8], [21]), or used it to solve problems in databases and querying ([3], [1]). The basic syntactic concept of FLP is A.x an atom graded by a real number x ∈ [0, 1]. In GAP it is an atom with an annotation term A : t where t ∈ [0, 1] . The semantics in both approaches are given by a mapping f : BL −→ [0, 1] where BL is the Herbrand base. The semantical satisfaction of atoms is the same: f satisfies A.x (resp. A : t) iff f (A) ≥ x (resp. f (A) ≥ t). Note that we are working only within the restricted semantics of GAP. FLP is a truth functional logic (i.e. we work in Hajek’s fuzzy logic in a narrow sense (see [13])). The truth value of a formula is calculated using truth value functions of many valued logical connectives. In contrast, GAP builds complex formulas from annotated atoms using two valued logical connectives but the structure of annotation terms is complex. We can say roughly, that what is hidden in many valued logical connectives of FLP is hidden in the structure of the annotation terms of GAP.

2

Fuzzy logic programming

In this section we repeat some of the results of Fuzzy Logic Programming from Vojt´ aˇs [22] and deepen some others. This knowledge will be used later to introduce a new version of annotated programs and to compare them with fuzzy programs. 2.1

Connectives for evaluating human preferences and relevance of answers to our queries

In fuzzy logic there is a well developed theory of t-norms, conorms and residual implications. One of objectives of this paper is to extend our model to more general classes of connectives. The motivation for this is the following: Fuzzy truth values describe real world applications which are granulated (L. Zadeh). This is connected with the fact that people usually distinguish finitely many degrees of quality (of close, cheap, new, ...) or quantity in control. So, although we use the product t-norm &•p (x, y) = x ∗ y, in practice we work with a piece-wise constant approximation of it. Definition 1. For n, m, k nonzero natural numbers denote k Cn,m (x, y) =

∗ dk ∗ ( dm∗xe m k

dn∗ye n )e

and (z)n =

k Observation 1. Cn,m (x, y) need not be associative.

dn ∗ ze . n

N 10 For example, when C10,10 = then N N N N 0.7 (0.7 0.3) = 0.7 (0.21)10 = 0.7 0.3 = (0.21)10 = 0.3 and N N N N (0.7 0.7) 0.3 = (0.49)10 0.3 = 0.5 0.3 = (0.15)10 = 0.2 k Observation 2. Cn,m (x, y) need not be commutative (symmetric). For example, 4 C10,5 (0.82, 0.79) = ((0.82)10 ∗ (0.79)5 )4 = (0.9 ∗ 0.8)4 = (0.72)4 = 0.75 and 4 C10,5 (0.79, 0.82) = ((0.79)10 ∗ (0.82)5 )4 = (0.8 ∗ 1)4 = 1

To work out all details of the theory of fuzzy logic programming and residuation of connectives, we need the following notions: Definition 2. A function of two real variables C : [0, 1]2 −→ [0, 1] is said to be a conjunctor if the following hold. c1) C extends the two valued conjunction (i.e. C(0, 0) = C(0, 1) = C(1, 0) = 0 and C(1, 1) = 1), c2) C preserves ordering in both variables (i.e. b1 ≤ b2 implies C(b1 , r) ≤ C(b2 , r) r1 ≤ r2 implies C(b, r1 ) ≤ C(b, r2 ) ) c3) C is left continuous in both variables (in sense of continuity of real functions 0 0 0 0 i.e. ∀b, r∀ε > 0∃δ > 0∀b ∈ (b − δ, b]∀r ∈ (r − δ, r](C(b , r ) ≥ C(b, r) − ε) c4) (∀r > 0)(C(1, r) > 0) We do not assume symmetry and associativity, hence it is reasonable to have a control on the order of variables. Motivated by the use of conjunctors when evaluating modus pones, we call the first variable ”the body variable” and the second ”the rule variable” and usually denote it as C(b, r) Condition c4) is a weak form of boundary condition - a rule with positive confidence together with a fully certain body always gives a positive confidence of the computed answer. Definition 3. A function of two real variables I : [0, 1]2 −→ [0, 1] is said to be an implicator if the following hold. i1) I extends the two valued implication (i.e. I(0, 0) = I(0, 1) = I(1, 1) = 1 and I(1, 0) = 0 ) i2) I inverts ordering in the body variable and preserves ordering in the head variable (i.e. b1 ≤ b2 implies I(b1 , h) ≥ I(b2 , h) h1 ≤ h2 implies I(b, h1 ) ≤ I(b, h2 ) ) i3) I is right continuous in both variables (in the sense of continuity of real functions i.e. 0 0 0 (∀b, h∀ε > 0∃δ > 0∀b ∈ [b, b + δ)∀h ∈ [h, h + δ) (I(b , h0 ) ≤ I(b, h) + ε)

i4) (∀h < 1)(I(1, h) < 1) (a weak form of boundary condition). We call the first variable of I ”the body variable” and the second ”the head variable” and usually denote it as I(b, h). We formulate properties of residuation. Definition 4. Let C and I be as above. The following notations are introduced where b, h, r ∈ [0, 1]. (a)(C, I) r ≤ I(b, h) iff C(b, r) ≤ h Φ2(C, I) C(b, I(b, h)) ≤ h Φ3(C, I) r ≤ I(b, C(b, r)) Observation 3. (a)(C, I) iff (Φ2(C, I) and Φ3(C, I)) Observation 4. Assume (a)(C, I) then I(b, h) = sup{r : C(b, r) ≤ h} (denote this implicator by IC ) and C(b, r) = inf{h : I(b, h) ≥ r} (denote this conjunctor by CI ). Observation 5. Given C, then there is an I such that (a)(C, I) iff C is left continuous in the rule coordinate. Observation 6. Given I, then there is a C such that (a)(C, I) iff I is right continuous in the head coordinate. Proofs of these observations are outside the scope of this paper. Slight variations of classical proofs for t−norms work even without associativity, commutativity and boundary conditions. 2.2

The theory of fuzzy logic programming

In order to describe different interrelations between properties, our language has finitely many conjunctions &1 , . . . , &k , disjunctions ∨1 , . . . , ∨l and their truth functions conjunctors &•1 , . . . , &•k and disjunctors ∨•1 , . . . , ∨•l (coupled with conjunctors via de Morgan laws with respect to the negation 1 − x). In order to describe the increasing fulfilment of requirements we have aggregation operators of different arity @1 , . . . , @m in our language. Their truth functions @•1 , . . . , @•m are order preserving. Usually we assume that @• (0, ..., 0) = 0 and @• (1, ..., 1) = 1 hold, but sometimes we relax these, especially when the corresponding complex annotation term does not possess these properties. We assume all truth functions of conjunctions, disjunctions and aggregations are left continuous (in the sense of functions of real numbers). Implications →1 , . . . , →n have truth functions implicators →•1 , . . . , →•n . In our computational model, we have conjunctors C1 , ..., Cn which are residual to above implications ([13], [11]). These need not be truth functions of any conjunctions in our language. We assume conjunctors are left continuous. Any formula built from atoms using conjunctions, disjunctions and aggregations is called a body. Every composition of conjunctors, disjunctors and aggregation operators is again an aggregation operator. Hence, without a loss of generality, we can assume that each body is of the form B = @(B1 , . . . , Bn ). A

rule of FLP is a graded implication (A ←− @(B1 , . . . , Bn ).r), where A is an atom, @(B1 , ..., Bn ) is a body and r ∈ Q ∩ [0, 1] is a rational number (A ←− @(B1 , . . . , Bn ) is the logical part of the rule and r is the quantitative part of the rule). A fact is a graded atom (B.b). A finite set P of positively graded FLP rules and facts is said to be a fuzzy logic program if there are no two rules (facts) with the same logical parts and different quantitative parts. A fuzzy logic program can be represented as a partial mapping P : F ormulas −→ (0, 1] with the domain of P , dom(P ) consisting only of atoms and logical parts of FLP rules of the form A ←− @(B1 , . . . , Bn ). The quantitative part of the rule is r = P (A ←− @(B1 , . . . , Bn )) Let BL be the Herbrand base. A mapping f : BL −→ [0, 1] is said to be a fuzzy Herbrand interpretation. f can be extended to all formulas denoted by f (we stress that f acts on formulas of predicate calculus and is not affected by the quantitative part). A graded formula (ϕ.x) is true in an interpretation f if f (ϕ) ≥ x. For a rule this means that f (A ←− @(B1 , ..., Bn )) =←• (f (A), @• (f (B1 ), . . . , f (Bn ))) ≥ r Recall the many-valued modus ponens [13], [11]: (B.b), (A ←−i B.r) . (A.Ci (b, r)) We base our procedural semantics on the ”backward usage of modus ponens” (no refutation nor resolution is applied here). A computation looks like ?A C→ (@• (B1 , ..., Bn ), r) ... C→ (@• (b1 , ..., bn ), r) Namely, a query A is (after a successful unification with the head of a rule) replaced by a mixed expression Ci (@• (B1 , ..., Bn ), r) - the initial segment of the term calculating the truth value of the answer C→ (@• ( ), y) with embedded atoms from the body B1 , ..., Bn not computed thus far. After all truth values b1 , . . . , bn of all atoms B1 , . . . , Bn are calculated, we evaluate the whole expression. We know by the residuality of Ci that this is a sound rule (see [13], [11]). We define the corresponding TP operator (for f : BP −→ [0, 1]) by Definition 5. Assume P is a fuzzy logic program. TP (f )(A) = max{sup{Ci (f (B), r) : (A ←i B.r) is a ground instance of a rule in the program P }, sup{b : (A.b) is a ground instance of a fact in the program P }}. The following is a generalization of a result in [24]. Recall that the left continuity of a function of several real variables means it preserves limits from the left (from bellow). This theorem is a key tool for handling recursive programs.

Theorem 1. The TP operator is continuous for all FLP programs P (in the lattice of interpretations) if and only if all conjunctors, residuated to our implications are left continuous in the body coordinate and all truth functions of connectives appearing in bodies are left continuous (in the sense of functions of real numbers) in all variables. B

Proof. (Left continuity is sufficient) Let X ⊆ [0, 1] P be a set of interpretation which is upward directed in the sense of lattice theory. Denote g = sup(X) W W W = sup{f : f ∈ X} = X. Observe that TP is monotone, so (TP (X)) ≤ TP ( X) holds. To prove the opposite inequality we have to prove, that for all A ∈ BP is _ TP ( X)(A) = TP (g)(A) ≤ sup{TP (f )(A) : f ∈ X}. It suffices for arbitrary ε > 0 to find an fAε ∈ X such that TP (fAε )(A) ≥ TP (g)(A) − ε. If the maximum in the definition of TP takes the value due to facts of the program P then it is not dependent on the interpretations and the result follows. If the second case of the definition of TP occurs and (A ←−i @(B1 , . . . , Bn ).r) ∈ P where Ci (@• (g(B1 ), . . . , g(Bn )), r) ≥ TP (g)(A) − ε then by left continuity of Ci and @• there are δ1 > 0, . . . , δn > 0 such that whenever bi > g(Bi ) − δi then Ci (@• (b1 , . . . , bn ), r) > TP (g)(A) − ε. As g = sup(X) there are fi ∈ X with fi (Bi ) > g(Bi ) − δi . The upward directedness of X means that there is an fAε ∈ X that is greater than or equal to max{f1 , . . . , fn }. Then fAε (Bi ) > g(Bi ) − δi for all i ≤ n and hence TP (fAε )(A) ≥ Ci (@• (fAε (B1 ), . . . , fAε (Bn )), r) > TP (g)(A) − ε. Opposite direction (Left continuity is necessary) Assume we want to show for an @ and xi % x that @• (y, xi , z) % @• (y, x, z). It is enough our language contains @ and one fixed implication →L (called • the Lukasiewicz implication) defined by →L (b, h) = min{1, 1−b+h}. The resid• ual conjunctor is the truth function of the Lukasiewicz conjunction &L (b, r) = max{0, b + r − 1} Take a program P = {H ←−L @(B1 , . . . , Bk , . . . , Bn ).1} and an upward directed set of interpretations X = {fi : i ∈ ω} such that fi (Bj ) = yj for j ≤ k − 1 and all i ∈ ω fi (Bk ) = xi fi (Bj ) = zj for j ≥ k + 1 and all i ∈ ωW • Then sup fi (Bk ) = f (Bk ) = x and TP ( X)(H) = &L (@• (y, x, z), 1) = • @ (y, x, z). By continuity this equals W • {TP (fi )(H) : i ∈ ω} = supi∈ω &L (@• (y, xi , z), 1) = supi∈ω @• (y, xi , z). Similarly for the body coordinate of residual conjunctors. 2

3

Annotated programs

Kifer and Subrahmanian [14] introduced generalized annotated logic programs (GAP) that unifies and generalizes various results and treatments of multivalued logic programming. In this paper we developed a model of many-valued logic programming in a truth-functional logic (we call it fuzzy logic programming FLP) and concentrate on the relation of this and annotated logic programs with restricted semantics (r − GAP ). The whole theory of GAP is developed in a general setting for lattices. We restrict ourselves to the unit interval of real numbers [0,1]. In fuzzy logic programming rules had weights (or truth values) associated with them as a whole. Annotated logic, on the other hand, appeared to associate truth values with each component of an implication rather than the implication as a whole. This implication is interpreted in a “classical logic”fashion. We show how truth values in FLP can be propagated across implications to derive clauses in GAP. Definition 6. A function A : [0, 1]i −→ [0, 1] is an annotation function if it is left continuous and order preserving in all variables. The language of annotated programs consists of a usual language of predicate logic (with object variables, constants, predicates and function symbols) and of the quantitative part of the language. The quantitative part of the language has annotation variables and annotation constants (both ranging over the set of truth values [0,1]) and a set of annotation terms of different arity. Every annotation term % (considered as a symbol of our alphabet) is interpreted as an annotation function %• . In Kifer and Subrahmanian [14] it is assumed that all %• ’s are ”total continuous (hence monotonic) functions” - in the sense of lattice theory. This lattice continuity means that all annotation functions are nondecreasing and left continuous. Complex annotation terms are defined as a composition of these. Notice, that %• can be considered as the truth function of an aggregation operator. If A is an atomic formula and α is an annotation term, then A : α is an annotated atom. If α ∈ [0, 1] then A : α is constant-annotated (or c-annotated for brevity). When α is an annotation variable, then A : α is said to be variableannotated (v-annotated). Definition 7. If A : % is a possibly complex annotated atom and B1 : µ1 , . . . , Bk : µk are c- or v- annotated atoms, then A : % ←− B1 : µ1 & . . . &Bk : µk is an annotated clause. We assume that variables occurring in the annotation of the head also appear as annotations of the body literals. Kifer and Subrahmanian [14] show that the production operator for interpretations taking values in the truth value set ([0, 1] or a lattice) need not be continuous. This is why Kifer and Subrahmanian [14] study general interpretations taking values ideals of the truth value set. We restrict our study only to r-interpretations here and try to cope with their discontinuity.

Definition 8. Let BL be the Herbrand base. A mapping f : BL −→ [0, 1] is said to be a restricted Herbrand interpretation for annotated logic (abbreviated, an r-interpretation). Note that interpretation for fuzzy logic and restricted interpretations for annotated logic coincide. The r-satisfaction is defined differently (all variables (object and annotation) are implicitly universally quantified). Definition 9. (r-satisfaction) Suppose f : BL −→ [0, 1] is an r-interpretation, µ ∈ [0, 1] and A is ground atom, then f is a model of A : µ iff f (A) ≥ µ. The rest of satisfaction is defined similarly as in the two valued logic f is a model of F1 & F2 iff f is a model of F1 and f is a model of F2 f is a model of F1 ∨ F2 iff f is a model of F1 or f is a model of F2 f is a model of F1 ←− F2 iff f is a model of F2 or f is not a model of F2 Quantification of object or annotated variables is defined as usual by substitution of ground terms (object or annotation). Example 1) In the case of propositional logic the Herbrand base is represented by the set of propositional variables PV. Assume, we have an annotated clause C=p:

1 + 2x ←− p : x, 4

and an r-interpretation f : P V −→ [0, 1]. Then f is a model of C iff ∀x ∈ [0, 1] if f (p) ≥ x then f (p) ≥ 1+2x (which is fulfilled if f (p) ≥ 21 ). 4 Example 2) Constantly annotated clauses are important for applications, because they can describe dependencies observed in data. Assume we have an annotated clause D = q : 0.5 ←− p : 0.5 and an r-interpretation f . Then f is a model of D if either f (p) < 0.5 or f (q) ≥ 0.5. Definition 10. For c = (c1 , . . . , cm ) ∈ [0, 1]m and d ∈ [0, 1], rcujcd denotes the function from [0, 1]m into [0, 1] defined as follows (rcuj stands for right continuous universal jump) rcujcd (y1 , . . . , ym ) = d =0

if

(∀i ≤ m)(yi ≥ ci )

else

rcujcd

Note that describes only one possible ”jump”, namely the universal one, the value ”jumps” on a cube [c1 , 1] × . . . × [cm , 1]. We can imagine another sort of jump (and hence enrich the semantics of our programs) namely the right continuous existential jump rcejcd defined as follows rcejcd (y1 . . . ym ) = d =0

if else

(∃i ≤ m) (yi ≥ ci )

Analogously we define left continuous jumps lcujcd (y1 . . . ym ) = d =0

if

(∀i ≤ m)(yi > ci )

else

and lcejcd (y1 . . . ym ) = d =0

if

(∃i ≤ m)(yi > ci )

else

The following summarize and fix notations for the rest of the paper. Our set of truth values is the unit interval of real numbers [0, 1]. We work with the following sets of programs: GAP - generalized annotated programs in the sense of Kifer-Subrahmanian GAP clc - the class of GAP programs without constant annotations in clauses (atoms can have constant annotation). Note that GAP clc ⊆ GAP and left continuous jump annotations are allowed. clc GAPrcj - the class of programs without constant annotations in clauses and in the construction of complex annotation terms we allow to use right continuous clc clc jumps. Note that GAP clc ⊆ GAPrcj and GAPrcj \ GAP clc 6= ∅ F LP - the set of fuzzy logic programs. Example 3) Consider annotated clause 0.5 E = q : rcuj0.5 (x) ←− p : x Observe that f is a model of E iff f is a model of D from Example 2. Observation 7) In Kifer and Subrahmanian [14] it is shown that the annotated program P = {C, D, p : 0 ←−} has discontinuous TP -operator in restricted semantics. On the other hand, clause D is semantically equivalent with clause E, which has the right continuous (and left discontinuous) annotation term. Now our informal understanding of situation is following: The richness of GAP is in annotation terms and in FLP it is hidden in the aggregations of body. From FLP we know that the production operator is continuous if and only if all connectives in the body have left continuous truth function. Here we see that in constant annotation there is a hidden left discontinuity. We will show that this is the cause of the discontinuity of the production operator.

4

Transformations of programs

In Kifer and Subrahmanian [14] and Kullman and Sandri [16] there are numerous transformations of programs and theorems on the interrelations of their models and TP operators. We offer here some new transformations and theorems. A typical rule C of a generalized annotated program P ∈ GAP can be denoted as follows C = H : Ψ (x1 , . . . , xn ) ←−

←− B11 : x1 & . . . &Bk11 : x1 & &B12 : x2 & . . . &Bk22 : x2 & ... &B1n : xn & . . . &Bknn : xn & : c1 & &B1n+1 : c1 & . . . &Bkn+1 n+1 ... &B1n+m : cm & . . . &Bkn+m : cm n+m Recall from Kifer and Subrahmanian [14] that all variables of the head annotation appear in the body. Moreover note that atoms in body with annotation variable not appearing in the head are semantically superfluous (as they are universally quantified). In this representation we have grouped atoms having the same annotation variable. We assume that for all i and j1 6= j2 atoms Bji 1 and Bji 2 are different. Nevertheless, we make no assumption on Bji11 and Bji22 for i1 6= i2 . The above clause will be abbreviated as: H : Ψ (x1 , . . . , xn ) ←−

ki n ^ ^ i=1 j=1

Bji

m k^ n+i ^

: xi &

Bjn+i : ci .

i=1 j=1

Definition 11. (Transformation clc - constant annotations less clauses). Assume C is a clause of a program P ∈ GAP of the above form. We define the clc transformation of C as follows. Take a vector of variables (y1 , . . . , ym ) which are distinct from all other variables appearing. If m > 0 then VV i V V n+i Bj : xi & B j : yi . clc(C) = H : Ψ (x1 , . . . , xn ) ∗ rcujc1 (y1 , . . . , ym ) ←− If m = 0 and n > 0, then the clause does not contain constant annotations and clc(C) = C. If n = m = 0 then clc(C) = H : Ψ ←−. We allow for constantly annotated facts because this can be from extensional data and/or measurements. The class of programs obtained in this way is denoted clc GAPrcj - the class of programs without constant annotations in clauses with possible use of right continuous jumps. Theorem 2. Assume C ∈ P ∈ GAP and f : BL −→ [0, 1] is a fuzzy Herbrand interpretation. Then f is a model of C iff f is a model of clc(C). Proof. Straightforward

2 0

Note that for every c, d and ε > 0 there is an c such that the Lebesgue measure of the set of points ”between” graphs of lcjcd0 (y1 . . . ym ) and rcjcd (y1 . . . ym ) is smaller than ε, (for both universal and existential) e.g. if c > 0, µ({[y1 , . . . , ym , z] : lcujcd0 (y1 , . . . , ym ) ≤ z ≤ rcujcd (y1 , . . . , ym )}) < ε

This is important, having a model of a clause with right jumps there is an interpretation which is ”ε-close” and is a model of the clause with left continuous jump. Nevertheless the iteration of the TP operator does not preserve this εcloseness because we know that TP is (lattice)-continuous for left continuous jumps and is not continuous for right continuous jumps. Definition 12. (Transformations flp and gap). Assume C is a clause of a program P ∈ GAP clc having the form C = H : Ψ (x1 . . . xl ) ←−

ki l ^ ^

Bji : xi

i=1 j=1

then ! ! f lp(C) =

H ←−L Ψ

^

{Bj1

: j ≤ k1 }, . . . ,

G

^

{Bjl

: j ≤ kl } .1

G

and if C = H : α ←− then f lp(C) = (H.α). V Here, Ψ is understood as an l-ary aggregation operator, G is the iteration of the G¨ odel conjunction and ←−L and the truth value of the rule are fixed and do not depend on C. Assume C is a clause of a program P ∈ F LP of the form C = (H ←− @(B1 , . . . , Bn ).r) then gap(C) = (H : C→• (@(x1 , . . . , xn ), r) ←− B1 : x1 & . . . &Bn : xn ). and if

C = (H.c) then gap(C) = H : c ←− 0

Theorem 3. Assume C ∈ P ∈ GAP clc , D ∈ P ∈ F LP and f : BL −→ [0, 1] is a fuzzy Herbrand interpretation. Then f is a model of C iff f is a model of f lp(C) f is a model of D iff f is a model of gap(D). Proof. Straightforward using definitions of satisfaction of either annotated or fuzzy programs. 2 We have defined the following transformations of clauses (rules) and facts: clc clc : GAP −→ GAPrcj clc f lp : GAP −→ F LP gap : F LP −→ GAP clc Interpretations so far considered are f : BL −→ [0, 1] (which corresponds to standard truth-functional (extensional) semantics of fuzzy logic programming and to restricted semantics of generalized annotation programs). Moreover, note that declarative semantics and the notion of a correct answer to a query with respect to a program remain unchanged.

5

Various operators and procedural semantics

In this paper we have restricted ourselves to a linearly ordered set of truth values, hence we do not have to consider programs with a reductant property (see [14]). We work with finite programs consisting of graded and/or annotated clauses (rules) and facts. 5.1

Restricted semantics of GAP and computation with constrains.

In Kifer and Subrahmanian [14] the production operator for restricted semantics on [0, 1] is defined as follows: Definition 13. Given an f : BL −→ [0, 1] an r-interpretation (the same as fuzzy Herbrand interpretation), P ∈ GAP and A ∈ BL . TrGAP (P, f, A) = sup{Ψ • (c1 , . . . , cn )|A : Ψ (c1 , . . . , cn ) ←− B1 : c1 & . . . &Bn : cn is a strict ground instance (SGI) of a clause from P and f (Bi ) ≥ ci for all i ≤ n} Notice that the production operator of fuzzy logic programming from Section 2.2 can be denoted TF LP (P, f, A) with the meaning unchanged. Theorem 4. Assume f : BL −→ [0, 1], P1 ∈ GAP, P2 ∈ GAP clc and P3 ∈ F LP Then TrGAP (P1 , f, A) = TrGAP (clc(P1 ), f, A), TrGAP (P2 , f, A) = TF LP (f lp(P2 ), f, A) and TrGAP (gap(P3 ), f, A) = TF LP (P3 , f, A). Proof. By Theorem 2 we know that f is a model of P1 if and only if f is a model of clc(P1 ). The idea of the proof is following. To show all these equalities we show all necessary ≤. Values of T -operators are suprema of some values - we say that these values contribute to the value of the T -operator. To show ≤ of these suprema it suffices to show that for each value v contributing on the smaller side there is a value v 0 ≥ v contributing on the other side. To show ≤ in the first equality, take a value contributing to the value of TrGAP (P1 , f, A). This is dependent on a ground atom A and a GAP clause C in P1 . Assume C 6= clc(C) i.e. it has constant annotations in the body and is of the form V n V ki Vm Vki+n n+i C = H : Ψ (x1 , . . . , xn ) ←− i=1 j=1 Bji : xi & i=1 j=1 Bj : ci and m > 0. A strict ground instance of it is obtained via a substitution Θ of logical variables and an n-tuple of annotated constants d1 , . . . , dn such that HΘ = A and the SGI hasV the V V n+i V form Bj : ci )Θ (H : Ψ (d1 , . . . , dn ) ←− Bji : di & Then Ψ • (d1 , . . . , dn ) contributes to the value of TrGAP (P1 , f, A) if the body of the rule was fired, that is, the following is fulfilled

f or all i ≤ n, j ≤ ki f (Bji ) ≥ di and f or all n + 1 ≤ i ≤ n + m, j ≤ ki f (Bji ) ≥ ci . We show that Ψ • (d1 , . . . , dn ) is also a contribution to the right hand side value of TrGAP (clc(P1 ), f, A). The only problem is that in clc(C) there are some new variables and the appropriate SGI has to be chosen. V V Having V V n+i Bji : xi & B j : yj clc(C) = H : Ψ (x1 , . . . , xn ) ∗ rcujc1 (y1 , . . . , ym ) ←− a strict ground instance of clc(C) we look for, uses the same Θ to unify H and A and except of d1 , . . . , dn there are some new l1 , . . . , lm such that SGI looks like VV i V V n+i Bj : di & B : li . H : Ψ (d1 , . . . , dn ) ∗ rcujc1 (l1 , . . . , lm ) ←− Now it is enough to choose li = ci and then rcujc1 (c1 , . . . , cn ) = 1, the body of this SGI of clc(C) is identical to the body of the above SGI of the rule C and hence is fulfilled. So Ψ • (d1 , . . . dn ) is also an contribution to the value of TrGAP (clc(P1 ), f, A). The opposite inequality ≥. It suffices to consider only nonzero contributions to TrGAP (clc(P1 ), f, A). Moreover it suffices to consider those containing some right continuous jump in the annotation term. As far as we consider only rules of programs which are clc transformations of GAP programs, the only way in which a jump can occur is the head annotation of a SGI of a clause C 0 ∈ clc(P ). Assume there are d0i , lj0 ’s such that 0 Ψ • (d01 , . . . , d0n0 ) ∗ rcujc1 (l10 , . . . , lm 0) is a nonzero contribution to TrGAP (clc(P1 ), f, A) thanks to a SGI of a rule C 0 ∈ clc(P1 ) which can be again denoted by VV i 0 V V n+i 0 0 H : Ψ (d01 , . . . , d0n0 ) ∗ rcujc10 (l10 , . . . , lm Bj : di & B : li . 0 ) ←− 0 If the contribution is nonzero then rcujc10 (l10 , . . . , lm 0 ) = 1 and this is if and only if for all i ≤ m0 is li0 ≥ c0i . Moreover the rule was fired, hence (∀i ≤ n)(∀j ≤ ki )(f (Bji ) ≥ d0i ) and (∀i)(∀j ≤ ki )(n + 1 ≤ i ≤ n + m implies f (Bji ) ≥ li0 ) hence f (Bi ) ≥ li0 ≥ c0i fires V also SGI V of V the corresponding GAP rule V the (H : Ψ (d01 , . . . , d0n ) ←− Bji : d0i & Bjn+i : c0i )Θ and Ψ • (d01 , . . . , d0n0 ) contributes to the value of TrGAP (P1 , f, A) too. Other inequalities in the statement of this theorem follow similarly. 2 5.2

Computation for GAP clc programs with and without constraints solving.

The main reason for introduction of lattice ideals valued GAP semantics was the fact that restricted semantics was not complete. Working with ideals caused the necessity of working with constraints and approximating the best answer from below. Definition 14. (GAP procedural semantics with constraints ([14])) A computational step of constrained procedural semantics for GAP - a resolvent of a constrained query Q =? − A1 : %1 & . . . &Ai : %i & . . . &Ak : %k & ConstraintQ

and a constrained clause C = A : Ψ ←− B1 : µ1 & . . . &Bm : µm &ConstraintC 0 is the constrained query V Q =?− m [A1 : %1 & . . . &Ai−1 : %i−1 & j=1 Bj : µj &Ai+1 : %i+1 & . . . &Ak : %k ]Θ& &ConstraintC & Ψ ≥ %i & ConstraintQ A corresponding notion of constrained GAP computed answer for Q wrt P is thus given. This computation is sound even for restricted semantics. However, completeness does not hold in general, although several theorems of completeness for restricted classes of programs and lattices have been shown in Kifer and Subrahmanian [14]. Here we define another semantics which replaces the constraint query variable %i ≤ Ψ the head annotation term by the substitution of (by equality) replace query variable %i by the annotation term Ψ. Queries with constant annotations do not appear here because we apply this semantics to GAP clc clauses. Substitute procedural semantics for GAP clc programs and queries with variable annotations are defined as follows. Definition 15. (Substitutional procedural semantics) A combined query Q =? − A1 : %1 & . . . &Ak : %k k t(%1 , . . . , %k ) consists of a logical part with variable annotations and a truth value part, which is a complex annotation term. A computational step of substitutional procedural semantics for GAP clc (and clc similarly for GAPrcj ) - a resolvent of the above combined query and an annotated clause V l V ki C = H : Ψ (x1 , . . . , xl ) ←− i=1 j=1 Bji : xi is a combined query (with new distinct variables xij ) Q0 =?− Vl V [A1 : %1 & . . . &Ai−1 : %i−1 & i=1 j Bji : xij &Ai+1 : %i+1 & . . . &Ak : %k ]Θ k k ϕ(%1 , . . . , %i−1 , Ψ (minj≤k1 (x1j ), . . . , minj≤kl (xlj )), %i+1 , . . . , %k ) A successful refutation gives a substitutional GAP clc computed answer consisting of a logical substitution ϑ and an element of [0, 1] obtained by evaluating the final truth value part of the annotation term (which can not contain any variables, because facts are only constantly annotated). Example 4) Consider the program P from the Observation 7 p: q:

1+2x ←− p 4 1 1 2 ←− p : 2

:x

p : 0 ←− Working inside GAP semantics of Kifer and Subrahmanian [14], interpretations are ideals in the set of truth values. Ideals in [0, 1] are intervals of the form either [0, a] or [0, a). The correct answer in GAP semantics for P and the query

? − q : ρ is the half open interval ρ = [0, 12 ). The correct answer in restricted semantics is ρ = 12 . Example 5) The GAP computation for P from above and the query ?−q : ρ is as follows: ?−q :ρ ? − p : 21 & ρ ≤ 12 Now the computation splits, depending upon which rule, with the head p, is chosen; ? − 2 & 12 ≤ 0 & ρ ≤ 12 0 & ρ ≤ 12 ? − p : x0 & 12 ≤ 1+2x 4 1 The left path fails because of the constraint 2 ≤ 0, the right hand path continues again with two possibilities; 0 ? − 2 & x0 ≤ 0 & 12 ≤ 1+2x & ρ ≤ 12 4 1 ? − p : x1 & x0 ≤ 1+2x & 4 The left path again fails because the set of constraints;

x0 ≤ 0 &

1 2



1+2x0 4

&ρ≤

1 2

1 1 + 2x0 1 ≤ &ρ≤ 2 4 2

has no solution. Similarly it can be shown that this computation has no successful refutation (in the terminology of Kifer and Subrahmanian [14]) and thus no computed answer. clc Example 6) Now, consider the program: clc(P ) ∈ GAPrcj \ GAP clc p : 1+2x ←− p : x 4 0.5 q : rcj0.5 (x) ←− p : x p : 0 ←− The same constrained GAP computation for clc(P ) and the query ? − q : ρ now looks a little bit different; ?−q :ρ 0.5 ? − p : x0 & ρ ≤ rcj0.5 (x0 ) The computation again splits, depending which rule with the head p is chosen; 0.5 ? − 2 & x0 ≤ 0 & ρ ≤ rcj0.5 (x0 ) 0.5 1 ? − p : x1 & x0 ≤ 1+2x & ρ ≤ rcj0.5 (x0 ) 4 The difference now is that the set of constraints from the left path of the computation; 0.5 x0 ≤ 0 & ρ ≤ rcj0.5 (x0 ) has a solution, namely that of; 0.5 ρ = 0 ≤ rcj0.5 (0) = 0.

This is the correct answer, that is, in all f models of P is f (q) ≥ 0 but not the best answer, because in all models of P is f (q) ≥ 12 .

Example 7) Working with a precision of 0.01 we can rewrite the above program as a GAP clc program P 0 (note there is left continuous jump in the second clause and the point of the jump is shifted by 1/128 < 0.01), ←− p : x p : 1+2x 4 0.5 q : lcj0.5−1/128 (x) ←− p : x p : 0 ←− Analogous computation according to substitutional procedural semantics is; ?−q :ρ 0.5 ? − p : x0 k lcj0.5−1/128 (x0 ) We no longer have the constraint part of the query, on the right hand side of k is the expression for the truth value of the computed answer. The computation splits again, depending upon which rule with the head p is chosen; 0.5 ? − 2 k lcj0.5−1/128 (0) 0.5 ? − p : x1 k lcj0.5−1/128 ( 14 + 12 x1 ) Now the first computed answer is obtained by evaluating the expression 0.5 lcj0.5−1/128 (0) = 0. The right computational path continues and after 7 steps the query is the following:

1 1 1 1 1 1 1 1 0.5 + + + + + x7 ) p : x7 k lcj0.5−1/128 ( + + 4 8 16 32 64 128 256 512 and in the 8-th step, using the last rule we get: 1 1 1 1 1 1 1 1 0.5 2 k lcj0.5−1/128 ( + + + + + + )= . 4 8 16 32 64 128 256 2 So a small modification of the program led to a different behavior. Concerning the implementation of substitutional semantics, we see that it is more efficient because it does not need to solve a set of constraints, requiring only to evaluate complex terms in the language of annotated terms over a lattice of truth values. Theorem 5. Assume Q is an atom and % is an annotation variable, P1 ∈ GAP , P2 ∈ GAP clc and P3 ∈ F LP . Then the following holds: 1. For every constrained GAP computed answer (Θ, c) for Q : % and P1 there is a substitutional GAP clc computed answer (d, Θ) for Q k % and clc(P1 ) such that c ≤ d. 2. If there is a successful constrained computation (Θ, Y es) to the constant query Q : e wrt program P1 then there is a substitutional GAP clc computed answer (Θ, d) to the query Q k x wrt program clc(P1 ) such that d ≥ e. 3. Substitutional GAP clc procedural semantics is correct. 4. Every substitutional GAP clc computed answer for Q k % and P2 is also an F LP computed answer to Q and f lp(P2 ). 5. Every FLP computed answer to Q and P3 is also a substitutional GAP clc computed answer for Q k % and gap(P3 ).

Proof. We prove 1) and 2) by induction through the length of computation (and 3) will follow immediately). Assume there is a constrained computation of length 1. Then (for both variable and constant annotated query) the computation looks like Q:κ and clause H : Ψ ←− with QΘ = HΘ gives the constraint κ ≤ Ψ ∈ [0, 1] if κ is a variable then every c ≤ Ψ is a solution if κ is a constant then κ ≤ Ψ is true and (Θ, Y es) is a computed answer. The substitutional semantics gives the following computation Qkx and clause H : Ψ ←− with QΘ = HΘ resulting in 2 k Ψ . Hence (Θ, d = Ψ ) is a substitutional computed answer, and c ≤ d follows. Note that d is a correct answer, because d = Ψ . Note, that if the constrained computation with constant annotation in query fails because κ ≤ Ψ is not true in [0, 1] we still have the substitutional answer (Θ, Ψ ). Assume the computation is longer and the first step from Q : κ uses the clause ^ ^ B : x& B n+ : e with QΘ = HΘ H : Ψ (x) ←− then the new query looks like Q1 :

ki n ^ ^

Bji : xi &

i=1 j=1

n k^ n+i ^

Bjn+i : ei & κ ≤ Ψ (x).

i=1 j=1

The induction hypothesis for all Bji guarantees the existence of constrained computed answers c1 , . . . , cn such that c ≤ Ψ • (c1 , . . . , cn ) and for all i ≤ n and j ≤ κi . ci is a solution of the set Constraintij , i = 1, . . . , n obtained by restricting our computation to the query (Bji : xi ). Moreover all sets Constraintn+i resulting from the query (Bjn+i : ei ) have a j solution ! Now the clc transformation gives a computation starting from Qkκ and using the rule ^ ^ n+ H : Ψ (x) ∗ rcujc1 (y) ←− B : x& B : y gives the query Q1 =  kΨ

^^

Bji : xij &

^^

Bjn+i : yji k

   min (x1j ), . . . , min (xnj ) ∗ rcuje1 min (yjn+1 ), . . . , min (yjn+m )

j≤k1

j≤kn

j≤kn+1

j≤kn+m

Now by the induction hypothesis (for both constant and variable annotated terms) there are substitutional computed answers dij such that dij ≥ ci for all j ≤ ki and dij ≥ ei for all j ≤ kn+i hence rcuje1 (minj≤kn+1 (dn+1 ), . . . , minj≤kn+m (dn+m )) = 1 j j By monotonicity of Ψ we have that ), . . . , min(dn+m )) ≥ d = Ψ • (min(d1j ), . . . , min(dnj )) ∗ rcuje1 (min(dn+1 j j • Ψ (c1 , . . . , cn ) ∗ 1 = c 2 Corollary. Every FLP program is equivalent to a program with all rules having truth value 1 and using only the Lukasiewicz implication. Equivalent in the sense, that they have same models, the same production operators and the same computed answers. Proof. Combine Theorems 3, 4 and 5. 5.3

A completeness theorem for GAP clc programs.

Though Kifer and Subrahmanian [14] described several classes of programs for which the production operator for restricted semantics is continuous, here we show another such class. Theorem 6. (Approximate completeness for GAP clc .) Assume our language of annotated terms contains terms for left continuous jumps. Assume P ∈ GAP clc and Q k % is a combined query and (Θ, c) is a correct answer to the query wrt the program P and the restricted semantics of GAP . Then for all ε > 0 there is a substitutional GAP clc computed answer (ϑ, d) for the query Q k % and program P such that ϑ is more general than Θ, and d ≥ c − ε. Moreover, there are programs, queries and correct answers to them which can not be precisely computed, i.e. the “approximate” part with ε > 0 is in general setting necessary - we give an example following the proof of above assertion. Proof. The key observation is that TrGAP (P, f, A) = TF LP (f lp(P ), f, A). Both TrGAP and TF LP act on the same lattice of [0, 1]-valued Herbrand interpretations. Moreover, we know that TF LP (P ) is continuous in the sense of lattice if and only if all the connectives in the body of program rules and all the conjunctors residuated to rule implications are left continuous. Assume P is a GAP clc program. The f lp transformation relates each clause of P V l V ki C = H : Ψ (x1 . . . xl ) ←− i=1 j=1 Bji : xi to the F LP rule V V f lp(C) = (H ←−L Ψ ( G Bj1 , . . . , G Bjl ).1)

Note that ←−L has left continuous residuated conjunction, namely the Lukasiewicz conjunction &(x, y) = max(0, x + y − 1). V The G¨odel conjunction &G (x, y) = min(x, y) and in an iterated setting G (x1 . . . xn ) = min(x1 , . . . , xn ) are also left continuous. Further, Ψ • (y1 , . . . , yl ) is a left continuous annotation term, because it is a composition of left continuous GAP annotation terms and left continuous jumps. The approximate completeness follows from the corresponding theorem for fuzzy logic programming in Vojt´aˇs [22]. To finish, it remains to show that the  approximation is necessary. Namely, we show that there is a program P for which the correct answer to query ?−p k ρ is 12 but this value cannot be computed. Nevertheless for arbitrary  > 0 there is a computation giving an answer bigger than 12 − . Consider the program p: q:

1+2x 4 1+2x 4

←− q : x ←− p : x

p : 0 ←− q : 0 ←− Then TPn (0)(p) = TPn (0)(q) = max(0, 12 − the countable infinite step:

1 2n )

and the fixpoint is achieved in

TPω (0)(p) = TPω (0)(q) =

1 2

Every substitutional GAP clc computation for either of p and q looks like: pk% qk

1+2x0 4

pk

1+2(

1+2x1 4

qk

1 4

+

4 1 8

+

1 4

+

1 8

+ ... +

1 4

+ 12 x0

)

=

1 16

+

=

1 4 1 8

+

1 8

+

1 4

+

1 22n

. x1

. x2

... pk 2k

1 4

+

1 8

+ ... +

1 22n+1 1 22n+1

+

1 22n

. x2n−1 .0=

1 2



1 22n+1

=

22n −1 22n+1

So 12 is a correct answer but no computation can get it in a finite number of 2n −1 steps, and for all ε > 0 there is an n such that 222n+1 > 12 − ε is an ε approximate computed answer. 2 In Pokorn´ y and Vojt´ aˇs [19] we have given a data model for FLP programs with a parametrized natural join 1@ to evaluate rules with aggregation @ in the body. There is also some discussion about possible evaluation strategies of 1@ with respect to a threshold, best answer and/or an -best answer. In Krajˇci, Lencses and Vojt´ aˇs [15] we have applied it to a data model for annotated programs.

6

Conclusion

We have shown that Generalised Annotated Programs with constant annotation in body are equivalent to programs with left discontinuous and right continuous annotation terms in the head. This can be the reason for the semantics not being continuous, the fixpoint not being computable and for diificulties in handling recursive programs. We have introduced transformations of annotated programs to fuzzy logic programs and vice versa and shown that they behave the same with respect to satisfaction and production operators. We have introduced new, efficient (without constraint solving) procedural semantics for restricted annotated programs and have proved the soundness and relations to other semantics and other types of programs.

References [1] Arenas M., Bertossi L., Kifer M. Applications of annotated predicate calculus to querying inconsistent databases. In J. Lloyd et al. (editors), Proc. CL’2000/DOOD’2000, pp. 926–941, LNCS 1861. Springer, 2000. [2] J. F. Baldwin. Evidential support logic programming. Fuzzy sets and systems, 24 (1987) 1–26 [3] Bertossi L., Chomicki, J. Query Answering in Inconsistent Databases. To appear as a chapter in ’Logics for Emerging Applications of Databases’, J. Chomicki, G. Saake and R. van der Meyden (eds.). [4] Damasio C. V., Pereira L. M. Hybrid probabilistic logic programs as residuated logic programs. In M. O. Aciego, I. P. de Guzman, G. Brewka, and L. M. Pereira, editors, Logics in AI, Proceedings of JELIA’00, LNCS 1919, Springer Verlag Berlin, 2000, 57-72 [5] A. Dekhtyar, V. S. Subrahmanian. Hybrid probabilistic programs. In ICLP 1997, MIT Press 1997, 391–405 [6] D. Dubois, J. Lang, H. Prade, ”Possibilistic logic”, In Handbook of logic in AI and LP. Vol.3, D. M. Gabbay et al eds, Oxford University Press 1994, pp 439-513. [7] Dubois D., Lang J., Prade H.: Fuzzy sets in approximate reasoning, Part 2: Logical approaches. Fuzzy Sets and Systems 40(1991)203–244 [8] Eiter T., Mascardi V., Subrahmanian V. S. Error-Tolerant Agents. Antonis C. Kakas, Fariba Sadri (Eds.): Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I. Lecture Notes in Computer Science 2407, Springer 2002,586-625 [9] Fitting M. Fixpoint semantics for logic programming, a survey. Theoret. Comp. Sci. 278 (2002) 25-51 [10] Gerla G. Fuzzy logic: mathematical tools for approximate reasoning. Kluwer, Dodrecht, 2000 [11] S. Gottwald. A treatise on many-valued logics, Research Studies Press, Baldock, 2001 [12] R. Haehnle, ”Uniform notation of tableau rules for multiple-valued logics”, In Proc. Int. Symp. multiple valued logic, Computer Society Press, Los Alamitos, CA, 1991, pp 26 -29. [13] P. H´ ajek, Metamathematics of fuzzy logic, Kluwer 1999

[14] M. Kifer, V. S. Subrahmanian, ”Theory of generalized annotated logic programming and its applications”, J. Logic Programing, 12 (1992) pp 335–367. [15] S. Krajˇci, R. Lencses, P. Vojt´ aˇs. A data model for annotated programs. In ADBIS’02-Research Com. Y. Manolopoulos and P. N´ avrat eds. Vydavatelstvo STU, Bratislava, 2002, 141-154 [16] P. Kullmann, S. Sandri, ”Possibilistic logic as an annotated logic”, Fuzzy Sets and Systems, this issue. [17] J. J. Lu, ”Programming with signs and annotations”, J. Logic Computations, 6 (1996) pp 755–778. [18] T. Lukasiewicz. Probabilistic and truth-functional many-valued logic programming. In Proc. ISMVL 1999, IEEE Computer Society, 1999, 235-240 [19] Pokorn´ y J., Vojt´ aˇs P. A data model for flexible querying. In Proc. ADBIS’01, A. Caplinskas and J. Eder eds. LNCS 2151, Springer Verlag Berlin, 2001, 280-293 [20] Sessa M. I. Approximate reasoning by similarity-based SLD resolution. Theoret. Comp. Sci. 275 (2002) 389-426 [21] Subrahmanian V. S., Bonatti P. A., Dix J., Eiter T., Kraus S., Ozcan F., Ross R. Heterogenous Active Agents. MIT Press 2000 [22] P. Vojt´ aˇs, ”Fuzzy logic programming”, Fuzzy sets and systems,124(2001)361–370 [23] Vojt´ aˇs P. Alsinet T., Godo L. Different models of fuzzy logic programming with fuzzy unification (towards revision of fuzzy databases). In In Proc. of Joint 9th IFSA World Congress and 20th NAFIPS International Conference (IFSA-NAFIPS 2001) Vancouver, IEEE, 2001, 1541-1546, available on CD, ISBN 0-7803-7079-1, IEEE Catalogue number 01TH8569C [24] Vojt´ aˇs P., Paul´ık, L.: Soundness and completeness of non-classical extended SLD resolution. In Proc.ELP’96 Leipzig, eds. R.Dyckhoff et all., Lecture Notes in Computer Science 1050, Springer Verlag, 1996, 289–301