<!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>
      <journal-title-group>
        <journal-title>Seventh Workshop on Practical Aspects of Automated Reasoning, June</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Querying the Guarded Fragment via Resolution (Extended Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sen Zheng</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Renate A. Schmidt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Manchester</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <volume>2</volume>
      <fpage>9</fpage>
      <lpage>30</lpage>
      <abstract>
        <p>The problem of answering Boolean conjunctive queries over the guarded fragment is decidable, however, as yet no practical decision procedure exists. In this paper, we present a resolution decision procedure to address this problem. In particular, we show that using the top-variable inference system, the separation rule and a form of dynamic renaming, one can derive a saturated set of query clauses and guarded clauses. As far as we know, this provides the first practical decision procedure for answering Boolean conjunctive queries over the guarded fragment.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Resolution Decision Procedure</kwd>
        <kwd>Guarded Fragment</kwd>
        <kwd>Boolean Conjunctive Query Answering</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        of predicate symbols and the number of variables are limited. Also, guarded existential rules
can be seen as Horn guarded formulae. Querying GF is known to be 2ExpTime-complete [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ],
however, as yet there has been insuficient efort to develop practical querying procedures. In
this work, we present a resolution decision procedure to solve BCQ answering problems in GF.
Resolution provides a powerful method for developing practical decision procedures as has
been shown in [
        <xref ref-type="bibr" rid="ref11 ref12 ref21 ref22 ref23 ref24 ref25">11, 21, 12, 22, 23, 24, 25</xref>
        ] for example.
      </p>
      <p>
        One of the main challenges in this work is the handling of BCQs, since these formulae, e.g.,
∃( ∧ ), are beyond GF. By simply negating a BCQ, one can obtain a query clause: a
clause containing only negative literals in which only variables and constants are arguments,
such as ¬ ∨ ¬. One can take query clauses as (hyper-)graphs where variables are
vertices and literals are edges. Then we use a separation rule Sep [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] (which is also referred to
as ‘binary splitting rule with naming’ [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]) and the splitting rule Split [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] to cut branches of
query clauses. Each ‘cut branch’ follows the guardedness pattern, namely is a guarded clause. In
general, we found that if a query clause  is acyclic, one can transform  into a set of guarded
clauses by exhaustively applying separation and splitting to . That an acyclic BCQ can be
equivalently rewritten as a guarded formula is also reflected in other works [
        <xref ref-type="bibr" rid="ref29 ref30">29, 30</xref>
        ]. If a query
clause is cyclic, after cutting of its branches, one can obtain a query clause  that only consists
of variable cycles, i.e., each variable in  connects two distinct literals that share non-inclusive
variable sets. We use top variable resolution TRes to handle such query clauses, so that by
resolving multiple literals in , the variable cycles are broken. Then we use a dynamic renaming
technique T-Trans, to transform a TRes-resolvent into a query clause and guarded clauses. We
show that only finitely many definers are introduced by Sep and T-Trans.
      </p>
      <p>
        Top variable resolution TRes is inspired by the ‘MAXVAR’ technique in deciding the loosely
guarded fragment [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ], which later adjusted in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] to solve BCQs answering problem over
the Horn loosely guarded fragment. Interestingly, we discovered that separation and splitting
in query rewriting behaves like GYO-reduction represented in [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], where cyclic queries [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]
are identified by recursively removing ‘ears’ in the hypergraph of the given cyclic queries.
A similar query rewriting procedure is ‘squid decomposition’ [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], aiming to rewrite BCQs
over Datalog+/− using the chase approach [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. In a squid decomposition, a query is regarded
as a squid-like graph in which branches are ‘tentacles’ and variable cycles are ‘heads’. Squid
decomposition finds ground atoms that are complementary in the squid head, then uses ground
unit resolution to eliminate the heads. Our approach first uses Sep and Split to cut all ‘tentacles’,
and then uses TRes to break cycles in ‘heads’. Hence, grounding is not necessary.
      </p>
      <p>
        Another task is building an inference system to reason with guarded clauses. Existing
inference systems for GF are either based on tableau (see [
        <xref ref-type="bibr" rid="ref10 ref35">10, 35</xref>
        ]) or resolution (see [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11, 12, 13</xref>
        ]).
Our aim is to develop an inference system in line with the framework in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], as it provides a
powerful system unifying many diferent resolution refinement that exist in diferent forms of
standard resolution, hyper-resolution and selection-based resolution. We develop our system as
a variation of [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ], which are the only existing systems that decide GF, so that we can take
advantage of simplification rules and notions of redundancy elimination.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>Let C, F, P denote pairwise disjoint discrete sets of constant symbols , function symbols 
and predicate symbols  , respectively. A term is either a variable or a constant or an
expression  (1, . . . , ) where  is a -ary function symbol and 1, ...,  are terms. A compound
term is a term that is neither a variable nor a constant. A ground term is a term containing no
variables. An atom is an expression  (1, . . . , ), where  is an -ary predicate symbol and
1, . . . ,  are terms. A literal is an atom  (a positive literal) or a negated atom ¬ (a negative
literal). The terms 1, . . . ,  in literal  =  (1, . . . , ) are the arguments of . A first-order
clause is a multiset of literals, presenting a disjunction of literals. An expression can be a term,
an atom, a literal, or a clause.</p>
      <p>We use dep() to denote the depth of a term , formally defined as: if  is a variable or
