A semantic approach for web reasoning

34
This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and education use, including for instruction at the authors institution and sharing with colleagues. Other uses, including reproduction and distribution, or selling or licensing copies, or posting to personal, institutional or third party websites are prohibited. In most cases authors are permitted to post their version of the article (e.g. in Word or Tex form) to their personal website or institutional repository. Authors requiring further information regarding Elsevier’s archiving and manuscript policies are encouraged to visit: http://www.elsevier.com/authorsrights

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