<!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>Deciding Weak Monadic Second-order Logics using Complex-value Datalog</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gulay Unel</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Toman</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>gunel</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>david}@cs.uwaterloo.ca</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>In this paper we propose to use techniques developed for query evaluation of Complex-value Datalog queries for determining satisfiability of WS1S and WS2S formulae. This in turn can serve as a decision procedure for Description Logics for which embeddings into WS1S and WS2S have been proposed recently. We show that the use of database query evaluation techniques-in particular the Magic Set rewriting of Datalog queries-can considerably improve the performance of automata-based reasoners such as the MONA system.</p>
      </abstract>
      <kwd-group>
        <kwd>WS1S</kwd>
        <kwd>WS2S</kwd>
        <kwd>Automata</kwd>
        <kwd>Magic Sets</kwd>
        <kwd>Complex-value Datalog (Datalogcv )</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Recently, WS1S and WS2S reasoners have been employed as reasoners for
description logics (in particular, ALC) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The experimental results have shown
that MONA—an automata-based WS1S/WS2S reasoner [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ]—can be used
for testing concept satisfiability. However, for terminological reasoning, the
techniques have run into serious state-space explosion problem—the size of a
automaton capturing the (language of) models of a given formula quickly exceeds the
space available in most computers. This is in stark contrast with (theoretically
sub-optimal) tableaux methods that in practice are able to handle much larger
problems [
        <xref ref-type="bibr" rid="ref11 ref13">11, 13</xref>
        ].
      </p>
      <p>
        This paper introduces an approach that combats this problem. Unlike most
other approaches, however, that (usually) attempt to use compression techniques
based, e.g., on Binary Decision Diagrams (BDDs) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] or state space factoring
(using, e.g., a guided automaton) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], our approach is based on techniques
developed for query evaluation in deductive databases, in particular on the Magic
Set transformation [
        <xref ref-type="bibr" rid="ref2 ref33">2</xref>
        ]. In addition we briefly comment on the use of other query
optimization techniques such as goal reordering (also known as the join-order
selection).
      </p>
      <p>The contributions of the paper are as follows: We show the connection
between automata-based decision procedures for WS1S and WS2S and query
evaluation in Complex-value Datalog (Datalogcv). Indeed, the complexity of query
evaluation in Datalogcv matches the complexity of WS1S and WS2S decision
procedures and thus it seems like an appropriate tool for this task. Our
approach is based on representing automata using nested relations and on defining
the necessary operations on automata as Datalogcv queries. Of particular
interest is the fact that the final (non-)emptiness check reduces to posing a (s-t)
connectivity query on a nested relational view of the final automaton and can be
achieved, e.g., by computing the transitive closure of the representation of the
transition relation. This observation allows us to use the Magic Set rewriting to
limit the explored state space to elements needed to show non-emptiness.</p>
      <p>
        We have also conducted experiments with CORAL—a Datalogcv
system [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]—that show the benefits of the proposed method over more common
approaches such as those used by the MONA tool; note that our approach
has often outperformed MONA despite the fact that we have used only a naive
representation of automata in nested relations. The use of BDDs and other
compression techniques seems to be orthogonal to our method and should widen the
performance advantage even more1.
      </p>
      <p>The remainder of the paper is organized as follows. In Section 2, the
connection between second order logics and automata is reviewed. Datalogcv and
the representation and querying on automata using Datalogcv is outlined in
Section 3. In Section 4, the experimental results for the proposed methods are
presented. Related work is discussed in Section 5. Finally, conclusions and
future research directions are given in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Logic-Automata Connection</title>
      <p>Computational properties of automata provide solutions to many problems. One
of these problems is building decision procedures for various logics. In this
section we outline the connection between automata and monadic second order
logics and focus on constructing automata from formulas. The logic-automaton
connection can be generalized to build decision procedures for different logics
such as second order logics with one or two successors (S1S or S2S). Automata
that accept infinite regular languages can be used for this purpose.
2.1</p>
      <sec id="sec-2-1">
        <title>Formulae of Monadic Second Order Logics</title>
        <p>We define the formulas of second order logics as follows.</p>
        <p>• The expressions x = y, x = s(y), x ∈ X are atomic formulas, where x,
1This, of course, can work only for certain class of problems as we are faced with the
non-elementary lower bound in general.</p>
        <p>y are individual variables, s is the successor function, and X,Y are set
variables.
• Given formulas ϕ and φ, the expressions ϕ ∧ φ, ϕ ∨ φ, ϕ ⇒ φ, ¬ϕ, ∃x : ϕ,
∀x : ϕ, ∃X : ϕ, ∀X : ϕ are also formulas. where x is an individual variable
and X is a set variable.</p>
        <p>• No other terms are formulas.</p>
        <p>The semantics of WS1S is defined on a line; first-order variables are interpreted