a constant, then dep() = 0; and if  is a compound term  (1, . . . , ), then dep() =
1 + ({dep() | 1 ≤  ≤ }). In a first-order clause , the length of  means the number
of literals occurring in , denoted as len(), and the depth of  means the deepest term depth
in , denoted as dep(). Let ,  , ,  denote a sequence of variables, a set of variables, a
set of atoms and a set of clauses, respectively. Let var(), var() be a set of variables in a an
expression .</p>
      <p>The rule set Σ denotes a set of first-order formulae and the database  denotes a set of
ground atoms. A Boolean conjunctive query (BCQ)  is a first-order formula of the form ∃ ()
where  is a conjunction of atoms, in which arguments are only constants and variables. Thus
we can answer a Boolean conjunctive query Σ ∪  |=  by checking the satisfiability of
Σ ∪  ∪ ¬. In this work, we particularly focus on the case when Σ is expressed in GF without
function symbols and equality.</p>
    </sec>
    <sec id="sec-3">
      <title>3. From Logic Fragments to Clausal Sets</title>
      <p>In this section, we provide the formal definitions of GF and define a structural transformation
so that guarded formulae and BCQs can be converted into suitable sets of clauses.
Definition 1 (Guarded Fragment). Without equality and function symbols, the guarded
fragment (GF) is a class of first-order formulae, inductively defined as follows:
1. ⊤ and ⊥ belong to  .
2. If  is an atom, then  belongs to  .
3.  is closed under Boolean combinations.
4. Let  belong to  and  an atom. Then ∀( →  ) and ∃( ∧  ) belong to  if
all free variables of  are among variables of .  is referred to as guard.</p>
      <p>
        Clausal Transformation. We now introduce the clausal transformation for GF and BCQs.
We use Q-Trans to denote our clausal transformation, which is a variation of the structural
transformation used in [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11, 12, 13</xref>
        ]. We explicitly assume that all free variables are existentially
quantified. Due to the page limit, we refer readers to [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ] for detailed notions of clausal
transformation techniques.
      </p>
      <p>If an input formula is a BCQ, then we simply negate the BCQ to obtain a query clause. Using
Q-Trans, a guarded formula  can be transformed into a set of clauses as follows:
1. Add existential quantifiers for all free variables in  and transform  into negation
normal form, obtaining the formula  .
2. Apply the structural transformation: introduce fresh predicate symbols ∀ for universally
quantified subformulae, obtaining .
3. Transform  into prenex normal form and then apply Skolemisation, obtaining .
4. Drop all universal quantifiers and transform  into conjunctive normal form, obtaining
a set of guarded clauses.</p>
      <p>
        We use the following notions to formally define query clauses and guarded clauses. A literal
is flat if each argument in it is either a constant or a variable. A literal is simple [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] if each
argument in it is either a variable or a constant or a compound term  (1, . . . , ) where each
 is a variable or a constant. A clause  is called simple (flat ) if all literals in  are simple (flat).
A clause  is covering if each compound term  in  satisfies var() = var().
      </p>
      <sec id="sec-3-1">
        <title>Definition 2.</title>
        <p>A query clause is a flat first-order clause containing only negative literals.</p>
        <p>Definition 3. A guarded clause  is a simple and covering first-order clause satisfying the
