<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Regular Relations in Parametric Array Theories</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rodrigo Raya</string-name>
          <email>rraya@mpi-sws.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Max-Planck Institute for Software Systems</institution>
          ,
          <addr-line>Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <fpage>80</fpage>
      <lpage>91</lpage>
      <abstract>
        <p>Parametric array theories are extensions of the quantifier-free theory of arrays with relations that hold componentwise. Unlike more expressive theories of arrays they allow specifying linear cardinality constraints on interpreted sets of indices, a notion close to the Härtig quantifier from model theory. We apply the notion of generalised power of a structure to study the satisfiability problem of parametric array theories. We show that reasoning about component-wise relations, linear cardinality constraints and succinct regular relations can be done eficiently by reduction to propositional satisfiability. We indicate how our techniques can be adapted to theories of trees.</p>
      </abstract>
      <kwd-group>
        <kwd>decision procedures</kwd>
        <kwd>satisfiability modulo theories</kwd>
        <kwd>symbolic automata</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>CEUR</p>
      <p>ceur-ws.org
relations only require one universal quantifier to be expressed. For instance, one may define the addition
of two arrays  and  as:
 +  =</p>
      <p>if and only if for every  ∈  , () + () = ()
This is in contrast to other array theories such as the array property fragment [5], which allow properties
using several related universally quantified indices. For instance, one may define in this fragment the
property of an array being ordered:
 is ordered if and only if for every ,  ∈  ,  ≤ 
implies [] ≤ []
While “array properties” in [5] allow several universal quantifiers, this comes at the cost of severe
syntactic restrictions. In contrast, parametric array theories ofer the possibility of using linear
cardinality relations on sets of indices [16, 14, 1, 30]1 as well as constraints on the sums of elements of array
variables. These properties are inexpressible in the array property fragment.</p>
      <p>These results motivate us to push further our investigation. In this paper, rather than moving to
the design of algorithms for first-order theories (which would be justified by the incipient quantifier
elimination method of [30]), we choose to further explore the possibilities in the quantifier-free setting
which is the one relevant to the satisfiability modulo theories framework.</p>
      <p>We take inspiration from the work of Feferman and Vaught [12], who introduced the notion of
generalised power of a structure and motivated by the question of decidability of the weak monadic
second order theory of one succesor (WS1S), raised by Tarski, discuss generalised powers with this theory
of indices in the later sections of their paper. However, deciding WS1S is computationally intractable
[34]. Thus, we present the definable relations of the theory in the form of regular expressions. It was
proved by Büchi [7] that both formalisms are expressively equivalent. We refer to the relations on sets
of indices induced by regular expressions or WS1S formulas as regular relations. 2</p>
      <p>There are several reasons that lead us to think that an extension of array theories with cardinality
constraints and regular expressions is worthwhile investigating. First, this extends the work of Alberti,
Ghilardi and Pagani [1] since it is well-known that WS1S is more expressive than Presburger arithmetic
[35]. Second, this extension allows us to express properties of arrays such as those appearing in array
folds logic [9]. While array folds logic only allows folding expressions over one array variable, this
restriction does not appear in the fragment that we present. Third, a similar extension but without
cardinality constraints has been considered concurrently to our work in [18].</p>
      <p>Both in [18] and in our work, it seems that a non-trivial insight for the construction of the decision
algorithm is needed. We point out to the reader that this insight is materialised in our paper in the
partition variables introduced in Section 4.1. Indeed, since our specifications contain formulas whose
interpretations, as sets of indices of the arrays, may overlap, it is essential to ensure that there exists a
model adhering to the regular specification regardless of the overlaps in the semantic domain.</p>
      <p>Unlike [18], we focus in the case of regular languages which should be more familiar to the readers.
Nevertheless, we include a final section pointing out the main ingredients of the extension to regular
tree languages. Also, for the sake of clarity, we have focused in cardinality constraints, but it should be
clear that an extension to summation constraints is also possible.</p>
      <p>Organisation of the paper. The rest of the paper is organised as follows. Section 2 describes
generalised powers using specific theories of sets with cardinalities, theories describing their contents,
and theories describing regular relations on the indices of these sets. Section 3 describes the satisfiability
preserving encoding of arrays in generalised powers. Section 4 gives an algorithm that in polynomial
time takes as input a generalised power structure specification and outputs an equivalent formula in</p>
      <sec id="sec-1-1">
        <title>1A similar notion appears in the model theory literature under the name of Härtig’s quantifier [ 2].</title>
        <p>2We had considered regular expressions in our PhD thesis [29]. Here we consider regular expressions over first-order formulas.
This formalism has been popularised in recent times under the name of symbolic regular expression and it can also be seen
as motivated by Feferman-Vaught’s results. This is what we mean by “succinct” regular relations. We also sometimes speak
of “ordering” instead of regular relations since regular relations are precisely those expressible in the monadic theory of
order [7].
the combination of the quantifier-free theory of Boolean algebra of sets with Presburger arithmetic and
the alphabet’s theory. Section 5 discusses the applicability of the technique in the setting of theories of
trees, connecting to recent work. Section 6 concludes the paper.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Generalised powers</title>
      <sec id="sec-2-1">
        <title>Let us start with the definition of generalised power structure as it is given in [ 12].</title>
        <p>Definition 2.1. The generalised power  (ℳ,  ) of a structure ℳ = ⟨ , …⟩ is a structure whose carrier
set is the set   of functions from the (possibly infinite) index set  to the carrier set  of the structure
ℳ and whose relations are interpreted as sets of the form</p>
        <p>{(1, … ,   ) ∈ (  ) ∣ Φ( 1, … ,   )}
