A semantic approach for web reasoning
Transcript of A semantic approach for web reasoning
This article appeared in a journal published by Elsevier. The attachedcopy is furnished to the author for internal non-commercial researchand education use, including for instruction at the authors institution
and sharing with colleagues.
Other uses, including reproduction and distribution, or selling orlicensing copies, or posting to personal, institutional or third party
websites are prohibited.
In most cases authors are permitted to post their version of thearticle (e.g. in Word or Tex form) to their personal website orinstitutional repository. Authors requiring further information
regarding Elsevier’s archiving and manuscript policies areencouraged to visit:
http://www.elsevier.com/authorsrights
Author's personal copy
A semantic approach for web reasoning
Fei Liu ⇑Department of Computer Science and Computer Engineering, La Trobe University, Melbourne, VIC 3086, Australia
a r t i c l e i n f o
Article history:Received 2 February 2012Received in revised form 21 February 2014Accepted 17 April 2014Available online 24 April 2014
Keywords:Web reasoningSet calculationPT-resolution
a b s t r a c t
The paper explores web reasoning based on Resolution with Partial Intersection and Trun-cation (PT-resolution). Instead of the traditional reasoning mechanism which is based onback-tracking and pattern matching, PT-resolution reasons based on set calculations. Itprevents a derivation on a finite logic program from infinite looping and therefore, is idealfor web reasoning.
� 2014 Elsevier Inc. All rights reserved.
1. Introduction
The rapid development of the World Wide Web has significantly changed our expectations of it and its search engine. Weare no longer satisfied with merely searching for a telephone number or looking for a road map on the web, we expect infor-mation presented on the web to be machine-processable and we expect its search engine to be intelligent (i.e. not only canthe search engine extract information, but it can also derive information) [2,7,10,11,20,21,24]. This requires an effectivemechanism on web reasoning – reasoning based on information that is extracted from the web.
Although rule-based reasoning (logic programing) has been a major research field in artificial intelligence for more than ahalf of a century, reasoning in the web environment (web reasoning) is still in its infancy. Theoretically, all reasoning shouldbe based on the same principles, regardless of the source of information; technically, however, there are significant differ-ences between the two types. Web reasoning refers to the situation where reasoning is conducted, based on informationextracted from more than one source. Precisely, the logic program is formed using clauses from different locations[5,8,17,18,22,23]. Normally, a logic program is formed in response to a given goal (i.e. a query being entered into the searchengine). Research in this area concentrates not only on the mechanisms for deriving information, but also on the principlesand practices of forming the logic program itself. Apparently, web reasoning requires substantial web searching, informationextraction and ontology mapping; hence the manner in which information is processed will significantly influence the per-formance and outcomes of the derivation. The scenario below illustrates this.
Fig. 1.1 illustrates the architecture of web reasoning in response to a user’s query. Web information is extracted; Clauses(facts and rules) are created based on extracted information; and hence web reasoning can be conducted. Outcomes ofreasoning are returned to the search engine to answer the query.
Various resolution strategies have been developed over the last five decades, and these strategies can be approximatelyclassified into two categories – syntactic approaches and semantic approaches [6,11,23]. The first category [1,3,19] is basedon the syntax of First Order Logic (Proof Theory). They start the derivation from the top – the goal, and backtrack down to the
http://dx.doi.org/10.1016/j.ins.2014.04.0350020-0255/� 2014 Elsevier Inc. All rights reserved.
⇑ Tel.: +61 3 94791949.E-mail address: [email protected]
Information Sciences 279 (2014) 827–859
Contents lists available at ScienceDirect
Information Sciences
journal homepage: www.elsevier .com/locate / ins
Author's personal copy
bottom – the clauses of the logic program. The derivation is mainly based on pattern matching and backtracking. As a result,syntactic approaches are also called top-down approaches. The second category [4,9,12,13,19] is based on the semantics ofFirst Order Logic (Model Theory). They define the logic program as a mapping from the Herbrand base to the Herbrand base.They repeatedly apply the mapping till a Herbrand model is found. Semantic approaches are also named bottom-upapproaches.
Although syntactic approaches have always been the favourite in logic programming, we argue that semantic approachesare probably more appropriate for web reasoning. Reasons are:
(1) The logic program which is formed based on information being extracted from the web in responding to a query is notnecessarily a complete definition of a problem [14]. A logic program is a complete definition of a problem if all its predicateinstantiations have a truth value ‘‘true’’ or ‘‘false’’. If a logic program is not a complete definition of the problem, then the‘‘closed world assumption’’ [1] does not hold. As a result, ‘‘Negation as Failure’’ cannot be applied to handle ‘‘negation’’ duringits derivation.
Below is a simple example that demonstrates the point.
Example 1.1. Assume that following information is extracted from the web:
like (a, iphone) like (b, galaxy) like (c, iphone) inStock (galaxy) onlinePurchase (X,Y) like (X,Y) ^ :inStock (Y)
Fig. 1.1. Formation of a logic program for web reasoning.
828 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
giveAsPresent (X,Y,Z) like (Y,Z) ^ onlinePurchase (X,Z)
Unlike an ordinary logic program, information being collected from the web may be from various sources and in variousformats. It is not difficult to see that.
giveAsPresent (c,a, iphone)can be derived. The conclusion is drawn through the clauseonlinePurchase (X,Y) like (X,Y) ^ :inStock (Y)to obtain the fact onlinePurchase (a, iphone), and then through the clausegiveAsPresent (X,Y,Z) like (Y,Z) ^ onlinePurchase (X,Z)When derivingonlinePurchase (a, iphone)
the inference engine assumed that :inStock(iphone) is a fact. The assumption was made based on the fact that inStock(i-phone) cannot be derived. This is the ‘‘Closed World Assumption’’ [1]. The assumption indicates that what cannot be derivedis false. The assumption works well in an ordinary logic program where the Herbrand universe is finite, and all clauses areexplicitly listed. However, the assumption is not safe in the web environment where web search is incapable of ensuring thecompleteness of information collection. Precisely, the absence of inStock(iphone) does not necessarily infer :inStock (ipone).
(2) Unlike a semantic approach which can collect information by searching the web at the start of reasoning, a syntacticapproach requires constant search during its derivation. This will inevitably become a major issue that jeopardises the per-formance of the inference engine.
Syntactic (top-down) and semantic (bottom-up) approaches are the two main strategies in Logic Programming. A syntac-tic approach always starts its derivation from the goal. It continuously traces down through back-tracking and pattern-matching till the stage that all subgoals become empty. During each step of its back-tracking and pattern-matching, searchis required. Whereas a semantic approach starts reasoning from the unit clauses (facts). It repeatedly derives new facts fromthe existing facts and definite clauses (rules), updates the fact set till the stage that the goal clause (the goal) can be proved.SLD-resolution [19] and ASP [3] are the representations of syntactic and semantic categories respectively. The examplebelow demonstrates the proof process which involves search at each step of the derivation.
Example 1.2. Considering the logic program in Example 1.1, a syntactic approach (such as SLD-resolution) would derive thegoal as follows.
To prove ‘‘giveAsPresent (c,a, iphone)’’ (the goal), based on the outcome of the search, all need to be proved are ‘‘like(a, iphone)’’ and ‘‘onlinePurchase (c, iphone)’’. Again, based on the outcome of the search, ‘‘like (a, iphone)’’ is a fact. Thus, allneeds to be proved is ‘‘onlinePurchase (c, iphone)’’. Based on the rule below
onlinePurchase (X,Y) like(X,Y) ^ :inStock (Y).It’s not difficult to see that to prove the goal, all we need to prove are ‘‘like (c, iphone)’’ and ‘‘:inStock(iphone)’’. The SLD-
tree structure below represents the derivation.In each step of the derivation, search is required to facilitate reasoning. In the SLD-derivation presented in Fig. 1.2, search
has been totally conducted eight times. While using PT-resolution to come up with the same result will only require searchonce. Search has never been an issue in terms of performance for an ordinary logic program which contains finite number ofclauses. However, when it comes to web reasoning, where the completeness of web search cannot be assured, and searchitself becomes expensive, repeated web search will significantly affect the performance of the inference engine. As a result,semantic approaches which only require web search once, has always been the preferred strategy.
(3) In some circumstances; a syntactic derivation may fall into an infinite loop, even though the Herbrand universe isfinite.
A well-known example was given by Lloyd [19] as follows.
Example 1.3. Let the logic program P be
p(a,b) p(b,c) p(X,Y) p(X,Z) ^ p(Z,Y)p(X,Y) p(Y,X)and the goal G p(a,c)
The SLD-derivation on P [ {G} with the goal can be demonstrated in the SLD-tree in Fig. 3.1.Fig. 1.3 shows that the derivation is infinite despite the finite Herbrand universe and Herbrand base. This, again,
represents a vital weakness of this syntactic approach.
F. Liu / Information Sciences 279 (2014) 827–859 829
Author's personal copy
All the above lead us to consider defining PT-resolution, which is a semantic approach, and applying it to web reasoning.PT-resolution is a resolution technique that is based on partial intersection and truncation. Instead of backtracking andpattern matching, its derivation is a sequence of set calculations. A PT-derivation is always finite provided that its Herbranduniverse is finite, and this characteristic is extremely important in preventing infinite loops in a derivation in web reasoning.The aim of the paper is to define PT-resolution and to prove its soundness and completeness so that it can be applied to webreasoning.
The rest of the paper is organised as follows. Section 2 defines the two fundamental set operations: partial intersectionand truncation. It then explores the relationship between a logic program which is a set of clauses and a set of equations.Section 3 defines PT-resolution. The soundness and completeness of PT-resolution is the content of Section 4. Finally,Section 5 concludes the paper, and discusses further research directions.
2. Preliminaries
Two set operations, namely partial intersection and truncation, play an important role in PT-resolution. Partial intersec-tion is the intersection between sets of tuples. Unlike classical intersection which compares every corresponding element inboth tuples, partial intersection compares elements according to certain variable orders. Truncation truncates a tuple accord-ing to a certain variable order. This section defines partial intersection and truncation. It then explores the bridge linkingthese set operations and logic programming.
Before partial intersection and truncation, a number of fundamental concepts on First Order Logic and Logic Programmingare presented as below.
In First Order Logic, a predicate is a function which has only two possible values ‘‘true’’ and ‘‘false’’. An atom is an instan-tiation of a predicate. An atom or the negation of an atom is called a literal. A formula (denoted as F) is a finite number ofliterals linked by logical connectives (i.e. :(negation), _ (disjunction), ^ (conjunction) and (implication)). In Frist OrderLogic, all formulas can be written in a conjunctive normal form (i.e. the disjunction of a finite number of literals). A formulain its conjunctive normal form is defined as a clause.
Fig. 1.2. SLD-Tree.
Fig. 1.3. SLD-Tree.
830 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
Let F be a formula and C be a set of formulas. A derivation of F from C is a finite sequence of formulas satisfying the fol-lowing conditions: (1) F is the last formula of the sequence; and (2) each formula is an axiom; or an immediate consequenceof the previous formulas by Modus Ponens rule; or a formula of C. Formula F is defined as a logical consequence (conse-quence) of C if there exists a derivation of F from C.
Comes to Semantics of First Order Logic, an interpretation of first order language L consists of 4 parts: (a) an assignment ofan non-empty domain D of L, (b) an assignment of all constants of L in D, (c) an assignment of all n-ary functions of L as f:Dn ? D, (d) an assignment of all n-ary predicates of L as p: Dn ? B (where B is the Boolean set).
First Order Logic is the theoretical foundation of Logic Programming. In Logic Programming, a logic program (denoted asP) is a finite set of clauses. A constant or a variable in a logic program is named as a term. A term is ground if it is a constant.In the logic program P, the collection of all constants is defined as the Herbrand Universe (UP) of P; the collection of all atomsof P forms the Herbrand Base (BP) of P; A clause is a logical consequence (consequence) of P if it is a logical consequence(consequence) of the set of clauses included in P. A Herbrand Interpretation (IP) of P is an interpretation of P where thedomain is the Herbrand Universe of P.
2.1. Partial Intersection
Partial intersection is an intersection of two sets, in which the intersection proceeds according to an order. Therefore, apartial intersection is regarded as a classical intersection from a more general perspective. Meanwhile, the classical intersec-tion can be viewed as a special case of the partial intersection.
Let A and B be two sets of tuples. According to the classical Set Theory, the intersection of A and B exists if, and only if, Aand B contain tuples of the same dimension. For example, let
A ¼ fða; a; cÞ; ða; b; aÞ; ðb; b; aÞg;B ¼ fða; a; c; cÞ; ða; b; a; bÞ; ða; b; c;dÞ; ðb; b;d; bÞg;C ¼ fðb; b; aÞ; ða; a; aÞg:
The intersection of A and B does not exist because A is a set of 3 dimensional tuples, while B is a set of 4 dimensional tuples.Since set C is a set of 3 dimensional tuples, A and C have an intersection and
A \ C ¼ fðb; b; aÞg:
In some circumstances, however, it is necessary to consider the intersection of sets of tuples of different dimensions. Thisleads to the definition of the partial intersection. The partial intersection is an intersection operation defined for two setsof tuples, and the tuples are not necessarily the same dimension. The intersection is conducted only between a part ofthe elements of the tuples. A precise definition is given below.
Definition 2.1. Let
A ¼ fðai1; ai2; . . . ; aimÞji ¼ 1;2; . . . ; lg
and
B ¼ fðbj1; bj2; . . . ; bjnÞjj ¼ 1;2; . . . ; rg
be two sets of tuples. Given the index pairs [14]
ðI1; J1Þ; ðI2; J2Þ; . . . ; ðIk; JkÞ
where Ii and Ji are integers and 1 6 Ii 6m, 1 6 Ji 6 n, i = 1,2, . . . ,k.The partial intersection of A and B (with the index pairs) is
A \ðI1 ;J1Þ;...;ðIk ;JkÞ
B ¼ fðai1; ai2; . . . ; aim; bj1; bj2; . . . ; bjnÞjaI1 ¼ bJ1ðl ¼ 1;2; . . . ; kÞg
The partial intersection of A and B is to compare the Ithl element of each tuple in A with the Jth
l element of each tuple in B(l = 1, 2, . . . , k). If they are equal, then the concatenation of the two tuples is a tuple in the intersection set.
In the definition, if m = n = k and if the index pairs are
ð1;1Þ; ð2;2Þ; . . . ; ðm;mÞ;
then, the partial intersection
A \ðI1 ;J1Þ;...;ðm;mÞ
B
is actually the classical intersection of A and B. Clearly, the classical intersection is a special case of the partial intersection.
F. Liu / Information Sciences 279 (2014) 827–859 831
Author's personal copy
2.2. Truncation
Truncation is an operation on a tuple or a set of tuples. Truncation truncates the elements of a tuple or a set of tuplesaccording to a certain variable order. The necessity of defining truncation is that in a clause, there are variables occurringin the premise, but not in the consequent, hence the elements corresponding to those variables should be truncated.
In a logic program, the positive domain (P-domain) of a predicate symbol is defined as a set of tuples. Each tuple is a tupleof terms. The predicate instance created by the predicate symbol and the tuple is a consequence of the program. Thedefinition is as follows.
Definition 2.2. [14] Let P be a logic program and UP be the Herbrand universe of P. Let q be an m-ary predicate symbol of P(m P 1). The positive domain (P-domain) of q, D[q] is defined as
D½q� ¼ fðs1; s2; . . . ; smÞ 2 UmP jPj � qðs1; s2; . . . ; smÞg
If q is an m-ary predicate symbol, then its P-domain is a set of m-ary tuples. Each element of the tuple is an element of theHerbrand universe of P. (s1,s2, . . . ,sm) 2 D[q] is equivalent to that q(s1,s2, . . . ,sm) is a clause or a logical consequence of P.
Definition 2.3. Let P be a logic program and q be a predicate symbol of P. q (X1,X2, . . . ,Xm) is a predicate instance of q. A tuple
s ¼ ðs1; s2; . . . ; smÞ
is defined as satisfying the variable restriction of q(X1,X2, . . . ,Xm) if it satisfies the following two conditions:
(1) if Xi is a constant, then si = Xi(1 6 i 6m); and(2) if f is a k-ary function (k P 0) and Xi ¼ f ðXj1 ; . . . ;Xjk Þð1 6 i; j1; . . . ; jk 6 mÞ, then si ¼ f ðsj1 ; . . . ; sjk Þ.
Definition 2.4. Let P be a logic program and q (X1,X2, . . . ,Xm) be a predicate instance of the predicate symbol q. The subset ofD[q], in which all the tuples satisfy the variable restriction of q(X1,X2, . . . ,Xm) is defined as the variable-restricted (restricted)P-domain of q(X1,X2, . . . ,Xm), denoted as
RD½qðX1;X2; . . . ;XmÞ�:
Each restricted P-domain has a variable order. The variable order of RD[q(X1,X2, . . . ,Xm)] is the variable order of thepredicate instance q(X1,X2, . . . ,Xm). That is
OIðRD½qðX1;X2; . . . ;XmÞ�Þ ¼ OIðqðX1;X2; . . . ;XmÞÞ:
RD[q(X1,X2, . . . ,Xm)] can be simply written as RD[q] when it does not cause any confusion. From the definition, we can seethat a restricted P-domain is always a subset of the P-domain. That is
RD½q�# D½q�:
When X1,X2, . . . ,Xm are all independent variables, RD[q] = D[q].The example below illustrates the relation between a P-domain and a restricted P-domain.
Example 2.1. In the logic program P, if q is a 2-ary predicate symbol and a, b and c are ground terms, and if the P-domain of qis
D½q� ¼ fða; bÞ; ðb; bÞ; ðc; cÞg;
then the restricted P-domain of q(X,X),
RD½qðX;XÞ� ¼ fðb; bÞ; ðc; cÞg;
and the restricted P-domain of q(b,Y),
RD½qðb;YÞ� ¼ fðb; bÞg:
Definition 2.5. Let S be a nonvoid set of constants and X = (X1,X2, . . . ,Xm) be an m-ary tuple (Xi is either a variable or a con-stant in S). A tuple t = (t1, t2, . . . , tm) is an S instantiation of X if it satisfies the following conditions:
(1) ti 2 S(i = 1,2, . . . ,m); and(2) t and X are unifiable.
In particular, t is called an Herbrand instantiation of X when S is the Herbrand universe of the logic program P.
832 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
Definition 2.6. Let T be a finite set of terms. An index of T is a mapping I from T to the integer set, and I satisfies the followingconditions:
(1) I(x) = 0 if x 2 T is a constant; and(2) I(x1) – I(x2) if x1 – x2 and at least one of x1 and x2 is not a constant.
If P is a logic program and T is the Herbrand universe of P, then I is defined as an index of P.Let
I : fX1;X2; . . . ;Xmg ! fI1; I2; . . . ; Img
be an index. A sequence of integers {J1, J2, . . . , Jn} is a variable order with respect to (w.r.t.) I, if
Jj 2 Iðj ¼ 1;2; . . . ;nÞ
A variable order w.r.t. I is denoted as OI. If Yj is the corresponding variable of Jj (j = 1,2, . . . ,n) according to I, then {J1, J2, -. . . , Jn} is the variable order of {Y1,Y2, . . . ,Yn} w.r.t. I.
Let I be an index and OI(1) = {I1, I2, . . . , Im} and OI(2) = {J1, J2, . . . , Jn} be two variable orders w.r.t. I. Let D be a set (D is calledthe domain of the truncation) and
s ¼ ðs1; s2; . . . ; smÞ
be an m-ary tuple (si 2 D(i = 1,2, . . . ,m)). The truncation of s with the variable order OI(1) by the variable order OI(2), denotedas
trðs;OIð1Þ;OIð2ÞÞ
is a set of n-ary tuples {(t1, t2, . . . , tn)} where
ti ¼ sj if 9jð1 6 j 6 mÞ such that Ij ¼ Ji:
ti ¼ u otherwise ðu 2 DÞði ¼ 1;2; . . . ;nÞ
The operation above is actually a process that " Ji 2 OI (2) (i = 1,2, . . . ,n), to examine whether there exists an Ij 2 OI (1)(1 6 j 6m) such that Ii = Ji. If there is one, then bind sj to ti; if there is no such an Ij, then ti becomes an arbitrary elementof D. (ti is called a free element). Elements in each of the truncated tuples are either an element of s or a free element. If (t1-
, t2, . . . , tn) has at least one free element and if the domain D has more than one element, then {(t1, t2, . . . , tn)} is a set of tuples.The truncation of a set of tuples is the union of the truncation of each tuple in the set. The definition below specifies this.
Definition 2.7. Let I be an index and OI(1) = {I1, I2, . . . , Im} and OI(2) = {J1, J2, . . . , Jn} be two variable orders w.r.t. I. Let the set Dbe the domain of the truncation and
S ¼ fðs1; s2; . . . ; smÞjsi 2 Dði ¼ 1;2; . . . ;mÞg
be a set of m-ary tuples. The truncation of S with the variable order OI(1) by the variable order OI(2) is defined as
trðS;OIð1Þ;OIð2ÞÞ ¼ [s2S
trðs;OIð1Þ;OIð2ÞÞ:
2.3. Truncation and Implication
In a program clause, truncation can be utilised to delete the element corresponding to the variable that appears in thepremise, but is irrelevant to the consequent. It can also add a free element whenever it is necessary. In this sub-section,we will analyse this.
Consider the logic program P with the Herbrand universe UP = {a,b,c,d}. Let
I : fW;X;Y ; Zg ! f1;2;3;4g
be an index of P. Assume that
pðW;X;YÞ qðX;Y ; ZÞ
is a clause of P and that the P-domain of q
D½q� ¼ fða; a; bÞ; ðb; d; cÞg:
The variables of q(X,Y,Z) are all independent, so
RD½q� ¼ D½q� ¼ fða; a; bÞ; ðb;d; cÞg:
F. Liu / Information Sciences 279 (2014) 827–859 833
Author's personal copy
The variable orders of p(W,X,Y) and q(X,Y,Z) w.r.t. I are
OIðpÞ ¼ f1;2;3gOIðqÞ ¼ f2;3;4g
Let UP be the domain of the truncation. The truncation of RD[q] with its variable order by the variable order OI(p) is
trðRD½q�;OIðqÞ;OIðpÞÞ ¼ fða; a; aÞ; ðb; a; aÞ; ðc; a; aÞ; ðd; a; aÞ; ða; b;dÞ; ðb; b;dÞ; ðc; b;dÞ; ðd; b;dÞg:
Obviously, all the tuples in tr(RD[q], OI(q), OI(p)), satisfy p(W,X,Y), and this means
D½p� � trðRD½q�;OIðqÞ;OIðpÞÞ:
Let q(X1,X2, . . . ,Xm) be a predicate instance of the logic program P and let the tuple
s 2 RD½qðX1;X2; . . . ;XmÞ�:
In the following discussion, tr(s,OI) will represent the truncation of the tuple s with its own variable order by the variableorder OI and tr(RD[q],OI) will represent the truncation of the restricted P-domain RD[q] with its own variable order by thevariable order OI. i.e.
trðs;OIÞ ¼ trðs;OIðqÞ;OIÞðs 2 RD½q�ÞtrðRD½q�;OIÞ ¼ trðRD½q�;OIðqÞ;OIÞ
Note that the variable order of s is actually the variable order of the P-domain to where s belongs. The following conclu-sion can be deduced.
Theorem 2.1. Let p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) be two predicate instances of the logic program P. Let I be an index of P andOI(p) and OI(q) be the variable order of p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) w.r.t. I. If
pðX1;X2; . . . ;XmÞ qðY1; Y2; . . . ;YnÞ
is a clause of P, then
trðRD½q�;OIðpÞÞ# RD½p�
Proof. Let
T ¼ trðD½q�;OIðpÞÞ ¼ [s2RD½q�
trðs;OIðpÞÞ:
If RD½q� ¼ /; then T ¼ /
) T # RD½p�:When RD½q� – /; let OIðqÞ be the variable order of q w:r:t: I:
LetOIðpÞ ¼ fI1; I2; . . . ; Img
and
OIðqÞ ¼ fJ1; J2; . . . ; Jng:
Compare the two variable orders and assume that they have k common indices. That is
Jjl¼ Iil where Jjl
2 OIðqÞ and Iil 2 OIðpÞ and l ¼ 1;2; . . . ; k:
8 s ¼ ðs1; s2; . . . ; snÞ 2 RD½q�;* Pj � qðs1; s2; . . . ; snÞ
and
pðX1;X2; . . . ;XmÞ qðY1; Y2; . . . ;YnÞ
is a clause of the program P,
) 8 ðt1; t2; . . . ; tmÞ 2 trððsJ1; sJ2
; . . . ; sJkÞ;OIðpÞÞ; Pj � pðt1; t2; . . . ; tmÞ:
* trððs1; s2; . . . ; snÞ;OIðpÞÞ ¼ trððsJ1; sJ2
; . . . ; sJkÞ;OIðpÞÞ;
) 8 ðt1; t2; . . . ; tmÞ 2 trððs1; s2; . . . ; snÞ;OIðpÞÞ; Pj � pðt1; t2; . . . ; tmÞ:
That is
834 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
trððs1; s2; . . . ; snÞÞ;OIðpÞÞ# RD½p�) [
s2RD½q�trððs;OIðpÞÞ ¼ trðRD½q�;OIðpÞÞ# RD½p� �
Theorem 2.1 serves as the first step in connecting a logic program with partial intersection and truncation. As a conse-quence of Theorem 2.1, Corollary 2.1 is presented as follows.
Corollary 2.1. In the logic program P, if
qðY1;Y2; . . . ;YnÞ pðX1;X2; . . . ;XmÞ
then
trðRD½p�;OIðqÞÞ# D½q�:
The proof of the Corollary is trivial. An important relationship between clauses and truncation has been analysed in this section andthis is the first step in establishing the bridge connecting derivations and set calculations.
2.4. Partial intersection and implication
Following the definitions of partial intersection and truncation, we can now consider the partial intersection betweenrestricted P-domains in a logic program, and examine the relation between partial intersection and implication. Given theclause
pðX;Y ; ZÞ rðX; ZÞ ^ qðY;X; ZÞ;
assume that
D½r� ¼ fða; aÞ; ða; bÞ; ðb; cÞ; ðd; dÞgD½q� ¼ fðc; a; aÞ; ðc; b; cÞ; ðd; c; aÞg;
and assume that variables in r(X,Z) and q(Y,X,Z) are independent from each other. So
RD½r� ¼ D½r� ¼ fða; aÞ; ða; bÞ; ðb; cÞ; ðd;dÞgRD½q� ¼ D½q� ¼ fðc; a; aÞ; ðc; b; cÞ; ðd; c; aÞg
The restricted P-domain RD[r] is a set of 2-tuples. Each element of the tuple corresponds with one of the variables X and Z.The restricted P-domain RD[q] is a set of 3-tuples. Each element of the tuple corresponds with one of the variables Y, X, or Z.
The partial intersection of RD[r] and RD[q] compares the first element of each tuple in RD[r] with the second element ofeach tuple in RD[q], and compares the second element of each tuple in RD[r] with the third element of each tuple in RD[q]. Sothe index pairs are (1,2) and (2,3), and the partial intersection is
RD½r� \ð1;2Þð2;3Þ
RD½q� ¼ fða; a; c; a; aÞ; ðb; c; c; b; cÞg
This means that the binding
X ¼ a; Y ¼ c; Z ¼ a
satisfies both r (X,Z) and q(Y,X,Z). Consequently, it satisfies p(X,Y,Z). Similarly, the binding
X ¼ b; Z ¼ c; Y ¼ c
satisfies p(X,Y,Z).In a partial intersection of two restricted P-domains, the index pairs are actually decided by the variable orders of the two
restricted P-domains, so there is no necessity to specify the index pairs, and hence the partial intersection
RD½r� \ð1;2Þð2;3Þ
RD½q�
can simply be written as
RD½rðX; ZÞ�\RD½qðY ;X; ZÞ�
or
RD½r� �\RD½q�
if no ambiguity will be caused by the notation.To specify this in general, let P be a logic program and I be an index of P. Let p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) be two
predicate instances of P and
OIðpÞ ¼ fI1; I2; . . . ; Img
and
F. Liu / Information Sciences 279 (2014) 827–859 835
Author's personal copy
OIðqÞ ¼ fJ1; J2; . . . ; Jng
be their variable orders w.r.t. I. If
Jjl¼ Iil ðl ¼ 1;2; . . . ; kÞ
are all the same index pairs in the two variable orders, then the partial intersection of RD[p] and RD[q]RD½p� �\RD½q�
is defined as
RD½p� \ði1 ;j1Þ;...;ðil ;jlÞ
RD½q�:
The variable order of RD½p�\RD½q� w.r.t. I is
fI1; I2; . . . ; Im; J1; J2; . . . ; Jng:
2.5. Commutativity and associativity of partial intersection with truncation
Commutativity and associativity of partial intersection with truncation is the content of this sub-section. Let A and B betwo sets of tuples. The commutativity refers to the property that A\B and B\A are equal whenever they are under the sametruncation.
Let A and B be two sets. In classical set theory,
s 2 A \ B
if and only if
s 2 A and s 2 B:
Meanwhile A \ B # A and A \ B # BThe corresponding property in partial intersection is specified as follows.
Theorem 2.2. Let P be a logic program and I be an index of P. Let p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) be two predicates of P. Let
T ¼ RD½p�\RD½q�:
If OI(p) and OI(q) are variable orders of p and q w.r.t. I, then
trðT;OIðpÞÞ# RD½p� and trðT;OIðqÞÞ# RD½q�:
Proof.
8 s ¼ ðs1; . . . ; sm; smþ1; . . . ; smþnÞ 2 T;* s 2 T;
) ðs1; . . . ; smÞ 2 RD½p� and ðsmþ1; . . . ; smþnÞ 2 RD½q�:
LetOIðpÞ ¼ fI1; . . . ; ImgOIðqÞ ¼ fJ1; . . . ; Jng:
Let) trðs;OIðTÞ;OIðpÞÞ ¼ fðt1; . . . ; tmÞg:* OIðTÞ ¼ fI1; . . . ; Im; J1; . . . ; Jng and OIðpÞ ¼ fI1; . . . ; Img;) ti ¼ siði ¼ 1;2; . . . ;mÞ:
Consequently, {(t1, . . . , tm)} # RD[p].That is tr(s,OI(T),OI(p)) # RD[p].Therefore,
trðT;OIðpÞÞ ¼ [s2T
trðs;OIðTÞ;OIðpÞÞ# RD½p�:
In a similar way, we can prove that tr(T,OI(q)) # RD[q].The inverse of this theorem does not hold. This means that the conditions
trðT;OIðpÞÞ# RD½p� and trðT;OIðqÞÞ# RD½q�
836 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
do not necessarily imply
T ¼ RD½p�\RD½q�: �
The following example illustrates this point.
Example 2.2 Let I be an index of a program P. p(X), q(X) and r(X,Y,Z) are predicate instances of P. Assume
RD½p� ¼ fa; bg and OIðpÞ ¼ f1gRD½q� ¼ fa; cg and OIðqÞ ¼ f1gRD½r� ¼ fða; b; cÞg and OIðrÞ ¼ f1;3;4g:
Although
trðRD½r�;OIðpÞÞ ¼ fag# RD½p�
and
trðRD½r�;OIðqÞÞ ¼ fag# RD½q�;RD½r�– RD½p�\RD½q�:
If two sequences contain the same elements, but in two different orders, we define one of the sequences as the re-order ofthe other. Similarly, we can also refer to a variable order as a re-order of another variable order. Let s = {s1,s2, . . . ,sm} andt = {t1, t2, . . . , tn} be two sequences. s is a re-order of t if s and t satisfy the following conditions
(1) m = n; and(2) " tj (1 6 j 6 n) $si (1 6 i 6m) such that tj = si
and
8sið1 6 i 6 mÞ9tjð1 6 j 6 nÞ such that tj ¼ si
Re-order is reflexive. That is, if s is a re-order of t, then t is a re-order of s. A variable order is a sequence and a tuple is asequence, therefore from this definition we can define a variable order as a re-order of another variable order, and a tupleas a re-order of another tuple respectively.
Two lemmas are presented below as the preparation for the proof of the commutativity.
Lemma 2.1. P is a logic program and I is an index of P. Let q(X1,X2, . . . ,Xm) be a predicate instance of P ands = (s1, s2, . . . , sm) 2 D[q]. If OI is a variable order w.r.t. I and OI is a re-order of OI(q), then tr (s, OI) is a single tuple set and the tupleis a re-order of s.
Proof. Let
trðs;OIÞ ¼ fðt1; t2; . . . ; tmÞg:
Let
OIðqÞ ¼ fI1; I2; . . . ; ImgOI ¼ fJ1; J2; . . . ; Jmg:
According to the definition of truncation,
tj ¼ si if 9i ð1 6 i 6 mÞ such that Jj ¼ Iiðj ¼ 1;2; . . . ;mÞ:* OI is a re-order of OIðqÞ;) 8 jð1 6 j 6 mÞ; there always 9 i ð1 6 i 6 mÞ such that Jj ¼ Ii:
This means that t = (t1, t2, . . . , tm) has no free element and therefore tr (s, OI) is a single tuple set.
F. Liu / Information Sciences 279 (2014) 827–859 837
Author's personal copy
* OI is a re-order of OIðqÞ;) 8 Jjð1 6 j 6 mÞ 9 Ii ð1 6 i 6 mÞ such that Jj ¼ Ii
8 tjð1 6 j 6 mÞ9sið1 6 i 6 mÞ such that tj ¼ si ð1Þ* OI is a re-order of OIðqÞ;) 8 Ii ð1 6 i 6 mÞ 9 Jj ð1 6 j 6 mÞ such that Jj ¼ Ii
) 8 si ð1 6 i 6 mÞ 9 tj ð1 6 j 6 mÞ such that tj ¼ si ð2Þ
From (1) and (2), we derive the conclusion that t is a re-order of s. h
Lemma 2.2. Let q(X1,X2, . . . ,Xm) be a predicate instance in the logic program P. I is an index of P. OI(1) and OI(2) are variableorders w.r.t. I and OI(1) is a re-order of OI(q) then
8 s 2 D½q�; trðs;OIð2ÞÞ ¼ trðtrðs;OIð1ÞÞ;OIð2ÞÞ
and
trðD½q�;OIð2ÞÞ ¼ trðtrðD½q�;OIð1ÞÞ;OIð2ÞÞ
Proof. Let
OIðqÞ ¼ fI1; I2; . . . ; ImgOIð1Þ ¼ fJ1; J2; . . . ; JmgOIð2Þ ¼ fl1; l2; . . . ; lkg:8 s ¼ ðs1; s2; . . . ; smÞ 2 D½q�;* OIð1Þ is a re� order of OIðqÞ;
according to Lemma 2.1, tr(s,OI(1)) is a set containing only one tuple.Let
trðs;OIð1ÞÞ ¼ fðt1; t2; . . . ; tmÞg:
Then t = (t1, t2, . . . , tm) is a re-order of s.According to the definition of truncation
tj ¼ si when Jj ¼ Ii ð1 6 i 6 mÞ ðj ¼ 1;2; . . . ;mÞ ð1Þ
Let
trðs;OIð2ÞÞ ¼ fðu1;u2; . . . ;ukÞgtrðtrðs;OIð1ÞÞ;OIð2ÞÞ ¼ fðv1;v2; . . . ;vkÞg:ur ¼ si if 9 i ð1 6 i 6 mÞ such that lr ¼ Ii; ð2Þur ¼ uðu 2 UPÞ otherwise:ðr ¼ 1;2; . . . ; kÞv r ¼ tj if 9 j ð1 6 j 6 mÞ such that lr ¼ Jj; ð3Þv r ¼ u ðu 2 UPÞ otherwise:ðr ¼ 1;2; . . . ; kÞ
Compare (1) with (3), we have
v r ¼ si if 9 i ð1 6 i 6 mÞ such that lr ¼ Ii; ð4Þv r ¼ u ðu 2 UPÞ otherwise:ðr ¼ 1;2; . . . ; kÞ
Compare (2) and (4), we come to the conclusion
ur ¼ v r ðr ¼ 1;2; . . . ; kÞie: trðs;OIð2ÞÞ ¼ trðtrðs;OIð1ÞÞ;OIð2ÞÞ
and therefore
trðD½q�;OIð2ÞÞ ¼ trðtrðD½q�;OIð1ÞÞ;OIð2ÞÞ:
Lemma 2.2 indicates that if two tuples are the re-order of each other, then their truncations with the same variable order arethe same.
838 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
As a set operation, partial intersection is commutative under truncation. This is the commutativity of partial intersection.Theorem 2.3 indicates this point. h
Theorem 2.3. Let p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) be two predicate instances in the logic program P. If I is an index of P and OI
is an arbitrary variable order w.r.t. I, then
trððD½p�\D½q�Þ;OIÞ ¼ trððD½q�\D½p�Þ;OIÞ
Proof. Let
T1 ¼ D½p�\D½q�
and
T2 ¼ D½q�\D½p�:
Let
OIðpÞ ¼ fK1;K2; . . . ;Kmg
and
OIðqÞ ¼ fL1; L2; . . . ; Lng:
Then
OIðT1Þ ¼ fK1;K2; . . . ;Km; L1; L2; . . . ; Lng
and
OIðT2Þ ¼ fL1; L2; . . . ; Ln;K1;K2; . . . ;Kmg
and OI(T1) and OI(T2) are re-order of each other.Let
IP½p; q� ¼ fðI1; J1Þ; ðI2; J2Þ; . . . ; ðIk; JkÞg
be the set of index pairs of p and q. Then
T1 ¼ fðs1; s2; . . . ; smþnÞjðs1; . . . ; smÞ 2 D½q� and ðsmþ1; . . . ; smþnÞ 2 D½p� and sIi¼ sJi
ði ¼ 1;2; . . . ; kÞg
T2 ¼ fðs1; s2; . . . ; smþnÞjðs1; . . . ; snÞ 2 D½q� and ðsnþ1; . . . ; smþnÞ 2 D½p� and sIi¼ sJi
ði ¼ 1;2; . . . ; kÞg
This means that if
ða1; a2; . . . ; amÞ 2 D½p�
and if
ðb1; b2; . . . ; bnÞ 2 D½q�
and if
ða1; a2; . . . ; am; b1; b2; . . . ; bnÞ 2 T1;
then
ðb1; b2; . . . ; bn; a1; a2; . . . ; amÞ 2 T2:
Therefore we have
T1 ¼ trðT2;OIðT1ÞÞ:
According to Lemma 2.2,
trðT1;OIÞ ¼ trðtrðT2;OIðT1ÞÞ;OIÞ ¼ trðT2;OIÞ:
If A, B and C are three sets, then the associativity of intersection refers to the property that
ðA \ BÞ \ C ¼ A \ ðB \ CÞ:
Similarly, the associativity of partial intersection with the same truncation also holds. That is, ðA\BÞ\C and A\ðB\CÞ areequal under the same truncation.
F. Liu / Information Sciences 279 (2014) 827–859 839
Author's personal copy
Truncation is an operation on a tuple or a set of tuples. Let I be an index, s be a tuple and OI(1) and OI(2) be two variableorders w.r.t. I. The truncation of s with the variable order OI(1) by the variable order OI(2) is a new tuple or a set of newtuples. They are obtained by deleting the elements whose corresponding variables occur in OI(1) but not in OI(2), and addingfree elements for those variables that occur in OI(2) but not in OI(1). The following lemma indicates a property of thetruncation operation. h
Lemma 2.3. Let q(X1,X2, . . . ,Xl) be a predicate instance of the logic program P. I is an index of P. OI(1) and OI(2) are two variableorders w.r.t. I and OI(1) # OI(2), then
8 r ¼ fr1; r2; . . . ; rlg 2 D½q�;trðr;OIð1ÞÞ ¼ trðtrðr;OIð2ÞÞ;OIð2Þ;OIð1ÞÞ
and
trðD½q�;OIð1ÞÞ ¼ trðtrðD½q�;OIð2ÞÞ;OIð2Þ;OIð1ÞÞ
Proof. Let
OIðqÞ ¼ fI1; I2; . . . ; IlgOIð1Þ ¼ fJ1; J2; . . . ; JmgOIð2Þ ¼ fK1;K2; . . . ;Kng:
Let
s ¼ ðs1; s2; . . . ; smÞ and s 2 trðr;OIð1ÞÞ:
According to the definition of truncation,
si ¼ rj if there exists an Ij 2 OIðqÞ; such that Ij ¼ Ji: ð1Þsi ¼ u if there exists no Ij 2 OIðqÞ; such that Ij ¼ Ji: ð2Þ
Let
v ¼ ðv1;v2; . . . ;vnÞ and v 2 trðr;OIð2ÞÞ:vq ¼ rj if there exists an Ij 2 OIðqÞ; such that Ij ¼ kq: ð3Þvq ¼ u if there exists no Ij 2 OIðqÞ; such that Ij ¼ kq: ð4Þ
Let
w ¼ ðw1;w2; . . . ;wmÞ and w 2 trðv ;OIð2Þ;OIð1ÞÞ:* OIð1Þ# OIð2Þ;) 8 Ji 2 OIð1Þ; 9Kh 2 OIð2Þ such that Ji ¼ Kh
and therefore
wi ¼ vh when Ji ¼ Kh: ð5Þ
From (3), (4) and (5), we have
wi ¼ rj if there exists an Ij 2 OIðqÞ; such that Ij ¼ Kh and Ji ¼ Kh: ð6Þwi ¼ u if there exists no Ij 2 OIðqÞ; such that Ij ¼ Kh and Ji ¼ Kh: ð7Þ
From (6) and (7), we can obtain
wi ¼ rj if there exists a Ij 2 OIðqÞ; such that Ij ¼ Ji: ð8Þwi ¼ u if there exists no Ij 2 OIðqÞ; such that Ij ¼ Ji: ð9Þ
Comparing (1) and (2) with (8) and (9), we say that
trðr;OIð1ÞÞ ¼ trðtrðr;OIð2ÞÞ;OIð2Þ;OIð1ÞÞ
According to the definition that
trðD½q�;OIðqÞ;OIð1ÞÞ ¼ [s2D½q�
trðs;OIð1ÞÞ;
so
trðD½q�;OIð1ÞÞ ¼ trðtrðD½q�;OIð2ÞÞ;OIð2Þ;OIð1ÞÞ:
840 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
Lemma 2.3 reveals one of the elementary properties of the truncation operation. It indicates that if the variable order OI(2)contains all the elements of OI(1), then the truncation of a tuple by OI(2) and then by OI(1) is equal to the truncation of thetuple simply by OI(1). h
Lemma 2.4. [14]Let P be a logic program and I be an index of P. p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) are two predicate instances ofP. s = (s1, s2, . . . , sk) is a tuple and OI is a variable order w.r.t. I. If tr (s, OI, OI(p)) and tr (s, OI, OI(q)) exist and
trðs;OI;OIðpÞÞ# D½p�
and
trðs;OI;OIðqÞÞ# D½q�;
then
trðs;OI;OIðD½p�\D½q�ÞÞ# D½p�\D½q�
Proof. Let
T ¼ D½p�\D½q�:* OIðpÞ# OIðTÞ
and
OIðqÞ# OIðTÞ
)according to Lemma 2.3,
trðtrðs;OI;OIðTÞÞ;OIðTÞ;OIðpÞÞ ¼ trððs;OI;OIðpÞÞ
and
trðtrðs;OI;OIðTÞÞ;OIðTÞ;OIðqÞÞ ¼ trððs;OI;OIðqÞÞ:* trððs;OI;OIðpÞÞ# D½p�
and
trððs;OI;OIðqÞÞ# D½q�;* trðtrðs;OI;OIðTÞÞ;OIðTÞ;OIðpÞÞ# D½p�
and
trðtrðs;OI;OIðTÞÞ;OIðTÞ;OIðqÞÞ# D½q�;
and therefore
trðs;OI;OIðTÞÞ# D½p ^ q�:
Consequently,
trðs;OI;OIðD½p�\D½q�ÞÞ# D½p�\D½q�
We have now arrived at the stage to prove the associativity of partial intersection with truncation. h
Theorem 2.4. Let p(X1,X2, . . . ,Xl), q(Y1,Y2, . . . ,Ym) and r (Z1,Z2, . . . , Zn) be three predicates in the logic program P. I is an index of Pand OI is a variable w.r.t. I. Let
T1 ¼ D½p�\D½q�;T2 ¼ D½q�\D½r�; T3 ¼ T1\D½r�;T4 ¼ D½p�\T2;
then
trðT3;OIðT3Þ;OIÞ ¼ trðT4;OIðT4Þ;OIÞ:
Proof. Let
s ¼ ðs1; s2; . . . ; skÞ 2 T3:
F. Liu / Information Sciences 279 (2014) 827–859 841
Author's personal copy
According to the definition of partial intersection,
trðs;OIðT3Þ;OIðT1ÞÞ# T1 ð1Þ
and
trðs;OIðT3Þ;OIðrÞÞ# D½r�: ð2Þ* T1 ¼ D½p�\D½q�) trðtrðs;OIðT3Þ;OIðT1ÞÞ;OIðT1Þ;OIðpÞÞ# D½p� ð3Þ
and
trðtrðs;OIðT3Þ;OIðT1ÞÞ;OIðT1Þ;OIðqÞÞ# D½q�: ð4Þ* T1 ¼ D½p�\D½q�;OIðpÞ# OIðT1Þ and OIðqÞ# OIðT1Þ:
According to Lemma 2.3, formulas (3) and (4) can be converted to
trðs;OIðT3Þ;OIðpÞÞ# D½p� ð5Þ
and
trðs;OIðT3Þ;OIðqÞÞ# D½q�: ð6Þ
From (6) and (2), according to Lemma 2.4, we have
trðs;OIðT3Þ;OIðT2ÞÞ# T2: ð7Þ
Similarly, from (5) and (7), we have
trðs;OIðT3Þ;OIðT4ÞÞ# T4: ð8Þ
In the same way, let
t ¼ ðt1; t2; . . . ; tkÞ 2 T4:
Then
trðt;OIðT4Þ;OIðT3ÞÞ# T3: ð9Þ* T3 ¼ ðD½p�\D½q�Þ\D½r� and T3 ¼ ðD½p�\D½q�Þ\D½r�;) OIðT3Þ# OIðT4Þ and OIðT4Þ# OIðT3Þ:
This means that T3 and T4 have the same variables corresponding to the same elements, but in two different orders.* For any variable order OI, according to Lemma 2.2,
trðT3;OIðT3Þ;OIÞ ¼ trðT4;OIðT4Þ;OIÞ
In Theorem 2.4, if
OI ¼ OIðT3Þ;
then
T3 ¼ trðT3;OIðT3Þ;OIðT3ÞÞ ¼ trðT4;OIðT4Þ;OIðT3ÞÞ:
Similarly, if
OI ¼ OIðT4Þ;
then
T4 ¼ trðT3;OIðT3Þ;OIðT4ÞÞ
holds. h
2.6. Partial intersection and conjunctions
The restricted P-domain of a conjunction will be defined and its relationship with partial intersection will be explored inthis section. In a logic program, the restricted P-domain of a conjunction is a set containing all the tuples that satisfy theconjunction. The partial intersection of sets is an operation in which intersection is conducted between a part of the elementsof each tuple of the sets. Concerning the relationship between the restricted P-domain of a conjunction and partial intersec-tion, we will prove that
842 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
RD½p�\RD½q� ¼ RD½p ^ q�
Firstly, it is the definition of the restricted P-domain of a conjunction.
Definition 2.8. Let P be a logic program and I be an index of P. p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) are two predicate instancesof P and
OIðpÞ ¼ fI1; I2; . . . ; Img
and
OIðqÞ ¼ fJ1; J2; . . . ; Jng
are the variable orders of p and q w.r.t. I. The variable order of
pðX1;X2; . . . ;XmÞ ^ qðY1;Y2; . . . ;YnÞ
w.r.t. I, OI(p ^ q) is defined as
fI1; I2; . . . ; Im; J1; J2; . . . ; Jng:
The restricted P-domain of p(X1,X2, . . . ,Xm) ^ q(Y1,Y2, . . . ,Yn),
RD½p ^ q� ¼ fs ¼ ðs1; s2; . . . ; smþnÞ 2 UmþnP jtrðs;OIðp ^ qÞ;OIðpÞÞ# RD½p�
and trðs;OIðp ^ qÞ;OIðqÞÞ# RD½q� and 8 Ii ¼ Jj; si ¼ sjþmg:
In the definition above, the conditions
trðs;OIðp ^ qÞ;OIðpÞÞ# RD½p�
andtrðs;OIðp ^ qÞ;OIðqÞÞ# RD½q�
can also be written as8 ðt1; t2; . . . ; tmÞ 2 trðs;OIðp ^ qÞ;OIðpÞÞ; Pj � pðt1; t2; . . . ; tmÞ
and8ðt1; t2; . . . ; tnÞ 2 trðs;OIðp ^ qÞ;OIðqÞÞ; Pj � qðt1; t2; . . . ; tnÞ:
We have now reached our conclusion that the P-domain of the conjunction of two predicates is equal to the partial inter-section of their P-domains. The theorem below indicates this.
Theorem 2.5. If p(X1,X2, . . . ,Xm) and q(Y1,Y2, . . . ,Yn) are two predicate instances of the logic program P, then
RD½p�\RD½q� ¼ RD½p ^ q�:
Proof. Let
OIðpÞ ¼ fI1; I2; . . . ; ImgOIðqÞ ¼ fJ1; J2; . . . ; Jng:
According to Definition 2.8,
OIðRD½p ^ q�Þ ¼ OIðRD½p�\RD½q�Þ ¼ fI1; I2; . . . ; Im; J1; J2; . . . ; Jng:
Assume that OI(p) and OI(q) have and only have k common indices and they are
Ii1 ¼ Jj1ðl ¼ 1;2; . . . ; kÞ:
8 s ¼ ðs1; s2; . . . ; smþnÞ 2 RD½p ^ q�;* ðs1; s2; . . . ; smÞ 2 RD½p�;trðs;OIðp ^ qÞ;OIðpÞÞ# RD½p�:* ðsmþ1; smþ2; . . . ; smþnÞ 2 RD½q�;trðs;OIðp ^ qÞ;OIðqÞÞ# RD½q�:
Because
si ¼ sjþm if Ii ¼ Ji;
so
s 2 RD½p�\RD½q�:
F. Liu / Information Sciences 279 (2014) 827–859 843
Author's personal copy
On the other hand,
8 s 2 RD½p�\RD½q�;
because
trðs;OIðRD½p�\RD½q�Þ;OIðpÞÞ# RD½p�
which implies
ðs1; s2; . . . ; smÞ 2 RD½p�;
and
trðs;OIðp ^ qÞ;OIðqÞÞ# RD½q�
which implies
ðsmþ1; smþ2; . . . ; smþnÞ 2 RD½q�;
and since
si ¼ sjþm if Ii ¼ Ji
so
s 2 RD½p ^ q�:
Therefore
RD½p�\RD½q� ¼ RD½p ^ q�:
The theorem can be written as the corollary below if multiple predicate instances are involved. h
Corollary 2.2. If P is a logic program and p1ðX11; . . . ;X1m1 Þ; . . . ; pnðXn1; . . . ;Xnmn Þ are predicate instances of P, then
RD½p1�\RD½p2�\ . . .\RD½pn� ¼ RD½p1 ^ p2 ^ . . . ^ pn�:
Proof. Let
T1 ¼ RD½p1�Ti ¼ Ti�1\RD½pi� ð2 6 i 6 nÞ:
We want to prove Tn = RD[p1 ^ p2 ^ . . . ^ pn] inductively.When n = 1, T1 = RD[p1].
Let the inductive assumption be
Tn�1 ¼ RD½p1 ^ p2 ^ . . . ^ pn�1�:
Then
Tn ¼ Tn�1\RD½pn� ¼ RD½p1 ^ p2 ^ . . . ^ pn�1�\RD½pn�
According to Theorem 2.3,
Tn ¼ RD½p1 ^ p2 ^ . . . ^ pn�: �P-domain and restricted P-domain have been introduced as fundamental units in a logic program. Partial intersection and
truncation as set operations have been defined on P-domains and restricted P-domains. Theorems 2.3 and 2.4 have discussedthe commutativity and associativity of partial intersection with truncation. Consequently, the intersections of P-domains canbe conducted in an arbitrary order under truncation.
As conjunctions form an important aspect of logic programs, the restricted P-domain for them was defined and their rela-tionship with partial intersection was elucidated. This will now form a proper platform from which to explore the relation-ship between logic programs and set calculations and the case of the latter in PT-resolution.
3. Resolution with partial intersection and truncation
A logic program is a finite set of clauses. Clauses in the logic program can be converted to equations and therefore a der-ivation on the program can be proceeded with a sequence of set calculations. The deduction with partial intersection andtruncation is defined as resolution with partial intersection and truncation – PT-resolution which will be defined in thissection.
844 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
3.1. Derivation and set calculations
Logic programming has been closely related to set theory from the early days. Let P be a logic program, P actually is a setof clauses. The Herbrand universe of P, UP is the set of ground terms which appear in P and the Herbrand base of P, BP is theset of atoms which are constructed by the predicate symbols of P and UP. An Herbrand interpretation of P can be presented asa subset of its Herbrand base and, since an Herbrand model of P is one of its Herbrand interpretations, it can also be pre-sented as a subset of its Herbrand base.
This section associates the clauses of a logic program with a set of equations and therefore the deduction in a logic pro-gram can be conducted as a sequence of set calculations. As a general logic program, whether complete or incomplete, canalways be converted to a double defined logic program [15] which is a Horn clause logic program, hence we will limit ourdiscussions to Horn clause logic programs.
Theorem 3.1. Let
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
be a clause of the logic program P. I is an index of P and OI(p) is the variable order of p w.r.t. I. Let
T ¼ RD½q1�\RD½q2�\ . . .\RD½qk�:
Then
trðT;OIðpÞÞ# RD½p�; and consequently; trðT;OIðpÞÞ# D½p�
Proof.
* pðX1; . . . ;XmÞ q1ðY11; . . . ; Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
is a clause of P,) according to Theorem 2.1,
trðRD½q1 ^ . . . ^ qk�;OIðpÞÞ# RD½p�
* according to Corollary 2.2
T ¼ RD½q1�\RD½q2�\ . . .\RD½qk� ¼ RD½q1 ^ q2 ^ . . . ^ qk�* trðT;OIðpÞÞ# RD½p�
Since D[p] # RD[p]Consequently, tr (T, OI(p)) # D[p].The theorem serves as the first step in linking a deduction with a sequence of set calculations. In the program, tr(Tk, OI
(p)) # D[p] is defined as an equation of P. tr(Tk, OI(p)) is the premise (body) of the equation, and D[p] is the consequent (head)of the equation.
In a logic program, a predicate symbol may have more than one definition clause. Theorem 3.2 is regarding multipledefinition clauses in the program. h
Theorem 3.2. P is a logic program. If
p X11; . . . ;X1
m
� � q11 Y11
1 ; . . . ;Y11lð11Þ
� �^ . . . ^ q1h1
Yk1; . . . ;Y1h1lð1h1Þ
� �
. . .
p Xk1; . . . ;Xk
m
� � qk1 Yk1
1 ; . . . ;Yk1lðk1Þ
� �^ . . . ^ qkhk
Ykhk1 ; . . . ;Ykhk
lðkhkÞ
� �
are the definite clauses of p and let
Ti ¼ RD½qi1�\ . . .\RD½qihi� ði ¼ 1;2; . . . ; kÞ;
then
[k
i¼1tr Ti;OI p Xi
1; . . . ;Xim
� �� �� �# D½p�
Proof. The proof is derived directly from Theorem 3.1.
* p Xi1; . . . ;Xi
m
� � qi1 Yi1
1 ; . . . ; Yi1lði1Þ
� �^ . . . ^ qihi
Yihi1 ; . . . ;Yihi
lðihiÞ
� �
F. Liu / Information Sciences 279 (2014) 827–859 845
Author's personal copy
is a clause of P,
* trðTi;OI pðXi1; . . . ;Xi
m� �
Þ# D½p� ði ¼ 1;2; . . . ; kÞ:
Therefore [k
i¼1tr Ti;OI p Xi
1; . . . ;Xim
� �� �� �# D½p�.
Theorem 3.2 serves as the theoretical foundation of the soundness of PT-resolution, which will be discussed in the nextsection. We have, now, associated a group of clauses in a logic program with a group of equations.
As a conclusion of this sub-section, we argue that in the logic program P, the fact
qðb1; b2; . . . ; bnÞ
is equivalent to
ðb1; b2; . . . ; bnÞ 2 D½q�;
the rule
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
is equivalent to
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�;
Hence, the goal
pðX1Þ;X2; . . . ;XmÞ
can be regarded as finding all the tuples of RD[p], because
8 ða1; a2; . . . ; amÞ 2 RD½p�; Pj � pða1; a2; . . . ; amÞ:
Consequently, deductions on the program can be conducted as a sequence of set calculations. h
3.2. Conversion of a logic program
To achieve the goal to convert a derivation into a sequence of set calculations, we will firstly need to examine theprocedure of converting a logic program which is a finite set of clauses to a finite set of equations.
Conversion of a logic program to a finite set of equationsLet P be a logic program. Four steps are involved in the conversion of P into a set of equations.
Step 1. Define an index for the program P.Define an index for all the terms of P. It maps a constant to 0 and a variable to a distinct integer.Step 2. Convert the unit clauses (facts)As indicated in Section 3.1,
Pj � qðb1; b2; . . . ; bnÞ if and only if ðb1; b2; . . . ; bnÞ 2 D½q�:
Therefore, ‘‘q(b1,b2, . . . ,bn) is a clause of P’’ is equivalent to
ðb1; b2; . . . ; bnÞ 2 D½q�:
Step 3. Convert the definite clauses (rules)It was proved in Section 3.1 that if
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
is a clause of P, then
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�:
Consequently, all the definite clauses in P can be written in a form of equation.Step 4. Convert the goal clause (the goal)When the goal is ground, proving the goal
pða1; a2; . . . ; amÞ
is equivalent to proving
ða1; a2; . . . ; amÞ 2 D½p�:
When the goal is not ground, proving the goal
pðX1;X2; . . . ;XmÞ
846 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
can be converted so as to find all the tuples of RD[p(X1,X2, . . . ,Xm)], because
8 ða1; a2; . . . ; amÞ 2 RD½pðX1;X2; . . . ;XmÞ�; Pj � pða1; a2; . . . ; amÞ:
Example 3.1 demonstrates the process of converting a logic program to a set of equations.
Example 3.1. A logic program P is as follows.
pða; bÞ qða; cÞ rða; aÞ rðc; bÞ rðc; cÞ tðaÞ pðX;YÞ qðX;YÞ ^ rðY ;YÞ ð1ÞqðX;XÞ tðXÞ ^ qðX;YÞ ð2Þqða; ZÞ tðYÞ ^ rðY ; ZÞ ð3Þ
Let the a goal be p(a,X).The Herbrand universe of P is UP = {a,b,c}. The conversion of P is carried out in 4 steps.
Step 1. Define an index for PWe define an index for P as I: {X,Y,Z} ? {1,2,3}.Step 2. Convert unit clausesSince p(a,b) is a clause of P, (a,b) 2 D[p]. Similarly we have
ða; cÞ 2 D½q�ða; aÞ 2 D½r� and ðc; bÞ 2 D½r� and ðc; cÞ 2 D½r�ðaÞ 2 D½t�:
These can be written as
D½p� � fða; bÞgD½q� � fða; cÞgD½r� ¼ fða; aÞ; ðc; bÞ; ðc; cÞgD½t� ¼ fðaÞg:
Step 3. Convert the definite clausesAccording to the specification of the procedure, Clause (1)
pðX;YÞ qðX;YÞ ^ rðY ;YÞ
is converted to
trðRD½qðX;YÞ�\RD½rðY;YÞ�;OIðX;YÞÞ# D½p�: ð4Þ
Similarly, (2), and (3) are converted to
trðRD½tðXÞ�\RD½qðX;YÞ�;OIðX;XÞÞ# D½q� ð5ÞtrðRD½tðYÞ�\RD½rðY ; ZÞ�;OIða; ZÞÞ# D½q� ð6Þ
Step 4. Convert the goal clauseThe goal p(a,X) is non-ground, so proving the goal equals finding all the tuples in RD[p(a,X)].Eventually, the program P is converted to
D½p� � fða; bÞgD½q� � fða; cÞgD½r� ¼ fða; aÞ; ðc; bÞ; ðc; cÞgD½t� ¼ fðaÞgtrðRD½qðX;YÞ�\RD½rðY ;YÞ�;OIðX; YÞÞ# D½p�trðRD½tðXÞ�\RD½qðX;YÞ�;OIðX;XÞÞ# D½q�trðRD½tðYÞ�\RD½rðY ; ZÞ�;OIða; ZÞÞ# D½q�
F. Liu / Information Sciences 279 (2014) 827–859 847
Author's personal copy
Note that in Step 2, we defined D[p] to contain {(a,b)}, but we defined D[r] to be equal to {(a,a), (c,b), (c,c)}. The differenceis caused by the fact that D[r] does not occur in the consequent of any of the equations, and hence it will remain unchangedduring the derivation. Such a P-domain is named as a saturated P-domain. The notion of being saturated is defined preciselyin the next sub-section. Essentially, a saturated P-domain does not change during the derivation. The symbol ‘‘=’’ is used toindicate that the P-domain will remain unchanged during the derivation, while ‘‘�’’ implies that new tuples may be derivedand added to the P-domain.
3.3. Derivable and Saturated
Two concepts: derivable and saturated will be defined and discussed in this sub-section. Let s be a tuple and D[p] be a P-domain. s 2 D[p] being derivable in the logic program P means that there is an equation in P such that the consequent of theequation is D[p] and s belongs to the premise. A P-domain or a restricted P-domain is called saturated if no new tuple can bederived from the P-domain or restricted P-domain. Whenever a P-domain becomes saturated, it will remain unchangedwithin the derivation.
Definition 3.1. Let P be a logic program and I be an index of P. The tuple s 2 D[p] is derivable by the equation
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�;
and the restricted P-domains RD[q1], RD[q2], . . ., and RD[qk], if it satisfies
s 2 trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ:
When conducting a derivation with partial intersection and truncation, A P-domain or a restricted P-domain is not fixed — itmay be different at different stages of the derivation (this will be discussed in the later sections of this chapter). Hence,whether s 2 D[q] is derivable will depend on the stage of the derivation. s 2 D[q] may not be derivable at an earlier stage,but may become derivable later.
Let
s ¼ ðs1; s2; . . . ; snÞ:
Since
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�
is an equation of P, when
s 2 trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ;s ¼ ðs1; s2; . . . ; snÞ 2 D½p�:
This implies that p(s1,s2, . . . ,sn) is a clause or a logical consequence of the program.Saturated P-domains, saturated restricted P-domains and saturated equations are defined in Definition 3.2. These
concepts will be utilised to select equations in a PT-derivation which will be discussed in the next section.
Definition 3.2. In a logic program, a P-domain is saturated if it does not appear as a consequent of any of the equations. Arestricted P-domain is saturated if its corresponding P-domain is saturated. An equation is saturated if all the restricted P-domains in its premise are saturated.
Since a saturated P-domain does not appear at the consequent of any of the equations, no new tuple will be derived forthe P-domain, and hence it will not change during the rest of the derivation once it becomes saturated. A restricted P-domainis a subset of its P-domain. Therefore when a restricted P-domain becomes saturated, it will also remain unchanged.
An equation is saturated if all the restricted P-domains in its premise are saturated. This implies that the premise of theequation will not change during the derivation. After an equation becomes saturated, it should be allowed to be involved inthe derivation only once (i.e.. it should be selected only once), because no new tuple can be derived by involving the equationin the derivation multiple times.
In Example 3.1, the logic program has two saturated P-domains. They are
D½r� ¼ fða; aÞ; ðc; bÞ; ðc; cÞg
and
D½t� ¼ fðaÞg:
P also has a saturated equation. It is
trðRD½tðYÞ�\RD½rðY ; ZÞ�;OIða; ZÞÞ# D½q�;
because all the restricted P-domains in its premise, RD[t(Y)] and RD[r(Y,Z)], are saturated.
848 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
Again, the numbers of saturated P-domains and saturated equations in a logic program are not constant. They may changeduring the derivation. A P-domain or an equation which is not saturated at the beginning may become saturated during thederivation. This will be discussed in detail in the following sub-sections.
3.4. Derivation with partial intersection and truncation
Resolution with partial intersection and truncation (PT-resolution) is a resolution technique which is based on set calcu-lations. PT-resolution contains PT-derivations and two rules: selecting rule and ordering rule. This sub-section will defineand analyse the PT-derivation.
The concept ‘active equation’ will be introduced before defining the PT-derivation. An equation can be classified as activeor inactive. The purpose of this is to identify the equations which should be involved in the derivation, thereby enhancing theefficiency of the derivation.
Definition 3.3. In a logic program, an active equation is one of the following: (1) it is a non-saturated equation; (2) it has notbeen selected by a PT-calculation.
In a logic program, the process of deriving tuples from the equations is defined as a calculation with partial intersectionand truncation (PT-calculation). The PT-calculation is the fundamental unit of the PT-derivation.
Definition 3.4. Let P be a logic program. A PT-calculation is a process that derives tuples from equations and restricted P-domains and adds those tuples to the corresponding P-domains. The process involves precisely two steps:
(1) selecting each of the active equations of P and deriving tuples from the equation and the restricted P-domains of theequation;
(2) adding the derived tuples to the corresponding P-domains.
A PT-derivation is simply a sequence of PT-calculations, finite or infinite. Below is a precise definition of a PT-derivation.
Definition 3.5. Let P be a logic program and
G : p1 X11; . . . ;X1
k1
� �^ . . . ^ pm Xm
1 ; . . . ;Xmkm
� �
be a goal of P. The PT-derivation on P [ {G} proceeds as follows.
Step 1. Mark all the equations as active.Step 2. Iterate Steps 2–4 until at least one of the following termination conditions is satisfied.
Condition 1. The goal is proved.Condition 2. No new tuple can be derived from the derivation.
If one of the conditions is satisfied, then go to Step 5.Step 3. Apply the PT-calculation to the program.Step 4. Mark all the saturated equations which have been selected in the previous calculation as inactive. Mark all newsaturated P-domains and saturated equations which may arise.Step 5. Prove the goal with the current P-domains. Any tuple which is in the P-domain must satisfy the predicate symbol.Conversely, any tuple which is not in the P-domain, does not satisfy the predicate symbol.
Let
G : p1 X11; . . . ;X1
k1
� �^ . . . ^ pm Xm
1 ; . . . ;Xmkm
� �
be the goal of P. Termination condition 1 ‘‘the goal is proved’’ implies that (a) G is ground (i.e.. Xij is a constant (i = 1,2, . . . ,m
and j = 1,2, . . . ,ki)) and Xi1; . . . ;Xi
ki
� �2 D½pi� (i = 1,2, . . . ,m); or (b) D[pi] becomes saturated during the derivation
(i = 1,2, . . . ,m).Termination condition 2 ‘‘no new tuple can be derived from the derivation’’ indicates two possibilities: (a) the program
contains no active equation. This can be caused by the fact that the program originally does not have any equation, or that allthe equations which originally existed in the program have become saturated during the derivation and have been selectedfor a PT-calculation and then have been marked as inactive; (b) although the program contains at least one active equation,none of the P-domains has changed after applying the PT-calculation once.
A PT-derivation may contain a finite or infinite number of PT-calculations. When the number is finite, we call it a PT-refutation. In other words, a PT-refutation is a PT-derivation which is terminated by one of the termination conditions after afinite number of PT-calculations.
F. Liu / Information Sciences 279 (2014) 827–859 849
Author's personal copy
In a PT-derivation, a selecting rule [15] determines the order in which partial intersections are conducted; an orderingrule [15] decides the validity of each equation for selection and specifies the order in which equations are selected.
PT-resolution contains a set of PT-derivations that are governed by a certain selecting rule and ordering rule.
Below is an example of the deduction through PT-resolution.
Example 3.2. The logic program P in Example 3.1 is
pða; bÞ qða; cÞ rða; aÞ rðc; bÞ rðc; cÞ tðaÞ pðX;YÞ qðX;YÞ ^ rðY ;YÞ ð1ÞqðX;XÞ tðXÞ ^ qðX;YÞ ð2Þqða; ZÞ tðYÞ ^ rðY ; ZÞ ð3Þ
and the goal G is p(a,X).The Herbrand universe of P is UP = {a,b,c}.
An index was defined in Example 3.1 for the program as I: {X,Y,Z} ? {1,2,3}.
The program P was converted as
D½p� � fða; bÞgD½q� � fða; cÞgD½r� ¼ fða; aÞðc; bÞðc; cÞgD½t� ¼ fðaÞgtrðRD½qðX;YÞ�\RD½rðY; YÞ�;OIðX;YÞÞ# D½p� ð4ÞtrðRD½tðXÞ�\RD½qðX; YÞ�;OIðX;XÞÞ# D½q� ð5ÞtrðRD½tðYÞ�\RD½rðY ; ZÞ�;OIða; ZÞÞ# D½q� ð6Þ
where
RD½qðX;YÞ� ¼ D½q� � fða; cÞgRD½rðY ;YÞ� ¼ fða; aÞðc; cÞgRD½tðXÞ� ¼ RD½tðYÞ� ¼ D½t� ¼ fðaÞgRD½rðY ; ZÞ� ¼ D½r� ¼ fða; aÞðc; bÞðc; cÞg
Within each PT-calculation, equations are selected in such an order that saturated equations are selected before unsat-urated equations and within each group (saturated or unsaturated), equations are selected according to their position inthe program.
The derivation proceeds as follows:
Step 1. Mark all the equations as active.
Iteration 1 on Steps 2–4 proceeds as follows:Step 2. Check whether at least one of the termination conditions is satisfied.None of the conditions in Step 2 is satisfied.Step 3. Apply the PT-calculation to the program.Because P-domains D[r] and D[t] are saturated, Eq. (6) is saturated. Therefore, the order in which equations areselected is (6), (4), (5). The PT-calculation is conducted as follows.� Select Eq. (6). The tuple (a,a) 2 D[q] is derived from (6), RD[t(Y)], and RD[r(Y,Z)]. Add (a,a) to D[q]. Now
D½q� � fða; cÞða; aÞg
and hence
RD½qðX;YÞ� � fða; cÞða; aÞg
� Select Eq. (4). The tuples (a,c) 2 D[p] and (a,a) 2 D[p] are derived from (4), RD[q(X,Y)], and RD[r(Y,Y)]. Add (a,c)and (a,a) to D[p]. Hence the P-domain of p becomes D[p] � {(a,b), (a,c), (a,a)}.
850 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
� Select Eq. (5). The tuple (a,a) 2 D[q] is derived from (5), RD[t(X)], and RD[q(X,Y)]. Since (a,a) exists in D[q], D[q]remains unchanged.
Step 4. Mark Eq. (6) ‘inactive’ since it was saturated before the calculation and has been selected in the calculation. Noother P-domain or equation becomes saturated.
Iteration 2 on Steps 2–4 proceeds as follows:Step 2. Check whether the termination conditions are satisfied.None of the conditions is satisfied.Step 3. Apply the PT-calculation to the program.Since Eq. (6) has been marked as inactive and no other saturated equation has arisen, the order for selecting equationsis (4), (5). The PT-calculation is conducted as follows.� Select Eq. (4). No new tuple is derived from (4), RD[q(X,Y)], and RD[r(Y,Y)]. D[p] is unchanged.� Select Eq. (5). No new tuple is derived from (5), RD[t(X)], and RD[q(X,Y)]. D[q] is unchanged.
Step 4. There is no saturated equation. Neither P-domains nor equations become saturated.Iteration 3 proceeds as follows:
Step 2. Check whether one of the termination conditions is satisfied. Condition 2 is satisfied. The deduction isterminated.Step 5. Finally, proving the goal p(a,X) becomes finding all the tuples in RD[p(a,X)]. Since
D½p� ¼ fða; bÞða; cÞða; aÞg;
soRD½pða;XÞ� ¼ fða; bÞða; cÞða; aÞg:
Therefore
X ¼ b or X ¼ c or X ¼ a
The PT-calculation and PT-derivation have been defined in this section. A PT-calculation selects each active equation andderives new tuples from it. A PT-derivation is a sequence of PT-calculations. To enhance the efficiency of the derivation,we have also classified equations in a logic program into two categories: active or inactive. Only active equations are allowedto be involved in the derivation.
3.5. PT-derivation on finite Herbrand Universes
Consider the logic program P in Example 1.3.
p(a,b) p(c,b) p(X,Z) p(X,Y) ^ p(Y,Z)p(X,Y) p(Y,X)
with the goal G: p(a,c).It has been demonstrated in Example 1.3 that although P has a finite Herbrand universe and p(a,c) is a logical conse-
quence of p, no matter how the clauses of P are ordered, P [ {G} does not have a finite SLD-derivation.If the deduction is conducted with a PT-derivation, the situation will be different. In this section we will go through the
PT-derivation on P and prove that a PT-derivation on a logic program which has a finite Herbrand universe is always finite.
Example 3.3. The logic program P is
p(a,b) p(c,b) p(X,Z) p(X,Y) ^ p(Y,Z)p(X,Y) p(Y,X)
with the goal G: p(a,c).The Herbrand universe of P, UP = {a,b,c}.Let I: {X,Y,Z} ? {1, 2, 3} be an index of P.P is converted to
D½p� � fða; bÞ; ðc; bÞgtrðRD½pðX;YÞ�\RD½pðY; ZÞ�;OIðpðX; ZÞÞÞ# D½p� ð7ÞtrðRD½pðX;YÞ�;OIðpðY;XÞÞÞ# D½p� ð8Þ
F. Liu / Information Sciences 279 (2014) 827–859 851
Author's personal copy
Proving the goal p(a,c) becomes proving that (a,c) 2 D[p].The derivation process is as follows:
Step 1 Mark all equations as active.
Iteration 1 on Steps 2–4 proceeds as follows:Step 2 Check the conditions for termination. None of the conditions is satisfied.Step 3 Apply the PT-calculation to the program.There is no saturated P-domain or saturated equation. So the order for equation selection is (7) and (8).� Select Eq. (7). No tuple is derived. D[p] is unchanged.� Select Eq. (8). Tuples (b,a) 2 D[p] and (b,c) 2 D[p] are derived. Add the derived tuples to D[p] and it becomes
D½p� � fða; bÞ; ðc; bÞ; ðb; aÞ; ðb; cÞg:
Step 4 No equation should be marked as inactive. No P-domain or equation has become saturated.Iteration 2 on Steps 2–4 proceeds as follows:
Step 2 Check the conditions for termination. None of the conditions is satisfied.Step 3 Apply the PT-calculation to the program.The order for equation selection is still (7) and (8).� Select Eq. (7). Tuples (a,a) 2 D[p], (a,c) 2 D[p], (c,a) 2 D[p], (c,c) 2 D[p], and (b,b) 2 D[p] are derived. Add the
tuples to D[p] and it becomes
D½p� � fða; bÞ; ðc; bÞ; ðb; aÞ; ðb; cÞ; ða; aÞ; ða; cÞ; ðc; aÞ; ðc; cÞ; ðb; bÞg:
� Select Eq. (8). No new tuple is derived.
Step 4 No inactive equation has arisen. No P-domain or equation has become saturated.Iteration 3 proceeds as follows:
Step 2 Check the conditions for termination. Condition 1 is satisfied. The derivation is terminated.Step 5 The goal is proved since (a,c) 2 D[p]. The deduction with PT-derivation on P [ {G} is finite.A model in graph theory can be found for the above program. Let a, b and c be three vertices of a graph. Assign thepredicate symbol p as adjacent. p(X,Y) refers to X and Y as being adjacent (Fig. 3.1).Although it is possible that a PT-derivation falls into infinite recursion, the situation never occurs in certain categoriesof logic programs. In Theorem 3.3, we will prove that the PT-derivation on a logic program which has a finite Herbranduniverse is always finite. This means that the derivation always contains a finite number of calculations.
Theorem 3.3. Let P be a logic program and G be a goal. If UP is finite, then the PT-derivation on P [ {G} is finite.
Proof. Since P has a finite number of predicate symbols and a finite Herbrand universe, P has a finite number of P-domainsand each of the P-domains contains a finite number of tuples.
The conditions for terminating a PT-derivation are.
Condition 1. The goal is proved.Condition 2. No new tuple can be derived from the derivation.
If, after a finite number of calculations P does not have any active equation, then the deduction is terminated on Condition2. The derivation is finite.
c b
a
Fig. 3.1. Graphic model of Example 3.3.
852 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
If P always has at least one active equation, and if after doing the PT-calculation K times (K is a natural number) the goal isproved, then the derivation is terminated by Condition 1. The derivation is finite.
Consider the situation where P always has at least one active equation and the derivation cannot be finitely terminated byCondition 1. Since P has a finite number of P-domains and each of them has a finite number of tuples, there always exists anatural number M, (M is big enough such that after conducting the calculation M times, no new tuple can be derived). Underthis circumstance, the deduction is terminated finitely by Condition 2.
This leads to the conclusion that the PT-derivation on a logic program with a finite Herbrand universe is finite. h
4. Soundness and completeness
A resolution strategy is sound if the derived is a logical consequence of the program. A resolution strategy is complete ifall logical consequences are derivable. The soundness and completeness of PT-resolution will be discussed in this section.
4.1. Soundness
As indicated previously, if P is a logic program and
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
is a clause of P, then
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�:
The P-domain of a predicate symbol is a set of tuples which satisfy the predicate symbol. In other words, (t1, t2, . . . , tm) 2 D[q]if and only if Pj � q(t1, t2, . . . , tm). According to Theorem 3.1, if
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
is a clause of P, then all the tuples belonging to
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ
belong to D[q] (i.e.. satisfying p(X1,X2, . . . ,Xm)). Consequently, we can verify the soundness of PT-resolution.
Theorem 4.1. Let P be a logic program. If a ground tuple (t1, t2, . . . , tm) 2 D[p] is derived from
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�;RD½q1�; . . . ; and; RD½qk�
by a PT-derivation, then Pj � p(t1, t2, . . ., tm).
Proof. The theorem will be proved inductively.According to the procedure of conversion of a logic program to a set of equations,
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�
is an equation of P, only if
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
is a clause of P.If the ground tuple (t1, t2, . . . , tm) 2 D[p] is derived from
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�; RD½q1�; . . . and; RD½qk�
by the PT-derivation at its first PT-calculation, then, according to Theorem 3.1,
ðt1; t2; . . . ; tmÞ 2 D½p�; and hence Pj � pðt1; t2; . . . ; tmÞ:
Let us assume that for every ground tuple (t1, t2, . . . , tm) 2 D[p] derived from
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�; RD½q1�; . . . and; RD½qk�
by the PT-derivation after conducting the PT-calculation N times (N is a natural number), satisfies
Pj � pðt1; t2; . . . ; tmÞ:
Consider the case that there is a ground tuple t01; t02; . . . ; t0m
� �2 D½p� derived from
trðRD½q1�\RD½q2�\ . . .\RD½qk�;OIðpÞÞ# D½p�; RD½q1�; . . . and; RD½qk�
by the PT-derivation at the (N + 1)th PT-calculation.
F. Liu / Information Sciences 279 (2014) 827–859 853
Author's personal copy
The inductive assumption is that the tuple which is derived after conducting the PT-calculation N times, belongs to theP-domain of the consequent. (i.e. if (s1,s2, . . . ,sn) is derived by an equation whose consequent is D[q], then(s1,s2, . . . ,sn) 2 D[q]). According to the assumption, after conducting the PT-calculation N times, every P-domain of theprogram contains, and only contains, the tuples satisfying the predicate.
Since t01; t02; . . . ; t0m
� �2 D½p� is derived at the N + 1th PT-calculation, and since every P-domain of P contains, and only
contains, the tuples satisfying the predicate after the Nth PT-calculation, according to Theorem 3.1, t01; t02; . . . ; t0m
� �2 D½p�.
The soundness of PT-resolution assures that every ground tuple derived from an equation by the PT-derivation belongs tothe P-domain of the consequent of the equation. Consequently, when conducting a PT-derivation, each P-domain containsand only contains the tuples satisfying the predicate at any stage of the derivation. h
4.2. Completeness
PT-derivations can be classified as finite and infinite derivations. A finite derivation contains a finite number of PT-calcu-lations. The proof of completeness will be limited to finite derivations.
Let us review the syntax aspect of logic programming [19]. Let
SS ¼ fS1; . . . ; Sng ðwhere Si ¼ ðsi1; . . . ; simÞ ð1 6 i 6 nÞ
is an m-ary tuple of terms) be a set of tuples. A substitution h is defined as a unifier of SS if
S1h ¼ . . . ¼ Snh:
SS is unifiable if it has a unifier.The tuple
S ¼ ðs1; s2; . . . ; smÞ
is ground if all its elements are ground. Consider two tuples
S ¼ ðs1; s2; . . . ; smÞ
and
T ¼ ðt1; t2; . . . ; tmÞ:
If one of the tuples, say S, is ground and S and T are unifiable, then it is not difficult to see that S and T have a unique unifierwhich is
h ¼ ft1=s1; t2=s2; . . . ; tm=smg:
Let p(X1,X2, . . . ,Xm) be a predicate and h be a substitution. We use
pðX1;X2; . . . ;XmÞh
to denote the substitution of variables of (X1,X2, . . . ,Xm) by h. That is
pðX1;X2; . . . ;XmÞh ¼ pðX1h;X2h; . . . ;XmhÞ:
In the logic program P, a tuple
t ¼ ðt1; t2; . . . ; tmÞ
is an Herbrand instantiation of the tuple
X ¼ ðX1;X2; . . . ;XmÞ;
if they satisfy
(1) ti 2 UP (i = 1,2, . . . ,m); and(2) t and X are unifiable.
The derivation branch and derivation tree are defined in the definitions below as a preparation for exploring the com-pleteness of PT-resolution.
Definition 4.1. Let P be a logic program and
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
be a clause of P. If the ground tuple (a1,a2, . . . ,am,b11, . . . ,b1n1, . . . ,bk1, . . . ,bknk
) is an Herbrand instantiation of (X1,X2, . . . ,Xm, -X1,X2, . . . ,Xm,Y11, . . . ,Y1n1
, . . .. Yk1, . . . ,Yknk) and h is the substitution such that
854 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
ðX1;X2; . . . ;XmÞh ¼ ða1; a2; . . . ; amÞ
and
ðYi1; . . . ;YiniÞh ¼ qiðbi1; . . . ; bini
Þ ði ¼ 1;2; . . . ; kÞ:
The graph in Fig. 4.1 where p(a1,a2, . . . ,am), q1 (b11, . . . ,b1n1), . . ., and qk (bk1, . . . ,bknk
) are the nodes and there are edges con-necting p(a1,a2, . . . ,am) and qi (bi1, . . . ,bini
) (i = 1,2, . . . ,k), is defined as a derivation branch of the clause with a substitute h.p(a1, . . . ,am) is the parent node of q1 (b11, . . . ,b1n1
), . . . ,qk (bk1, . . . ,bknk) and q1 (b11, . . . ,b1n1
), . . . ,qk (bk1, . . . ,bknk) are the child
nodes of p(a1, . . . ,am).It is not difficult to see that the derivation branch of a unit clause is itself. Each derivation branch corresponds to a clause
and a substitute. Two branches can be combined if there exists a node being the parent node of one branch and a child nodeof the other.
Definition 4.2. A derivation branch or the combined derivation branches is called a derivation tree. In a derivation tree, anode is called the root if it has no parent node. A node is a leaf of the tree if it has no child node.
The theorem below reveals the relation between the child nodes and the root.
Theorem 4.2 [16]. Let P be a logic program. In a derivation branch, if every leaf belongs to its P-domain, then the root is derivableby a PT-calculation.
Proof. The proof of the theorem is constructive.Let the graph in Fig. 4.1 be the branch, which corresponds to the clause
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
and a substitution h.Before the PT-calculation, if (a1, . . . ,am) is a tuple of D[p], then after the calculation, (a1, . . . ,am) 2 D[p]; otherwise, let I be
an index of P and
OIðpÞ ¼ fI1; I2; . . . ; ImgOIðqiÞ ¼ fJi1; Ji2; . . . ; Jini
g ði ¼ 1;2; . . . ; kÞ
are the variable orders of p and qi respectively.The substitution h is applied to all the atoms in the branch, therefore if
Xl ¼ Yiji ;
then
al ¼ biji ð1 6 l 6 m and 1 6 i 6 k and 1 6 ji 6 niÞ
and
if Yhjl ¼ Yiji ; then bhjh ¼ biji
(1 6 h 6 k and 1 6 i 6 k and 1 6 jh 6 nh and 1 6 ji 6 ni).In other words,
if Il ¼ Jiji; then al ¼ biji
and
if Jhjl¼ Jiji
; then bhjl ¼ biji
When conducting the PT-calculation, the clause
pðX1; . . . ;XmÞ q1ðY11; . . . ;Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
qi(bi1, …, bini)
rs(cs1, …, csls) r1(c11, …, c1l1) … …
Fig. 4.1. Derivation branch.
F. Liu / Information Sciences 279 (2014) 827–859 855
Author's personal copy
is converted to
trðRD½q1�\ . . .\RD½qk�;OIðpÞÞ# D½p�:
Since partial intersection with truncation is commutative and associative, the partial intersection
RD½q1�\ . . .\RD½qk�
can be conducted in any order. Let us conduct the calculations from left to right.Because
ðb11; . . . ; b1n1 Þ 2 RD½q1�
and
ðb21; . . . ; b2n2 Þ 2 RD½q2�
and because
J1j1¼ J2j2
ð1 6 j1 6 n1 and 1 6 j2 6 n2Þ
implies
b1j1 ¼ b2j2 ;
so
ðb11; . . . ; b1n1 ; b21; . . . ; b2n2 Þ 2 RD½q1�\RD½q2�
(the variable order of RD[q1] \ RD[q2] is ðJ11; . . . ; J1n1; J21; . . . ; J2n2
Þ).Similarly, because
ðb11; . . . ; b1n1 ; b21; . . . ; b2n2 Þ 2 RD½q1�\RD½q2�
and
ðb31; . . . ; b3n3 Þ 2 RD½q3�
and because
J1j1¼ J3j3
ð1 6 i 6 2 and 1 6 ji 6 ni and 1 6 j3 6 n3Þ
implies
b1j1 ¼ b3j3 ;
so
ðb11; . . . ; b1n1 ; b21; . . . ; b2n2 ; b31; . . . ; b3n3 Þ 2 RD½q1�\RD½q2�\RD½q3�:
If repeating the process k � 1 times, we have
ðb11; . . . ; b1n1 ; . . . ; bk1; . . . ; bknkÞ 2 RD½q1�\ . . .\RD½qk�:
Let
trððb11; . . . ; b1n1 ; . . . ; bk1; . . . ; bknkÞ;OIðpÞÞ ¼ fðw1; . . . ;wmÞg
where wl ¼ biji if there exists a Jijisuch that Jiji
¼ Il
wl = u otherwise.Since
Jiji¼ Il
implies
biji ¼ al;
so if there exists a Jijisuch that
Jiji¼ Il;
then
wl ¼ al;
otherwise
856 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
wl ¼ u:
Therefore (a1, . . . ,am) is a tuple of {(w1, . . . ,wm)}, i.e.
ða1; . . . ; amÞ 2 trððb11; . . . ; b1n1 ; . . . ; bk1; . . . ; bknkÞ;OIðpÞÞ
and hence
ða1; . . . ; amÞ 2 D½p�:
In the logic program P, each logical consequence corresponds with at least one derivation tree in which the root is the logicalconsequence and the leaves are clauses of P. The following theorem proves this. h
Theorem 4.3 [16]. Let P be a logic program. If a ground atom p(a1,a2, . . . , am) is a logical consequence of P, then there is a deri-vation tree which has p(a1,a2, . . . , am) as its root and clauses of P as its leaves.
Proof. The theorem is proved inductively.If p(a1,a2, . . . ,am) is a clause of P, then
pða1; a2; . . . ; amÞ
is the derivation tree. It is a derivation tree which contains one node.If p(a1,a2, . . . ,am) is not a clause, but a logical consequence of P, then there exists at least one definite clause
pðX1;X2; . . . ;XmÞ q1ðY11; . . . ; Y1n1 Þ ^ . . . ^ qkðYk1; . . . ;YknkÞ
and a corresponding substitution h such that
pðX1;X2; . . . ;XmÞh ¼ pða1; . . . ; amÞ
and
qiðYi1; . . . ;YiniÞh ¼ qiðbi1; . . . ; bini
Þ ði ¼ 1;2; . . . ; kÞ
where qiðbi1; . . . ; biniÞ is a clause or a logical consequence of P.
The clause p(a1,a2, . . . ,am) corresponds with a derivation branch in which p(a1,a2, . . . ,am) is the root and q1
(b11, . . . ,b1n1), . . . ,qk (bk1, . . . ,bknk
) are the leaves refer to Fig. 4.1.Consider the leaves q1ðb11; . . . ; b1n1 Þ, . . ., qkðbk1; . . . ; bknk
Þ. If any one of them, say qiðbi1; . . . ; biniÞ (1 6 i 6 k), is not a clause of
P, then it is a logical consequence of P and qiðbi1; . . . ; biniÞ corresponds with a derivation branch shown in Fig. 4.2.
qi(bi1, …, bini)
rs(cs1, …, csls) r1(c11, …, c1l1) … …
Fig. 4.2. Branch 1.
p(a1, a2, …, am)
qk(bk1, …, bknk) q1(b11, …, b1n1) qi(bi1, …, bini)
rs(cs1, …, csls) r1(c11, …, c1l1) … …
Fig. 4.3 Combined branches.
F. Liu / Information Sciences 279 (2014) 827–859 857
Author's personal copy
Combining branches in Figs. 4.1 and 4.2, we have the derivation tree shown in Fig. 4.3.Since the clause p(a1, . . . ,am) is a logical consequence of P, there are only finite combinations before it reaches the stage
that there exists a derivation tree of P, in which the root is p(a1, . . . ,am) and all the leaves are clauses of P.A PT-derivation is a process that derives tuples from equations and restricted P-domains. Similarly to SLD-resolution, the
completeness of PT-resolution is limited to finite derivations. In other words, a PT-derivation is guaranteed to find all thederivable tuples if the derivation is terminated finitely. h
Theorem 4.4 [16]. Let P be a logic program. If a ground atom p(a1,a2, . . . , am) is a clause or a logical consequence of P and ifthe PT-derivation on P [ { p(a1,a2, . . . , am)} is finite, then at the termination of the derivation (a1,a2, . . . , am) 2 D[p].
Proof. If p(a1,a2, . . . ,am) is one of the clauses of P, then at the beginning of the PT-derivation (a1,a2, . . . ,am) 2 D[p]. Certainly(a1,a2, . . . ,am) 2 D[p] at the end of the derivation.
If p(a1,a2, . . . ,am) is not one of the clauses of P then, according to Theorem 8.3, there exists a derivation tree which hasp(a1,a2, . . . ,am) as its root and clauses as its leaves.
The PT-derivation on P with the goal p(a1,a2, . . . ,am) is terminated finitely by one of the following conditions.
Condition 1 the goal is proved.Condition 2 no new tuple can be derived from the derivation.If the derivation is terminated by Condition 1, then (a1,a2, . . . ,am) 2 D[p].If the derivation is terminated by Condition 2, then according to Theorem 4.2, after a finite number N (N is a natural num-ber) of PT-calculations, (a1,a2, . . . ,am) 2 D[p] is derived. According to Condition 2, the PT-derivation contains more than NPT-calculations and therefore at the termination of the derivation (a1,a2, . . . ,am) 2 D[p].
As indicated previously, a PT-derivation on a finite Herbrand universe is always finite; hence we can say that thecompleteness of PT-resolution on logic programs which have a finite Herbrand universe is assured. As a conclusion ofTheorems 4.1 and 4.4, Corollary 4.1 specifies this. h
Corollary 4.1. PT-resolution is sound and complete for the logic programs which have a finite Herbrand universe.
Proof. The soundness is straightforward from Theorem 4.1.The completeness is deduced from Theorem 4.2 that a PT-derivation on a logic program with a finite UP is always finite,
and from Theorem 4.4 that PT-resolution is complete when the derivation is finite. h
5. Conclusions
PT-resolution has been established. We have explored the relationship between its derivations and the two set opera-tions, and have defined a process to convert a logic program to a sequence of equations. Consequently, a derivation canbe conducted as a sequence of set calculations.
Although both PT-resolution and Answer Set Programming (ASP) are semantic approaches, we argue that they are com-pletely different. While ASP is the process of finding least Herbrand models for a logic program, a PT-derivation which is thekernel of PT-resolution, is a sequence of finite or infinite PT-calculations. A PT-derivation dynamically defines P-domains assaturated, and consequently categorises equations as active or inactive. It allows active equations only to be involved in thederivation. This reduces the number of equations (clauses) in the derivation and therefore enhances the efficiency of the rea-soning. A PT-calculation selects each of the active equations of a program and derives new tuples from those selected equa-tions and restricted P-domains. A PT-derivation is terminated when either the goal is proved, or no new tuple can be derived.
The significance of introducing PT-resolution is that it is a semantic approach and it prevents some derivations from infi-nite recursion. In particular, as indicated in Theorem 3.3, the derivation on a finite Herbrand universe is always finite. This isextremely important in web reasoning where extracted information from the web forms a finite Herbrand universe.
It has been proved in Theorem 4.1 that PT-resolution is sound. Meanwhile, in Theorem 4.4 we have verified that PT-res-olution is complete if the derivation is finite.
As a PT-derivation is always finite on a program that has a finite Herbrand universe, PT-resolution is both sound and com-plete for the programs. This is, again, an important feature for web reasoning.
As PT-resolution is based on sets and set operations, its related web search is goal-oriented and this will significantlyreduce the volume of web search during its derivation, and therefore enhance the efficiency of the search engine.
Further research in the area can be directed to classifying equations and P-domains as goal-oriented or otherwise.Whereas only goal-oriented equations will be selected for reasoning and only goal-oriented P-domains will be searched dur-ing the derivation. This may substantially improve the efficiency of reasoning if the number of equations and P-domains aresignificantly high. Further research direction can also lead to the dynamic selection of equations and P-domains during thederivation. This will, again, has the potential to reduce the computational complexity.
858 F. Liu / Information Sciences 279 (2014) 827–859
Author's personal copy
Acknowledgement
The author wishes to acknowledge the fruitful discussions that she had with staff of Department of Computer Science &Computer Engineering, La Trobe University and School of Computer & Information Sciences, University of South Australiawhile conducting the research.
References
[1] K.R. Apt, K. Doests, A new definition of SLDNF-resolution, J. Logic Program. 18 (1994) 177–190.[2] C. Bizer, P. Mika, The semantic web challenge, J. Web Semantics 8 (4) (2009) 34–52.[3] M. Bozzano, G. Delzanno, M. Martelli, An effective fixpoint semantics for liner logic programs, J. Theory Pract. Logic Program. 2 (1) (2002) 85–122.[4] G. Brewka, T. Eiter, Preferred answer sets for extended logic programs, in: Proceedings of Sixth International Conference on Principles of Knowledge
Representation and Reasoning, 1998, pp. 86–97.[5] S. Chen et al, A linguistic multi-criteria decision making approach based on logical reasoning, Inf. Sci. 258 (10) (2014) 266–276.[6] E. Dantsin et al, Complexity and expressive power of logic programming, ACM Comput. Surv. 33 (3) (2001) 374–425.[7] L. Ding, et al., Using Ontologies in the Semantic Web: A Survey, Technical Report 2005, Department of Computer Science and Electrical Engineering,
University of Maryland.[8] R. Greiner, Efficient reasoning, ACM Comput. Surv. 33 (2) (2001) 1–30.[9] A.C. Kakas, P. Mancarella, Generalised stable models: a semantics for abduction, in: Proceedings of the 9th European conference on Artificial
Intelligence, 1990, pp. 385–391.[10] M. Kaytoue, S. Kuznetsov, A. Napoli, S. Duplessis, Mining gene expression data with pattern structures in formal concept analysis, Inf. Sci. 181 (10)
(2011) 1989–2001.[11] O. Kolomiyets, M. Moens, A survey on question answering technology from an information retrieval perspective, Inf. Sci. 181 (24) (2011) 5412–5434.[12] G. Kondrak, P. van Beek, A theoretical evaluation of selected backtracking algorithms, Artif. Intell. 89 (1997) 365–387.[13] V.H. Le, F. Liu, D.K. Tran, Fuzzy linguistic logic programming, Theory Pract. Logic Program. 9 (3) (2009) 309–341.[14] F. Liu, D.H. Moore, Deduction with partial intersection, in: Proceedings of the International Conference on Genetic Algorithms, 1995, pp. 71–76.[15] F. Liu, D.H. Moore, An Implementation of Kripke–Kleene semantics, Inf. Sci. 108 (1998) 31–50.[16] F. Liu, D.H. Moore, J. Wang, The completeness of GOPT-resolution, in: Proceedings of the Second ECPD International Conference on Advanced Robotics,
Intelligent Automation and Active Systems, 1996, pp. 92–98.[17] F. Liu, D.H. Moore, J. Wang, The soundness of GOPT-resolution, in: Proceedings of the International Conference on Genetic Algorithms, 1996, pp. 66–70.[18] J. Liu et al, An axiomatizable logical foundation for lattice-ordered qualitative linguistic approach for reasoning with words, Inf. Sci. 263 (1) (2014)
110–125.[19] J. Lloyd, Foundations of Logic Programming, Springer Verlag, 1987.[20] W. Loh, S. Mane, J. Srivastava, Mining temporal patterns in popularity of web items 181(22) (2011) 5010–5028.[21] G. Schwartz David, From open IS semantics to the semantic web: the road ahead, IEEE Intell. Syst. 18 (3) (2003) 54–59.[22] E. Oren et al, MARVIN: distributed reasoning over large-scale semantic web data, Web Semantics 7 (4) (2009) 305–316.[23] M. Slota, J. Leite, Towards closed world reasoning in dynamic open world, Theory Pract. Logic Program. 10 (4-6) (2010) 547–563.[24] F. van Harmelen, J. Hendler, I. Horrocks, D. McGuinness, L. Stein, OWL Web Ontology Language Reference, 2004. <http://www.w3.org/TR/2004/REC-
owl-features-20040210/>.
F. Liu / Information Sciences 279 (2014) 827–859 859