following conditions:</p>
        <sec id="sec-3-1-1">
          <title>1.  is either ground, or</title>
          <p>2.  contains a negative flat literal ¬ satisfying var() = var().  is referred to as guard.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Top Variable Inference System</title>
      <p>
        In this section, we present the top variable based inference system from [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], inspired by [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
which is enhanced with the splitting rule. The system is defined in the spirit of [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] and provides
a decision procedure for the loosely guarded fragment and querying the Horn loosely guarded
fragment [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The loosely guarded fragment [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ] strictly subsumes GF by allowing multiple
guards that enjoy variable co-occurrence property. Based on the system in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], we build a
system for querying the whole of GF.
      </p>
      <p>Let ≻ be a strict ordering, called a precedence, on the symbols in C, F and P. An ordering ≻
on expressions is liftable if 1 ≻ 2 implies 1 ≻ 2 for all expressions 1, 2 and all
substitutions  . An ordering ≻ on literals is admissible, if i) it is well-founded and total on
ground literals, and liftable, ii) ¬ ≻  for all ground atoms , iii) if  ≻ , then  ≻ ¬  for
all ground atoms  and . A ground literal  is (strictly) ≻ -maximal with respect to a ground
clause  if for any ′ in ,  ⪰ ′ ( ≻ ′). A non-ground literal  is (strictly) maximal with
respect to a non-ground clause  if and only if there is a ground substitution  such that  is
(strictly) maximal with respect to  , that is, for all ′ in ,  ⪰ ′ ( ≻ ′ ). A selection
function Select() selects a possibly empty set of occurrences of negative literals in a clause 
with no other restriction imposed. Inferences are only performed on eligible literals. A literal 
is eligible in a clause  if either nothing is selected by the selection function Select() and 
is a ≻ -maximal literal with respect to , or  is selected by Select().</p>
      <p>The top variable based inference system T-Inf containing the rules: Deduct, Split, Fact, Res,
TRes using the refinement T-Refine , given as follows.</p>
      <sec id="sec-4-1">
        <title>Deduct:</title>
      </sec>
      <sec id="sec-4-2">
        <title>Split:</title>
      </sec>
      <sec id="sec-4-3">
        <title>Fact: TRes:</title>
        <p>∪ {}
 ∪ { ∨ }
 ∪ {} |  ∪ {}
 ∨ 1 ∨ 2
( ∨ 1)
if  is a conclusion of either Res, or TRes, or Fact, derived
from clauses in  .
if  and  are non-empty and variable disjoint.
if no literal is selected in , and 1 is maximal w.r.t.</p>
        <p>∨ 1 ∨ 2.  is an mgu of 1 and 2.</p>
        <p>Res:
 ∨ 1 ¬ ∨</p>
        <p>(1 ∨ )
if i) either  is selected, or nothing is selected in ¬ ∨  and ¬ is the maximal literal, ii)  is
strictly ≻ -maximal w.r.t. 1. The premises are variable disjoint and  is an mgu of  and .
1 ∨ 1, . . . ,  ∨ , . . . ,  ∨ 
¬1 ∨ . . . ∨ ¬ ∨ . . . ∨ ¬ ∨ 
(1 ∨ . . . ∨  ∨ ¬+1 ∨ . . . ∨ ¬ ∨ )
if i) there exists an mgu  ′ such that  ′ =  ′ for each  such that 1 ≤  ≤ , making
¬1 ∨ . . . ∨ ¬ top-variable literals and being selected, and  is positive, iv) no literal is
selected in 1, . . . ,  and 1, . . . ,  are strictly ≻ -maximal w.r.t. 1, . . . , , respectively.
The premises are variable disjoint and  is an mgu such that  =  for all  such that
1 ≤  ≤ .</p>
        <p>The top-variable literals are computed using ComputeTop(1, . . . , , ) in three steps:
1. Without producing or adding the resolvent, compute an mgu  ′ among 1 = 1 ∨
1, . . . ,  =  ∨  and  = ¬1 ∨ . . . ∨ ¬ ∨  such that  ′ =  ′ for each
 satisfying that 1 ≤  ≤ .
2. Compute the variable order &gt; and = over variables in ¬1 ∨ . . . ∨ ¬:  &gt;  if
dep( ′) &gt; dep( ′) and  =  if dep( ′) = dep( ′).
3. Based on &gt; and =, identify the maximal variables in ¬1 ∨ . . . ∨ ¬, which we call
the top variables. The top-variable literals for an application of TRes to  are literals in
 containing at least one top variable.</p>
        <p>
          We use T-Refine to denote the following resolution refinement: i) a lexicographic path
ordering ≻  [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ] based on a precedence that any function symbol is larger than constant symbols,
and any constant symbol is larger than predicate symbols, ii) selection functions and iii)
Algorithm 1, which computes the eligible literals based on ≻  and selection functions. Given a
clause , eligible literals in it are either the (strictly) ≻ -maximal literals, denoted as Max();
or selected literals, denoted as: Select(), SelectG() and SelectT(). Select() selects one
of negative compound literals in , SelectG() selects one of guards in , and SelectT() is
described in Lines 11–16 of Algorithm 1.
        </p>
        <p>
          Theorem 1 ([
          <xref ref-type="bibr" rid="ref12 ref13 ref28">28, 13, 12</xref>
          ]). Let  be a set of clauses that is saturated up to redundancy with