as natural numbers, and second order variables are interpreted as finite sets of
natural numbers. Similarly, the semantics of WS2S is defined over an infinite
binary tree (0 + 1)∗ = {ǫ, 0, 1, 00, 01, 10, 11, 000, ...}; first-order variables are
interpreted as nodes of the binary tree, and second order variables are interpreted
as finite subsets of the nodes. Truth and satisfiability of formulas is defined in
the standard way.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>From Formulae to Automata</title>
        <p>
          It is well known that satisfiability of second order logics, e.g., WS1S and WS2S,
can be determined using finite automata. The crux of these techniques lies
in constructing a finite automaton that accepts exactly the models of a given
formula [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. This technique has been used for showing decidability and for
providing tight complexity bounds for many logics. In the case of the above two
logics, the automaton is a nondeterministic finite automaton with a finite (or
Bu¨chi [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], Rabin [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], etc.) acceptance condition.
        </p>
        <p>In this paper we explore three automata models: finite word automaton,
topdown tree automaton, and bottom-up tree automaton. Finite word automaton
is the automaton representation of WS1S; and top-down and bottom-up tree
automata are models for WS2S. Bottom-up tree automata start their
computation at the leaves of the input tree, and top-down tree automata at the root
of the input tree in an initial state and then work down the tree level by level
simultaneously.</p>
        <p>Definition 1 A finite automaton is a 5-tuple A = (NA, XA, SA, TA, FA), where</p>
        <sec id="sec-2-2-1">
          <title>NA is the set of states (nodes), XA is the alphabet, SA is the initial (starting)</title>
          <p>state, TA is the transition function, and FA is the set of final states; where TA
⊆ NA × XA × NA for finite word automata, TA ⊆ NA × XA × NA × NA for
top-down tree automata, and TA ⊆ NA × NA × XA × NA for bottom-up tree
automata.</p>
          <p>
            The automaton is constructed from a given formula inductively. It is well known
how to construct automata for the formulas [
            <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
            ]; for example the automaton
for the formula x ∈ X is shown in the left part of Figure 1. Automata
representing complex formulas are constructed from simpler ones using
automatatheoretic operations.
          </p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Lemma 1 Given automata Aϕ and Aφ representing ϕ and φ, respectively, we</title>
          <p>can effectively construct an automaton for ϕ ∧ φ, ϕ ∨ φ, ϕ ⇒ φ, ¬ϕ, ∃x : ϕ,
∀x : ϕ, ∃X : ϕ, ∀X : ϕ.</p>
          <p>For example, Aϕ ⊕ Aφ, union automaton of A1 and Aφ, accepts L(Aϕ) ∪ L(Aφ)
and represents ϕ∨φ. The automaton Aϕ ×Aφ, product automaton of Aϕ and Aϕ,
accepts L(Aϕ) ∩ L(Aφ) and represents ϕ ∧ φ. The automaton Acϕ, complement
automaton of Aϕ, accepts the complement of L(Aϕ) and represents ¬ϕ. Finally,
p
the automaton A1, projection automaton of Aϕ, represents ∃X : ϕ. Intuitively,
the automaton Apϕ acts as the automaton Aϕ for ϕ except that it is allowed to
guess the bits on the track of X.</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>Example 1 Let A1 be an automaton representing the formula x ∈ X. Then</title>
          <p>the complement automaton Ac1 represents ¬(x ∈ X) which is shown in the right
part of Figure 1.</p>
          <p>We give the actual algorithms for constructing the automata in the following
section and in Appendix A (in a Datalogcv syntax).
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Automata and Datalog for Complex Values</title>
      <p>
        Datalogcv is an extension of Datalog—a language of Horn clauses with variables
ranging over constants—with a limited ability to construct terms in the form
of tuples and finite sets. To retain termination of query evaluation, the use of
terms is restricted in recursive clauses [
        <xref ref-type="bibr" rid="ref2 ref25 ref33">2, 25</xref>
        ]. Datalogcv is equivalent to the
complex value algebra and calculus in expressive power [
        <xref ref-type="bibr" rid="ref1 ref32">1</xref>
        ]. Datalogcv programs
and queries are defined as follows:
Definition 2 A Datalogcv terms ti are formed from constants, variables and
the tuple ([t1, . . . , tk]), set ({t1, . . . , tk}), and grouping (&lt; t1 &gt;) constructors.
A Datalogcv atom is a predicate symbol applied to an appropriate number of
Datalogcv terms. A Datalogcv program P is a finite set of Horn clauses of
the form h ← g1, . . . , gk, where h (called head) and g1, . . . , gk (called goals)
are atoms. The use of the constructors has to be stratified with respect to the
program. A Datalogcv query is a clause of the form ← g1, . . . , gk. Evaluation of
a Datalogcv query (with respect to P ) determines whether P |= (g1, . . . , gk)θ for
some ground substitution θ.
      </p>
      <p>
        The evaluation is commonly based on constructing the minimal Herbrand model
of P and then determining for which substitutions θ is the query is contained in
the model. Furthermore, the extended semi-naive and magic-set techniques can
be used to evaluate our queries like the ones proposed in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] for Relationlog.
The main advantage of using Datalogcv is its natural use of fixpoint which
allows us to express transitive closure (without the use of an additional power-set
operator). Hence, if we transform the automaton and the query representing the
satisfiability of a formula to a logic program we can make use of these efficient
evaluation techniques.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Representation of Automata</title>
        <p>In this section, we provide a general representation for finite automata.
