<?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">On Regular Relations in Parametric Array Theories</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Rodrigo</forename><surname>Raya</surname></persName>
							<email>rraya@mpi-sws.org</email>
							<affiliation key="aff0">
								<orgName type="department">Max-Planck Institute for Software Systems</orgName>
								<address>
									<settlement>Kaiserslautern</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">On Regular Relations in Parametric Array Theories</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">E83DC76466AE1A5CE6FC4C0F8D8BD197</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T16:41+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>decision procedures</term>
					<term>satisfiability modulo theories</term>
					<term>symbolic automata</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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 efficiently by reduction to propositional satisfiability. We indicate how our techniques can be adapted to theories of trees.</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>Many abstractions in computer science and mathematics are naturally modelled as collections of objects of certain type. When addressing the problem of automatically verifying properties of such abstractions it becomes crucial to choose an adequate language in which to express the properties of interest.</p><p>Our research is influenced by work in the area of deductive software verification <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b22">23]</ref>. Research in this area led to the development of specialised algorithms that determine the validity of formulas in restricted fragments of first-order logic. The resulting algorithms are today studied in the so-called satisfiability modulo theories (SMT) framework.</p><p>Starting with <ref type="bibr" target="#b20">[21]</ref>, first-order theories under the name of "array theories" have been studied and, along the years, new decidable fragments and applications have been found. Bradley <ref type="bibr" target="#b5">[6]</ref> carried out a systematic exploration of a very expressive and decidable fragment known as the "array property fragment". Most notably, this fragment allowed to express the property of an array being ordered while having an efficiently decidable satisfiable problem under mild restrictions. Moreover, Bradley's work showed that minor variations to the fragment's syntax would led to undecidability, by reduction from Hilbert's tenth problem.</p><p>In spite of the above, and after Bradley's work, a family of decidable array theories has been used in the verification of so-called array-based systems <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b25">26,</ref><ref type="bibr" target="#b12">13,</ref><ref type="bibr" target="#b26">27,</ref><ref type="bibr" target="#b14">15]</ref>. This framework has been used to model sequential programs manipulating arrays and lists, as well as parameterised concurrent systems with local and shared variables <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b0">1,</ref><ref type="bibr" target="#b19">20]</ref>. These programs are essential in specialised computing scenarios such as data-base driven systems <ref type="bibr" target="#b3">[4]</ref> or business processes <ref type="bibr" target="#b14">[15]</ref>.</p><p>In <ref type="bibr" target="#b29">[30,</ref><ref type="bibr" target="#b28">29,</ref><ref type="bibr" target="#b30">31,</ref><ref type="bibr" target="#b31">32]</ref>, we have investigated the structure of these array theories. We have observed that they extend classical array theories with point-wise relations, which are defined as in the element theory for every component of the arrays. The conclusion of our investigation is that these point-wise relations are the essential difficulty when designing decision procedures for these theories. In particular, we have described how the satisfiability problem of these theories can be reduced in polynomial time to the satisfiability problem of the theory of a power structure <ref type="bibr" target="#b27">[28]</ref> and that the latter admits an efficient procedure for eliminating existential quantifiers <ref type="bibr" target="#b29">[30]</ref>.</p><p>Our results are applicable to a variety of array theories from the literature <ref type="bibr" target="#b9">[10,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b0">1]</ref> to which we refer to as "parametric" array theories since they often allow to be instantiated with different index and element theories. An interesting feature of parametric array theories is that the componentwise relations only require one universal quantifier to be expressed. For instance, one may define the addition of two arrays 𝑎 and 𝑏 as:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>𝑎 + 𝑏 = 𝑐 if and only if for every 𝑖 ∈ 𝐼 , 𝑎(𝑖) + 𝑏(𝑖) = 𝑐(𝑖)</head><p>This is in contrast to other array theories such as the array property fragment <ref type="bibr" target="#b4">[5]</ref>, which allow properties using several related universally quantified indices. For instance, one may define in this fragment the property of an array being ordered:</p><p>𝑎 is ordered if and only if for every 𝑖, 𝑗 ∈ 𝐼 , 𝑖 ≤ 𝑗 implies 𝑎[𝑖] ≤ 𝑎 <ref type="bibr">[𝑗]</ref> While "array properties" in <ref type="bibr" target="#b4">[5]</ref> allow several universal quantifiers, this comes at the cost of severe syntactic restrictions. In contrast, parametric array theories offer the possibility of using linear cardinality relations on sets of indices <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b0">1,</ref><ref type="bibr" target="#b29">30]</ref> 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 <ref type="bibr" target="#b29">[30]</ref>), 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 <ref type="bibr" target="#b11">[12]</ref>, 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 <ref type="bibr" target="#b33">[34]</ref>. Thus, we present the definable relations of the theory in the form of regular expressions. It was proved by <ref type="bibr">Büchi [7]</ref> 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  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 <ref type="bibr" target="#b0">[1]</ref> since it is well-known that WS1S is more expressive than Presburger arithmetic <ref type="bibr" target="#b34">[35]</ref>. Second, this extension allows us to express properties of arrays such as those appearing in array folds logic <ref type="bibr" target="#b8">[9]</ref>. 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 <ref type="bibr" target="#b17">[18]</ref>.</p><p>Both in <ref type="bibr" target="#b17">[18]</ref> 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 <ref type="bibr" target="#b17">[18]</ref>, 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 1 A similar notion appears in the model theory literature under the name of Härtig's quantifier <ref type="bibr" target="#b1">[2]</ref>. <ref type="bibr" target="#b1">2</ref> We had considered regular expressions in our PhD thesis <ref type="bibr" target="#b28">[29]</ref>. 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 <ref type="bibr" target="#b6">[7]</ref>.</p><p>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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Generalised powers</head><p>Let us start with the definition of generalised power structure as it is given in <ref type="bibr" target="#b11">[12]</ref>.</p><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><formula xml:id="formula_0">{(𝑎 1 , … , 𝑎 𝑛 ) ∈ (𝑀 𝐼 ) 𝑛 | Φ(𝑆 1 , … , 𝑆 𝑘 )}</formula><p>where 𝑛 is a natural number, Φ is a Boolean algebra expression over 𝒫 (𝐼 ) using the symbols ⊆, ∪, ∩ or ⋅ 𝑐 and each set variable 𝑆 is interpreted as</p><formula xml:id="formula_1">𝑆 = {𝑖 ∈ 𝐼 | 𝜃(𝑎 1 (𝑖), … , 𝑎 𝑛 (𝑖))}</formula><p>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><formula xml:id="formula_2">𝑆 = {𝑖 ∈ 𝐼 | 𝜓 (𝑖)}</formula><p>where 𝜓 is a formula that refers only to indices in the set 𝐼. In fact, this direction is pursued in <ref type="bibr" target="#b0">[1]</ref> 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 different set interpretations for indices and elements. We will use relations of the following form:</p><formula xml:id="formula_3">𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝑅(𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝐶(𝑎 1 , … , 𝑎 𝑘 )<label>(1)</label></formula><p>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 (1) occupies the rest of the section.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Sets of indices</head><p>Formulas 𝐹 , 𝑅 and 𝐶 in (1) use variables 𝑆 1 , … , 𝑆 𝑘 representing subsets of an index set 𝐼. This is explicitly shown in <ref type="bibr" target="#b0">(1)</ref> 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 <ref type="bibr" target="#b36">[37]</ref>. As we focus on arrays, 𝐼 = ℕ. Generalisations to trees are also possible and in that case 𝐼 = {0, 1} * .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Linear cardinality constraints on the sets of indices</head><p>𝐹 (𝑆 1 , … , 𝑆 𝑘 ) is a formula in the quantifier-free theory of Boolean algebra with Presburger arithmetic (QFBAPA) <ref type="bibr" target="#b24">[25]</ref>. The syntax of QFBAPA is given in Figure <ref type="figure">1</ref>. 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) <ref type="bibr" target="#b23">[24]</ref>. 𝒰 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><formula xml:id="formula_4">𝐹 ∶∶= 𝐴 | 𝐹 1 ∧ 𝐹 2 | 𝐹 1 ∨ 𝐹 2 | ¬𝐹 𝐴 ∶∶= 𝐵 1 = 𝐵 2 | 𝐵 1 ⊆ 𝐵 2 | 𝑇 1 = 𝑇 2 | 𝑇 1 ≤ 𝑇 2 | 𝐾 dvd 𝑇 𝐵 ∶∶= 𝑥 | ∅ | 𝒰 | 𝐵 1 ∪ 𝐵 2 | 𝐵 1 ∩ 𝐵 2 | 𝐵 𝑐 𝑇 ∶∶= 𝑘 | 𝐾 | 𝑇 1 + 𝑇 2 | 𝐾 ⋅ 𝑇 | |𝐵| 𝐾 ∶∶= … | − 2 | − 1 | 0 | 1 | 2 | … Figure 1: QFBAPA's syntax Example 2.1. An example of QFBAPA formula is |𝐴| &gt; 1 ∧ 𝐴 ⊆ 𝐵 ∧ |𝐵 ∩ 𝐶| ≤ 2.</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">Componentwise relations on arrays</head><p>𝐶(𝑎 1 , … , 𝑎 𝑘 ) is a formula specifying componentwise relations. It does so with set interpretations of the form:</p><formula xml:id="formula_5">𝑆 𝑗 = {𝑖 ∈ 𝐼 | 𝜙 𝑗 (𝑎(𝑖), 𝑐)}</formula><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 (1) as:</p><formula xml:id="formula_6">𝑆 = {𝑖 ∈ 𝐼 | 𝑎 1 (𝑖) = 𝑎 2 (𝑖)} ∧ |𝑆| = |𝒰|</formula><p>where 𝒰 as explained above, represents the universal set 𝐼.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4.">Regular relations on the set of indices</head><p>𝑅(𝑆 1 , … , 𝑆 𝑘 ) is a formula specifying regular relations in the set of indices. For instance, the array could be specified by the symbolic regular expression:<ref type="foot" target="#foot_0">3</ref> </p><formula xml:id="formula_7">𝜙 1 (𝑒, 𝑐)(𝜙 1 (𝑒, 𝑐) ∨ 𝜙 2 (𝑒, 𝑐)) * 𝜙 3 (𝑒, 𝑐)<label>(2)</label></formula><p>This specifies that the first element 𝑒 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 different 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><p>Let us instead write a symbolic version of the regular expression above</p><formula xml:id="formula_8">𝑆 1 (𝑆 1 ∨ 𝑆 2 ) * 𝑆 3<label>(3)</label></formula><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</p><formula xml:id="formula_9">𝑆 1 = {𝑖 ∈ 𝐼 | 𝑡 1 (𝑖) = 1} ∧ 𝑆 1 = {𝑖 ∈ 𝐼 | 𝜙 1 (𝑎(𝑖), 𝑐)} 𝑆 2 = {𝑖 ∈ 𝐼 | 𝑡 2 (𝑖) = 1} ∧ 𝑆 2 = {𝑖 ∈ 𝐼 | 𝜙 2 (𝑎(𝑖), 𝑐)} 𝑆 3 = {𝑖 ∈ 𝐼 | 𝑡 3 (𝑖) = 1} ∧ 𝑆 3 = {𝑖 ∈ 𝐼 | 𝜙 3 (𝑎(𝑖), 𝑐)} (4)</formula><p>where 𝑡 1 , 𝑡 2 and 𝑡 3 denote, respectively, the first, second and third rows of the sequence and 𝑡 𝑗 (𝑖) denotes the 𝑖-th position in 𝑡 𝑗 .</p><p>Then, satisfiability of ( <ref type="formula" target="#formula_7">2</ref>) is equivalent to satisfiability of</p><formula xml:id="formula_10">∃𝑡 ∈ ({0, 1} 3 ) * .𝑡 ⊧ 𝑆 1 (𝑆 1 ∨ 𝑆 2 ) * 𝑆 3 ∧ (4)<label>(5)</label></formula><p>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><formula xml:id="formula_11">( 1 1 0 ) ( 1 0 0 ) ( 0 1 0 ) ( 0 1 1 ) ( 0 0 1 )</formula><p>The values of its rows are respectively 𝑡 1 = 11000, 𝑡 2 = 10110 and 𝑡 3 = 00011.</p><p>It satisfies the word of propositional formulas</p><formula xml:id="formula_12">𝑆 1 (𝑆 1 ∨ 𝑆 2 )(𝑆 1 ∨ 𝑆 2 )(𝑆 1 ∨ 𝑆 2 )𝑆 3 which is generated by 𝑆 1 (𝑆 1 ∨ 𝑆 2 ) * 𝑆 3 .</formula><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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Encoding of arrays</head><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><p>A componentwise specification is written as in Example 2.2. 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><p>Example 3.1. Consider the array formula from <ref type="bibr" target="#b4">[5]</ref>.</p><formula xml:id="formula_13">𝑖 1 = 𝑗 ∧ 𝑖 1 ≠ 𝑖 2 ∧ 𝑎[𝑗] = 𝑣 1 ∧ 𝑠𝑡𝑜𝑟𝑒(𝑠𝑡𝑜𝑟𝑒(𝑎, 𝑖 1 , 𝑣 1 ), 𝑖 2 , 𝑣 2 )[𝑗] ≠ 𝑎[𝑗]</formula><p>For each index variable 𝑗, 𝑖 1 , 𝑖 2 , we introduce set variables 𝐽 , 𝐼 1 , 𝐼 2 and impose that 𝐼 1 = 𝐽, 𝐼 1 ≠ 𝐼 2 and</p><formula xml:id="formula_14">|𝐼 1 | = |𝐼 2 | = |𝐽 |. The term 𝑎[𝑗] = 𝑣 1 is translated into {𝑖 ∈ 𝐼 | 𝑎(𝑖) = 𝑣 1 } ⊇ 𝐽.</formula><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><p>The resulting formula is in the theory of the generalised power and is equisatisfiable to the original.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Deciding generalised powers</head><p>Let us now give a method to decide satisfiability of formulas of the form (1). These are of the following form:</p><formula xml:id="formula_15">𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ ∃𝑡 ∈ 𝑇 (𝑅). 𝑘 ⋀ 𝑖=1 𝑆 𝑖 = { 𝑛 ∈ ℕ | 𝜙 𝑖 (𝑎(𝑛), 𝑐) } = { 𝑛 ∈ ℕ | 𝑡 𝑖 (𝑛) = 1 }<label>(6)</label></formula><p>The satisfiability problem requires showing that the following formula is true:</p><formula xml:id="formula_16">∃𝑎 ∈ 𝒟 * ,𝑡 ∈ 𝑇 (𝑅), 𝑐. 𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝑘 ⋀ 𝑖=1 𝑆 𝑖 = { 𝑛 ∈ ℕ | 𝜙 𝑖 (𝑎(𝑛), 𝑐) } = { 𝑛 ∈ ℕ | 𝑡 𝑖 (𝑛) = 1 } (<label>7</label></formula><formula xml:id="formula_17">)</formula><p>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 ( <ref type="formula" target="#formula_16">7</ref>) is equivalent to the computed formula.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Theorem 4.1.</head><p>There is a polynomial time algorithm that given formula ( <ref type="formula" target="#formula_16">7</ref>) computes an equivalent formula <ref type="bibr" target="#b7">(8)</ref> in the combination of QFBAPA and the existential fragment of the first-order theory of 𝒟, 𝑇 ℎ ∃ * (𝒟 ).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Construction of the equivalent formula</head><p>The equivalent formula has three parts. The first is an existential prefix shared between both QFBAPA and 𝑇 ℎ</p><formula xml:id="formula_18">∃ * (𝒟 ) ∃𝑁 ≤ 𝑝(|𝐹 |), ∃𝑠 ∈ [𝑚], 𝜎 ∶ [𝑠] ↪ [𝑚], ∃𝛽 1 , … , 𝛽 𝑁 ∈ {0, 1} 𝑘 .</formula><p>where where we use the notation that given the list 𝜙 1 , … , 𝜙 𝑘 of formulas specifying the elements in Formula 6 and given a bit-string 𝛽 ∈ {0, 1} 𝑘 , 𝜙 𝛽 ∶= ⋀ 𝑘 𝑖=1 𝜙</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>𝛽(𝑖)</head><p>𝑖 . The third part of the formula is in QFBAPA</p><formula xml:id="formula_19">𝐻 (𝑐 1 , … , 𝑐 𝑘 , …) ∶=𝜌(𝑐 1 , … , 𝑐 𝑚 ) ∧ 𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝑠 ⋀ 𝑖=1 𝑃 𝑖 ⊆ 𝑝 𝐿 𝜎(𝑖) ∧ 𝑠 ⋀ 𝑖=1 |𝑃 𝑖 | = 𝑐 𝜎 (𝑖) ∧ ∪ 𝑘 𝑖=1 𝑆 𝑖 = ∪ 𝑚 𝑖=1 𝑝 𝐿 𝑖 = ∪ 𝑁 𝑖=1 𝑝 𝛽 𝑖 = ∪ 𝑠 𝑖=1 𝑃 𝑖</formula><p>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 <ref type="bibr" target="#b32">[33]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 4.1 (Parikh Image).</head><p>The Parikh image of a symbolic regular expression 𝑅 using propositional letters 𝐿 1 , … , 𝐿 𝑚 over the variables 𝑆 1 , … , 𝑆 𝑘 is the set </p><formula xml:id="formula_20">Parikh(𝑅) = {(|𝑠| 𝐿 1 , … , |𝑠| 𝐿 𝑚 ) | 𝑠 ∈ 𝑀 𝑆 (𝐿</formula><p>This formula can be computed in polynomial time.</p><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 <ref type="bibr" target="#b29">[30,</ref><ref type="bibr" target="#b30">31]</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Proof of the theorem</head><p>We prove that Formula (6) and Formula (13) are equivalent.</p><p>⇒) If Formula ( <ref type="formula" target="#formula_16">7</ref>) is true, then there are sets 𝑆 1 , … , 𝑆 𝑘 , a finite array 𝑎 and a table 𝑡 ∈ 𝑇 (𝑅) such that</p><formula xml:id="formula_22">𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝑘 ⋀ 𝑖=1 𝑆 𝑖 = { 𝑛 ∈ ℕ | 𝜙 𝑖 (𝑎(𝑛), 𝑐) } = { 𝑛 ∈ ℕ | 𝑡 𝑖 (𝑛) = 1 }<label>(9)</label></formula><p>Let 𝑠 be the symbolic table corresponding to 𝑡, that is, the table made of the propositional formulas generated by 𝑅(𝑆 1 , … , 𝑆 𝑘 ) such that 𝑡 satisfies 𝑠. </p><formula xml:id="formula_23">𝜌(𝑐 1 , … , 𝑐 𝑚 ) ∧ 𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝑠 ⋀ 𝑖=1 𝑃 𝑖 ⊆ 𝑝 𝐿 𝜎(𝑖) ∧ 𝑠 ⋀ 𝑖=1 |𝑃 𝑖 | = 𝑐 𝜎 (𝑖) ∧ ∪ 𝑘 𝑖=1 𝑆 𝑖 = ∪ 𝑚 𝑖=1 𝑝 𝐿 𝑖 = ∪ 𝑠 𝑖=1 𝑃 𝑖<label>(10)</label></formula><p>Formula ( <ref type="formula" target="#formula_23">10</ref>) is in QFBAPA. Following the procedure from <ref type="bibr" target="#b24">[25]</ref>, we eliminate Boolean algebra expressions and the cardinality operator yielding a system of equations of the form</p><formula xml:id="formula_24">∃𝑘 1 , … , 𝑘 𝑝 .𝐺 ∧ 2 𝑘 −1 ∑ 𝑗=0 ( 𝑏 0 𝛽 𝑗 ⋮ 𝑏 𝑝 𝛽 𝑗 ) ⋅ 𝑙 𝛽 𝑗 = ( 𝑘 1 ⋮ 𝑘 𝑝 ) (<label>11</label></formula><formula xml:id="formula_25">)</formula><p>where 𝐺 is the existential Presburger arithmetic formula that results from <ref type="bibr" target="#b9">(10)</ref> after the elimination and</p><formula xml:id="formula_26">𝑙 𝛽 𝑗 = |𝑝 𝛽 𝑗 |.</formula><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, and regions corresponding to bit-strings not occurring in 𝑡. This transformation leaves a reduced set of indices ℛ participating in the sum:</p><formula xml:id="formula_27">∃𝑘 1 , … , 𝑘 𝑝 .𝐺 ∧ ∑ 𝛽∈{ 𝛽 1 ,…,𝛽 𝑁 }⊆ℛ ( 𝑏 0 𝛽 𝑗 ⋮ 𝑏 𝑝 𝛽 𝑗 ) ⋅ 𝑙 𝛽 𝑗 = ( 𝑘 1 ⋮ 𝑘 𝑝 )<label>(12)</label></formula><p>We now give the key auxiliary result from <ref type="bibr" target="#b24">[25]</ref> proved in <ref type="bibr" target="#b10">[11]</ref>.</p><p>Definition 4.2. Given a subset 𝑆 ⊆ ℝ 𝑛 , the integer conic hull of 𝑆 is the set </p><formula xml:id="formula_28">𝑖𝑛𝑡 𝑐𝑜𝑛𝑒 (𝑆) = { 𝑡 ∑ 𝑖=1 𝜆 𝑖 𝑠 𝑖 |𝑡 ≥ 0,</formula><formula xml:id="formula_29">( 𝑏 0 𝛽 𝑗 ⋮ 𝑏 𝑝 𝛽 𝑗 ) ⋅ 𝑙 ′ 𝛽 𝑗 = ( 𝑘 1 ⋮ 𝑘 𝑝 )<label>(13)</label></formula><p>We can assume that each cardinality variable 𝑙 ′ 𝛽 is non-zero, since otherwise, we can remove it from the sum. With this assumption, 𝑙 ′ 𝛽 1 , … , 𝑙 ′ 𝛽 𝑁 lists the cardinalities of a model of <ref type="bibr" target="#b9">(10)</ref> which defines the cardinality of the elementary Venn region 𝑆</p><formula xml:id="formula_30">′𝛽 1 1 ∩ … ∩ 𝑆 ′𝛽 𝑘</formula><p>𝑘 to be equal to 𝑙 ′ 𝛽 if 𝛽 ∈ {𝛽 1 , … , 𝛽 𝑁 } and zero otherwise. In particular, we have that the following formula, corresponding to the subformula 𝐻 in <ref type="bibr" target="#b7">(8)</ref>, holds</p><formula xml:id="formula_31">𝜌(𝑐 1 , … , 𝑐 𝑚 ) ∧ 𝐹 (𝑆 ′ 1 , … , 𝑆 ′ 𝑘 ) ∧ 𝑘 ⋀ 𝑖=1 𝑃 ′ 𝑖 ⊆ 𝑝 ′ 𝐿 𝜎(𝑖) ∧ 𝑠 ⋀ 𝑖=1 |𝑃 ′ 𝑖 | = 𝑐 𝜎 (𝑖) ∧ ∪ 𝑘 𝑖=1 𝑆 ′ 𝑖 = ∪ 𝑚 𝑖=1 𝑝 ′ 𝐿 𝑖 = ∪ 𝑁 𝑖=1 𝑝 𝛽 𝑖 = ∪ 𝑠 𝑖=1 𝑃 ′ 𝑖<label>(14)</label></formula><p>For each 𝛽 ∈ {𝛽 1 , … , 𝛽 𝑁 }, the formula ∃𝑒.𝜙 𝛽 (𝑒, 𝑐) is true, since 𝑙 ′ 𝛽 &gt; 0. Thus, the subformula 𝐶 in ( <ref type="formula" target="#formula_21">8</ref>) is also true.</p><formula xml:id="formula_32">⇐) If Formula (8) is true, then there is a natural number 𝑁 ≤ 𝑝(|𝐹 |) where 𝑝 is a polynomial, 𝑠 ∈ [𝑚], 𝛽 1 , … , 𝛽 𝑁 ∈ {0, 1} 𝑘 , 𝑐 1 , … , 𝑐 𝑚 ∈ ℕ and sets 𝑆 1 , … , 𝑆 𝑘 , 𝑃 1 , … , 𝑃 𝑠 such that ∃𝑐. 𝑁 ⋀ 𝑗=1 ∃𝑒.𝜙 𝛽 𝑗 (𝑒, 𝑐) ∧ 𝜌(𝑐 1 , … , 𝑐 𝑚 ) ∧ 𝐹 (𝑆 1 , … , 𝑆 𝑘 ) ∧ 𝑠 ⋀ 𝑖=1 𝑃 𝑖 ⊆ 𝑝 𝐿 𝜎(𝑖) ∧ ∧ 𝑠 ⋀ 𝑖=1 |𝑃 𝑖 | = 𝑐 𝜎 (𝑖) ∧ ∪ 𝑘 𝑖=1 𝑆 𝑖 = ∪ 𝑚 𝑖=1 𝑝 𝐿 𝑖 = ∪ 𝑠 𝑖=1 𝑃 𝑖 = ∪ 𝑁 𝑖=1 𝑝 𝛽 𝑖<label>(15)</label></formula><p>From <ref type="bibr" target="#b14">(15)</ref> and the definition of 𝜌, follows that there is a symbolic </p><formula xml:id="formula_33">𝑆 𝑗 = ∪ {𝑖|𝛽 𝑖 (𝑗)=1} 𝑝 𝛽 𝑖 = { 𝑛 ∈ ℕ | 𝑡 𝑗 (𝑛) = 1 } 𝑆 𝑗 = ∪ {𝑖|𝛽 𝑖 (𝑗)=1} 𝑝 𝛽 𝑖 = { 𝑛 ∈ ℕ | 𝜙 𝑗 (𝑎(𝑛), 𝑐) }</formula><p>Thus, Formula ( <ref type="formula" target="#formula_16">7</ref>) is true.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">Computational complexity of the combination</head><p>Note that Theorem 4.1 also allows to assert at once the complexity of the underlying logical theory. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">The case of trees</head><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 <ref type="bibr" target="#b17">[18]</ref>. The main difference 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ß <ref type="bibr" target="#b21">[22,</ref><ref type="bibr">Lemma 17]</ref> which allows to reduce the problem to the computation of the Parikh image of a context-free grammar. Finally, <ref type="bibr" target="#b35">[36]</ref> says that the Parikh image of a context-free grammar can be described by a linear-sized existential Presburger arithmetic formula.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusion</head><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 <ref type="bibr" target="#b0">[1]</ref> since the relations expressible in WS1S extend those expressible in Presburger arithmetic. They also extend recent results in the literature <ref type="bibr" target="#b17">[18]</ref>, which did not handle the cardinality operator.</p><p>Our work mixes ideas from decision algorithms for three different logical theories: quantifier-free BAPA <ref type="bibr" target="#b24">[25]</ref>, combinations of BAPA with WS1S and WS2S <ref type="bibr" target="#b36">[37]</ref> and existential fragment of power structures <ref type="bibr" target="#b29">[30]</ref>. However, a crucial technical difficulty has been overcome to make the combination work. This difficulty stems from the fact that while Büchi's automata are over finite alphabets, the corresponding automata (or equivalently, regular expressions) that appear in the Feferman-Vaught framework use first-order formulas in their transitions, since set variables are interpreted. We demonstrated, as our colleagues <ref type="bibr" target="#b17">[18]</ref>, 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 <ref type="bibr" target="#b0">[1]</ref> with software computing the Parikh image of regular expressions and context-free grammars. For the latter, there exist several implementations, we mention for instance <ref type="bibr" target="#b18">[19]</ref>, where a fix to the construction original of Verma et alii <ref type="bibr" target="#b35">[36]</ref>, is also described.</p><p>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.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>Define 𝑐 𝑖 ∶= |𝑠| 𝐿 𝑖 for 𝑖 ∈ {1, … , 𝑚} 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), we can show that the following holds</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Corollary 4 . 1 .</head><label>41</label><figDesc>Let 𝒞 be the complexity class to which the satisfiability problem of 𝑇 ℎ ∃ * (𝒟 ) belongs. If 𝒞 = P then the satisfiability problem of formulas of the form (6) is in NP. If 𝒞 ⊇ NP then the satisfiability problem of formulas of the form (6) is in 𝒞.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>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 (1, 3, 1). In general, the Parikh image of 𝑆 1 (𝑆 1 ∨ 𝑆 2 ) * 𝑆 3 would contain the vectors (1, 𝑘, 1) for each 𝑘 ∈ ℕ.Continuing with the description of the third part of the formula, 𝐹 is the QFBAPA term in Formula 6, 𝑝 𝛽 ∶= ∩ 𝑘 𝑖=1 𝑆𝛽(𝑖) 𝑖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.</figDesc><table><row><cell>Shortening tuples of variables with an overline, we write Formula (8) as</cell></row><row><cell>∃𝑁 ≤ 𝑝(|𝐹 |), ∃𝑠 ∈ [𝑚], 𝜎 ∶ [𝑠] ↪ [𝑚], ∃𝛽 ∈ {0, 1} 𝑘 .𝐶(𝛽) ∧ ∃𝑐, 𝑃.𝐻 (𝑐, 𝑃, 𝛽)</cell></row></table><note>1 , … , 𝐿 𝑚 )} where 𝑠 is a word of propositional formulas and |𝑠| 𝐿 𝑖 is the number of occurrences of 𝐿 𝑖 in the symbolic table 𝑠.Example 4.1.</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>𝑠 𝑖 ∈ 𝑆, 𝜆 𝑖 ∈ ℕ} Theorem 4.2. Let 𝑋 ⊆ ℤ 𝑛 be a finite set of integer vectors, 𝑏 ∈ 𝑖𝑛𝑡 𝑐𝑜𝑛𝑒 (𝑋 ) and 𝑀 = max x∈𝑋 ‖x‖ ∞ = max x∈𝑋 max{|𝑥 1 |, … , |𝑥 𝑛 |} where |𝑥| denotes the absolute value of the number 𝑥. There exists a subset 𝑋 ′ ⊆ 𝑋 such that 𝑏 ∈ 𝑖𝑛𝑡 𝑐𝑜𝑛𝑒 (𝑋 ′ ) and |𝑋 ′ | ≤ 2𝑛 log 2 (4𝑛𝑀) where |𝑋 ′ | denotes the cardinality of the set 𝑋 ′ . Using Theorem 4.2, there is a polynomial family of Venn regions 𝛽 1 , … , 𝛽 𝑁 and corresponding cardinalities 𝑙 ′ 𝛽 1 , … , 𝑙 ′ 𝛽 𝑁 such that: ∃𝑘 1 , … , 𝑘 𝑝 .𝐺 ∧ ∑ 𝛽∈{ 𝛽 1 ,…,𝛽 𝑁 }⊆ℛ</figDesc><table /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>table 𝑠 generated by the symbolic regular expression 𝑅 such that |𝑠| 𝐿 𝑖 = 𝑐 𝑖 for each 𝐿 𝑖 ∈ { 𝐿 1 , … , 𝐿 𝑚 } occurring in 𝑠. Moreover, from 𝑖=1 𝑃 𝑖 ⊆ 𝑝 𝐿 𝜎(𝑖) ∧ ∪ 𝑚 𝑖=1 𝑝 𝐿 𝑖 = ∪ 𝑠 𝑖=1 𝑃 𝑖 we have that all the sets 𝑝 𝐿 𝑖 are empty except 𝑝 𝐿 𝜎(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. 𝑗=1 ∃𝑒.𝜙 𝛽 𝑗 (𝑒, 𝑐) ∧ ∪ 𝑠 𝑖=1 𝑃 𝑖 = ∪ 𝑁 𝑖=1 𝑝 𝛽 𝑖 it follows that there exist values 𝑒 𝛽 1 , … , 𝑒 𝛽 𝑁 satisfying the formulas 𝜙 𝛽 1 (𝑒, 𝑐), … , 𝜙 𝛽 𝑁 (𝑒, 𝑐) and moreover, all the elements in 𝑝 𝛽 𝑗 belong to a single set 𝑃 𝑖 . We define a table 𝑡 by substituting in 𝑠 the indices in 𝑃 𝑖 by the values 𝛽 𝑗 such that 𝑝 𝛽 𝑗 ⊆ 𝑃 𝑖 . Similarly, we build an array 𝑎 by substituting in 𝑠 the indices in 𝑃 𝑖 by the values 𝑒 𝛽 𝑗 such that 𝑝 𝛽 𝑗 ⊆ 𝑃 𝑖 . Observe that 𝐹 (𝑆 1 , … , 𝑆 𝑘 ) holds by assumption. Moreover,</figDesc><table><row><cell>From the subformula</cell></row><row><cell>∪ 𝑚 𝑖=1 𝑝 𝐿 𝑖 = ∪ 𝑠 𝑖=1 𝑃 𝑖 ∧</cell></row><row><cell>From the subformula</cell></row><row><cell>∃𝑐.</cell></row></table><note>𝑠 ⋀ 𝑠 ⋀ 𝑖=1 𝑃 𝑖 ⊆ 𝑝 𝐿 𝜎(𝑖) ∧ 𝑠 ⋀ 𝑁 ⋀</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">There are several possibilities to write regular relations. Here we use regular expressions for economy of notation.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><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</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Cardinality constraints for arrays (decidability results and applications)</title>
		<author>
			<persName><forename type="first">F</forename><surname>Alberti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Ghilardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Pagani</surname></persName>
		</author>
		<idno type="DOI">10.1007/s10703-017-0279-6</idno>
	</analytic>
	<monogr>
		<title level="j">Formal Methods in System Design</title>
		<imprint>
			<biblScope unit="volume">51</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="545" to="574" />
			<date type="published" when="2017-12">December 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Model-Theoretic Logics</title>
		<idno type="DOI">10.1017/9781316717158</idno>
	</analytic>
	<monogr>
		<title level="m">Perspectives in Logic</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Barwise</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Feferman</surname></persName>
		</editor>
		<meeting><address><addrLine>Cambridge</addrLine></address></meeting>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Decidability of Parameterized Verification</title>
		<author>
			<persName><forename type="first">Roderick</forename><surname>Bloem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ayrat</forename><surname>Khalimov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Swen</forename><surname>Jacobs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Igor</forename><surname>Konnov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Helmut</forename><surname>Veith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Josef</forename><surname>Widder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sasha</forename><surname>Rubin</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-031-02011-7</idno>
	</analytic>
	<monogr>
		<title level="m">Synthesis Lectures on Distributed Computing Theory</title>
				<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Verification of database-driven systems via amalgamation</title>
		<author>
			<persName><forename type="first">Mikołaj</forename><surname>Bojańczyk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Luc</forename><surname>Segoufin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Szymon</forename><surname>Toruńczyk</surname></persName>
		</author>
		<idno type="DOI">10.1145/2463664.2465228</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 32nd ACM SIGMOD-SIGACT-SIGAI symposium on Principles of database systems, PODS &apos;13</title>
				<meeting>the 32nd ACM SIGMOD-SIGACT-SIGAI symposium on Principles of database systems, PODS &apos;13<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2013-06">June 2013</date>
			<biblScope unit="page" from="63" to="74" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Calculus of computation: decision procedures with applications to verification</title>
		<author>
			<persName><forename type="first">Aaron</forename><surname>Bradley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Zohar</forename><surname>Manna</surname></persName>
		</author>
		<idno>OCLC: ocn190764844</idno>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>Springer</publisher>
			<pubPlace>Berlin</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Safety analysis of systems</title>
		<author>
			<persName><surname>Aaron R Bradley</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007-05">May 2007</date>
		</imprint>
		<respStmt>
			<orgName>Stanford University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Weak Second-Order Arithmetic and Finite Automata</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Richard</forename><surname>Büchi</surname></persName>
		</author>
		<idno type="DOI">10.1002/malq.19600060105</idno>
	</analytic>
	<monogr>
		<title level="j">Mathematical Logic Quarterly</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">1-6</biblScope>
			<biblScope unit="page" from="66" to="92" />
			<date type="published" when="1960">1960</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Tree Automata Techniques and Applications</title>
		<author>
			<persName><forename type="first">Max</forename><surname>Hubert Comon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Remi</forename><surname>Dauchet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Florent</forename><surname>Gilleron</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Denis</forename><surname>Jacquemard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christof</forename><surname>Lugiez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sophie</forename><surname>Loding</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marc</forename><surname>Tison</surname></persName>
		</author>
		<author>
			<persName><surname>Tommasi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
		<respStmt>
			<orgName>INRIA</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Array Folds Logic</title>
		<author>
			<persName><forename type="first">Przemysław</forename><surname>Daca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thomas</forename><forename type="middle">A</forename><surname>Henzinger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrey</forename><surname>Kupriyanov</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-319-41540-6_13</idno>
	</analytic>
	<monogr>
		<title level="m">Computer Aided Verification</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="230" to="248" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Generalized, efficient array decision procedures</title>
		<author>
			<persName><forename type="first">Leonardo</forename><surname>De</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Moura</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Nikolaj</forename><surname>Bjorner</surname></persName>
		</author>
		<idno type="DOI">10.1109/FMCAD.2009.5351142</idno>
	</analytic>
	<monogr>
		<title level="m">Formal Methods in Computer-Aided Design</title>
				<meeting><address><addrLine>Austin, TX</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2009-11">2009. November 2009</date>
			<biblScope unit="page" from="45" to="52" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Carathéodory bounds for integer cones</title>
		<author>
			<persName><forename type="first">Friedrich</forename><surname>Eisenbrand</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gennady</forename><surname>Shmonin</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.orl.2005.09.008</idno>
	</analytic>
	<monogr>
		<title level="j">Operations Research Letters</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="564" to="568" />
			<date type="published" when="2006-09">September 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">The first order properties of products of algebraic systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Feferman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Vaught</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Fundamenta Mathematicae</title>
		<imprint>
			<biblScope unit="volume">47</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="57" to="103" />
			<date type="published" when="1959">1959</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">SMT-based Safety Checking of Parameterized Multi-Agent Systems</title>
		<author>
			<persName><forename type="first">Paolo</forename><surname>Felli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alessandro</forename><surname>Gianola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Marco</forename><surname>Montali</surname></persName>
		</author>
		<idno type="DOI">10.1609/aaai.v35i7.16785</idno>
		<idno>doi</idno>
		<ptr target=":10.1609/aaai.v35i7.16785" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the AAAI Conference on Artificial Intelligence</title>
				<meeting>the AAAI Conference on Artificial Intelligence</meeting>
		<imprint>
			<date type="published" when="2021-05">May 2021</date>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="page" from="6321" to="6330" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Cardinalities in Software Verification</title>
		<author>
			<persName><forename type="first">Klaus</forename><surname>Freiherr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Von</forename><surname>Gleissenthall</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
		<respStmt>
			<orgName>Technische Universität München ; Fakultät für Informatik</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Verification of Data-Aware Processes via Satisfiability Modulo Theories</title>
		<author>
			<persName><forename type="first">Alessandro</forename><surname>Gianola</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-031-42746-6</idno>
	</analytic>
	<monogr>
		<title level="m">Lecture Notes in Business Information Processing</title>
				<meeting><address><addrLine>Switzerland; Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer Nature</publisher>
			<date type="published" when="2023">2023</date>
			<biblScope unit="volume">470</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Cardinalities and universal quantifiers for verifying parameterized systems</title>
		<author>
			<persName><forename type="first">Klaus</forename><forename type="middle">V</forename><surname>Gleissenthall</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Nikolaj</forename><surname>Bjørner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrey</forename><surname>Rybalchenko</surname></persName>
		</author>
		<idno type="DOI">10.1145/2908080.2908129</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI &apos;16</title>
				<meeting>the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI &apos;16<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2016-06">June 2016</date>
			<biblScope unit="page" from="599" to="613" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">SMT-based verification of parameterized systems</title>
		<author>
			<persName><forename type="first">Arie</forename><surname>Gurfinkel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sharon</forename><surname>Shoham</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yuri</forename><surname>Meshman</surname></persName>
		</author>
		<idno type="DOI">10.1145/2950290.2950330</idno>
		<idno>doi:10.1145/ 2950290.2950330</idno>
		<ptr target="https://dl.acm.org/doi/10.1145/2950290.2950330" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016</title>
				<meeting>the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2016-11">November 2016</date>
			<biblScope unit="page" from="338" to="348" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Parikh&apos;s Theorem Made Symbolic</title>
		<author>
			<persName><forename type="first">Matthew</forename><surname>Hague</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Artur</forename><surname>Jeż</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anthony</forename><forename type="middle">W</forename><surname>Lin</surname></persName>
		</author>
		<idno type="DOI">10.1145/3632907</idno>
		<idno>doi:</idno>
		<ptr target="10.1145/3632907" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM on Programming Languages</title>
				<meeting>the ACM on Programming Languages</meeting>
		<imprint>
			<date type="published" when="1977-01">1977. January 2024</date>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="page" from="1945" to="1965" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Synchronisation-and Reversal-Bounded Analysis of Multithreaded Programs with Counters</title>
		<author>
			<persName><forename type="first">Matthew</forename><surname>Hague</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anthony</forename><surname>Widjaja</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lin</forename></persName>
		</author>
		<idno type="DOI">10.1007/978-3-642-31424-7_22</idno>
	</analytic>
	<monogr>
		<title level="m">Computer Aided Verification</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">P</forename><surname>Madhusudan</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Sanjit</forename><forename type="middle">A</forename><surname>Seshia</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="260" to="276" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Regular Abstractions for Array Systems</title>
		<author>
			<persName><forename type="first">Chih-Duo</forename><surname>Hong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anthony</forename><forename type="middle">W</forename><surname>Lin</surname></persName>
		</author>
		<idno type="DOI">10.1145/3632864</idno>
		<idno>doi:</idno>
		<ptr target="10.1145/3632864" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM on Programming Languages</title>
				<meeting>the ACM on Programming Languages</meeting>
		<imprint>
			<publisher>POPL</publisher>
			<date type="published" when="2024-01">January 2024</date>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="page" from="638" to="666" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">A program verifier</title>
		<author>
			<persName><forename type="first">James</forename><surname>Cornelius</surname></persName>
		</author>
		<author>
			<persName><forename type="first">King</forename></persName>
		</author>
		<ptr target="https://apps.dtic.mil/sti/citations/AD0699248" />
		<imprint>
			<date type="published" when="1969-09">September 1969</date>
			<pubPlace>Pittsburgh Pennsylvania USA</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Carnegie-Mellon University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Reports</note>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">Parikh Automata and Monadic Second-Order Logics with Linear Cardinality Constraints</title>
		<author>
			<persName><forename type="first">Felix</forename><surname>Klaedtke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Harald</forename><surname>Rueß</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
		<respStmt>
			<orgName>Freiburg University, Institute of Computer Science</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report 177</note>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Decision Procedures</title>
		<author>
			<persName><forename type="first">Daniel</forename><surname>Kroening</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ofer</forename><surname>Strichman</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-662-50497-0</idno>
	</analytic>
	<monogr>
		<title level="m">Texts in Theoretical Computer Science</title>
				<meeting><address><addrLine>Berlin Heidelberg; Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
	<note>An EATCS Series. 2 edition</note>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Deciding Boolean Algebra with Presburger Arithmetic</title>
		<author>
			<persName><forename type="first">Viktor</forename><surname>Kunčak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Hai</forename><surname>Huu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Martin</forename><surname>Nguyen</surname></persName>
		</author>
		<author>
			<persName><surname>Rinard</surname></persName>
		</author>
		<idno type="DOI">10.1007/s10817-006-9042-1</idno>
	</analytic>
	<monogr>
		<title level="j">Journal of Automated Reasoning</title>
		<imprint>
			<biblScope unit="volume">36</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="213" to="239" />
			<date type="published" when="2006-04">April 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Towards Efficient Satisfiability Checking for Boolean Algebra with Presburger Arithmetic</title>
		<author>
			<persName><forename type="first">Viktor</forename><surname>Kunčak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Martin</forename><surname>Rinard</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-540-73595-3_15</idno>
	</analytic>
	<monogr>
		<title level="m">Automated Deduction -CADE-21</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="215" to="230" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">I4: incremental inference of inductive invariants for verification of distributed protocols</title>
		<author>
			<persName><forename type="first">Haojun</forename><surname>Ma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Aman</forename><surname>Goel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jean-Baptiste</forename><surname>Jeannin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Manos</forename><surname>Kapritsos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Baris</forename><surname>Kasikci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Karem</forename><forename type="middle">A</forename><surname>Sakallah</surname></persName>
		</author>
		<idno type="DOI">10.1145/3341301.3359651</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 27th ACM Symposium on Operating Systems Principles</title>
				<meeting>the 27th ACM Symposium on Operating Systems Principles<address><addrLine>Huntsville Ontario Canada</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2019-10">October 2019</date>
			<biblScope unit="page" from="370" to="384" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Counterexample-Guided Prophecy for Model Checking Modulo the Theory of Arrays</title>
		<author>
			<persName><forename type="first">Makai</forename><surname>Mann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ahmed</forename><surname>Irfan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alberto</forename><surname>Griggio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Oded</forename><surname>Padon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Clark</forename><surname>Barrett</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-030-72016-2_7</idno>
	</analytic>
	<monogr>
		<title level="m">Tools and Algorithms for the Construction and Analysis of Systems</title>
				<editor>
			<persName><forename type="first">Jan</forename><surname>Friso</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Groote</forename></persName>
		</editor>
		<editor>
			<persName><forename type="first">Kim</forename><surname>Guldstrand Larsen</surname></persName>
		</editor>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="113" to="132" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">On direct products of theories</title>
		<author>
			<persName><forename type="first">Andrzej</forename><surname>Mostowski</surname></persName>
		</author>
		<idno type="DOI">10.2307/2267454</idno>
	</analytic>
	<monogr>
		<title level="j">The Journal of Symbolic Logic</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="1" to="31" />
			<date type="published" when="1952-03">March 1952</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<monogr>
		<title level="m" type="main">Decision Procedures for Power Structures</title>
		<author>
			<persName><forename type="first">Rodrigo</forename><surname>Raya</surname></persName>
		</author>
		<idno type="DOI">10.5075/epfl-thesis-10546</idno>
		<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
		<respStmt>
			<orgName>EPFL</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">NP Satisfiability for Arrays as Powers</title>
		<author>
			<persName><forename type="first">Rodrigo</forename><surname>Raya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Viktor</forename><surname>Kunčak</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-030-94583-1_15</idno>
	</analytic>
	<monogr>
		<title level="m">23rd International Conference on Verification, Model Checking, and Abstract Interpretation</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="301" to="318" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">On algebraic array theories</title>
		<author>
			<persName><forename type="first">Rodrigo</forename><surname>Raya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Viktor</forename><surname>Kunčak</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.jlamp.2023.100906</idno>
	</analytic>
	<monogr>
		<title level="j">Journal of Logical and Algebraic Methods in Programming</title>
		<imprint>
			<biblScope unit="volume">136</biblScope>
			<biblScope unit="page">100906</biblScope>
			<date type="published" when="2024-01">January 2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">Succinct ordering and aggregation constraints in algebraic array theories</title>
		<author>
			<persName><forename type="first">Rodrigo</forename><surname>Raya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Viktor</forename><surname>Kunčak</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.jlamp.2024.100978</idno>
	</analytic>
	<monogr>
		<title level="j">Journal of Logical and Algebraic Methods in Programming</title>
		<imprint>
			<biblScope unit="volume">140</biblScope>
			<biblScope unit="page">100978</biblScope>
			<date type="published" when="2024-08">August 2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">Counting in Trees for Free</title>
		<author>
			<persName><forename type="first">Helmut</forename><surname>Seidl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thomas</forename><surname>Schwentick</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anca</forename><surname>Muscholl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Peter</forename><surname>Habermehl</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-540-27836-8_94</idno>
	</analytic>
	<monogr>
		<title level="m">Automata, Languages and Programming</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="1136" to="1149" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">Cosmological lower bound on the circuit complexity of a small problem in logic</title>
		<author>
			<persName><forename type="first">Larry</forename><surname>Stockmeyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Albert</forename><forename type="middle">R</forename><surname>Meyer</surname></persName>
		</author>
		<idno type="DOI">10.1145/602220.602223</idno>
	</analytic>
	<monogr>
		<title level="j">Journal of the ACM</title>
		<imprint>
			<biblScope unit="volume">49</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="753" to="784" />
			<date type="published" when="2002-11">November 2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Languages, Automata, and Logic</title>
		<author>
			<persName><forename type="first">Wolfgang</forename><surname>Thomas</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-642-59126-6_7</idno>
		<idno>doi:</idno>
		<ptr target="10.1007/978-3-642-59126-6_7" />
	</analytic>
	<monogr>
		<title level="m">Handbook of Formal Languages</title>
				<meeting><address><addrLine>Berlin Heidelberg; Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="389" to="455" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">On the Complexity of Equational Horn Clauses</title>
		<author>
			<persName><forename type="first">Neeraj</forename><surname>Kumar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Helmut</forename><surname>Verma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thomas</forename><surname>Seidl</surname></persName>
		</author>
		<author>
			<persName><surname>Schwentick</surname></persName>
		</author>
		<idno type="DOI">10.1007/11532231_25</idno>
	</analytic>
	<monogr>
		<title level="m">Automated Deduction -CADE-20</title>
				<meeting><address><addrLine>Berlin, Heidelberg; Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3632</biblScope>
			<biblScope unit="page" from="337" to="352" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Combining Theories with Shared Set Operations</title>
		<author>
			<persName><forename type="first">Thomas</forename><surname>Wies</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ruzica</forename><surname>Piskac</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Viktor</forename><surname>Kunčak</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-642-04222-5_23</idno>
	</analytic>
	<monogr>
		<title level="m">Frontiers of Combining Systems</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="366" to="382" />
		</imprint>
	</monogr>
</biblStruct>

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