respect to T-Inf. Then,  is unsatisfiable if and only if  contains an empty clause.
Algorithm 1: Computing eligible literals in a clause
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Handling Query Clauses</title>
      <p>We use the separation and splitting rules to ‘cut of’ branches of query clauses. A clause is
indecomposable if it cannot be partitioned into two non-empty variable-disjoint subclauses.
Using Split, a decomposable query clause can be transformed into a set of indecomposable
query clauses. Hence from now on, we assume all query clauses are indecomposable.</p>
      <p>Given a query clause , we use the notion of surface literal to divide variables in  into
two kinds of variables, i.e., chained variables and isolated variables. We say  is a surface literal
in a query clause  if for any ′ in  that is distinct from , var() ̸⊂ var(′). Let surface
literals in a query clause  be 1, . . . ,  where  ≥ 1. Then the chained variables in  are
variables among ⋃︀ var() ∩ var( ) whenever var() ̸= var( ), i.e., variables that link
,∈
distinct surface literals containing non-inclusive variable sets, and isolated variables are the
other non-chained variables. Now we can present the separation rule:</p>
      <p>Sep:</p>
      <p>∪ { ∨  ∨ }
 ∪ { ∨  ∨ (), ¬() ∨ }
if i)  is negative surface literal containing both chained variables  and isolated variables , ii)
 ⊆ var() and  ̸⊆ var(), iii) var() ⊆ var(), iv)  is a definer .</p>
      <p>Sep is a replacement rule in which the premise  ∨  ∨  is immediately replaced by its
conclusions  ∨  ∨ () and ¬() ∨ . We say a query clause containing only chained
variables is a chained-only query clause and a query clause containing only isolated variables
is an isolated-only query clause. E.g., ¬(1, 2) ∨ ¬(2, 3) ∨ ¬(3, 4) ∨ ¬(4, 1)
is a chained-only query clause where 1, 2, 3 and 4 are all chained variables, whereas
¬(1, 2, 3) ∨ ¬(2, 3) is an isolated-only query clause where 1, 2 and 3 are all
isolated variables. According to the definition of chained variables, if a query clause  contains
no chained variables, then either  contains only one surface literal, or all surface literals in 
share the same variables. Therefore
Lemma 1. An indecomposable isolated-only query clause is a guarded clause.</p>
      <p>Now we look at how Sep handles indecomposable query clauses.</p>
      <p>Lemma 2. Exhaustively applying Sep to an indecomposable query clause  transforms it into</p>
      <sec id="sec-5-1">
        <title>1. guarded clauses if  is an acyclic query clause, or 2. guarded clauses and a chained-only query clause if  is a cyclic query clause.</title>
        <p>So far we have considered how Sep handles query clauses. However, Sep itself is not suficient
to handle chained-only query clauses such as ¬1 ∨ ¬2 ∨ ¬3, where there exists a
so-called ‘variable cycle’ among ,  and . We employ the TRes rule to break such variable
cycles while avoiding term depth increase in derived clauses.</p>
        <p>Example 1. Given a chained-only query clause  and a set of guarded clauses 1, . . . , 6:
 = ¬1 ∨ ¬2 ∨ ¬3 ∨ ¬1 ∨ ¬2 ∨ ¬3
1 = 1( , ) ∨ () ∨ ¬1 2 = 2( ,  ) ∨ ¬2
3 = 3(,  ) ∨ ¬3
5 = 2( ,  ) ∨ ¬5
4 = 1( , ) ∨ ¬4
6 = 3(,  ) ∨ ¬6
ComputeTop(, 1, . . . , 6) computes the mgu {/ ( ( (1, 1), ′), * ), / ( (1, 1), ′),
/ (1, 1), / ( (1, 1), ′), / (1, 1)} among  and 1, . . . , 6. Hence  is the only top
variable in , so that TRes is performed on , 1 and 3, deriving  = ¬1 ∨ ¬3 ∨
() ∨ ¬2 ∨ ¬1 ∨ ¬2 ∨ ¬3.</p>
        <p>The first two figures in Figure 1 illustrate the variable relations of the flat literals in query
clause  and in TRes-resolvent  of Example 1. A cycle among ,  and  in  is broken by
TRes. The new challenge in this example is that  is neither a guarded clause nor a query
clause. On such resolvents we use the following structural transformation: we introduce fresh
predicate symbols , and use ¬ to replace the literals that are introduced to the query
Q:
y</p>
        <p>A1
