<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Deciding Weak Monadic Second-order Logics using Complex-value Datalog</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Gulay</forename><surname>Unel</surname></persName>
							<email>gunel@cs.uwaterloo.ca</email>
						</author>
						<author>
							<persName><forename type="first">David</forename><surname>Toman</surname></persName>
						</author>
						<title level="a" type="main">Deciding Weak Monadic Second-order Logics using Complex-value Datalog</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8813AD87DAA78A3FC6C61D40012D3B33</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T17:10+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>WS1S</term>
					<term>WS2S</term>
					<term>Automata</term>
					<term>Magic Sets</term>
					<term>Complex-value Datalog (Datalog cv )</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Recently, WS1S and WS2S reasoners have been employed as reasoners for description logics (in particular, ALC) <ref type="bibr" target="#b14">[15]</ref>. The experimental results have shown that MONA-an automata-based WS1S/WS2S reasoner <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b15">16]</ref>-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 <ref type="bibr" target="#b10">[11,</ref><ref type="bibr" target="#b12">13]</ref>.</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) <ref type="bibr">[5]</ref> or state space factoring (using, e.g., a guided automaton) <ref type="bibr" target="#b15">[16]</ref>, our approach is based on techniques developed for query evaluation in deductive databases, in particular on the Magic Set transformation <ref type="bibr">[2]</ref>. 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 (Datalog cv ). Indeed, the complexity of query evaluation in Datalog cv 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 Datalog cv 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 Datalog cv system <ref type="bibr" target="#b24">[25]</ref>-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 more <ref type="foot" target="#foot_0">1</ref> .</p><p>The remainder of the paper is organized as follows. In Section 2, the connection between second order logics and automata is reviewed. Datalog cv and the representation and querying on automata using Datalog cv 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Logic-Automata Connection</head><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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Formulae of Monadic Second Order Logics</head><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, y are individual variables, s is the successor function, and X,Y are set variables.</p><p>• Given formulas ϕ and φ, the expressions ϕ ∧ φ, ϕ ∨ φ, ϕ ⇒ φ, ¬ϕ, ∃x : ϕ, ∀x : ϕ, ∃X : ϕ, ∀X : ϕ are also formulas. where x is an individual variable and X is a set variable. • 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">From Formulae to Automata</head><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 <ref type="bibr" target="#b26">[27]</ref>. 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 Büchi <ref type="bibr" target="#b5">[6]</ref>, Rabin <ref type="bibr" target="#b21">[22]</ref>, 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><formula xml:id="formula_0">Definition 1 A finite automaton is a 5-tuple A = (N A , X A , S A , T A , F A )</formula><p>, where N A is the set of states (nodes), X A is the alphabet, S A is the initial (starting) state, T A is the transition function, and F A is the set of final states; where</p><formula xml:id="formula_1">T A ⊆ N A × X A × N A for finite word automata, T A ⊆ N A × X A × N A × N A for top-down tree automata, and T A ⊆ N A × N A × X A × N A for bottom-up tree automata.</formula><p>The automaton is constructed from a given formula inductively. It is well known how to construct automata for the formulas <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b15">16]</ref>; for example the automaton for the formula x ∈ X is shown in the left part of Figure <ref type="figure">1</ref>. Automata representing complex formulas are constructed from simpler ones using automatatheoretic operations.</p><formula xml:id="formula_2">0 0 0 1 , 0 0 0 1 , 0 1 1 1 0 0 0 1 , 0 0 0 1 , 0 1 1 1</formula><p>Figure <ref type="figure">1</ref>: Automata representing the formulae x ∈ X and ¬(x ∈ X).</p><p>Lemma 1 Given automata A ϕ and A φ representing ϕ and φ, respectively, we can effectively construct an automaton for ϕ ∧ φ, ϕ ∨ φ, ϕ ⇒ φ, ¬ϕ, ∃x : ϕ, ∀x : ϕ, ∃X : ϕ, ∀X : ϕ.</p><formula xml:id="formula_3">For example, A ϕ ⊕ A φ , union automaton of A 1 and A φ , accepts L(A ϕ ) ∪ L(A φ )</formula><p>and represents ϕ∨φ. The automaton A ϕ ×A φ , product automaton of A ϕ and A ϕ , accepts L(A ϕ ) ∩ L(A φ ) and represents ϕ ∧ φ. The automaton A c ϕ , complement automaton of A ϕ , accepts the complement of L(A ϕ ) and represents ¬ϕ. Finally, the automaton A p 1 , projection automaton of A ϕ , represents ∃X : ϕ. Intuitively, the automaton A p ϕ acts as the automaton A ϕ for ϕ except that it is allowed to guess the bits on the track of X.</p><p>Example 1 Let A 1 be an automaton representing the formula x ∈ X. Then the complement automaton A c  1 represents ¬(x ∈ X) which is shown in the right part of Figure <ref type="figure">1</ref>.</p><p>We give the actual algorithms for constructing the automata in the following section and in Appendix A (in a Datalog cv syntax).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Automata and Datalog for Complex Values</head><p>Datalog cv 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 <ref type="bibr">[2,</ref><ref type="bibr" target="#b24">25]</ref>. Datalog cv is equivalent to the complex value algebra and calculus in expressive power <ref type="bibr">[1]</ref>. Datalog cv programs and queries are defined as follows:</p><p>Definition 2 A Datalog cv terms t i are formed from constants, variables and the tuple ([t 1 , . . . , t k ]), set ({t 1 , . . . , t k }), and grouping (&lt; t 1 &gt;) constructors. A Datalog cv atom is a predicate symbol applied to an appropriate number of Datalog cv terms. A Datalog cv program P is a finite set of Horn clauses of the form h ← g 1 , . . . , g k , where h (called head) and g 1 , . . . , g k (called goals) are atoms. The use of the constructors has to be stratified with respect to the program. A Datalog cv query is a clause of the form ← g 1 , . . . , g k . Evaluation of a Datalog cv query (with respect to P ) determines whether P |= (g 1 , . . . , g k )θ 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 <ref type="bibr" target="#b17">[18]</ref> for Relationlog. The main advantage of using Datalog cv 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Representation of Automata</head><p>In this section, we provide a general representation for finite automata.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 3 The following program P A represents the automaton</head><formula xml:id="formula_4">A = (N A , X A , S A , T A , F A ): 1. Node A (n) ← (for n ∈ N A ), 2. Start A (n) ← (for n ∈ S A ), 3. F inal A (n) ← (for n ∈ F A ), 4. (a) Automaton for WS1S: T ransition A (nf 1 , nt 1 , x) ← (for (nf 1 , x, nt 1 ) ∈ T A ) (b)</formula><p>Top-down tree automaton for WS2S:</p><p>T ransition A (nf 1 , nt 1 , nt 2 , x) ← (for (nf 1 , x, nt 1 , nt 2 ) ∈ T A ) (c) Bottom-up tree automaton for WS2S:</p><formula xml:id="formula_5">T ransition A (nf 1 , nf 2 , nt 1 , x) ← (for (nf 1 , nf 2 , x, nt 1 ) ∈ T A )</formula><p>We have x = {x 1 , x 2 , . . . , x k } ⊆ X A , where each x i (for</p><formula xml:id="formula_6">1 ≤ i ≤ k) represents an element (a letter) of X A .</formula><p>Free variables of the formula represented by A are x 1 , x 2 , . . . , x k .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Example 2</head><p>The following program P A represents the automaton A shown in the left part of Figure <ref type="figure">1</ref>:</p><formula xml:id="formula_7">Node A (0) ← Node A (1) ← Start A (0) ← F inal A (1) ← T ransition A (0, 0, 0, 0) ← T ransition A (0, 0, 1, 0) ← T ransition A (0, 1, 1, 1) ← T ransition A (1, 1, 0, 0) ← T ransition A (1, 1, 1, 0) ←</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Operations on Automata</head><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 Datalog cv 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 4</head><p>The following program P ¬A represents the complement automaton</p><formula xml:id="formula_8">A c of A = (N A , X A , S A , T A , F A ): 1. Node ¬A (n) ← Node A (n) 2. Start ¬A (n) ← Start A (n) 3. F inal ¬A (n) ← Node A (n), ¬F inal A (n) 4. (a) Automaton for WS1S: T ransition ¬A (nf 1 , nt 1 , x) ← T ransition A (nf 1 , nt 1 , x)<label>(b</label></formula><p>) Top-down tree automaton for WS2S:</p><formula xml:id="formula_9">T ransition ¬A (nf 1 , nt 1 , nt 2 , x) ← T ransition A (nf 1 , nt 1 , nt 2 , x)<label>(c</label></formula><p>) Bottom-up tree automaton for WS2S:</p><formula xml:id="formula_10">T ransition ¬A (nf 1 , nf 2 , nt 1 , x) ← T ransition A (nf 1 , nf 2 , nt 1 , x) Lemma 2 If A represents α then A c represents ¬α.</formula><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><p>Theorem 1 Let ϕ be a WS1S (WS2S) formula. Then ϕ is satisfiable if and only if T ransClos Aϕ contains a pair consisting of the start and final states.</p><p>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><formula xml:id="formula_11">Node ∃A (n) ← Node A (n) Start ∃A (n) ← Start A (n) F inal ∃A (n) ← F inal A (n) T ransition ∃A (n 1 , n 2 , X) ← T ransition A (n 1 , n 2 , X, Y )</formula><p>The above clauses define a non-deterministic automaton (∃A) representing the formula (see <ref type="bibr">Definition 6)</ref>.</p><formula xml:id="formula_12">Node D ∃A ({}) ← SNode D ∃A ({n}) ← Node ∃A (n) Node D ∃A (N) ← SNode D ∃A (N 1 ), Node D ∃A (N 2 ), Union(N 1 , N 2 , N) Start D ∃A ({n}) ← Start ∃A (n) F inal D ∃A (N) ← Node D ∃A (N), F inal ∃A (n), member(n, N) T ransition D ∃A (N 1 , &lt; n 2 &gt;, X) ← T ransition ∃A (n 1 , n 2 , X), Node D ∃A (N 1 ), member(n 1 , N 1 ) T ranClos D ∃A (n 1 , n 2 ) ← T ransition D ∃A (n 1 , n 2 , X) T ranClos D ∃A (n 1 , n 2 ) ← T ransition D ∃A (n 1 , n 3 , X), T ranClos D ∃A (n 3 , n 2 )</formula><p>The remaining clauses convert the automaton to a deterministic automaton (D ∃A ) representing the formula (see <ref type="bibr">Definition 7)</ref>, 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><formula xml:id="formula_13">← Start D ∃A (N), F inal D ∃A (M), T ranClos D ∃A (N, M).</formula><p>Magic-set rewriting <ref type="bibr">[3,</ref><ref type="bibr" target="#b19">20]</ref>-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 <ref type="figure" target="#fig_0">2</ref> 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 pronounced for larger formulas. For example, for the formula</p><formula xml:id="formula_14">{ 0 } { 1 } { 0 , 1 } { 0 } { 0 , 1 } { 1 } { 0 } { 0 } { 0 } { 0 , 1 } { 1 } { 1 } { 0 , 1 } { 0 , 1 } Node: Transition: 1 X X 0 TranClos: { 0 } { 0 } { 0 , 1 } { 0 } { 0 } { 0 } { 0 , 1 } { 0 , 1 } { 0 , 1 } TranClos: { 0 , 1 } Node: Transition: 1 X 0</formula><formula xml:id="formula_15">φ = (x ∈ X) ∧ (∃Y : (y ∈ Y ) ∧ (z ∈ Y ))</formula><p>the bottom-up evaluation creates 1536 nodes, 24528 transitions while the magicset evaluation technique creates only 2 nodes and 1 transition.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Experiments</head><p>We compare our technique with the MONA system <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b15">16]</ref>, 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 Datalog cv and Magic sets.</p><p>The performance results are given in Figure <ref type="figure" target="#fig_1">3</ref>. 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 Datalog cv ). 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. We also began exploring the impact of goal reordering on the performance of the Datalog cv 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:</p><formula xml:id="formula_16">ϕ 1 = (x 11 ∈ Y 11 ) ⇐⇒ (x 12 ∈ Y 12 ) ϕ 2 = (∃Y 13 : (x 13 ∈ Y 13 ) ∧ (x 14 ∈ Y 13 ) ϕ 3 = (((x 1 ∈ Y 1 ) ⇐⇒ (x 2 ∈ Y 2 )) ⇒ ((x 3 ∈ Y 3 ) ⇐⇒ (x 4 ∈ Y 4 ))) ∧ (((x 5 ∈ Y 5 ) ⇐⇒ (x 6 ∈ Y 6 )) ⇒ ((x 7 ∈ Y 7 ) ⇐⇒ (x 8 ∈ Y 8 ))) ∧ ((x 9 ∈ Y 9 ) ⇐⇒ (x 10 ∈ Y 10 ))</formula><p>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. </p><formula xml:id="formula_17">ϕ 1 ∧ ϕ 2 ∧ ϕ 3 ϕ 3 ∧ ϕ 1 ∧ ϕ 2 ϕ 3 ∧ ϕ 2 ∧ ϕ 1 MONA N/A N/</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>The connection between logic and automata was first considered by Büchi <ref type="bibr" target="#b5">[6]</ref> and Elgot <ref type="bibr" target="#b9">[10]</ref>. 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, Büchi <ref type="bibr" target="#b6">[7]</ref>,</p><p>McNaughton <ref type="bibr" target="#b18">[19]</ref>, and Rabin <ref type="bibr" target="#b21">[22]</ref> 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 <ref type="bibr">[4,</ref><ref type="bibr" target="#b28">29]</ref>. Another automata theoretic construction used in specification and verification was for µ-calculus <ref type="bibr" target="#b13">[14]</ref> and description logics <ref type="bibr" target="#b29">[30]</ref>. An extensive survey on automata and logic can be found in <ref type="bibr" target="#b26">[27]</ref>.</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 <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b16">17]</ref>.</p><p>We have used deductive techniques to represent and query automata. The system used to support our implementation, CORAL <ref type="bibr" target="#b22">[23,</ref><ref type="bibr" target="#b23">24,</ref><ref type="bibr" target="#b24">25]</ref>, 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 <ref type="bibr" target="#b8">[9,</ref><ref type="bibr" target="#b20">21]</ref>, and XSB <ref type="bibr" target="#b25">[26]</ref> (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 <ref type="bibr" target="#b19">[20]</ref>. Query optimization in relational systems includes choosing join orders and cost models <ref type="bibr" target="#b7">[8,</ref><ref type="bibr" target="#b27">28]</ref>. We use the idea of magic sets rewriting <ref type="bibr">[3]</ref> 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><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 Datalog cv . 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 <ref type="bibr" target="#b21">[22]</ref> and Alternating Automata <ref type="bibr" target="#b29">[30]</ref>, and on improving the upper complexity bounds by restricting the form of Datalog cv 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 <ref type="bibr" target="#b25">[26]</ref>.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Bottom-up and Magic Set evaluation of the program in Example 3.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Performance results (secs)</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">This, of course, can work only for certain class of problems as we are faced with the non-elementary lower bound in general.</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A Appendix</head><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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 5 The following program</head></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The Power of Languages for the Manipulation of Complex Values</title>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteoul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">VLDB Journal</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="727" to="794" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Set Construction in a Logic Database Language</title>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Naqvi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Shmueli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tsur</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Logic Programming</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">3&amp;4</biblScope>
			<biblScope unit="page" from="181" to="232" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">On the Power of Magic</title>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Ramakrishnan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Logic Programming</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">1-4</biblScope>
			<biblScope unit="page" from="255" to="299" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">An Automata-theoretic Approach to Branching-time Model Checking</title>
		<author>
			<persName><forename type="first">O</forename><surname>Bernholtz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Wolper</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computer Aided Verification, Proc. 6th Int. Workshop</title>
				<imprint>
			<date type="published" when="1994">1994</date>
			<biblScope unit="page" from="142" to="155" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Bryant</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Computing Surveys</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="293" to="318" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Weak Second-order Arithmetic and Finite Automata</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">R</forename><surname>Büchi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Z. Math. Logik Grundl. Math</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="66" to="92" />
			<date type="published" when="1960">1960</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">On a Decision Method in Restricted Second-order Arithmetic</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">R</forename><surname>Büchi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 1960 Int. Congr. for Logic, Methodology and Philosophy of Science</title>
				<meeting>1960 Int. Congr. for Logic, Methodology and Philosophy of Science</meeting>
		<imprint>
			<date type="published" when="1962">1962</date>
			<biblScope unit="page" from="1" to="11" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">An Overview of Query Optimization in Relational Systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Chaudhuri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">PODS</title>
		<imprint>
			<biblScope unit="page" from="34" to="43" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The LDL System Prototype</title>
		<author>
			<persName><forename type="first">D</forename><surname>Chimenti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Gamboa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Krishnamurthy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">A</forename><surname>Naqvi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tsur</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Zaniolo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Trans. Knowl. Data Eng</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="76" to="90" />
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Decision Problems of Finite Automata Design and Related Arithmetics</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">C</forename><surname>Elgot</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Trans. Amer. Math. Soc</title>
		<imprint>
			<biblScope unit="volume">98</biblScope>
			<biblScope unit="page" from="21" to="52" />
			<date type="published" when="1961">1961</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">High performance reasoning with very large knowledge bases: A practical case study</title>
		<author>
			<persName><forename type="first">V</forename><surname>Haarslev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Möller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IJCAI</title>
				<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="161" to="166" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Mona: Monadic Second-Order Logic in Practice</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">G</forename><surname>Henriksen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">L</forename><surname>Jensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">E</forename><surname>Jörgensen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Klarlund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Paige</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Rauhe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sandholm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TACAS</title>
		<imprint>
			<biblScope unit="page" from="89" to="110" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Using an expressive description logic: FaCT or fiction?</title>
		<author>
			<persName><forename type="first">I</forename><surname>Horrocks</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Knowledge Representation and Reasoning (KR)</title>
				<imprint>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="636" to="647" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Automata for the Modal µ-Calculus and related Results</title>
		<author>
			<persName><forename type="first">D</forename><surname>Janin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Walukiewicz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">MFCS</title>
		<imprint>
			<biblScope unit="page" from="552" to="562" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Mona as a DL Reasoner</title>
		<author>
			<persName><forename type="first">E</forename><surname>Karabaev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Lutz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Description Logics</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Mona &amp; Fido: The Logic-Automaton Connection in Practice</title>
		<author>
			<persName><forename type="first">N</forename><surname>Klarlund</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science Logic</title>
		<imprint>
			<biblScope unit="page" from="311" to="326" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">MONA Implementation Secrets</title>
		<author>
			<persName><forename type="first">N</forename><surname>Klarlund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Møller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">I</forename><surname>Schwartzbach</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Int. J. Found. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="571" to="586" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Query Processing in Relationlog</title>
		<author>
			<persName><forename type="first">M</forename><surname>Liu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">DEXA</title>
		<imprint>
			<biblScope unit="page" from="342" to="351" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Testing and Generating Infinite Sequences by a Finite Automaton</title>
		<author>
			<persName><forename type="first">R</forename><surname>Mcnaughton</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information and Control</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="521" to="530" />
			<date type="published" when="1966">1966</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title level="m" type="main">Query Optimization in Deductive and Relational Databases</title>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">S</forename><surname>Mumick</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1991">1991</date>
		</imprint>
		<respStmt>
			<orgName>Department of Computer Science, Stanford University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD Thesis</note>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">A Logical Language for Data and Knowledge Bases</title>
		<author>
			<persName><forename type="first">S</forename><surname>Naqvi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tsur</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1989">1989</date>
			<publisher>Computer Science Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Decidability of Second-order Theories and Automata on Infinite Trees</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">O</forename><surname>Rabin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Trans. Amer. Math. Soc</title>
		<imprint>
			<biblScope unit="volume">141</biblScope>
			<biblScope unit="page" from="1" to="35" />
			<date type="published" when="1969">1969</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">CORAL-A Database Programming Language</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ramakrishnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Bothner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Srivastava</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sudarshan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on Deductive Databases</title>
				<imprint>
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">CORAL-Control, Relations and Logic</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ramakrishnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Srivastava</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sudarshan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">VLDB Journal</title>
		<imprint>
			<biblScope unit="page" from="238" to="250" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">The CORAL Deductive System</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ramakrishnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Srivastava</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sudarshan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Seshadri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">VLDB Journal</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="161" to="210" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">XSB as an Efficient Deductive Database Engine</title>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">F</forename><surname>Sagonas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Swift</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Warren</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SIGMOD Conference</title>
				<imprint>
			<date type="published" when="1994">1994</date>
			<biblScope unit="page" from="442" to="453" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Languages, Automata, and Logic</title>
		<author>
			<persName><forename type="first">W</forename><surname>Thomas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Handbook of Formal Languages</title>
				<imprint>
			<date type="published" when="1997">1997</date>
			<biblScope unit="volume">3</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<monogr>
		<title level="m" type="main">Principles of Database and Knowledge-Base Systems</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Ullman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1989">1989</date>
			<publisher>Computer Science Press</publisher>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">An Automata-theoretic Approach to Automatic Program Verification</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Wolper</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the First Symposium on Logic in Computer Science</title>
				<meeting>of the First Symposium on Logic in Computer Science</meeting>
		<imprint>
			<date type="published" when="1986">1986</date>
			<biblScope unit="page" from="322" to="331" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Reasoning about The Past with Two-Way Automata</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ICALP</title>
		<imprint>
			<biblScope unit="page" from="628" to="641" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title/>
	</analytic>
	<monogr>
		<title level="j">N ode A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
	<note>n 2</note>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">← N ode A 1 (n 1 )</title>
	</analytic>
	<monogr>
		<title level="j">N ode A</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">) ← Start A 1 (n 1 )</title>
	</analytic>
	<monogr>
		<title level="j">Start A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
	<note>n 1 , n 2. Start A 2 (n 2</note>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title/>
	</analytic>
	<monogr>
		<title level="j">F inal A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
	<note>n 2</note>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">← F inal A 1 (n 1 )</title>
	</analytic>
	<monogr>
		<title level="j">F inal A</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Automaton for WS1S: T ransition A 1 ∧A 2</title>
	</analytic>
	<monogr>
		<title level="j">T ransition A</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="issue">21</biblScope>
			<date>nt 21</date>
		</imprint>
	</monogr>
	<note>nf 21. nt 11 , nt 21. ← T ransition A 1 (nf 11 , nt 11</note>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Top-down tree automaton for WS2S</title>
	</analytic>
	<monogr>
		<title level="j">T ransition A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">21</biblScope>
			<date>12. nt 21 , nt 22 , y</date>
		</imprint>
	</monogr>
	<note>T ransition A</note>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">Bottom-up tree automaton for WS2S</title>
	</analytic>
	<monogr>
		<title level="j">T ransition A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">21</biblScope>
			<date>nt 21</date>
		</imprint>
	</monogr>
	<note>T ransition A</note>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">y represent the free variables of the formula A 1 represents, and y, z of the formula A 2 represents. Lemma 3 If A 1 represents α 1 , and A 2 represents α 2 then, A 1 ×A 2 represents α 1 ∧α 2 . Definition 6 The following program P ∃A represents the projection automaton A p of A =</title>
		<author>
			<persName><forename type="first">X</forename><surname>Here</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">N ode ∃A (n) ← N ode A</title>
				<editor>
			<persName><forename type="first">N A</forename></persName>
		</editor>
		<editor>
			<persName><forename type="first">X</forename><forename type="middle">A</forename></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><forename type="middle">A</forename></persName>
		</editor>
		<imprint>
			<biblScope unit="page">1</biblScope>
		</imprint>
	</monogr>
	<note>T A , F A )</note>
</biblStruct>

<biblStruct xml:id="b39">
	<analytic>
		<title level="a" type="main">← Start A (n)</title>
	</analytic>
	<monogr>
		<title level="m">Start ∃A</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<monogr>
		<title level="m" type="main">← F inal A (n)</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<monogr>
		<title level="m" type="main">Automaton for WS1S: T ransition ∃A (nf 1 , nt 1 , y) ← T ransition A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
	<note>nt 1</note>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">Top-down tree automaton for WS2S: T ransition ∃A (nf 1 , nt 1 , nt 2 , y) ←</title>
	</analytic>
	<monogr>
		<title level="j">T ransition A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date>nt 2</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b43">
	<analytic>
		<title level="a" type="main">Bottom-up tree automaton for WS2S: T ransition ∃A (nf 1 , nf 2 , nt 1 , y)</title>
	</analytic>
	<monogr>
		<title level="j">T ransition A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b44">
	<analytic>
		<title level="a" type="main">x, y) ii. F inal ∃A (n) ← N ode</title>
	</analytic>
	<monogr>
		<title level="m">A (n), T ransition X (nf 1 , nt 1 , x, y), F inal A (nt 1 ), T ransition A (n, nt 2 , x, y), F inal A (nt 2</title>
				<imprint/>
	</monogr>
	<note>T ransition X (nf 1 , nt 1 , x, o) ← T ransition A (nf 1 , nt 1</note>
</biblStruct>

<biblStruct xml:id="b45">
	<analytic>
		<title level="a" type="main">nt 2 , x, y) ii. F inal ∃A (n) ← N ode A</title>
	</analytic>
	<monogr>
		<title level="m">(n), T ransition X (nf 1 , nt 1 , nt 2 , x, y), F inal A (nt 1 ), F inal A (nt 2 ), T ransition A (n, nt 3 , nt 4 , x, y), F inal A (nt 3 ), F inal A (nt 4</title>
				<imprint/>
	</monogr>
	<note>N ode A (n), T ransition X (nf 1 , nf 2 , nt 1 , x, y), F inal A (nt 1 ), T ransition A (nf 3 , n, nt 2. F inal A (nt 2</note>
</biblStruct>

<biblStruct xml:id="b46">
	<analytic>
		<title level="a" type="main">x k : α where A p is the projection automaton of A. Definition 7 The following program P D A represents the determinized automaton A d of A</title>
		<author>
			<persName><forename type="first">=</forename><surname>Here</surname></persName>
		</author>
		<author>
			<persName><surname>{0</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">0} where |o| = |y|, y represents free variables, and x represents</title>
				<editor>
			<persName><forename type="first">N A</forename></persName>
		</editor>
		<editor>
			<persName><forename type="first">X</forename><forename type="middle">A</forename></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><forename type="middle">A</forename></persName>
		</editor>
		<meeting><address><addrLine>T A , F A; U nion(N 1 , N 2 , N</addrLine></address></meeting>
		<imprint>
			<biblScope unit="page">1</biblScope>
		</imprint>
	</monogr>
	<note>N ode D A (N 2</note>
</biblStruct>

<biblStruct xml:id="b47">
	<monogr>
		<title level="m" type="main">← Start A (n)</title>
		<author>
			<persName><forename type="first">D</forename><surname>Start</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b48">
	<analytic>
		<title level="a" type="main">← N ode D A (N )</title>
		<author>
			<persName><forename type="first">D</forename></persName>
			<affiliation>
				<orgName type="collaboration">N</orgName>
			</affiliation>
		</author>
		<author>
			<persName><forename type="first">;</forename></persName>
			<affiliation>
				<orgName type="collaboration">N</orgName>
			</affiliation>
		</author>
	</analytic>
	<monogr>
		<title level="j">member</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b49">
	<analytic>
		<title level="a" type="main">Automaton for WS1S: T ransition D A (N f 1 , &lt; nt 1 &gt;, x) ← T ransition A (nf 1 , nt 1 , x), N ode D A (N f 1 )</title>
	</analytic>
	<monogr>
		<title level="j">member</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
	<note>N f 1</note>
</biblStruct>

<biblStruct xml:id="b50">
	<analytic>
		<title level="a" type="main">Top-down tree automaton for WS2S: T ransition D A (N f 1 , &lt; nt 1 &gt;, &lt; nt 2 &gt;, x) ← T ransition A (nf 1 , nt 1 , nt 2 , x), N ode D A (N f 1 )</title>
	</analytic>
	<monogr>
		<title level="j">member</title>
		<imprint>
			<biblScope unit="issue">1</biblScope>
		</imprint>
	</monogr>
	<note>N f 1</note>
</biblStruct>

<biblStruct xml:id="b51">
	<analytic>
		<title level="a" type="main">Bottom-up tree automaton for WS2S: T ransition D A (N f 1 , N f 2 , &lt; nt 1 &gt;, x) ← T ransition A (nf 1 , nf 2 , nt 1 , x), N ode D A (N f 1 ), member(nf 1 , N f 1 )</title>
	</analytic>
	<monogr>
		<title level="m">N ode D A (N f 2 )</title>
				<imprint/>
	</monogr>
	<note>N f 2</note>
</biblStruct>

<biblStruct xml:id="b52">
	<analytic>
		<title level="a" type="main">is non-empty or not, and as a result, if α, which is the formula represented by A, is satisfiable or not. 1</title>
	</analytic>
	<monogr>
		<title level="m">α then A d represents α, and A d is the determinized A. Definition 8 The following program P T C A computes the transitive closure of the transition function of A to find out if the language A represents</title>
				<imprint/>
	</monogr>
	<note>Automaton for WS1S: (a) T ranClos A (nf 1 , nt 1 ) ← T ransition A (nf 1 , nt 1 , x) (b) T ranClos A (nf 1 , nt 1 ) ← T ransition A (nf 1 , nt 2 , x. nt 2 , nt 1</note>
</biblStruct>

<biblStruct xml:id="b53">
	<analytic>
		<title level="a" type="main">Top-down tree automaton for WS2S: (a) T ranClos A (nf 1 , nt 1 , nt 2 ) ← T ransition A (nf 1 , nt 1 , nt 2 , x) (b) T ranClos A (nf 1 , nt 1 , nt 2 ) ← T ransition A (nf 1 , nt 3 , nt 4 , x)</title>
	</analytic>
	<monogr>
		<title level="j">T ranClos A</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date>nt 2</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b54">
	<analytic>
		<title level="a" type="main">nt 1 , nt 2 ) ← T ransition A (nf 1 , nt 3 , nt 4 , x)</title>
	</analytic>
	<monogr>
		<title level="j">T ranClos A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date>nt 2</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b55">
	<monogr>
		<title level="m" type="main">Bottom-up tree automaton for WS2S: (a) T ranClos A (nf 1 , nf 2 , nt 1 ) ← T ransition A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
	<note>nt 1 , x</note>
</biblStruct>

<biblStruct xml:id="b56">
	<analytic>
		<title level="a" type="main">2 , nt 1 ) ← T ransition A (nf 1 , nf 2 , nt 2 , x)</title>
	</analytic>
	<monogr>
		<title level="j">T ranClos A</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">3</biblScope>
			<date>nt 1</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b57">
	<analytic>
		<title level="a" type="main">1 , nf 2 , nt 1 ) ← T ransition A (nf 1 , nf 2 , nt 2 , x)</title>
	</analytic>
	<monogr>
		<title level="j">T ranClos A</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">2</biblScope>
			<date>nt 1</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