Definition 3 The following program PA represents the automaton A = (NA,
XA, SA, TA, FA):
1. N odeA(n) ← (for n ∈ NA),
2. StartA(n) ← (for n ∈ SA),
3. F inalA(n) ← (for n ∈ FA),</p>
        <sec id="sec-3-1-1">
          <title>4. (a) Automaton for WS1S:</title>
          <p>T ransitionA(nf1, nt1, x) ← (for (nf1, x, nt1) ∈ TA)
(b) Top-down tree automaton for WS2S:</p>
          <p>T ransitionA(nf1, nt1, nt2, x) ← (for (nf1, x, nt1, nt2) ∈ TA)
(c) Bottom-up tree automaton for WS2S:</p>
          <p>T ransitionA(nf1, nf2, nt1, x) ← (for (nf1, nf2, x, nt1) ∈ TA)
We have x = {x1, x2, . . . , xk} ⊆ XA, where each xi (for 1 ≤ i ≤ k) represents
an element (a letter) of XA.</p>
          <p>Free variables of the formula represented by A are x1, x2, . . . , xk.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Example 2 The following program PA represents the automaton A shown in</title>
          <p>the left part of Figure 1:
N odeA(0) ←
N odeA(1) ←
StartA(0) ←
F inalA(1) ←
T ransitionA(0, 0, 0, 0) ←
T ransitionA(0, 0, 1, 0) ←
T ransitionA(0, 1, 1, 1) ←
T ransitionA(1, 1, 0, 0) ←
T ransitionA(1, 1, 1, 0) ←
3.2</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Operations on Automata</title>
        <p>We define the appropriate automata-theoretic operations: negation,
conjunction, projection, and determinization used in decision procedures for the logics
under consideration as programs in Datalogcv as follows. Negation is defined in
Definition 4, and conjunction, projection, determinization, and transitive closure
of the transition function of an automaton are given in Appendix A.</p>
        <sec id="sec-3-2-1">
          <title>Definition 4 The following program P¬A represents the complement automaton</title>
          <p>Ac of A = (NA, XA, SA, TA, FA):
1. N ode¬A(n) ← N odeA(n)
2. Start¬A(n) ← StartA(n)
3. F inal¬A(n) ← N odeA(n), ¬F inalA(n)</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>4. (a) Automaton for WS1S:</title>
          <p>T ransition¬A(nf1, nt1, x) ← T ransitionA(nf1, nt1, x)
(b) Top-down tree automaton for WS2S:</p>
          <p>T ransition¬A(nf1, nt1, nt2, x) ← T ransitionA(nf1, nt1, nt2, x)
(c) Bottom-up tree automaton for WS2S:</p>
          <p>T ransition¬A(nf1, nf2, nt1, x) ← T ransitionA(nf1, nf2, nt1, x)</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Lemma 2 If A represents α then Ac represents ¬α.</title>
          <p>Similar queries can be used to represent the remaining operations on automata
including the final (non-)emptiness test. Thus we can construct an automaton
Aα corresponding to α(θ1, θ2, . . . , θn), where θ1, θ2, . . . , θn are the atomic
formulas in α, inductively, starting from the atomic formulas and applying the rules
given for each operation in Appendix A.</p>
        </sec>
        <sec id="sec-3-2-4">
          <title>Theorem 1 Let ϕ be a WS1S (WS2S) formula. Then ϕ is satisfiable if and</title>
          <p>only if T ransClosAϕ contains a pair consisting of the start and final states.
Example 3 Suppose that our formula is φ = (∃Y : Y ⊆ X), let A be the
automaton for the subformula Y ⊆ X, we can use the following logic program
to construct the automaton for φ:</p>
          <p>N ode∃A(n) ← N odeA(n)
Start∃A(n) ← StartA(n)
F inal∃A(n) ← F inalA(n)</p>
          <p>T ransition∃A(n1, n2, X) ← T ransitionA(n1, n2, X, Y )</p>
        </sec>
        <sec id="sec-3-2-5">
          <title>The above clauses define a non-deterministic automaton (∃A) representing the</title>
          <p>formula (see Definition 6).</p>
        </sec>
        <sec id="sec-3-2-6">
          <title>The remaining clauses convert the automaton to a deterministic automaton</title>
          <p>(D∃A) representing the formula (see Definition 7), and compute the transitive