x
A2</p>
        <p>A3
z
B2</p>
        <p>B1
w
u
B3</p>
        <p>R:
y G1, G3 x</p>
        <p>A2
B2</p>
        <p>B1
w
u
B3</p>
        <p>Q1:
y
dt x</p>
        <p>A2
B2</p>
        <p>B1
w
u
B3</p>
        <p>Q2:
x
B2</p>
        <p>B1
w
u
B3
clause, so that  is transformed into: ¬1 ∨ ¬3 ∨ () ∨  and ¬ ∨ ¬2 ∨
¬1 ∨ ¬2 ∨ ¬3. The former is a guarded clause and the latter is a query clause.</p>
        <p>We apply denote such structural transformation as T-Trans and apply it as the following
manner: Let TRes derive the resolvent (¬+1 ∨ . . . ∨ ¬ ∨ 1 ∨ . . . ∨  ∨ ) using
guarded clauses 1 ∨ 1, . . . ,  ∨  as the positive premises, a chained-only query clause
 = ¬1 ∨ . . . ∨ ¬ as the negative premise and a substitution  such that  =  for
all  such that 1 ≤  ≤  as an mgu. Then T-Trans introduces fresh predicate symbols  to
transform  into a set of clauses, in the following manner: Let 1, . . . ,  be top variables in
. Then we partition 1, . . . ,  into sets 1, . . . ,  such that i) each pair of sets contain no
common variable, and ii) each pair of variables in a set co-occurs in a literal of . Then for each
set in 1, . . . ,  containing variables  , if  occur in , we introduce a definer  for  .
Lemma 3. Let  be a chained-only query clause and  be a set of guarded clauses, T-Trans
transforms TRes-resolvents of  and  (if TRes is applicable) into a set of guarded clauses and a
query clause, of which the length is smaller than that of .</p>
        <p>Using T-Trans,  in Example 1 produces a query clause 1 = ¬ ∨ ¬2 ∨ ¬1 ∨
¬2 ∨ ¬3 and a guarded clause  ∨ ¬1 ∨ ¬3 ∨ () with a T-definer
. The newly derived query clause 1 has branches, hence one can use Sep to cut the branch
¬ ∨ ¬2 from 1 by introducing a definer , obtaining a guarded clause  ∨ ¬ ∨
¬2 and a query clause 2 = ¬ ∨ ¬1 ∨ ¬2 ∨ ¬3, which is a chained-only
query clause. Then one can break the cycle in 2 by TRes and derives a resolvent that can be
1 ,  ←
2  ←   ∪ 
3 if  is a chained-only query clause then
4 return SaturateCOQC(, )
Algorithm 2: Saturation procedure of query clauses and guarded clauses Q-Saturate
Input: A query clause , a set of guarded clauses</p>
        <p>SepSplit()
10
5 else return SaturateGC( ∪ );
6
7 Function SaturateCOQC(, ):
8 if  is a guarded clause then return SaturateGC( ∪ );
9 else if i) TRes is not applicable to  and SaturateGC() or ii) all inferences
between  and SaturateGC() are redundant then</p>
        <p>return SaturateGC() ∪ 
 ← TRes(1, . . . , , ) ;
, ′ ← T-Trans()
′, ′ ← SepSplit(′)
 ←   ∪ ′ ∪ 
return SaturateCOQC(, ) ∪ SaturateCOQC(, ′)</p>
        <p>◁ 1, . . . ,  ∈ SaturateGC()
later renamed into guarded clauses using T-Trans. The last two figures in Figure 1 show the
variable relations in 1 and 2 (the unary ¬ is omitted). We can see how Sep cut of 1’s
branches.</p>
        <p>Noticing that all the ‘byproducts’ of Sep, TRes and T-Trans are guarded clauses, we realise
that, given a query clause , these rules only produce guarded clauses from . In fact, we
found that the given query clause will eventually be reduced to either a guarded clause or
chained-only query clauses. Algorithm 2 formally describe the procedure to saturate query
clauses and guarded clause, namely Q-Saturate. SepSplit() is a function that recursively
applies Sep and Split to a query clause , outputting guarded clauses , and either an
isolated-only query clause (a guarded clause, Lemma 1) or a chained-only query clause .
SaturateCOQC(, ) is a function that saturates guarded clauses  and a chained-only query
clause . SaturateGC() is a function that uses T-Inf system to saturate guarded clauses .
TRes(1, . . . , , ) denotes a function that applies TRes to guarded clauses 1, . . . ,  and
a chained-only query clause , and outputs the resolvent . T-Trans() is a function that
applies T-Trans to the TRes-resolvent , deriving guarded clause  and a query clause ′.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Querying the Guarded Fragment</title>
      <p>
        Since it is known that T-Inf decides guarded clauses [
        <xref ref-type="bibr" rid="ref11 ref12">12, 11</xref>
        ], we consider the new rules Sep