where  is a natural number, Φ is a Boolean algebra expression over  ( ) using the symbols ⊆, ∪, ∩ or ⋅
and each set variable  is interpreted as
 = { ∈  ∣ (
1(), … ,   ())}
where  is a formula in the first-order theory of ℳ.</p>
        <p>In the following, we will use the term “arrays” for the functional elements in the carrier from a
generalised power  (ℳ,  ) , the term “elements” for the members of the carrier set of the structure
ℳ and the term “indices” for the members of the set  . We will use the notation () when we want to
emphasize the algebraic perspective and the notation [] when we want to emphasize the connection
to array theories. In particular, we will use the latter notation when describing how to translate from
parametric array theories to generalised powers.</p>
        <p>Nothing prevents us from considering set interpretations of the form</p>
        <p>
          = { ∈  ∣  ()}
where  is a formula that refers only to indices in the set  . In fact, this direction is pursued in [1] where
a fragment of the theory of arrays is investigated that corresponds to a generalised power whose set
interpretations conflate both the theory of indices and the theory of elements using the quantifier-free
fragment of Presburger arithmetic to refer to both. We will use diferent set interpretations for indices
and elements. We will use relations of the following form:
 ( 1, … ,   ) ∧ ( 1, … ,   ) ∧ ( 1, … ,   )
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
Here  specifies linear cardinality constraints on the shared set variables  1, … ,   .  specifies the regular
relations on the set of indices  1, … ,   . Finally,  specifies the componentwise relations on the arrays
 1, … ,   . The precise description of Formula (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) occupies the rest of the section.
        </p>
        <sec id="sec-2-1-1">
          <title>2.1. Sets of indices</title>
          <p>
            Formulas  ,  and  in (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) use variables  1, … ,   representing subsets of an index set  . This is explicitly
shown in (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) for  and  . The variables  1, … ,   are omitted from formula  to emphasize the role of
componentwise relations on array variables. Thus, the variables  1, … ,   are used to combine the three
theories. This approach to theory combination was pioneered in [37]. As we focus on arrays,  = ℕ .
Generalisations to trees are also possible and in that case  = {0, 1} ∗.
          </p>
        </sec>
        <sec id="sec-2-1-2">
          <title>2.2. Linear cardinality constraints on the sets of indices</title>
          <p>( 1, … ,   )is a formula in the quantifier-free theory of Boolean algebra with Presburger arithmetic
(QFBAPA) [25]. The syntax of QFBAPA is given in Figure 1. The top-level symbol  presents the
Boolean structure of the formula,  stands for the atomic formulas which can be either Boolean algebra
expressions on the sets denoted by the symbol  or Presburger arithmetic restrictions on numbers
denoted by the symbol  . The operator dvd stands for the divisibility relation, which is used to ensure
that the quantifier-free fragment has the same expressive power as the full first-order theory of Boolean
algebra with Presburger arithmetic (BAPA)[24].  represents the universal set  . Lowercase  and 
represent Boolean and integer variables respectively. The remaining interpretations are standard in the
respective theories (Boolean algebra of sets or Presburger arithmetic).</p>
          <p>∶∶=  |</p>
          <p>1 ∧  2 |  1 ∨  2 | ¬
 ∶∶=  1 =  2 |  1 ⊆  2 |  1 =  2 |  1 ≤  2 |  dvd 
 ∶∶=  | ∅ |  | 
 ∶∶=  |  | 
1 ∪  2 |  1 ∩  2 |</p>
          <p>1 +  2 |  ⋅  | ||
 ∶∶= … | − 2 | − 1 | 0 | 1 | 2 | …
Example 2.1. An example of QFBAPA formula is || &gt; 1 ∧  ⊆  ∧ | ∩ | ≤ 2
2.3. Componentwise relations on arrays
( 1, … ,   )is a formula specifying componentwise relations. It does so with set interpretations of the
form:</p>
          <p>= { ∈  ∣   ((), )}
where  denotes a tuple of array variables,  denotes a tuple of constants from the element theory and
  is a formula of the element theory. As in Definition 2.1, () denotes the  -th position of array  and
() = ( 1(), … ,   ()).</p>
          <p>
            Example 2.2. The equality between two arrays  1 and  2 can be written in the fragment of (
            <xref ref-type="bibr" rid="ref1">1</xref>
            )as:
 = { ∈  ∣  1() =  2()} ∧ || = | |
where  as explained above, represents the universal set  .
          </p>
        </sec>
        <sec id="sec-2-1-3">
          <title>2.4. Regular relations on the set of indices</title>
          <p>
            be specified by the symbolic regular expression: 3
( 1, … ,   )is a formula specifying regular relations in the set of indices. For instance, the array could
 1(, )( 1(, ) ∨  2(, ))∗ 3(, )
(
            <xref ref-type="bibr" rid="ref2">2</xref>
            )
This specifies that the first element
          </p>
          <p>of the array satisfies the formula  1(, ), then there is a sequence
of zero or more elements  satisfying either  1(, ) or  2(, ) and the last element  satisfies the formula
 3(, ). Each instantiation of  is diferent for each witness, while the value of the parameters in  must
be the same for the whole array. However, this approach conflates the specifications of the indices and
the specifications of the elements of the arrays.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>3There are several possibilities to write regular relations. Here we use regular expressions for economy of notation.</title>
      </sec>
      <sec id="sec-2-3">
        <title>Let us instead write a symbolic version of the regular expression above</title>
        <p>
          To relate this symbolic expression and the theory of the elements, we let  be a sequence of bit-strings
 ∈ ({0, 1}3)∗ and define
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
 1 = { ∈  ∣  1() = 1} ∧ 1 = { ∈  ∣  1((),)}
 2 = { ∈  ∣  2() = 1} ∧ 2 = { ∈  ∣  2((),)}
 3 = { ∈  ∣  3() = 1} ∧ 3 = { ∈  ∣  3((),)}
