<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Learning Disjunctive Logic Programs from Interpretation Transition</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yi Huang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yisong Wang</string-name>
          <email>yswang@gzu.edu.cn</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ying Zhang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mingyi Zhang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Chongqing University of Arts and Sciences</institution>
          ,
          <addr-line>Chongqing 402160</addr-line>
          ,
          <country country="CN">P. R. China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Guizhou Academy of sciences</institution>
          ,
          <addr-line>Guiyang 550001</addr-line>
          ,
          <country country="CN">P. R. China</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Guizhou University</institution>
          ,
          <addr-line>Guiyang 550025</addr-line>
          ,
          <country country="CN">P. R. China</country>
        </aff>
      </contrib-group>
      <fpage>34</fpage>
      <lpage>40</lpage>
      <abstract>
        <p>We present a new framework for learning disjunctive logic programs from interpretation transitions, called LFDT. It is a nontrivial extension to Inoue, Ribeiro and Sakama's LF1T learning framework, which learns normal logic programs from interpretation transitions. Two resolutions for disjunctive rules are also presented and used in LFDT to simplify learned disjunctive rules.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        In machine learning and specifically inductive logic programming [
        <xref ref-type="bibr" rid="ref1 ref2 ref6 ref7">1, 2</xref>
        ], it is an