and T-Trans. The new rules preserve satisfiability equivalence:
Lemma 4. In any application of Sep and T-Trans, the premise is satisfiable if and only if its
conclusions are satisfiable.
      </p>
      <p>Lemma 5. Sep and T-Trans only introduce a finitely bounded number of definers.</p>
      <p>We can show that T-Inf combined with Q-Saturate is sound and refutationally complete.
Theorem 2. Let  be a set of clauses that is saturated up to redundancy with respect to T-Inf
and Q-Saturate. Then,  is unsatisfiable if and only if  contains an empty clause.
Theorem 3. Q-Saturate decides guarded clauses and query clauses. Together with the clausal
transformation Q-Trans, Q-Saturate solves BCQ answering for GF.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion and Future Work</title>
      <p>
        In this paper, we present, as far as we know, the first practical query answering procedure
Q-Saturate that solves BCQ answering for GF. During the investigation, we found it interesting
that the same resolution-based techniques in automated reasoning are connected to techniques
found in the database literature. Since the mainstream query answering procedure in database
research uses a tableau-like chase approach [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], it would be interesting to see how a
resolutionbased approach performs in practice. We will implement the proposed procedure and conduct
empirical evaluations as future works.
      </p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments</title>
      <p>We thank Uwe Waldmann and PAAR 2020 reviewers for the very useful comments. Sen Zheng’s