where  1,  2 and  3 denote, respectively, the first, second and third rows of the sequence and   ()denotes
the  -th position in   .
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Then, satisfiability of ( 2) is equivalent to satisfiability of</title>
        <p>
          ∃ ∈ ({0, 1}3)∗. ⊧  1( 1 ∨  2)  3 ∧ (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
∗
where  ⊧ ( 1, … ,   )means that the bit-string sequence  satisfies propositionally the regular expression
( 1, … ,   ), that is, there is a word  of propositional formulas over the variables  1,  2 and  3 generated
by  such that for each  , () ⊧  () propositionally.
        </p>
        <p>Example 2.3. A bit-string sequence  belonging to the language of the symbolic regular expression
∗
 1( 1 ∨  2)  3 is the following</p>
        <p>
          1 1 0 0 0
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) (0) (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) (0)
        </p>
        <p>0 0 0 1 1
The values of its rows are respectively  1 = 11000,  2 = 10110 and  3 = 00011.</p>
        <p>It satisfies the word of propositional formulas  1( 1 ∨  2)(1 ∨  2)(1 ∨  2) 3 which is generated by
 1( 1 ∨  2)∗ 3.</p>
        <p>We call the bit-string sequences  regular tables or simply tables and write  () for the set of all
tables satisfying the symbolic regular expression  .</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Encoding of arrays</title>
      <p>Let us briefly mention how would the terms of an array theory, most importantly, array “reads” and
“writes”, be written in the language of generalised powers, while preserving the satisfiability of formulas.</p>
      <sec id="sec-3-1">
        <title>A componentwise specification is written as in Example 2.2.</title>
        <p>An array read is a functional term [] . To encode this term in generalised powers, we introduce the
set variable  representing the singleton set {} and require that | | = 1 . We then introduce an element
theory variable   and require that { ∈  ∣ () =   } ⊇  .</p>
        <p>An array write is a functional term  (, ,  ) . To encode this term in generalised powers, we
introduce a new variable  to stand for the term  (, ,  ) and require that { ∈  ∣ () =  } ⊇  and
{ ∈  ∣ () = ()} ⊇  ∖  .</p>
      </sec>
      <sec id="sec-3-2">
        <title>Example 3.1. Consider the array formula from [5].</title>
        <p>1 =  ∧  1 ≠  2 ∧ [] =  1 ∧  ( (, 
1,  1), 2,  2)[] ≠ []</p>
        <p>For each index variable ,  1,  2, we introduce set variables  ,  1,  2 and impose that  1 =  ,  1 ≠  2 and
| 1| = | 2| = | | .</p>
        <p>The term [] =  1 is translated into { ∈  ∣ () =  1} ⊇  .</p>
        <p>We introduce the array variables  for  (,  1,  1)and  for  (,  2,  2). We can then encode the
fourth conjunct as { ∈  ∣ () ≠ ()} ⊇  . The store operators are encoded as indicated above.</p>
      </sec>
      <sec id="sec-3-3">
        <title>The resulting formula is in the theory of the generalised power and is equisatisfiable to the original.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Deciding generalised powers</title>
      <p>
        Let us now give a method to decide satisfiability of formulas of the form (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). These are of the following
form:
 ( 1, … ,   ) ∧ ∃ ∈  ().
      </p>
      <p>⋀   = {  ∈ ℕ |   ((), ) } = {  ∈ ℕ |   () = 1 }
The satisfiability problem requires showing that the following formula is true:
∃ ∈ 
∗, ∈  (), .</p>
      <p>
        ( 1, … ,   ) ∧⋀   = {  ∈ ℕ ∣   ((), ) } = {  ∈ ℕ ∣   () = 1 }
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
where  is the domain of the array elements.
      </p>
      <p>
        We show how to compute in polynomial time a formula in the combination of QFBAPA and the
existential fragment of the first-order theory of the domain  such that Formula (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) is equivalent to the
computed formula.
      </p>
      <p>
        Theorem 4.1. There is a polynomial time algorithm that given formula (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) computes an equivalent
formula (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) in the combination of QFBAPA and the existential fragment of the first-order theory of  ,
 ℎ ∃∗( ) .
and  ℎ ∃∗( )
      </p>
      <sec id="sec-4-1">
        <title>4.1. Construction of the equivalent formula</title>
        <sec id="sec-4-1-1">
          <title>The equivalent formula has three parts. The first is an existential prefix shared between both</title>
          <p>QFBAPA
∃ ≤ (| |), ∃ ∈ [],  ∶ [] ↪ [], ∃
1, … ,   ∈ {0, 1} .
where  is a natural number,  is a polynomial, | | is the number of symbols used to write  , [] ∶=
{ 1, … ,  } abbreviates the set of the first  natural numbers,  is the number of propositional formulas
used in   ,  is an injection from [] to []</p>
          <p>and  is the number of set variables used in  .</p>
          <p>The second part of the formula is an expression in the theory  ℎ ∃∗( )
( 1, … ,   ) ∶= ∃.</p>
          <p>⋀ ∃ ∈ .</p>
          <p>(, )

and given a bit-string  ∈ {0, 1}  ,   ∶= ⋀=1</p>
          <p>The third part of the formula is in QFBAPA</p>
          <p>() .
where we use the notation that given the list  1, … ,   of formulas specifying the elements in Formula 6
 ( 1, … ,   , …) ∶=( 1, … ,   ) ∧  ( 1, … ,   ) ∧⋀   ⊆   () ∧
=1


=1

=1

=1