closure of its transition function (see Definition 8) in order to test for non
emptiness. The final query thus is:</p>
          <p>← StartD∃A(N ), F inalD∃A (M ), T ranClosD∃A(N, M ).</p>
          <p>
            Magic-set rewriting [
            <xref ref-type="bibr" rid="ref20 ref3 ref34">3, 20</xref>
            ]—a well known query optimization method—is
applied to the above program prior to query evaluation. The Magic-set technique
improves the bottom-up evaluation such that its performance rivals the efficiency
of the top-down evaluation. The idea behind the magic-set technique lies in
restricting the computation of intermediate results to those facts that are needed
to answer a query.
          </p>
          <p>The left part of Figure 2 illustrates the bottom-up evaluation of the program
given in Example 3, the right part illustrates the magic-set evaluation of the
same program. The effect of the Magic set-based query evaluation is even more
Node:
{ 0 }
{ 1 }
pronounced for larger formulas. For example, for the formula</p>
          <p>φ = (x ∈ X) ∧ (∃Y : (y ∈ Y ) ∧ (z ∈ Y ))
the bottom-up evaluation creates 1536 nodes, 24528 transitions while the
magicset evaluation technique creates only 2 nodes and 1 transition.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experiments</title>
      <p>
        We compare our technique with the MONA system [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ], one of the most
efficient tools for reasoning of weak second order logics (WS1S and WS2S). In
contrast to MONA which constructs the whole automaton for a given formula
our method only constructs the nodes we need to answer the non emptiness
query. For the experiments we use CORAL, a deductive system that supports
Datalogcv and Magic sets.
      </p>
      <p>The performance results are given in Figure 3. The response times are
measured in seconds; N/A means “Not Answered”. The formulas are similar to
the ones in T98 satisfiability test suite except we varied their sizes, in
particular the number of existential quantifiers and free variables. We have observed
that the magic-set evaluation method exhibits a considerable performance gain
over MONA for formulas with many free variables. On the other hand, MONA
usually performs better than CORAL for the formulas with many existential
quantifiers. We believe that this is a problem caused by the implementation
CORAL uses for the evaluation of programs with sets (and can be avoided using
a more sophisticated implementation of Datalogcv). In addition MONA uses the
BDD data structures and algorithms to enhance its performance. Our current
implementation in CORAL does not support these structures and is likely to
perform better using them.</p>
      <p>1
2
3
4
5
6
7
8
9
10
MONA N/A N/A 7.08 7.14 5.22 4.37 13.33 N/A 10.80 N/A
CORAL 4.15 5.22 4.76 11.94 3.95 2.42 4.75 16.25 3.78 12.09</p>
      <p>We also began exploring the impact of goal reordering on the performance of