work is partially sponsored by the Great Britain-China Educational Trust.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Baget</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Leclére</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.-L. Mugnier</surname>
          </string-name>
          , E. Salvat,
          <article-title>On rules with existential variables: Walking the decidability line</article-title>
          ,
          <source>Artif. Int</source>
          .
          <volume>175</volume>
          (
          <year>2011</year>
          )
          <fpage>1620</fpage>
          -
          <lpage>1654</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Chandra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Merlin</surname>
          </string-name>
          ,
          <article-title>Optimal implementation of conjunctive queries in relational data bases</article-title>
          ,
          <source>in: Proc. SToC'77</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>1977</year>
          , pp.
          <fpage>77</fpage>
          -
          <lpage>90</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <article-title>Constraint satisfaction and database theory: A tutorial</article-title>
          ,
          <source>in: Proc. PODS'00</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2000</year>
          , pp.
          <fpage>76</fpage>
          -
          <lpage>85</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>H.</given-names>
            <surname>Andréka</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Németi</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. van Benthem</surname>
          </string-name>
          ,
          <article-title>Modal languages and bounded fragments of predicate logic</article-title>
          ,
          <source>J. Philos. Logic</source>
          <volume>27</volume>
          (
          <year>1998</year>
          )
          <fpage>217</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Blackburn</surname>
          </string-name>
          , M. d. Rijke,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Venema</surname>
          </string-name>
          , Modal Logic, Cambridge Tracts in Theoretical Computer Science, Cambridge Univ. Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <article-title>Why is modal logic so robustly decidable?</article-title>
          ,
          <source>in: Proc. DIMACS Workshop</source>
          '96, DIMACS/AMS,
          <year>1996</year>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>183</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Grädel</surname>
          </string-name>
          ,
          <article-title>On the restraining power of guards</article-title>
          ,
          <source>J. Symb. Logic</source>
          <volume>64</volume>
          (
          <year>1999</year>
          )
          <fpage>1719</fpage>
          -
          <lpage>1742</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>I. Hodkinson</surname>
          </string-name>
          ,
          <article-title>Loosely guarded fragment of first-order logic has the finite model property</article-title>
          ,
          <source>Studia Logica</source>
          <volume>70</volume>
          (
          <year>2002</year>
          )
          <fpage>205</fpage>
          -
          <lpage>240</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Grädel</surname>
          </string-name>
          ,
          <article-title>Decision procedures for guarded logics</article-title>
          ,
          <source>in: Proc. CADE'16</source>
          , volume
          <volume>1632</volume>
          <source>of LNCS</source>
          , Springer,
          <year>1999</year>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hladik</surname>
          </string-name>
          ,
          <article-title>Implementation and optimisation of a tableau algorithm for the guarded fragment</article-title>
          ,
          <source>in: Proc. TABLEAUX'02</source>
          , volume
          <volume>2381</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2002</year>
          , pp.
          <fpage>145</fpage>
          -
          <lpage>159</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>H. de Nivelle</surname>
          </string-name>
          , M. de Rijke,
          <article-title>Deciding the guarded fragments by resolution</article-title>
          ,
          <source>J. Symb. Comput</source>
          .
          <volume>35</volume>
          (
          <year>2003</year>
          )
          <fpage>21</fpage>
          -
          <lpage>58</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ganzinger</surname>
          </string-name>
          , H. de Nivelle,
          <article-title>A superposition decision procedure for the guarded fragment with equality</article-title>
          ,
          <source>in: Proc. LICS'99</source>
          , IEEE,
          <year>1999</year>
          , pp.
          <fpage>295</fpage>
          -
          <lpage>303</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>Deciding the loosely guarded fragment and querying its Horn fragment using resolution</article-title>
          ,
          <source>in: Proc. AAAI'20</source>
          ,
          <string-name>
            <surname>AAAI</surname>
          </string-name>
          ,
          <year>2020</year>
          , pp.
          <fpage>3080</fpage>
          -
          <lpage>3087</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <article-title>Ontology-based database access</article-title>
          ,
          <source>in: Proc. SEBD'07</source>
          ,
          <string-name>
            <surname>SEBD</surname>
          </string-name>
          ,
          <year>2007</year>
          , pp.
          <fpage>324</fpage>
          -
          <lpage>331</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kikot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zakharyaschev</surname>
          </string-name>
          ,
          <article-title>Conjunctive query answering with OWL 2 QL</article-title>
          , in
          <source>: Proc. KR'12</source>
          ,
          <string-name>
            <surname>AAAI</surname>
          </string-name>
          ,
          <year>2012</year>
          , pp.
          <fpage>275</fpage>
          -
          <lpage>285</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <article-title>Tractable reasoning and eficient query answering in description logics: The DL-Lite family</article-title>
          ,
          <source>J. Automat. Reasoning</source>
          <volume>39</volume>
          (
          <year>2007</year>
          )
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mora</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <surname>O. Corcho,</surname>
          </string-name>
          <article-title>Kyrie2: Query rewriting under extensional constraints in ℰ ℒℋℐ</article-title>
          , in
          <source>: Proc. ISWC'14</source>
          , volume
          <volume>8796</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2014</year>
          , pp.
          <fpage>568</fpage>
          -
          <lpage>583</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Almatelli</surname>
          </string-name>
          ,
          <article-title>Improving query answering over DL-Lite ontologies</article-title>
          ,
          <source>in: Proc. KR'10</source>
          ,
          <string-name>
            <surname>AAAI</surname>
          </string-name>
          ,
          <year>2010</year>
          , pp.
          <fpage>290</fpage>
          -
          <lpage>300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Calì</surname>
          </string-name>
          , G. Gottlob, T. Lukasiewicz, Datalog+/
          <article-title>-: A unified approach to ontologies and integrity constraints</article-title>
          ,
          <source>in: Proc. ICDT'09</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2009</year>
          , pp.
          <fpage>14</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bárány</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Otto, Querying the guarded fragment</article-title>
          ,
          <source>in: Proc. LICS'10</source>
          , IEEE,
          <year>2010</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ganzinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Hustadt</surname>
          </string-name>
          , C. Meyer, R. A.
          <string-name>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>A resolution-based decision procedure for extensions of K4</article-title>
          ,
          <source>in: Proc. AiML'98</source>
          ,
          <string-name>
            <surname>CSLI</surname>
          </string-name>
          ,
          <year>1998</year>
          , pp.
          <fpage>225</fpage>
          -
          <lpage>246</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>C.</given-names>
            <surname>Geissler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Konolige</surname>
          </string-name>
          ,
          <article-title>A resolution method for quantified modal logics of knowledge and belief</article-title>
          ,
          <source>in: Proc. TARK'86</source>
          , Morgan Kaufmann,
          <year>1986</year>
          , pp.
          <fpage>309</fpage>
          -
          <lpage>324</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>U.</given-names>
            <surname>Hustadt</surname>
          </string-name>
          ,
          <article-title>Resolution Based Decision Procedures for Subclasses of First-order Logic</article-title>
          ,
          <source>Ph.D. thesis</source>
          , Univ. Saarlandes, Saarbrücken, Germany,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>U.</given-names>
            <surname>Hustadt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <article-title>On evaluating decision procedures for modal logic</article-title>
          ,
          <source>in: Proc. IJCAI'97</source>
          , Morgan Kaufmann,
          <year>1997</year>
          , pp.
          <fpage>202</fpage>
          -
          <lpage>207</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bachmair</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ganzinger</surname>
          </string-name>
          , U. Waldmann,
          <article-title>Superposition with simplification as a decision procedure for the monadic class with equality</article-title>
          ,
          <source>in: In Proc. KGC'93</source>
          , volume
          <volume>713</volume>
          <source>of LNCS</source>
          , Springer,
          <year>1993</year>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Hustadt</surname>
          </string-name>
          ,
          <article-title>A resolution decision procedure for fluted logic</article-title>
          ,
          <source>in: Proc. CADE'00</source>
          , volume
          <volume>1831</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2000</year>
          , pp.
          <fpage>433</fpage>
          -
          <lpage>448</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>A.</given-names>
            <surname>Riazanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          , Splitting Without Backtracking,
          <source>Research Report CSPP-10, Univ. Manchester</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bachmair</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ganzinger</surname>
          </string-name>
          ,
          <article-title>Resolution theorem proving</article-title>
          , in: A.
          <string-name>
            <surname>Robinson</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Voronkov (Eds.),
          <source>Handbook of Automated Reasoning</source>
          , Elsevier and MIT Press,
          <year>2001</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Scarcello</surname>
          </string-name>
          , Robbers, marshals, and
          <article-title>guards: Game theoretic and logical characterizations of hypertree width</article-title>
          ,
          <source>J. Comp. and Syst. Sci</source>
          .
          <volume>66</volume>
          (
          <year>2003</year>
          )
          <fpage>775</fpage>
          -
          <lpage>808</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bárány</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ten
            <surname>Cate</surname>
          </string-name>
          , L. Segoufin, Guarded negation,
          <source>J. ACM</source>
          <volume>62</volume>
          (
          <year>2015</year>
          )
          <volume>22</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          :
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>C.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ozsoyoglu</surname>
          </string-name>
          ,
          <article-title>An algorithm for tree-query membership of a distributed query</article-title>
          ,
          <source>in: Proc. COMPSAC'79</source>
          , IEEE,
          <year>1979</year>
          , pp.
          <fpage>306</fpage>
          -
          <lpage>312</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>M.</given-names>
            <surname>Yannakakis</surname>
          </string-name>
          ,
          <article-title>Algorithms for acyclic database schemes</article-title>
          ,
          <source>in: Proc. VLDB'81</source>
          ,
          <string-name>
            <given-names>VLDB</given-names>
            <surname>Endowment</surname>
          </string-name>
          ,
          <year>1981</year>
          , pp.
          <fpage>82</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>A.</given-names>
            <surname>Calì</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Kifer, Taming the infinite chase: Query answering under expressive relational constraints</article-title>
          ,
          <source>J. Artif. Int. Res</source>
          .
          <volume>48</volume>
          (
          <year>2013</year>
          )
          <fpage>115</fpage>
          -
          <lpage>174</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          , Foundations of Databases: The Logical Level, AddisonWesley Longman Publishing Co., Inc.,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>C.</given-names>
            <surname>Hirsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tobies</surname>
          </string-name>
          ,
          <article-title>A tableau algorithm for the clique guarded fragment</article-title>
          ,
          <source>in: Proc. AiML'00</source>
          ,
          <string-name>
            <surname>World</surname>
            <given-names>Scientific</given-names>
          </string-name>
          ,
          <year>2000</year>
          , pp.
          <fpage>257</fpage>
          -
          <lpage>277</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Egly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Leitsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Goubault-Larrecq</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Plaisted</surname>
          </string-name>
          ,
          <article-title>Normal form transformations</article-title>
          , in: J. A.
          <string-name>
            <surname>Robinson</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Voronkov (Eds.),
          <source>Handbook of Automated Reasoning (in 2 volumes)</source>
          ,
          <article-title>Elsevier and</article-title>
          MIT Press,
          <year>2001</year>
          , pp.
          <fpage>273</fpage>
          -
          <lpage>333</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <surname>J. van Benthem</surname>
          </string-name>
          ,
          <article-title>Dynamic bits</article-title>
          and pieces,
          <source>Research Report LP-97-01</source>
          , Univ. Amsterdam,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>N.</given-names>
            <surname>Dershowitz</surname>
          </string-name>
          ,
          <article-title>Orderings for term-rewriting systems</article-title>
          ,
          <source>Theoretical Comp. Sci. 17</source>
          (
          <year>1982</year>
          )
          <fpage>279</fpage>
          -
          <lpage>301</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>