=1
where  is a formula in the existential fragment of Presburger arithmetic of size linear in the size of the
regular expression  .  describes the Parikh image of  . The description of the Parikh image in terms
of linear-size existential Presburger arithmetic formulas is based on a result from [33].
Definition 4.1 (Parikh Image).
variables  1, … ,   is the set
The Parikh image of a symbolic regular expression  using propositional letters  1, … ,   over the</p>
          <p>
            Parikh() = {(||  1, … , ||   ) ∣ ∈   ( 1, … ,   )}
table  .
where  is a word of propositional formulas and ||   is the number of occurrences of   in the symbolic
∗
Example 4.1. Continuing Example 2.3, we had a symbolic regular expression  1( 1 ∨  2)  3 and a word
of propositional formulas  1( 1 ∨  2)(1 ∨  2)(1 ∨  2) 3. Thus, one vector in the Parikh image is (
            <xref ref-type="bibr" rid="ref1 ref1 ref3">1, 3, 1</xref>
            ).
In general, the Parikh image of  1( 1 ∨  2)  3 would contain the vectors (1, , 1) for each  ∈ ℕ .
∗
          </p>
          <p>Continuing with the description of the third part of the formula,  is the QFBAPA term in Formula 6,
  ∶= ∩=1  
()</p>
          <p>where  ∈ {0, 1}  ,   ∶= ∪⊧   where ⊧ is the propositional satisfaction relation and
 ∈ {0, 1}  , | ⋅ | denotes the cardinality of the argument set expression, ∪̇∈   is the set ∪∈   where we
emphasize that each pair of sets   ,   are disjoint.</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>Shortening tuples of variables with an overline, we write Formula (8) as</title>
          <p>∃ ≤ (| |), ∃ ∈ [],  ∶ [] ↪ [], ∃
 ∈ {0, 1}  .( ) ∧ ∃ , . (
, , )</p>
        </sec>
        <sec id="sec-4-1-3">
          <title>This formula can be computed in polynomial time.</title>
          <p>
            Intuitively, the partition variables   determine which propositional formula generated each value
of the arrays accepted, so that, even if these formulas overlap, a model corresponding to a run of the
automaton can be rebuilt. The reason why we need to check the existence of only one witness per
elementary Venn region follows from the fact that we can “replicate” this witness in each of the indices
that satisfied the corresponding formula   (see also [30, 31]).
(
            <xref ref-type="bibr" rid="ref8">8</xref>
            )
(9)
(10)
(11)
          </p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Proof of the theorem</title>
        <p>
          We prove that Formula (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) and Formula (13) are equivalent.
        </p>
        <p>
          ⇒)If Formula (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) is true, then there are sets  1, … ,   , a finite array  and a table  ∈  () such that

=1
 ( 1, … ,   ) ∧⋀   = {  ∈ ℕ |   ((), ) } = {  ∈ ℕ |   () = 1 }
  = {  ∈ ℕ | () =  ()
we can show that the following holds
Let  be the symbolic table corresponding to  , that is, the table made of the propositional formulas
generated by ( 1, … ,   )such that  satisfies  .
        </p>
        <p>Define   ∶= ||  
for  ∈ {1, … , }</p>
        <p>as the number of occurrences of   in the symbolic table  ,  =
| {  |   ≠ 0 }|,  mapping the indices in [] to the indices  of the terms for which   is non-zero and
}. From the equalities   = {  ∈ ℕ |   () = 1 } = {  ∈ ℕ |   ((), ) } in (9),
( 1, … ,   ) ∧  ( 1, … ,   ) ∧⋀   ⊆   () ∧

=1</p>
        <p>Formula (10) is in QFBAPA. Following the procedure from [25], we eliminate Boolean algebra
expressions and the cardinality operator yielding a system of equations of the form
2 −1 J 0K 
∑ (</p>
        <p>⋮
=0</p>
        <p>J  K 
where  is the existential Presburger arithmetic formula that results from (10) after the elimination and
   = |   |.</p>
        <p>We remove from the sum those terms corresponding to elementary Venn regions  such that   = 0.
This includes regions whose associated formula in the interpreted Boolean algebra  
(, ) is unsatisfiable,</p>
        <sec id="sec-4-2-1">
          <title>We now give the key auxiliary result from [25] proved in [11].</title>
          <p>Definition 4.2.</p>
          <p>Given a subset  ⊆ ℝ  , the integer conic hull of  is the set

=1</p>
          <p>() = { ∑     | ≥ 0,   ∈ ,   ∈ ℕ}
Theorem 4.2. Let  ⊆ ℤ  be a finite set of integer vectors,  ∈ 

( ) and  =
maxx∈ ‖x‖∞ =
maxx∈ max{| 1|, … , |  |} where || denotes the absolute value of the number  . There exists a subset
⊆  such that  ∈  
( ′)and | ′| ≤ 2 log2(4 )
where | ′| denotes the cardinality of the set
cardinalities   1, … ,   
′</p>
          <p>′ such that:
Using Theorem 4.2, there is a polynomial family of Venn regions  1, … ,   and corresponding
 
We can assume that each cardinality variable  ′ is non-zero, since otherwise, we can remove it from
the sum. With this assumption,   1, … ,   
′</p>
          <p>
            ′
cardinality of the elementary Venn region  1
lists the cardinalities of a model of (10) which defines the
′ 1
∩ … ∩  
′  to be equal to  ′ if  ∈ { 1, … ,   } and zero
otherwise. In particular, we have that the following formula, corresponding to the subformula  in (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ),
and regions corresponding to bit-strings not occurring in  . This transformation leaves a reduced set of
indices ℛ participating in the sum:
 
 ′
 ′.
holds
(12)
(13)
(14)
(15)
          </p>
          <p>From (15) and the definition of  , follows that there is a symbolic table  generated by the symbolic
regular expression  such that ||   =   for each   ∈ {  1, … ,   } occurring in  . Moreover, from
′</p>
          <p>′
( 1, … ,   ) ∧  ( 1, … ,   ) ∧⋀   ⊆   () ∧
′</p>
          <p>′

=1</p>
          <p>′
  (, ) ∧ ( 1, … ,   ) ∧  ( 1, … ,   ) ∧⋀   ⊆   () ∧
∧ ⋀ |  | =  ()</p>
          <p>∧ ∪=1   = ∪=1    = ∪̇=1   = ∪=1   


also true.</p>
          <p>
            ⇐)If Formula (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) is true, then there is a natural number  ≤ (| |)
 1, … ,   ∈ {0, 1} ,  1, … ,   ∈ ℕ and sets  1, … ,   ,  1, … ,   such that
          </p>
          <p>
            For each  ∈ { 1, … ,   }, the formula ∃. 