important task to learn the dynamics of complex systems, such as Boolean networks. A
Boolean network consist of a set of Boolean variables each of which has a Boolean
function. It is a simple yet a powerful mathematical tool to describe dynamics of
complex systems [
        <xref ref-type="bibr" rid="ref3 ref4 ref8">3, 4</xref>
        ].
      </p>
      <p>
        Since a seminal work on representing Boolean networks by logic programs [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
there is increasing interest in approaching the task from the perspective of logic
programming [
        <xref ref-type="bibr" rid="ref10 ref19 ref20 ref21 ref9">6–8</xref>
        ]. In particular, Inoue, Ribeiro and Sakama proposed a novel
framework, named LF1T, for learning normal logic programs from interpretation transitions
that are pairs hI; J i of interpretations with TP (I) = J , where TP is the immediate
consequence operator for a normal logic program P [
        <xref ref-type="bibr" rid="ref19 ref9">6</xref>
        ].
      </p>
      <p>
        It is well-known that disjunctive logic programs [
        <xref ref-type="bibr" rid="ref11 ref12 ref22 ref23">9, 10</xref>
        ] are substantially more
expressive than normal logic programs at many aspects. To extend LF1T for learning
disjunctive logic programs from interpretation transitions, we present a new immediate
consequence operator TPd for a disjunctive logic program P . Informally, TPd (I) consists
of all minimal models of the heads of rules in P whose bodies are satisfied by I.
      </p>
      <p>Comparing with LF1T framework for learning normal logic programs, a nontrivial
work in the paper is to handle with nondeterministic interpretation transitions, i.e., it
is possible there are two interpretation transitions hI; J i and hI; J 0i in an observation
with J 6= J 0. Combining with two new proposed resolutions for disjunctive rules, we
achieve the new framework for learning disjunctive logic programs from interpretation
transitions, called LFDT. It is proved being both sound and complete.</p>
    </sec>
    <sec id="sec-2">
      <title>Disjunctive Logic Programs</title>
      <p>We assume a underlying first-order language without proper function symbols L and
denote its Herbrand base (the set of all ground atoms) by A. We assume A is finite for
our learning purpose.</p>
      <p>A (disjunctive) logic program is a finite set of (disjunctive) rules of the form
A1 _
_ Ak</p>
      <p>B1 ^
^ Bm ^ :C1 ^
^ :Cn;
(1)
where k 1; m 0; n 0 and Ai (1 i k); Bj (1 j m), and Cs (1 s n)
are atoms of L.</p>
      <p>For a rule r of the form (1), the head of r, written hd(r), is A1 _ _ Ak; the
body of r, written bd(r), is the conjunction B1 ^ ^ Bm ^ :C1 ^ ^ :Cn; the
atoms occurring in the body of r positively (resp. negatively) is denoted by bd+(r) =
fB1; : : : ; Bmg (resp. bd (r) = fC1; : : : ; Cng). If k = 1 then r is normal. A
normal logic program is a finite set of normal rules. Given a logic program P , we denote
hd(P ) = Sr2P hd(r) and bd(P ) = Sr2P bd(r). For convenience, we also write hd(r)
as the set fA1; : : : ; Akg, and bd(r) as the set fB1; : : : ; Bm; :C1; : : : ; :Cng when there
is no confusion. In this sense, a rule r of the form (1) can be alternatively written as
fA1; : : : ; Akg</p>
      <p>fB1; : : : ; Bm; :C1; : : : ; :Cng:
is a function from variables to terms, which is written in the
fol</p>
      <p>A substitution
lowing form</p>
      <p>
        fx1=t1; : : : ; xn=tng
where xis (1 i n) are pair-wise distinct variables and tis (1 i n) are terms
(of the language L). The application e of to an expression e is obtained from e by
simultaneously replacing all occurrences of each variable xi in e with the same term
ti, and e is called an instance of e [
        <xref ref-type="bibr" rid="ref13 ref24">11</xref>
        ]. The substitution is ground if ti contains no
variables for every xi=ti in . If the instance e of e contains no variable then it is a
ground instance of e. The ground of a logic program P , written ground(P ), is the set
Sr2P ground(r), where
      </p>
      <p>ground(r) = fr j r is a ground instance of rg:</p>
      <p>For simplicity, we assume logic programs are always ground in the following of the
paper, unless explicitly stated otherwise.</p>
      <p>Let r1; r2 be two rules. We say that r1 subsumes r2, written r1 r2, if there exists a
substitution such that hd(r1) hd(r2) and bd(r1) bd(r2). In this sense, we say
that r1 is more (or equally) general than r2, and r2 is less (or equally) general than r1.
By r1 r2 we mean r1 subsumes r2 but r2 does not subsume r1. For a logic program
P , we denote SR(P ) the logic program obtained from P by removing all rules that are
properly subsumed by some other rules in P , i.e.,
(2)
(3)
(4)
SR(P ) = fr 2 P j6 9r0 2 P s:t : r0
rg:
(5)</p>
      <p>A (Herbrand) interpretation I is a set of ground atoms. An interpretation I satisfies
a ground rule r if I satisfies bd(r) implies I satisfies hd(r). It satisfies a rule r if I
satisfies every ground rule in ground(r). It satisfies a logic program P if it satisfies
every rule in the logic program P . In this case we call I a model of a (ground) rule
(resp., logic program). In the following we use “j=” to denote the satisfaction relation,
and “ ” to denote the classical equivalence relation.</p>
      <p>A rule r is applicable w.r.t. an interpretation I if I j= bd(r). Let P be a logic
program. We denote app(P; I) the set of rules in P that are applicable w.r.t. I.
Definition 1. Let P be a disjunctive logic program. The immediate consequence
operator TPd : 2A ! 22A is defined as follows, for I A,</p>
      <p>TPd (I) = fSjS is a minimal (under set inclusion) model of hd(app(P; I))g:
(6)</p>
      <p>
        Please note that the operator TPd is a generalization to the operator TP for normal
logic programs [
        <xref ref-type="bibr" rid="ref14 ref25">12</xref>
        ], and it is similar to the operator TPnd for logic programs with
abstract constraint atoms [
        <xref ref-type="bibr" rid="ref15 ref26">13</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Two resolutions</title>
      <p>
        To extend the learning algorithm for normal logic programs in [
        <xref ref-type="bibr" rid="ref19 ref9">6</xref>
        ] to disjunctive logic
programs, we extend its ground resolution for disjunctive rules and present a combined
resolution. Recall that a literal l is either an atom or its classical negation. The
complement of l, written l, is defined as A = :A and :A = A where A is an atom. For a set
S of atoms, we denote :S = f:AjA 2 Sg.
      </p>
      <sec id="sec-3-1">
        <title>Definition 2 (disjunctively ground resolution). Let r and r0 be two ground rules. The</title>
        <p>rule r is disjunctively ground resolvable w.r.t. r0 on a literal l whenever
(a) l 2 bd(r) and l 2 bd(r0),
(b) bd(r0) n flg bd(r) n flg, and
(c) hd(r0) hd(r).</p>
        <p>The disjunctive ground resolvent of r w.r.t. r0 on l is the rule hd(r) bd(r) n flg. We
denote it by gr(r; r0). In particular, if the above condition (b) is strengthen to
bd(r0) n flg = bd(r) n flg
(7)
then we say that r is disjunctively naive resolvable w.r.t. r0 on l.</p>
        <p>The following proposition shows that the disjunctive ground resolution preserves
the equivalence of the TPd operator in terms of TPd (I) = TPd0 (I) for every I A where
P 0 is obtained from P by adding some disjunctive ground resolvent.</p>
        <p>Proposition 1. Let P be a ground logic program containing two disjunctive rules r
and r0 such that r is disjunctively ground resolvable w.r.t. r0 on a literal l, and Q =
P [ fgr(r; r0)g. Then hd(app(P; I)) hd(app(Q; I)) for every I A.
Definition 3 (combined resolution). Let r1; : : : ; rk and r be the following rules:
bd+ [ :(bd
.
.</p>
        <p>.
rk : hd(rk)
r : hd(r)
bd+ [ :(bd
bd+ [ fbij1
[ fbkg);
i
kg [ :bd 0
such that
– bd \ fbij1 i kg = ;, and
– hd(ri) hd(r) for every i (1
i</p>
        <p>k).</p>
        <p>Then the combined resolvent of r; r1; : : : ; rk, written cr(r; r1; : : : ; rk), is the rule
r : hd(r)
bd+ [ :(bd
[ bd 0):
(8)
In this case we say that the rules r; r1; : : : ; rk are combined resolvable.</p>
        <p>The next proposition shows that, similar to the disjunctive ground resolution, the
combined resolution preserves the equivalence of the TPd operator as well.
Proposition 2. Let P be a logic program containing rules r; r1; : : : ; rk such that r,
r1, : : :, rk are combined resolvable, and Q = P [ fcr(r; r1; : : : ; rk)g. It holds that
hd(app(P; I)) hd(app(Q; I)) for any I A.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Learning from 1-step Transitions</title>
      <p>In the section we present our inductive learning task for disjunctive logic programs and
its learning algorithm. Properties of the algorithm are investigated as well.
4.1</p>
      <sec id="sec-4-1">
        <title>The Learning Task</title>
        <p>A background theory is a logic program. An example (or observation) is a state
transition (or interpretation transition), i.e., a tuple hI; J i with I A and J A, which
means that the state J is a candidate successor of the state I in a Boolean network, or
J 2 TPd (I) for a disjunctive logic program P . Let E be a set of examples. We denote
Ei = fI j hI; J i 2 Eg, Eo = fJ j hI; J i 2 Sg and E(I) = fJ j hI; J i 2 Eg for
I A. The set E is total whenever Ei = 2A.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Definition 4 (the learning task). An inductive learning task from nondeterministic</title>
        <p>state transitions is, given a background theory B and a set E of examples (state
transitions), to find a hypothesis (a logic program) H such that, for every example hI; J i 2 E,
J 2 T d</p>
        <p>B[H (I) holds.</p>
        <p>The above inductive learning task is written as ILT(B; E). Such a hypothesis H to
the inductive learning task is called a solution to ILT(B; E). For our learning purpose,
the given examples have to be restricted. For instance, let E = fh;; ;i; h;; fpgig and
B = ;. There will be no logic program H satisfying f;; fpgg TBd[H (;), since the
sets in the collection T d</p>
        <p>B[H (;) are incomparable under set inclusion, while ; and fpg
are comparable under set inclusion.</p>
        <p>A set E of state transitions is coherent if J and J 0 are incomparable under set
inclusion for every hI; J i and hI; J 0i in E, i.e., J and J 0 are all minimal under set
inclusion. A set E of state transitions is consistent w.r.t. a logic program P , if for each
hI; J i 2 E, I j= bd(r) implies J j= hd(r) holds for every rule r in P .</p>
        <p>The following property identifies the sufficient and necessary condition for the
existence of a solution to an inductive learning task.</p>
        <p>Proposition 3. Given an inductive learning task ILT(B; E) where B is a background
theory and E is a set of observations, there exists a solution H to ILT(B; E) if and only
if E is coherent and E is consistent w.r.t. B.
4.2</p>
      </sec>
      <sec id="sec-4-3">
        <title>An Inductive Learning Algorithm</title>
        <p>In the following we present a bottom-up method to compute a logic program for our
inductive learning tasks. This method generates hypothesis by generalization from the
most specific rules until all examples are covered.</p>
        <p>Firstly, let q 2 A and I A. We denote rqI the following rule:
q</p>
        <p>I [ :I
(9)
which is the most specific normal rule such that q belongs to a candidate successor
of the state I. Now the LFDT algorithm is showed in Algorithm 1. Intuitively, this
algorithm is to construct the following rules for these examples with the same first state
in the state transitions hI; J1i; : : : ; hI; Jmi of E:</p>
        <p>H</p>
        <p>I [ :I;</p>
        <p>H is a minimal hitting set of J1; : : : ; Jm:
(10)</p>
        <p>
          The algorithm AddRule, shown in Algorithm 2, adds these rules into the result. It
also simplifies the result by removing being subsumed rules through disjunctive ground
resolution and combined resolution. Since disjunctive ground resolution is a
generalization of ground resolution, this algorithm is also a generalization of the algorithm LF1T
in [
          <xref ref-type="bibr" rid="ref19 ref9">6</xref>
          ], which learns normal logic programs from (deterministic) state transitions, i.e.,
I1 6= I2 for any two distinct state transitions hI1; J1i and hI2; J2i in E.
        </p>
        <p>Let P be a logic program, and E be a coherent set of state transitions which is
consistent w.r.t. a background theory B. The logic program P is complete for E w.r.t.
B if fJ j hI; J i 2 Eg TBd[P (I) for any I 2 Ei, it is sound for E if TBd[P (I)
fJ j hI; J i 2 Eg for any I 2 Ei. A learning algorithm is complete (resp. sound) for E
w.r.t. B if its output is complete (resp. sound) for E w.r.t. B. In the following we show
the correctness of the LFDT algorithm according to its soundness and completeness.
Theorem 1. The algorithm LFDT is sound and complete (with disjunctive ground
resolution, combined resolution, and/or subsumption reduction). Namely, if E is coherent
and B is consistent w.r.t. E then the output P by the algorithm LFDT is sound and
complete for E w.r.t. B.
In this paper we proposed a new framework LFDT for learning disjunctive programs
from interpretation transitions. It is a nontrivial and substantial extension to the LF1T
framework. One remaining challenge work is to apply the learning approach to practical
domains, such as bio-informatics for which LF1T is successfully applied.</p>
        <p>Acknowledgement. We thank reviewers for their helpful comments. This work
is partially supported by NSFC under grant 63170161, Stadholder Fund of Guizhou
Province under grant (2012)62, Outstanding Young Talent Training Fund of Guizhou
Province under grant (2015)01 and Science and Technology Fund of Guizhou Province
under grant [2014]76400, Scientific and Technological Research Program of Chongqing
Municipal Education Commission under Grant No. KJ1601129.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Muggleton</surname>
          </string-name>
          and Luc De Raedt.
          <article-title>Inductive logic programming: Theory and methods</article-title>
          .
          <source>Journal of Logic Programming</source>
          ,
          <volume>19</volume>
          /20:
          <fpage>629</fpage>
          -
          <lpage>679</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Muggleton</surname>
          </string-name>
          , Luc De Raedt, David Poole, Ivan Bratko, Peter A.
          <string-name>
            <surname>Flach</surname>
            , Katsumi Inoue, and
            <given-names>Ashwin</given-names>
          </string-name>
          <string-name>
            <surname>Srinivasan</surname>
          </string-name>
          .
          <article-title>ILP turns 20 - biography and future challenges</article-title>
          .
          <source>Machine Learning</source>
          ,
          <volume>86</volume>
          (
          <issue>1</issue>
          ):
          <fpage>3</fpage>
          -
          <lpage>23</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Kauffman</surname>
          </string-name>
          .
          <article-title>Metabolic stability and epigenesis in randomly constructed genetic nets</article-title>
          .
          <source>Journal of Theoretical Biology</source>
          ,
          <volume>22</volume>
          (
          <issue>3</issue>
          ):
          <fpage>437</fpage>
          -
          <lpage>467</lpage>
          ,
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Stuart</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Kauffman</surname>
          </string-name>
          .
          <article-title>The Origins of Order: Self-Organization and Selection in Evolution</article-title>
          . Oxford: Oxford University Press,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Katsumi</given-names>
            <surname>Inoue</surname>
          </string-name>
          .
          <article-title>Logic programming for boolean networks</article-title>
          . In Toby Walsh, editor,
          <source>IJCAI 2011, Proceedings of the 22nd International Joint Conference on Artificial Intelligence</source>
          , Barcelona, Catalonia, Spain,
          <source>July 16-22</source>
          ,
          <year>2011</year>
          , pages
          <fpage>924</fpage>
          -
          <lpage>930</lpage>
          . IJCAI/AAAI,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>Algorithm 2: AddRule(r; P ) Input: A rule r and a logic program P</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>1 if 9r0 2 P s</article-title>
          .
          <source>t. r0 r then return;</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>3 foreach r0 2 P do if r r0 then P P n fr0g;</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>6 P P [ frg;</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <article-title>7 while r; r1; : : : ; rk 2 P are combined resolvable do AddRule(cr</article-title>
          (r; r1; : : : ; rk));
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <article-title>9 foreach r0 2 P do</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <article-title>10 if r is disjunctively ground resolvable w</article-title>
          .r.t. r0 then
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <article-title>11 AddRule(gr</article-title>
          (r; r0); P );
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <article-title>12 else if r0 is disjunctively ground resolvable w</article-title>
          .r.t. r then
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <article-title>13 AddRule(gr(r0</article-title>
          ; r); P );
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>14 end</mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>15 end</mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>16 return P ;</mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Katsumi</given-names>
            <surname>Inoue</surname>
          </string-name>
          , Tony Ribeiro, and
          <string-name>
            <given-names>Chiaki</given-names>
            <surname>Sakama</surname>
          </string-name>
          .
          <article-title>Learning from interpretation transition</article-title>
          .
          <source>Machine Learning</source>
          ,
          <volume>94</volume>
          (
          <issue>1</issue>
          ):
          <fpage>51</fpage>
          -
          <lpage>79</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Maxime</given-names>
            <surname>Folschette</surname>
          </string-name>
          , Lo¨ıc Pauleve´,
          <string-name>
            <surname>Katsumi</surname>
            <given-names>Inoue</given-names>
          </string-name>
          , Morgan Magnin, and
          <string-name>
            <surname>Olivier</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Identification of biological regulatory networks from process hitting models</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>568</volume>
          :
          <fpage>49</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          8. David Mart´ınez, Tony Ribeiro, Katsumi Inoue, Guillem Alenya`, and
          <string-name>
            <given-names>Carme</given-names>
            <surname>Torras</surname>
          </string-name>
          .
          <article-title>Learning probabilistic action models from interpretation transitions</article-title>
          . In Marina De Vos, Thomas Eiter, Yuliya Lierler, and Francesca Toni, editors,
          <source>Proceedings of the Technical Communications of the 31st International Conference on Logic Programming (ICLP</source>
          <year>2015</year>
          ), Cork, Ireland,
          <source>August 31 - September 4</source>
          ,
          <year>2015</year>
          ., volume
          <volume>1433</volume>
          <source>of CEUR Workshop Proceedings. CEURWS.org</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Michael</given-names>
            <surname>Gelfond</surname>
          </string-name>
          and
          <string-name>
            <given-names>Vladimir</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          .
          <article-title>Classical negation in logic programs</article-title>
          and disjunctive databases.
          <source>New Generation Computing</source>
          ,
          <volume>9</volume>
          :
          <fpage>365</fpage>
          -
          <lpage>385</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jorge</surname>
            <given-names>Lobo</given-names>
          </string-name>
          , Jack Minker, and
          <string-name>
            <given-names>Arcot</given-names>
            <surname>Rajasekar</surname>
          </string-name>
          .
          <article-title>Foundations of disjunctive logic programming</article-title>
          .
          <source>Logic Programming</source>
          . MIT Press,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          11.
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Lloyd</surname>
          </string-name>
          .
          <source>Foundations of Logic Programming</source>
          .
          <source>Springer-Verlag, 2nd edition</source>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          12.
          <string-name>
            <surname>Maarten H. van Emden</surname>
          </string-name>
          and
          <article-title>Robert A. Kowalski. The semantics of predicate logic as a programming language</article-title>
          .
          <source>Journal of the ACM</source>
          ,
          <volume>23</volume>
          (
          <issue>4</issue>
          ):
          <fpage>733</fpage>
          -
          <lpage>742</lpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          13.
          <string-name>
            <surname>Victor</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Marek</surname>
            and
            <given-names>Miroslaw</given-names>
          </string-name>
          <string-name>
            <surname>Truszczynski</surname>
          </string-name>
          .
          <article-title>Logic programs with abstract constraint atoms</article-title>
          .
          <source>In Proceedings of the Nineteenth National Conference on Artificial Intelligence, Sixteenth Conference on Innovative Applications of Artificial Intelligence (AAAI</source>
          <year>2004</year>
          ), pages
          <fpage>86</fpage>
          -
          <lpage>91</lpage>
          , San Jose, California, USA,
          <year>2004</year>
          . AAAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          14.
          <string-name>
            <surname>Gordon</surname>
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Plotkin</surname>
          </string-name>
          .
          <article-title>A note on inductive generalisation</article-title>
          . In B. Meltzer and D. Michie, editors,
          <source>Machine Intelligence</source>
          , volume
          <volume>5</volume>
          , chapter 8, pages
          <fpage>153</fpage>
          -
          <lpage>163</lpage>
          . Edingburgh Unviersity Press,
          <year>1970</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>