the Datalogcv program representations of the automata. The following example
illustrates the importance of technique:
Example 4 We show three rewritings of a formula and their performance
results. Consider the following formulas:
ϕ1 = (x11 ∈ Y11) ⇐⇒ (x12 ∈ Y12)
ϕ2 = (∃Y13 : (x13 ∈ Y13) ∧ (x14 ∈ Y13)
ϕ3 = (((x1 ∈ Y1) ⇐⇒ (x2 ∈ Y2)) ⇒ ((x3 ∈ Y3) ⇐⇒ (x4 ∈ Y4))) ∧
(((x5 ∈ Y5) ⇐⇒ (x6 ∈ Y6)) ⇒ ((x7 ∈ Y7) ⇐⇒ (x8 ∈ Y8))) ∧
((x9 ∈ Y9) ⇐⇒ (x10 ∈ Y10))</p>
      <sec id="sec-4-1">
        <title>Then the goal ordering results in the following timing which shows that the minimal response time we get using CORAL is 16.34 seconds, MONA fails in all three cases.</title>
        <p>
          The connection between logic and automata was first considered by Bu¨chi [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
and Elgot [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. They have shown that monadic second-order logic over finite
words and finite automata have the same expressive power, and we can
transform formulas of this logic to finite automata and vice versa. Later, Bu¨chi [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ],
McNaughton [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], and Rabin [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] proved that monadic second-order logic over
infinite words (and trees) and finite automata also have the same expressive
power. The practical use of this connection was investigated for temporal logics
and fixed-point logics which led to the theory of model checking [
          <xref ref-type="bibr" rid="ref29 ref4">4, 29</xref>
          ].
Another automata theoretic construction used in specification and verification was
for μ-calculus [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and description logics [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. An extensive survey on automata
and logic can be found in [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
        </p>
        <p>
          The logic-automaton connection has been used for implementing decision
procedures for various logics. It is argued that the success of these procedures
relies on efficient operations on a compact representation of automata based on
BDDs [
          <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
          ].
        </p>
        <p>
          We have used deductive techniques to represent and query automata. The
system used to support our implementation, CORAL [
          <xref ref-type="bibr" rid="ref23 ref24 ref25">23, 24, 25</xref>
          ], provides
efficient set-oriented data manipulation common in relational systems. There are
numerous other deductive systems which support logic-programming languages
with sets and tuples, e.g., LDL [
          <xref ref-type="bibr" rid="ref21 ref9">9, 21</xref>
          ], and XSB [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] (here sets have to be
explicitly simulated). In terms of the evaluation strategy XSB uses top-down
evaluation with memoing whereas CORAL uses magic sets.
        </p>
        <p>
          Considerable work has been done on query optimization in relational and
deductive database systems [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. Query optimization in relational systems
includes choosing join orders and cost models [
          <xref ref-type="bibr" rid="ref28 ref8">8, 28</xref>
          ]. We use the idea of magic
sets rewriting [
          <xref ref-type="bibr" rid="ref3 ref34">3</xref>
          ] as a deductive database optimization method for our queries,
and we are planning to use cost-based optimization methods to improve our
query evaluation.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>In this paper we have presented a translation technique that maps satisfiability
questions for formulas in WS1S and WS2S and, in turn, implication problems
in ALC to query evaluation in Datalogcv. The connection was made using the
link between logic and finite automata. We have shown how the evaluation
techniques used for answering queries over these programs provide efficient decision
procedures for second order logics.</p>
      <p>
        Future extensions of the proposed approach include extending the translation
to other types of automata on infinite objects, e.g., to Rabin [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] and Alternating
Automata [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], and on improving the upper complexity bounds by restricting
the form of Datalogcv programs generated by the translation (when used for
decision problems in, e.g., EXPTIME). In all these cases, the goal is to match
the optimal theoretical bounds while avoiding the worst-case behavior (inherent
in most automata-based techniques) in as many situations as possible. In
addition we plan to study the impact of goal reordering and various other query
optimization techniques on the performance of the decision procedure and to
develop heuristics (patterned on cost-based join-order and query optimization)
for this purpose. We also plan to compare the CORAL-based implementations
with implementations based on the XSB system, a logic programming system
with memoing [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>Appendix</title>
      <p>In this section, we define conjunction, projection, determinization, and transitive
closure of the transition function of an automaton. Conjuction operation is provided in
Definition 5, projection in Definition 6, determinization in Definition 7, and finally
transitive clossure of the transition function is given in Definition 8.
Definition 5 The following program PA1∧A2 represents the product automaton A1 ×
A2 of A1 = (NA1 , XA1 , SA1 , TA1, FA1 ), and A2 = (NA2 , XA2, SA2 , TA2 , FA2 ):
1. N odeA1∧A2([n1, n2]) ← N odeA1 (n1), N odeA2 (n2)
2. StartA1∧A2 ([n1, n2]) ← StartA1(n1), StartA2 (n2)
3. F inalA1∧A2 ([n1, n2]) ← F inalA1(n1), F inalA2 (n2)
Here, x, y represent the free variables of the formula A1 represents, and y, z of the
formula A2 represents.</p>
      <p>Lemma 3 If A1 represents α1, and A2 represents α2 then, A1 ×A2 represents α1 ∧α2.
Definition 6 The following program P∃A represents the projection automaton Ap of
A = (NA, XA, SA, TA, FA):
1. N ode∃A(n) ← N odeA(n)
2. Start∃A(n) ← StartA(n)
3. F inal∃A(n) ← F inalA(n)
4. (a) Automaton for WS1S:</p>
      <p>T ransition∃A(nf1, nt1, y) ← T ransitionA(nf1, nt1, x, y)
(b) Top-down tree automaton for WS2S:</p>
      <p>T ransition∃A(nf1, nt1, nt2, y) ← T ransitionA(nf1, nt1, nt2, x, y)
(c) Bottom-up tree automaton for WS2S:</p>
      <p>T ransition∃A(nf1, nf2, nt1, y) ← T ransitionA(nf1, nf2, nt1, x, y)
5. (a) Automaton for WS1S:
i. T ransitionX (nf1, nt1, x, o) ← T ransitionA(nf1, nt1, x, y)
ii. F inal∃A(n) ← N odeA(n), T ransitionX (nf1, nt1, x, y), F inalA(nt1),</p>
      <p>T ransitionA(n, nt2, x, y), F inalA(nt2)
(b) Top-down tree automaton for WS2S:
(c) Bottom-up tree automaton for WS2S:
Here, o = {0, 0, . . . , 0} where |o| = |y|, y represents free variables, and x represents
bound variables of the formula represented by A.</p>
      <p>Lemma 4 If A represents α then Ap represents ∃x1, x2, . . . , xk : α where Ap is the
projection automaton of A.</p>
      <p>Definition 7 The following program PDA represents the determinized automaton Ad
of A = (NA, XA, SA, TA, FA):
1. (a) N odeDA ({}) ←
(b) SN odeDA ({n}) ← N odeA(n)
(c) N odeDA (N ) ← SN odeDA (N1), N odeDA (N2), U nion(N1, N2, N )
2. StartDA ({n}) ← StartA(n)
3. F inalDA (N ) ← N odeDA (N ), F inalA(n), member(n, N )
4. (a) Automaton for WS1S:</p>
      <p>T ransitionDA(N f1, &lt; nt1 &gt;, x) ← T ransitionA(nf1, nt1, x),</p>
      <p>N odeDA (N f1), member(nf1, N f1)
(b) Top-down tree automaton for WS2S:</p>
      <p>T ransitionDA(N f1, &lt; nt1 &gt;, &lt; nt2 &gt;, x) ← T ransitionA(nf1, nt1, nt2, x),</p>
      <p>N odeDA (N f1), member(nf1, N f1)
(c) Bottom-up tree automaton for WS2S:</p>
      <p>T ransitionDA(N f1, N f2, &lt; nt1 &gt;, x) ← T ransitionA(nf1, nf2, nt1, x),
N odeDA (N f1), member(nf1, N f1),</p>
      <p>N odeDA (N f2), member(nf2, N f2)
The function U nion(N1, N2, N ) takes two sets N1 and N2 as inputs and assigns their
union to N , member(n, N ) checks if n is a member of the set N or not.
Lemma 5 If A represents α then Ad represents α, and Ad is the determinized A.
Definition 8 The following program PT CA computes the transitive closure of the
transition function of A to find out if the language A represents is non-empty or not, and
as a result, if α, which is the formula represented by A, is satisfiable or not.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteoul</surname>
          </string-name>
          , C. Beeri, “
          <article-title>The Power of Languages for the Manipulation of Complex Values”</article-title>
          ,
          <source>VLDB Journal</source>
          , Vol.
          <volume>4</volume>
          , No.
          <issue>4</issue>
          , pp.
          <fpage>727</fpage>
          -
          <lpage>794</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Naqvi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Shmueli</surname>
          </string-name>
          , S. Tsur, “
          <article-title>Set Construction in a Logic Database Language”</article-title>
          ,
          <source>Journal of Logic Programming</source>
          , Vol.
          <volume>10</volume>
          , No.
          <volume>3</volume>
          &amp;
          <issue>4</issue>
          , pp.
          <fpage>181</fpage>
          -
          <lpage>232</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Beeri</surname>
          </string-name>
          , R. Ramakrishnan, “
          <article-title>On the Power of Magic”</article-title>
          ,
          <source>Journal of Logic Programming</source>
          , Vol.
          <volume>10</volume>
          ,
          <string-name>
            <surname>Nos</surname>
          </string-name>
          . 1-
          <issue>4</issue>
          , pp.
          <fpage>255</fpage>
          -
          <lpage>299</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Bernholtz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          , P. Wolper, “
          <article-title>An Automata-theoretic Approach to Branching-time Model Checking”</article-title>
          ,
          <source>Computer Aided Verification, Proc. 6th Int. Workshop</source>
          , pp.
          <fpage>142</fpage>
          -
          <lpage>155</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Bryant</surname>
          </string-name>
          , “
          <article-title>Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams”</article-title>
          ,
          <source>ACM Computing Surveys</source>
          , Vol.
          <volume>24</volume>
          , No.
          <issue>3</issue>
          , pp.
          <fpage>293</fpage>
          -
          <lpage>318</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Bu</surname>
          </string-name>
          <article-title>¨chi, “Weak Second-order Arithmetic and Finite Automata”</article-title>
          , Z. Math. Logik Grundl. Math., Vol.
          <volume>6</volume>
          , pp.
          <fpage>66</fpage>
          -
          <lpage>92</lpage>
          ,
          <year>1960</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Bu</surname>
          </string-name>
          ¨chi, “
          <article-title>On a Decision Method in Restricted Second-order Arithmetic”</article-title>
          ,
          <source>Proc. 1960 Int. Congr. for Logic, Methodology and Philosophy of Science</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          ,
          <year>1962</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chaudhuri</surname>
          </string-name>
          , “
          <article-title>An Overview of Query Optimization in Relational Systems”</article-title>
          , PODS, pp.
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Chimenti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gamboa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Krishnamurthy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Naqvi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tsur</surname>
          </string-name>
          , C. Zaniolo, “
          <article-title>The LDL System Prototype”</article-title>
          ,
          <source>IEEE Trans. Knowl. Data Eng.</source>
          , Vol.
          <volume>2</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>76</fpage>
          -
          <lpage>90</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>C. C.</surname>
          </string-name>
          <article-title>Elgot, “Decision Problems of Finite Automata Design and Related Arithmetics”</article-title>
          ,
          <source>Trans. Amer. Math. Soc.</source>
          , Vol.
          <volume>98</volume>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>52</lpage>
          ,
          <year>1961</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>V.</given-names>
            <surname>Haarslev</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>M¨oller, “High performance reasoning with very large knowledge bases: A practical case study”</article-title>
          ,
          <source>IJCAI</source>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>166</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Henriksen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Jensen</surname>
          </string-name>
          , M. E. J¨orgensen, N. Klarlund,
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Rauhe</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Sandholm, “Mona:
          <article-title>Monadic Second-Order Logic in Practice”</article-title>
          , TACAS, pp.
          <fpage>89</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          , “
          <article-title>Using an expressive description logic: FaCT or fiction?”, Knowledge Representation and Reasoning (KR</article-title>
          ), pp.
          <fpage>636</fpage>
          -
          <lpage>647</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Janin</surname>
          </string-name>
          , I. Walukiewicz, “
          <article-title>Automata for the Modal μ-Calculus and related Results”</article-title>
          , MFCS, pp.
          <fpage>552</fpage>
          -
          <lpage>562</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>E.</given-names>
            <surname>Karabaev</surname>
          </string-name>
          , C. Lutz, “
          <article-title>Mona as a DL Reasoner”</article-title>
          ,
          <string-name>
            <surname>Description</surname>
            <given-names>Logics</given-names>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Klarlund</surname>
          </string-name>
          , “Mona &amp;
          <article-title>Fido: The Logic-Automaton Connection in Practice”</article-title>
          , Computer Science Logic, pp.
          <fpage>311</fpage>
          -
          <lpage>326</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>N.</given-names>
            <surname>Klarlund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Møller</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. I. Schwartzbach</surname>
          </string-name>
          , “MONA Implementation Secrets”,
          <source>Int. J. Found. Comput. Sci.</source>
          , Vol.
          <volume>13</volume>
          , No.
          <issue>4</issue>
          , pp.
          <fpage>571</fpage>
          -
          <lpage>586</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Liu</surname>
          </string-name>
          , “Query Processing in Relationlog”, DEXA, pp.
          <fpage>342</fpage>
          -
          <lpage>351</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>R.</given-names>
            <surname>McNaughton</surname>
          </string-name>
          , “
          <article-title>Testing and Generating Infinite Sequences by a Finite Automaton”</article-title>
          ,
          <source>Information and Control</source>
          , Vol.
          <volume>9</volume>
          , pp.
          <fpage>521</fpage>
          -
          <lpage>530</lpage>
          ,
          <year>1966</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>I. S.</given-names>
            <surname>Mumick</surname>
          </string-name>
          , “
          <article-title>Query Optimization in Deductive and Relational Databases”</article-title>
          ,
          <source>PhD Thesis</source>
          , Department of Computer Science, Stanford University,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Naqvi</surname>
          </string-name>
          , S. Tsur, “
          <article-title>A Logical Language for Data and Knowledge Bases”</article-title>
          , Computer Science Press,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M. O.</given-names>
            <surname>Rabin</surname>
          </string-name>
          , “
          <article-title>Decidability of Second-order Theories and Automata on Infinite Trees”</article-title>
          ,
          <source>Trans. Amer. Math. Soc.</source>
          , Vol.
          <volume>141</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>35</lpage>
          ,
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bothner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          , S. Sudarshan, “
          <article-title>CORAL-A Database Programming Language”</article-title>
          , Workshop on Deductive Databases,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          , S. Sudarshan, “
          <article-title>CORAL-Control, Relations and Logic”</article-title>
          ,
          <source>VLDB Journal</source>
          , pp.
          <fpage>238</fpage>
          -
          <lpage>250</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sudarshan</surname>
          </string-name>
          , P. Seshadri, “
          <article-title>The CORAL Deductive System”</article-title>
          ,
          <source>VLDB Journal</source>
          , Vol.
          <volume>3</volume>
          , No.
          <issue>2</issue>
          , pp.
          <fpage>161</fpage>
          -
          <lpage>210</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>K. F.</given-names>
            <surname>Sagonas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Swift</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Warren</surname>
          </string-name>
          , “
          <article-title>XSB as an Efficient Deductive Database Engine”</article-title>
          , SIGMOD Conference, pp.
          <fpage>442</fpage>
          -
          <lpage>453</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27] W. Thomas, “Languages, Automata, and Logic”,
          <source>Handbook of Formal Languages</source>
          , Vol.
          <volume>3</volume>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          , “
          <article-title>Principles of Database and Knowledge-Base Systems”</article-title>
          , Computer Science Press, Vol.
          <volume>1</volume>
          &amp;
          <issue>2</issue>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          , P. Wolper, “
          <article-title>An Automata-theoretic Approach to Automatic Program Verification”</article-title>
          ,
          <source>Proc. of the First Symposium on Logic in Computer Science</source>
          , pp.
          <fpage>322</fpage>
          -
          <lpage>331</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          , “
          <article-title>Reasoning about The Past with Two-Way Automata”</article-title>
          , ICALP, pp.
          <fpage>628</fpage>
          -
          <lpage>641</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <surname>i. T ransitionX</surname>
          </string-name>
          (
          <year>nf1</year>
          ,
          <year>nt1</year>
          , nt2, x, o) ←
          <article-title>T ransitionA(nf1, nt1, nt2, x, y) ii. F inal∃A(n) ← N odeA(n</article-title>
          ),
          <source>T ransitionX (nf1</source>
          ,
          <year>nt1</year>
          , nt2, x, y), F inalA(
          <year>nt1</year>
          ),
          <string-name>
            <surname>F inalA</surname>
          </string-name>
          (
          <year>nt2</year>
          ),
          <source>T ransitionA(n, nt3</source>
          , nt4, x, y), F inalA(
          <year>nt3</year>
          ),
          <string-name>
            <surname>F inalA</surname>
          </string-name>
          (
          <year>nt4</year>
          <article-title>) i</article-title>
          . T ransitionX (
          <year>nf1</year>
          ,
          <year>nf2</year>
          , nt1, x, o) ←
          <article-title>T ransitionA(nf1, nf2, nt1, x, y) ii. F inal∃A(n) ← N odeA(n</article-title>
          ),
          <source>T ransitionX (nf1</source>
          ,
          <year>nf2</year>
          , nt1, x, y), F inalA(
          <year>nt1</year>
          ),
          <source>T ransitionA(n, nf3</source>
          , nt2, x, y), F inalA(
          <year>nt2</year>
          <article-title>) iii. F inal∃A(n) ← N odeA(n</article-title>
          ),
          <source>T ransitionX (nf1</source>
          ,
          <year>nf2</year>
          , nt1, x, y), F inalA(
          <year>nt1</year>
          ),
          <source>T ransitionA(nf3, n, nt2</source>
          , x, y),
          <source>F inalA(nt2)</source>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          1.
          <article-title>Automaton for WS1S: (a) T ranClosA(nf1</article-title>
          ,
          <year>nt1</year>
          ) ←
          <article-title>T ransitionA(nf1, nt1, x) (b) T ranClosA(nf1</article-title>
          ,
          <year>nt1</year>
          ) ←
          <article-title>T ransitionA(nf1, nt2</article-title>
          , x),
          <source>T ranClosA(nt2, nt1)</source>
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          2.
          <article-title>Top-down tree automaton for WS2S: (a) T ranClosA(nf1</article-title>
          ,
          <year>nt1</year>
          ,
          <year>nt2</year>
          ) ←
          <article-title>T ransitionA(nf1, nt1, nt2, x) (b) T ranClosA(nf1</article-title>
          ,
          <year>nt1</year>
          ,
          <year>nt2</year>
          ) ←
          <article-title>T ransitionA(nf1</article-title>
          ,
          <year>nt3</year>
          , nt4, x),
          <source>T ranClosA(nt3</source>
          ,
          <year>nt1</year>
          ,
          <year>nt2</year>
          )
          <article-title>(c) T ranClosA(nf1</article-title>
          ,
          <year>nt1</year>
          ,
          <year>nt2</year>
          ) ←
          <article-title>T ransitionA(nf1</article-title>
          ,
          <year>nt3</year>
          , nt4, x),
          <source>T ranClosA(nt4, nt1, nt2)</source>
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          3.
          <article-title>Bottom-up tree automaton for WS2S: (a) T ranClosA(nf1</article-title>
          ,
          <year>nf2</year>
          ,
          <year>nt1</year>
          ) ←
          <article-title>T ransitionA(nf1, nf2, nt1, x) (b) T ranClosA(nf1</article-title>
          ,
          <year>nf2</year>
          ,
          <year>nt1</year>
          ) ←
          <article-title>T ransitionA(nf1</article-title>
          ,
          <year>nf2</year>
          , nt2, x),
          <source>T ranClosA(nt2</source>
          ,
          <year>nf3</year>
          ,
          <year>nt1</year>
          )
          <article-title>(c) T ranClosA(nf1</article-title>
          ,
          <year>nf2</year>
          ,
          <year>nt1</year>
          ) ←
          <article-title>T ransitionA(nf1</article-title>
          ,
          <year>nf2</year>
          , nt2, x),
          <source>T ranClosA(nf3, nt2, nt1)</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>