(, ) is true, since  ′ &gt; 0. Thus, the subformula  in (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) is
          </p>
          <p>where  is a polynomial,  ∈ [] ,
=1


=1
⋀   ⊆   ()</p>
          <p>∧ ∪=1    = ∪̇=1</p>
          <p>
            From the subformula
we have that all the sets    are empty except   (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) , … ,   () .
          </p>
          <p />
          <p>∪=1    = ∪̇=1   ∧ ⋀   ⊆   () ∧ ⋀ |  | =  ()

=1

=1
follows that we may define   to consist of the indices of  labelled with the formula  () for each
 ∈ {1, … , } . This is because the values in   are guaranteed to satisfy the formula  () . Note that the
values in   could satisfy other formulas  () . However, the role of the variables   is to determine
which formula of the regular expression generated the values satisfying  () regardless of whether the
witnesses satisfied other formulas too.</p>
          <p>From the subformula
∃.</p>
          <p />
          <p>Observe that  ( 1, … ,   )holds by assumption. Moreover,
all the elements in    belong to a single set   .
it follows that there exist values   1, … ,    satisfying the formulas   1(, ), … ,    (, ) and moreover,
we build an array  by substituting in  the indices in   by the values    such that    ⊆   .</p>
          <p>We define a table  by substituting in  the indices in   by the values   such that    ⊆   . Similarly,
  = ∪{∣  ()=1}    = {  ∈ ℕ ∣   () = 1 }
  = ∪{∣  ()=1}    = {  ∈ ℕ ∣   ((), ) }</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>Thus, Formula (7) is true.</title>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Computational complexity of the combination</title>
        <p>Note that Theorem 4.1 also allows to assert at once the complexity of the underlying logical theory.
If  =</p>
        <p>
          P then the satisfiability problem of formulas of the form (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) is in NP. If  ⊇
Corollary 4.1. Let  be the complexity class to which the satisfiability problem of  ℎ ∃∗( ) belongs.
        </p>
        <sec id="sec-4-3-1">
          <title>NP then the</title>
          <p>
            satisfiability problem of formulas of the form (
            <xref ref-type="bibr" rid="ref6">6</xref>
            ) is in  .
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. The case of trees</title>
      <p>One can adapt the techniques of Section 4 to the case when the regular specification is given by a
parametric tree automaton, thus extending the results of [18]. The main diference with the procedure
of Section 4 is that in the case of parametric tree automata one needs to compute the Parikh image
of a regular tree language. This is done in a completely analogous way as it is done in Definition
4.1
for parametric finite automata. Note that it is easy to convert from non-deterministic top-down to
non-deterministic bottom-up tree automata [8, Theorem 1.6.1]. One can then use the observation of
Klaedtke and Rueß [22, Lemma 17] which allows to reduce the problem to the computation of the Parikh
image of a context-free grammar. Finally, [36] says that the Parikh image of a context-free grammar
can be described by a linear-sized existential Presburger arithmetic formula.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>We have shown how to extend decision procedures for satisfiability of parametric array fragments
with regular constraints. In terms of quantifiers, this shows how to simultaneously support Härtig’s
quantifiers and WS1S second-order quantification. Our techniques extend previous results of Alberti,
Ghilardi and Pagani [1] since the relations expressible in WS1S extend those expressible in Presburger
arithmetic. They also extend recent results in the literature [18], which did not handle the cardinality
operator.</p>
      <sec id="sec-6-1">
        <title>Our work mixes ideas from decision algorithms for three diferent logical theories: quantifier-free</title>
        <p>BAPA [25], combinations of BAPA with WS1S and WS2S [37] and existential fragment of power
structures [30]. However, a crucial technical dificulty has been overcome to make the combination work.</p>
      </sec>
      <sec id="sec-6-2">
        <title>This dificulty stems from the fact that while Büchi’s automata are over finite alphabets, the correspond</title>
        <p>ing automata (or equivalently, regular expressions) that appear in the Feferman-Vaught framework use
ifrst-order formulas in their transitions, since set variables are interpreted. We demonstrated, as our
colleagues [18], that one can still use the Parikh image of this symbolic automata to combine theories.
Since one is now counting formulas rather than symbols from a finite alphabet, and formulas can
overlap in the semantic domain, it becomes necessary to indicate to the QFBAPA constraint which
transition of the automaton produced each index. We achieved this by introducing a partition of the
sets of indices of the array, where each part corresponds to the indices generated by a given transition.</p>
        <p>The implementation of the algorithm could be achieved mixing the techniques of ARCA-SAT [1]
with software computing the Parikh image of regular expressions and context-free grammars. For the
latter, there exist several implementations, we mention for instance [19], where a fix to the construction
original of Verma et alii [36], is also described.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Possible applications of the decision procedure include automatic verification of array manipulating programs in deductive verification systems and model checking of distributed protocols. Nevertheless, due to the number of ideas that are combined in this work, we would not be surprised if further applications are found in the future.</title>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>The author wishes to express his gratitude to Viktor Kunčak for suggesting us the application of the
methods of our thesis to symbolic automata. Anthony Lin and Oliver Markgraf provided useful remarks
on the final presentation of the results in this paper. Research supported by the Swiss NSF Project
P500PT_222338
[9] Przemysław Daca, Thomas A. Henzinger, and Andrey Kupriyanov. Array Folds Logic. In Computer</p>
      <sec id="sec-7-1">
        <title>Aided Verification , Lecture Notes in Computer Science, pages 230–248, Cham, 2016. Springer</title>
        <p>International Publishing. doi:10.1007/978-3-319-41540-6_13.
[10] Leonardo de Moura and Nikolaj Bjorner. Generalized, eficient array decision procedures. In
2009 Formal Methods in Computer-Aided Design, pages 45–52, Austin, TX, November 2009. IEEE.
doi:10.1109/FMCAD.2009.5351142.
[11] Friedrich Eisenbrand and Gennady Shmonin. Carathéodory bounds for integer cones. Operations</p>
        <p>
          Research Letters, 34(
          <xref ref-type="bibr" rid="ref5">5</xref>
          ):564–568, September 2006. doi:10.1016/j.orl.2005.09.008.
[12] S. Feferman and R. Vaught. The first order properties of products of algebraic systems. Fundamenta
        </p>
        <p>
          Mathematicae, 47(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ):57–103, 1959.
[13] Paolo Felli, Alessandro Gianola, and Marco Montali. SMT-based Safety Checking of Parameterized
Multi-Agent Systems. Proceedings of the AAAI Conference on Artificial Intelligence , 35(
          <xref ref-type="bibr" rid="ref7">7</xref>
          ):6321–6330,
        </p>
      </sec>
      <sec id="sec-7-2">
        <title>May 2021. Number: 7. URL: https://ojs.aaai.org/index.php/AAAI/article/view/16785, doi:10.</title>
        <p>1609/aaai.v35i7.16785.
[14] Klaus Freiherr von Gleissenthall. Cardinalities in Software Verification . PhD thesis, Technische</p>
        <p>Universität München, Fakultät für Informatik, 2016.
[15] Alessandro Gianola. Verification of Data-Aware Processes via Satisfiability Modulo Theories , volume
470 of Lecture Notes in Business Information Processing. Springer Nature Switzerland, Cham, 2023.
doi:10.1007/978-3-031-42746-6.
[16] Klaus v. Gleissenthall, Nikolaj Bjørner, and Andrey Rybalchenko. Cardinalities and universal
quantifiers for verifying parameterized systems. In Proceedings of the 37th ACM SIGPLAN Conference
on Programming Language Design and Implementation, PLDI ’16, pages 599–613, New York, NY,</p>
      </sec>
      <sec id="sec-7-3">
        <title>USA, June 2016. Association for Computing Machinery. doi:10.1145/2908080.2908129.</title>
        <p>[17] Arie Gurfinkel, Sharon Shoham, and Yuri Meshman. SMT-based verification of parameterized
systems. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of
Software Engineering , FSE 2016, pages 338–348, New York, NY, USA, November 2016. Association
for Computing Machinery. URL: https://dl.acm.org/doi/10.1145/2950290.2950330, doi:10.1145/
2950290.2950330.
[18] Matthew Hague, Artur Jeż, and Anthony W. Lin. Parikh’s Theorem Made Symbolic. Proceedings
of the ACM on Programming Languages, 8(POPL):65:1945–65:1977, January 2024. URL: https:
//dl.acm.org/doi/10.1145/3632907, doi:10.1145/3632907.
[19] Matthew Hague and Anthony Widjaja Lin. Synchronisation- and Reversal-Bounded Analysis of</p>
      </sec>
      <sec id="sec-7-4">
        <title>Multithreaded Programs with Counters. In P. Madhusudan and Sanjit A. Seshia, editors, Computer</title>
      </sec>
      <sec id="sec-7-5">
        <title>Aided Verification , Lecture Notes in Computer Science, pages 260–276, Berlin, Heidelberg, 2012.</title>
        <p>Springer. doi:10.1007/978-3-642-31424-7_22.
[20] Chih-Duo Hong and Anthony W. Lin. Regular Abstractions for Array Systems. Proceedings of the</p>
      </sec>
      <sec id="sec-7-6">
        <title>ACM on Programming Languages, 8(POPL):638–666, January 2024. URL: https://dl.acm.org/doi/10.</title>
        <p>1145/3632864, doi:10.1145/3632864.
[21] James Cornelius King. A program verifier . PhD thesis, Carnegie-Mellon University, Pittsburgh</p>
      </sec>
      <sec id="sec-7-7">
        <title>Pennsylvania USA, September 1969. Section: Technical Reports. URL: https://apps.dtic.mil/sti/</title>
        <p>citations/AD0699248.
[22] Felix Klaedtke and Harald Rueß. Parikh Automata and Monadic Second-Order Logics with Linear</p>
      </sec>
      <sec id="sec-7-8">
        <title>Cardinality Constraints. Technical Report 177, Freiburg University, Institute of Computer Science,</title>
        <p>2002.
[23] Daniel Kroening and Ofer Strichman. Decision Procedures. Texts in Theoretical Computer Science.</p>
        <p>
          An EATCS Series. Springer Berlin Heidelberg, Berlin, Heidelberg, 2 edition, 2016. doi:10.1007/
978-3-662-50497-0.
[24] Viktor Kunčak, Huu Hai Nguyen, and Martin Rinard. Deciding Boolean Algebra with
Presburger Arithmetic. Journal of Automated Reasoning, 36(
          <xref ref-type="bibr" rid="ref3">3</xref>
          ):213–239, April 2006. doi:10.1007/
s10817-006-9042-1.
[25] Viktor Kunčak and Martin Rinard. Towards Eficient Satisfiability Checking for Boolean Algebra
with Presburger Arithmetic. In Automated Deduction – CADE-21, Lecture Notes in Computer
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Alberti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghilardi</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Pagani.</surname>
          </string-name>
          <article-title>Cardinality constraints for arrays (decidability results and applications)</article-title>
          .
          <source>Formal Methods in System Design</source>
          ,
          <volume>51</volume>
          (
          <issue>3</issue>
          ):
          <fpage>545</fpage>
          -
          <lpage>574</lpage>
          ,
          <year>December 2017</year>
          . doi:
          <volume>10</volume>
          .1007/ s10703-017-0279-6.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Barwise</surname>
          </string-name>
          and S. Feferman, editors.
          <source>Model-Theoretic Logics. Perspectives in Logic</source>
          . Cambridge University Press, Cambridge,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1017/9781316717158.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Roderick</given-names>
            <surname>Bloem</surname>
          </string-name>
          , Ayrat Khalimov, Swen Jacobs, Igor Konnov, Helmut Veith, Josef Widder, and
          <string-name>
            <given-names>Sasha</given-names>
            <surname>Rubin</surname>
          </string-name>
          .
          <source>Decidability of Parameterized Verification . Synthesis Lectures on Distributed Computing Theory</source>
          . Springer International Publishing, Cham,
          <year>2015</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -02011-7.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Mikołaj</given-names>
            <surname>Bojańczyk</surname>
          </string-name>
          , Luc Segoufin, and
          <string-name>
            <given-names>Szymon</given-names>
            <surname>Toruńczyk</surname>
          </string-name>
          .
          <article-title>Verification of database-driven systems via amalgamation</article-title>
          .
          <source>In Proceedings of the 32nd ACM SIGMOD-SIGACT-SIGAI symposium on Principles of database systems</source>
          ,
          <source>PODS '13</source>
          , pages
          <fpage>63</fpage>
          -
          <lpage>74</lpage>
          , New York, NY, USA,
          <year>June 2013</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
          <source>doi:10.1145/2463664</source>
          .2465228.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Aaron</given-names>
            <surname>Bradley</surname>
          </string-name>
          and
          <string-name>
            <given-names>Zohar</given-names>
            <surname>Manna</surname>
          </string-name>
          .
          <article-title>Calculus of computation: decision procedures with applications to verification</article-title>
          . Springer, Berlin,
          <year>2007</year>
          . OCLC: ocn190764844.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Aaron</surname>
            <given-names>R</given-names>
          </string-name>
          <string-name>
            <surname>Bradley.</surname>
          </string-name>
          <article-title>Safety analysis of systems</article-title>
          .
          <source>PhD thesis</source>
          , Stanford University, May
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. Richard</given-names>
            <surname>Büchi</surname>
          </string-name>
          . Weak
          <string-name>
            <surname>Second-Order Arithmetic</surname>
            and
            <given-names>Finite</given-names>
          </string-name>
          <string-name>
            <surname>Automata</surname>
          </string-name>
          .
          <source>Mathematical Logic Quarterly</source>
          ,
          <volume>6</volume>
          (
          <issue>1</issue>
          -6):
          <fpage>66</fpage>
          -
          <lpage>92</lpage>
          ,
          <year>1960</year>
          . doi:
          <volume>10</volume>
          .1002/malq.19600060105.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Hubert</given-names>
            <surname>Comon</surname>
          </string-name>
          , Max Dauchet, Remi Gilleron, Florent Jacquemard, Denis Lugiez, Christof Loding, Sophie Tison, and
          <string-name>
            <given-names>Marc</given-names>
            <surname>Tommasi</surname>
          </string-name>
          .
          <article-title>Tree Automata Techniques and Applications</article-title>
          . INRIA,
          <year>2008</year>
          . Science, pages
          <fpage>215</fpage>
          -
          <lpage>230</lpage>
          , Berlin, Heidelberg,
          <year>2007</year>
          . Springer. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -73595-3_
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Haojun</surname>
            <given-names>Ma</given-names>
          </string-name>
          , Aman Goel,
          <string-name>
            <surname>Jean-Baptiste</surname>
            <given-names>Jeannin</given-names>
          </string-name>
          , Manos Kapritsos, Baris Kasikci, and
          <string-name>
            <surname>Karem</surname>
            <given-names>A. Sakallah.</given-names>
          </string-name>
          <article-title>I4: incremental inference of inductive invariants for verification of distributed protocols</article-title>
          .
          <source>In Proceedings of the 27th ACM Symposium on Operating Systems Principles</source>
          , pages
          <fpage>370</fpage>
          -
          <lpage>384</lpage>
          , Huntsville Ontario Canada,
          <year>October 2019</year>
          . ACM. doi:
          <volume>10</volume>
          .1145/3341301.3359651.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Makai</surname>
            <given-names>Mann</given-names>
          </string-name>
          , Ahmed Irfan, Alberto Griggio, Oded Padon, and Clark Barrett.
          <article-title>CounterexampleGuided Prophecy for Model Checking Modulo the Theory of Arrays</article-title>
          . In Jan Friso Groote and Kim Guldstrand Larsen, editors,
          <source>Tools and Algorithms for the Construction and Analysis of Systems</source>
          , pages
          <fpage>113</fpage>
          -
          <lpage>132</lpage>
          , Cham,
          <year>2021</year>
          . Springer International Publishing. doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>030</fpage>
          -72016-
          <issue>2</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Andrzej</given-names>
            <surname>Mostowski</surname>
          </string-name>
          .
          <article-title>On direct products of theories</article-title>
          .
          <source>The Journal of Symbolic Logic</source>
          ,
          <volume>17</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>March 1952</year>
          . doi:
          <volume>10</volume>
          .2307/2267454.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Rodrigo</given-names>
            <surname>Raya</surname>
          </string-name>
          .
          <article-title>Decision Procedures for Power Structures</article-title>
          .
          <source>PhD thesis</source>
          , EPFL,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .5075/epflthesis-10546.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Rodrigo</given-names>
            <surname>Raya</surname>
          </string-name>
          and
          <string-name>
            <given-names>Viktor</given-names>
            <surname>Kunčak</surname>
          </string-name>
          .
          <article-title>NP Satisfiability for Arrays as Powers</article-title>
          . In 23rd International Conference on Verification,
          <source>Model Checking, and Abstract Interpretation , Lecture Notes in Computer Science</source>
          , pages
          <fpage>301</fpage>
          -
          <lpage>318</lpage>
          , Cham,
          <year>2022</year>
          . Springer International Publishing. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -94583-1_
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>Rodrigo</given-names>
            <surname>Raya</surname>
          </string-name>
          and
          <string-name>
            <given-names>Viktor</given-names>
            <surname>Kunčak</surname>
          </string-name>
          .
          <article-title>On algebraic array theories</article-title>
          .
          <source>Journal of Logical and Algebraic Methods in Programming</source>
          ,
          <volume>136</volume>
          :
          <fpage>100906</fpage>
          ,
          <year>January 2024</year>
          . doi:
          <volume>10</volume>
          .1016/j.jlamp.
          <year>2023</year>
          .
          <volume>100906</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>Rodrigo</given-names>
            <surname>Raya</surname>
          </string-name>
          and
          <string-name>
            <given-names>Viktor</given-names>
            <surname>Kunčak</surname>
          </string-name>
          .
          <article-title>Succinct ordering and aggregation constraints in algebraic array theories</article-title>
          .
          <source>Journal of Logical and Algebraic Methods in Programming</source>
          ,
          <volume>140</volume>
          :
          <fpage>100978</fpage>
          ,
          <year>August 2024</year>
          . doi:
          <volume>10</volume>
          .1016/j.jlamp.
          <year>2024</year>
          .
          <volume>100978</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [33]
          <string-name>
            <surname>Helmut</surname>
            <given-names>Seidl</given-names>
          </string-name>
          , Thomas Schwentick, Anca Muscholl, and
          <string-name>
            <given-names>Peter</given-names>
            <surname>Habermehl</surname>
          </string-name>
          .
          <article-title>Counting in Trees for Free</article-title>
          .
          <source>In Automata, Languages and Programming, Lecture Notes in Computer Science</source>
          , pages
          <fpage>1136</fpage>
          -
          <lpage>1149</lpage>
          , Berlin, Heidelberg,
          <year>2004</year>
          . Springer. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -27836-8_
          <fpage>94</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [34]
          <string-name>
            <surname>Larry</surname>
            <given-names>Stockmeyer and Albert R.</given-names>
          </string-name>
          <string-name>
            <surname>Meyer</surname>
          </string-name>
          .
          <article-title>Cosmological lower bound on the circuit complexity of a small problem in logic</article-title>
          .
          <source>Journal of the ACM</source>
          ,
          <volume>49</volume>
          (
          <issue>6</issue>
          ):
          <fpage>753</fpage>
          -
          <lpage>784</lpage>
          ,
          <year>November 2002</year>
          . doi:
          <volume>10</volume>
          .1145/602220. 602223.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Thomas. Languages</surname>
          </string-name>
          , Automata, and
          <string-name>
            <surname>Logic</surname>
          </string-name>
          .
          <source>In Handbook of Formal Languages</source>
          , pages
          <fpage>389</fpage>
          -
          <lpage>455</lpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>1997</year>
          . URL: http://link.springer.com/10. 1007/978-3-
          <fpage>642</fpage>
          -59126-
          <issue>6</issue>
          _7, doi:10.1007/978-3-
          <fpage>642</fpage>
          -59126-
          <issue>6</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>Kumar</given-names>
            <surname>Neeraj</surname>
          </string-name>
          <string-name>
            <surname>Verma</surname>
          </string-name>
          , Helmut Seidl, and Thomas Schwentick.
          <article-title>On the Complexity of Equational Horn Clauses</article-title>
          .
          <source>In Automated Deduction - CADE-20</source>
          , volume
          <volume>3632</volume>
          , pages
          <fpage>337</fpage>
          -
          <lpage>352</lpage>
          , Berlin, Heidelberg,
          <year>2005</year>
          . Springer Berlin Heidelberg. doi:
          <volume>10</volume>
          .1007/11532231_
          <fpage>25</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [37]
          <string-name>
            <surname>Thomas</surname>
            <given-names>Wies</given-names>
          </string-name>
          , Ruzica Piskac, and
          <string-name>
            <given-names>Viktor</given-names>
            <surname>Kunčak</surname>
          </string-name>
          .
          <article-title>Combining Theories with Shared Set Operations</article-title>
          .
          <source>In Frontiers of Combining Systems, Lecture Notes in Computer Science</source>
          , pages
          <fpage>366</fpage>
          -
          <lpage>382</lpage>
          , Berlin, Heidelberg,
          <year>2009</year>
          . Springer. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -04222-5_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>