A Quasi-Linear Time Algorithm Deciding Whether Weak B\"uchi Automata Reading Vectors of Reals Recognize Saturated Languages
Arthur Milchior

TL;DR
This paper presents a quasi-linear time algorithm to determine if weak deterministic B"uchi automata recognize saturated languages of real vectors, improving efficiency for standard and parallel encodings.
Contribution
It introduces a novel quasi-linear time decision procedure for recognizing saturated languages by weak B"uchi automata, applicable to multiple encoding schemes.
Findings
Algorithm runs in quasi-linear time for minimal automata.
Decides recognition of saturated languages for both sequential and parallel encodings.
Applicable to automata reading vectors of relative reals.
Abstract
This work considers weak deterministic B\"uchi automata reading encodings of non-negative -vectors of reals in a fixed base. A saturated language is a language which contains all encoding of elements belonging to a set of -vectors of reals. A Real Vector Automaton is an automaton which recognizes a saturated language. It is explained how to decide in quasi-linear time whether a minimal weak deterministic B\"uchi automaton is a Real Vector Automaton. The problem is solved both for the two standard encodings of vectors of numbers: the sequential encoding and the parallel encoding. This algorithm runs in linear time for minimal weak B\"uchi automata accepting set of reals. Finally, the same problem is also solved for parallel encoding of automata reading vectors of relative reals.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Topicssemigroups and automata theory · DNA and Biological Computing · Machine Learning and Algorithms
\newclass\MSO
MSO \newclass\WMSOWMSO \newclass\SOSO
\newaliascntlemmatheorem \aliascntresetthelemma
\newaliascntcorollarytheorem \aliascntresetthecorollary
\newaliascntexampletheorem \aliascntresettheexample
\newaliascntdefinitiontheorem \aliascntresetthedefinition
\newaliascntnotationtheorem \aliascntresetthenotation
\newaliascntpropositiontheorem \aliascntresettheproposition
\newaliascntpropertytheorem \aliascntresettheproperty
\newaliascntremarktheorem \aliascntresettheremark
A Quasi-Linear Time Algorithm Deciding Whether Weak
Büchi Automata Reading Vectors of Reals Recognize Saturated Languages
Arthur Milchior
Abstract
This work considers weak deterministic Büchi automata reading encodings of non-negative -vectors of reals in a fixed base. A saturated language is a language which contains all encoding of elements belonging to a set of -vectors of reals. A Real Vector Automaton is an automaton which recognizes a saturated language. It is explained how to decide in quasi-linear time whether a minimal weak deterministic Büchi automaton is a Real Vector Automaton. The problem is solved both for the two standard encodings of vectors of numbers: the sequential encoding and the parallel encoding. This algorithm runs in linear time for minimal weak Büchi automata accepting set of reals. Finally, the same problem is also solved for parallel encoding of automata reading vectors of relative reals.
1 Introduction
This paper deals with logically defined sets of vector of numbers encoded by Büchi deterministic automata. The sets of vectors of integers whose encodings in base are recognized by a finite automaton are called the -recognizable sets. By [BHMV94], the -recognizable sets are exactly the sets which are \FO\mathopen{}\mathclose{{}\left[\mathbb{Z}{};+,<,V_{b}}\right]-definable, where is the greatest power of dividing . It was proven in [Sem77, Cob69] that the \FO\mathopen{}\mathclose{{}\left[\mathbb{N}{};+}\right]-definable sets are exactly the sets which are - and -recognizable for every .
Those results have then been extended to results about sets of vectors of reals recognized by a Büchi automata. The notion of Büchi automata is a formalism which describes languages of infinite words, also called -words. The Büchi automata are similar to the finite automata. The main difference between the two kinds of automata is that a finite automaton accepts a finite word if it admits a run ending on accepting states, while a Büchi automaton accepts an infinite word it it admits a run in which an accepting state appears infinitely often.
One of the main differences between finite and Büchi automata is that finite automata can be determinized while deterministic Büchi automata are less expressive than Büchi automata. For example, the language of words containing a finite number of times the letter is recognized by a Büchi automaton, but is not recognized by any deterministic Büchi automaton. This statement implies, for example, that no deterministic Büchi automaton recognizes the set of reals of the form with and , that is, the reals which admits no encoding in base with a finite number of non-0 digits.
Another main difference between the two classes of automata is that the class of languages recognized by finite automata is closed under complement while the class of languages recognized by deterministic Büchi automata is not closed under complement. For example, , the complement of , is recognized by a deterministic Büchi automaton.
Real numbers are naturally encoded, in a base , as a sequence of digits in \mathopen{}\mathclose{{}\left\{0,\dots,b-1}\right\} and a separator symbol . That is, as a word over the alphabet \mathopen{}\mathclose{{}\left\{0,\dots,b-1,\star}\right\}. Similarly, a -vector of real numbers can be encoded as a word over alphabet \mathopen{}\mathclose{{}\left\{0,\dots,b-1}\right\}^{d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}, where digits are read simultaneously, one for each element of the vector. This is call the -parallel encoding of the vector. A -vector can also be encoded as a word over alphabet \mathopen{}\mathclose{{}\left\{0,\dots,b-1,\star}\right\}, assuming that the digits in position modulo corresponds to the digits of the -th element of the vector. This is call the sequential encoding of the vector of digits. The cardinality of the alphabet of parallel encoding is exponentially bigger than the cardinality of the alphabet of sequential encodings, thus, sequential encodings may be preferred for practical purposes. Parallel encoding leads to simpler notation, hence, most of the litterature consider parallel encodings. We consider both encodings in this paper.
A language is said to be saturated if, given a vector , the set of its encoding in base is either included in or disjoint from . A Real Vector Automaton (RVA, See e.g. [BBL09]) is an automaton of alphabet \mathopen{}\mathclose{{}\left\{0,\dots,b-1}\right\}^{d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\} which recognizes a saturated language. Here is the dimension of the vector that the automata read. In the case where the dimension is 1, those automata are called Real Number Automata (RNA, See e.g. [BBB10]).
The sets of vectors of reals whose encodings in base is recognized by a RVA are called the -recognizable sets. By [WB00], they are exactly the \FO\mathopen{}\mathclose{{}\left[\mathbb{R},\mathbb{Z}{};+,<,X_{b},1}\right]-definable sets. The logic \FO\mathopen{}\mathclose{{}\left[\mathbb{R},\mathbb{Z}{};+,<,X_{b},1}\right] is the first-order logic over reals with a unary predicate which holds over integers, addition, order, the constant one, and the function . The function holds if and only if is equal to some with and there exists a encoding in base of whose digit in position is . That is, and are of the form:
[TABLE]
A weak deterministic Büchi automaton is a deterministic Büchi automaton whose set of accepting states is a union of strongly connected components. A set is said to be weakly -recognizable if it is recognized by a weak automaton in base . By [BBL09], a set is \FO\mathopen{}\mathclose{{}\left[\mathbb{R},\mathbb{Z}{};+,<}\right]-definable if and only if its set of encodings is weakly -recognizable for all . The weak deterministic Büchi automata are less expressive than the deterministic Büchi automata. For example, the language of words containing an infinite number of is recognized by a deterministic Büchi automaton but is not recognized by any weak deterministic Büchi automaton. This implies that, for example, no weak deterministic Büchi automaton recognizes the set of reals which are not of the form with and , since those reals are the ones whose encodings in base contains an infinite number of non-[math] digits. Furthermore, by [Lö01], weak deterministic Büchi automata can be efficiently minimized.
In this paper, we show that we can efficiently decide whether a weak Büchi automaton accept a saturated set of vectors of integers. Furthermore, we give an algorithm for automata reading parallel encoding and for automata reading sequential encoding.
We recall standard definition in Section 2. We introduce encoding of sets of vectors of numbers in Section 3. We introduce Büchi automata in Section 4. We formalize how we compute the complexity of an algorithm in Section 5. We study automata reading vectors of numbers in Section 6. We study how to transform words and automata in Section 7. We characterize the parallel RVA in Section 8 and the sequential RVA in Section 9. We explain how to decide whether an automaton is a RVA in Section 10. The case of sets containing negative reals is discussed in Section 11.
2 Standard definitions
We now give the standard definitions used in this paper.
Numbers.
Let and denote the set of non-negative integers and the set of reals, respectively. For , let denote the set of non-negative elements of . For , let represent \mathopen{}\mathclose{{}\left\{0,\dots,n}\right\}. For , let represents the only integer such that .
Sets.
For and two sets, let S\otimes T=\mathopen{}\mathclose{{}\left\{(s,t)\mid s\in S,t\in T}\right\} be the set of ordered pair containing an element of and an element of . Let be the cardinality of . For , let be the set of -vectors of elements of for . The -vectors are denoted with each . The -vector is denoted .
Finite and infinite words.
An alphabet is a finite set, its elements are called letters. A finite word over the alphabet is a finite sequence of letters of . An -word over the alphabet is an infinite sequence of letters of . The empty word is denoted . A set of finite (respectively ) words of alphabet is called a language (respectively, an -language) over alphabet .
Let be a word, its length is denoted \mathopen{}\mathclose{{}\left|{w}}\right|, it is either a non-negative integer or the cardinality of . For n\in[\mathopen{}\mathclose{{}\left|{w}}\right|-1], let denote the -th letter of . For a finite word, let be the concatenation of and of , that is, the word of length \mathopen{}\mathclose{{}\left|{v}}\right|+\mathopen{}\mathclose{{}\left|{w}}\right| such that for i\in[\mathopen{}\mathclose{{}\left|{v}}\right|-1] and u[\mathopen{}\mathclose{{}\left|{v}}\right|+i]=w[i] for i\in[\mathopen{}\mathclose{{}\left|{w}}\right|-1]. Let w\mathopen{}\mathclose{{}\left[<n}\right] denote the prefix of of length , that is, the word of length such that for all . Similarly, let w\mathopen{}\mathclose{{}\left[\geq{}n}\right] denote the suffix of without its -th first letters, that is, the word such that for all i\in[\mathopen{}\mathclose{{}\left|{w}}\right|-n]. Note that w=w\mathopen{}\mathclose{{}\left[<i}\right]w\mathopen{}\mathclose{{}\left[\geq{}i}\right] for all i\in[\mathopen{}\mathclose{{}\left|{w}}\right|-1].
Languages
A language is a set of words. Let be a language of finite words and let be either an -languages or a language of finite words. Let be the set of concatenations of the words of and of . For , let be the concatenations of words of . Let , more generally, for , let and . If is a set of non-empty word, let be the set of infinite sequences of elements of . Finally, let .
3 Encoding of set of vectors of numbers
In this section we explain how to encode sets of vectors of numbers using languages. We consider natural and real numbers in Section 3.1. We consider the special case of rationals in Section 3.2. We then consider vectors of reals in Section 3.3. Finally, we consider sets of vectors of reals in Section 3.4.
3.1 Encoding of numbers
Let us now consider the encoding of numbers in an integer base . Let be equal to , it is the set of digits. The base is fixed for the remaining of this paper. Formally, for and :
[TABLE]
Let be an -word with exactly one . It is of the form , with and . The word is called the natural part of and the -word is called its fractional part. We then define:
[TABLE]
Examples of representation of numbers are now given.
[TABLE]
Pair-encoding
A word w\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}^{\infty} can equivalently be encoded as a pair \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle where and . This pair represents the word of length \mathopen{}\mathclose{{}\left|{w}}\right|+|S|, such that \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle[i] is if , otherwise it is w\mathopen{}\mathclose{{}\left[i-|\mathopen{}\mathclose{{}\left\{s\in S\mid s<i}\right\}|}\right]. Intuitively, for , the -th letter of \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle[i] is the letter of at a position such that , where is the number of ’s before . For example \mathopen{}\mathclose{{}\left\langle(10)^{\omega},\mathopen{}\mathclose{{}\left\{2}\right\}}\right\rangle=10\star(10)^{\omega}, \mathopen{}\mathclose{{}\left\langle 01,\mathopen{}\mathclose{{}\left\{0}\right\}}\right\rangle=\star 01 and \mathopen{}\mathclose{{}\left\langle(01)^{\omega},\emptyset}\right\rangle=(01)^{\omega}. The representation \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle is called a pair-encoding.
If \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle is an encoding of a real, or an encoding of a factor of a real, ’s cardinality is at most 1. In particular, the pair encoding of a word of is of the form \mathopen{}\mathclose{{}\left\langle w,\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle with and . Note however that in order to check whether an automaton is a RVA, it must be checked that it rejects every words whose number of ’s is not 1. Therefore, the cases where is not a singleton must be considered.
3.2 Encoding of rationals
We now recall a basic fact about encoding of rationals.
Theorem 3.1** ([HW60]).**
Let a real. Let l=\mathopen{}\mathclose{{}\left\lceil{\log_{b}(q+1)}}\right\rceil and .
The number of encoding of with a natural part of length is:
- •
[math]* if ,*
- •
* if and if admits a decomposotion of the form with and such that , and*
- •
* otherwise.*
In the seconde case, the two encodings are of the form:
[TABLE]
with and a\in\Sigma_{b}\setminus\mathopen{}\mathclose{{}\left\{b-1}\right\}.
This theorem illustrates that pair-encoding leads to shorter statements. Indeed, with the standard-encoding, Equation (2) would require to consider three cases, depending on whether , or . Note that the condition ensures that .
3.3 Encoding of vectors of reals.
It is now explained how to encode -vectors of real numbers. In this paper, we fix a positive integer constant . In the remaining of this paper, we only consider sets of dimension 1 or .
There exists two standard encodings of vectors of numbers. The parallel one and the sequential one. A parallel encoding consists in a sequence of -vector of digits. A sequential encoding consists in a sequence of digits. This sequence contains alternatively a digit of the zeroth number, a digit of the first number, up to a digit of the -th number. In both cases, exactly one dot appear in the sequence, to separate the natural part from the fractional part.
The alphabet of sequential encoding contains letters while the alphabet of parallel encodings contains letters. Thus, sequential encoding allow to create smaller automata, as shown in Example 6.1. However, parallel encoding leads to notations which are more compact. Since parallel encoding are more standards and lead to simpler proofs.
Parallel encodings
We now introduce the notion of parallel encoding of a -vector of numbers. Let , be the set of -vectors of digits. For , and , denote the unique word such that \mathopen{}\mathclose{{}\left|{w_{i}}}\right|=\mathopen{}\mathclose{{}\left|{\boldsymbol{w}}}\right| and such that for 0\leq k<\mathopen{}\mathclose{{}\left|{\boldsymbol{w}}}\right|, . Similarly, for \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\infty}, \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle_{i} denote \mathopen{}\mathclose{{}\left\langle w_{i},S}\right\rangle.
For and , we define \mathopen{}\mathclose{{}\left[{\boldsymbol{v}}}\right]_{b}^{I} as \mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left[{v_{0}}}\right]_{b}^{I},\dots,\mathopen{}\mathclose{{}\left[{v_{d-1}}}\right]_{b}^{I}}\right) and \mathopen{}\mathclose{{}\left[{\boldsymbol{w}}}\right]_{b}^{F} as \mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left[{w_{0}}}\right]_{b}^{F},\dots,\mathopen{}\mathclose{{}\left[{w_{d-1}}}\right]_{b}^{F}}\right). Similarly, we define \mathopen{}\mathclose{{}\left[{\boldsymbol{v\star w}}}\right]_{b}^{\mathbb{R}} as \mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left[{v_{0}\star w_{0}}}\right]_{b}^{\mathbb{R}},\dots,\mathopen{}\mathclose{{}\left[{v_{d-1}\star w_{d-1}}}\right]_{b}^{\mathbb{R}}}\right)=\mathopen{}\mathclose{{}\left[{\boldsymbol{v}}}\right]_{b}^{I}+\mathopen{}\mathclose{{}\left[{\boldsymbol{w}}}\right]_{b}^{F} where addition is defined component by component. For example:
[TABLE]
Sequential encodings
We now introduce the notion of sequential encodings of a -vector of numbers. Let whose length is either a multiple of or infinite. Let \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right)\in\Sigma_{b,d} be the only word of length \mathopen{}\mathclose{{}\left|{w}}\right|/d, whose -th letter is \mathopen{}\mathclose{{}\left(w_{di+0},\dots,w_{di+(d-1)}}\right) for i<\mathopen{}\mathclose{{}\left|{w}}\right|/d. For \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle, with a set of multiple of , let \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle w,S}\right\rangle}\right)=\mathopen{}\mathclose{{}\left\langle\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right),\mathopen{}\mathclose{{}\left\{s/d\mid s\in S}\right\}}\right\rangle. Let \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\boldsymbol{w}}\right) be the inverse of the function \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right). Given a word , \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right) is called the parallelization of and \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(w}\right) is called its sequentialization. For example, the parallelization of \mathopen{}\mathclose{{}\left(100(01)^{\omega},\mathopen{}\mathclose{{}\left\{4}\right\}}\right) is \mathopen{}\mathclose{{}\left({1\choose 0}{0\choose 0}{1\choose 0}^{\omega},\mathopen{}\mathclose{{}\left\{2}\right\}}\right). As seen in Equation (3), it encodes the pair of reals .
3.4 Encoding of sets of vectors of reals
We now explain how to encode sets of tuples of reals as a language.
-parallel languages
The subsets of are called -parallel language. Given a -parallel language , let \mathopen{}\mathclose{{}\left[{L}}\right]_{b}^{\mathbb{R}} be the set of vectors of reals admitting an encoding in . Formally, \mathopen{}\mathclose{{}\left[{L}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left\{\mathopen{}\mathclose{{}\left[{\boldsymbol{w}}}\right]_{b}^{\mathbb{R}}\mid\boldsymbol{w}\in L}\right\}. The language is said to be a -parallel encoding of the set of reals \mathopen{}\mathclose{{}\left[{L}}\right]_{b}^{\mathbb{R}}. A -parallel language is said to be saturated if, for any -vector of numbers \mathbf{r}\in\mathopen{}\mathclose{{}\left[{L}}\right]_{b}^{\mathbb{R}}, all encodings in base of belongs to .
In general, a set of reals may have infinitely many encodings in base . For example, for an arbitrary set, the languagse \mathopen{}\mathclose{{}\left\{0,1}\right\}^{*}\star\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\{0,1}\right\}^{\omega}\setminus\mathopen{}\mathclose{{}\left\{0^{i}1^{\omega}\mid i\in I}\right\}}\right) is an encoding in base 2 of . It is saturated only for .
-sequential languages
The case of -sequential encodings of vectors of reals is now considered. The subsets of are called -sequential languages. The parallelization of a -sequential language , denoted \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(L}\right) is \mathopen{}\mathclose{{}\left\{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right)\mid w\in L}\right\}. A -sequential language is said to be a -sequential encoding of the set \mathopen{}\mathclose{{}\left[{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(L}\right)}}\right]_{b}^{\mathbb{R}}. This language is said to be saturated if \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(L}\right) is saturated.
4 Deterministic Büchi automata
This paper deals with deterministic Büchi automata. We define this notion in Section 4.1. We consider the notion of quotient and morphism of Büchi automata in Section 4.2.
4.1 Definition
A deterministic Büchi automaton is a 5-tuple \mathopen{}\mathclose{{}\left(Q,A,\delta,q_{0},F}\right), with a finite set of states, an alphabet, is the transition function, is the initial state and is the set of accepting states. For each and , is said to be a predecessor of . For , let be the automaton \mathopen{}\mathclose{{}\left(Q,A,\delta,q,F}\right), that is with as initial state. A state is said to be accessible from a state if there exists a finite non-empty word such that . The strongly connected component of a state is the set of states such that is accessible from and is accessible from .
From now on in this paper, all Büchi automata are assumed to be deterministic. The function is implicitly extended on by and for and . An example of Büchi automaton is now given.
Example \theexample.
Let be the automaton pictured in Figure 1. Its alphabet is \Sigma_{3}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}.
Let be an automaton and be an infinite word. A run of on is a mapping such that and for all i<\mathopen{}\mathclose{{}\left|{w}}\right|. The run is accepting if there exists a state such that there is an infinite number of such that . Section 4.1 is now resumed. Note that, if is an automaton, for all and , the word is accepted by if and only if is accepted by . It is said that recognize the language of words such that accepts . This language is denoted L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right).
Example \theexample.
Let be the automaton pictured in Figure 1. The run of on is \mathopen{}\mathclose{{}\left(q_{0},q_{1},q_{3},\dots}\right), with the last state repeated infinitely often. The Büchi automaton does not accept since this run contains exactly one accepting state.
The run of on is \mathopen{}\mathclose{{}\left(q_{0},q_{3},q_{5},\dots}\right) with the last state repeated infinitely often. The Büchi automaton accepts since the accepting state appears infinitely often in the run.
This automaton recognizes the language .
4.2 Quotients, Morphisms and Weak Büchi Automata
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,A,\delta,q_{0},F}\right) and \mathcal{A}^{\prime}=\mathopen{}\mathclose{{}\left(Q^{\prime},A,\delta^{\prime},q_{0}^{\prime},F^{\prime}}\right) be two Büchi automata. The Büchi automaton is said to be minimal if, for each distinct states and of , L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}_{q}}}\right)\neq L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}_{q^{\prime}}}}\right). If is minimal, a surjective function is a morphism of Büchi automata if and if, for each , L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}_{q}}}\right)=L_{\omega}\mathopen{}\mathclose{{}\left({Aut^{\prime}_{\mu(q)}}}\right). Note that if is a morphism of Büchi automaton from to , if is a state of , then is a morphism of Büchi automaton from to .
The Büchi automaton is said to be weak if is a union of strongly connected components. The main theorem concerning quotient of weak Büchi automata is now recalled.
Theorem 4.1** ([Lö01]).**
Let be a weak Büchi automaton with states such that all states of are accessible from its initial state. Let be the cardinality of . There exists a minimal weak Büchi automaton such that there exists a morphism of automaton from to . The automaton and the morphism are computable in time O\mathopen{}\mathclose{{}\left(n\log(n)c}\right) and space O\mathopen{}\mathclose{{}\left(nc}\right).
Example 4.1 is now resumed.
Example \theexample.
Let be the Büchi automaton pictured in Figure 1. The automaton is weak. Its minimal quotient is pictured in Figure 2. Note that this quotient is not a quotient of finite automata since the accepting state is sent to a non-accepting state.
We now explain how to decide efficiently whether two states of two automata recognize the same language.
Corollary \thecorollary.
Let an alphabet with letters. Let \mathcal{A}^{0}=\mathopen{}\mathclose{{}\left(Q^{0},A,\delta^{0},q^{0}_{0},F^{0}}\right), \mathcal{A}^{1}=\mathopen{}\mathclose{{}\left(Q^{1},A,\delta^{1},q^{1}_{0},F^{1}}\right) be weak Büchi automata. Let .
We can compute in time O\mathopen{}\mathclose{{}\left(n\log(n)c}\right) and space O\mathopen{}\mathclose{{}\left(nc}\right) a data-structure of size O\mathopen{}\mathclose{{}\left(nc}\right) such that, for each pair , we can check in constant time and space whether and accepts the same language.
Proof.
Up to changing the name of the states, we can assume that and are disjoint. Let . Let \mathcal{A}^{\prime}=\mathopen{}\mathclose{{}\left(Q^{0}\cup Q^{1}\cup\mathopen{}\mathclose{{}\left\{q_{0}}\right\},A,\delta^{\prime},q_{0}^{\prime},F^{0}\cup F^{1}}\right), where , for each a\in A\setminus\mathopen{}\mathclose{{}\left\{a}\right\}, and for i\in\mathopen{}\mathclose{{}\left\{0,1}\right\}, and . Clearly accepts the same language than , for each . The automaton is clearly weak, thus it admits a minimal quotient and a morphism to this minimal quotient. By Theorem 4.1, this morphism is computable in time O\mathopen{}\mathclose{{}\left(n\log(n)c}\right) and takes space O\mathopen{}\mathclose{{}\left(nc}\right). This morphism is the data structure mentionned above.
Let . Remark that and accepts the same language if and only if . Given this equality can be checked in constant time and space. ∎
In practice, the algorithm of [Lö01] could be directly applied to multiple Büchi automata simultaneously. Indeed, the initial state is not considered differently than any other state in this algorithm. Furtherrmore, this algorithm does not require all states of the automata to be accessible from the initial state.
5 Time and space analysis
We now state our assumption above the time and space complexity of in this paper. We first consider the size of the object we use.
All integers and Booleans takes constant space. The size of an automata is the product of the cardinalities of its alphabet and of its set of states. An array of elements takes size , plus the size of its elements. For a set of cardinality , a subset of is an array of Boolean values.
For the sake of simplicity, it is assumed that all basic arithmetic operations over integers, such as addition, multiplication, subtraction, comparison of integers, can be computed in constant time and space. The transition functions of automata return in constant time and space. Creating an array and editing one of its position takes constant time.
6 Automata reading set of vectors of reals
We consider automata reading set of vectors of reals in this section. Those automata are formally introduced in Section 6.1. We explain in Section 6.2 how to decide whether an automaton accept a -parallel or a -sequential language.
6.1 Definition
The notion of Büchi automata recognizing a set of vector of reals is now introduced.
A Büchi automaton accepting a -parallel or a -sequential language is said to be a -parallel or a -sequential automaton respectively. The set of weak -parallel and of weak -sequential Büchi automata are closed under taking quotient. The set of -vectors of automata associated to an automaton is now introduced.
Notation \thenotation (\mathopen{}\mathclose{{}\left[{\mathcal{A}}}\right]_{b}^{\mathbb{R}}).
For a -parallel or a -sequential automaton, let \mathopen{}\mathclose{{}\left[{\mathcal{A}}}\right]_{b}^{\mathbb{R}} be \mathopen{}\mathclose{{}\left[{L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right)}}\right]_{b}^{\mathbb{R}}.
The following example show that the minimal -sequential automaton accepting a set R\subseteq\mathopen{}\mathclose{{}\left(\mathbb{R}^{\geq 0}}\right)^{d} can be exponentially smaller than the minimal -parallel automaton accepting it.
Example \theexample.
The minimal -parallel automaton accepting is:
[TABLE]
where for each state , and each letter and where . If is not defined above, it is equal to . This Büchi automaton has states and its alphabet has letters, hence its size is O\mathopen{}\mathclose{{}\left(2^{d}}\right). The automaton is pictured in 3(a), without its state .
The minimal -sequential Büchi automaton accepting \mathopen{}\mathclose{{}\left(\mathbb{R}^{\geq 0}}\right)^{d} is:
[TABLE]
where, for each , where for each and where . If is not defined above, it is equal to . This Büchi automaton has states and its alphabet has letters, hence its size is O\mathopen{}\mathclose{{}\left(d}\right). The automaton is pictured in 3(b) without its state .
Note that the size of the minimal -parallel automaton is exponential in the size of the minimal -sequential automaton.
We now explain how to transform a sequential automaton into a parallel one.
Definition \thedefinition (\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)).
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) be a -sequential automaton. Let \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right):\mathopen{}\mathclose{{}\left(Q\otimes\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)}\right)\to Q such that \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)\mathopen{}\mathclose{{}\left(q,\star}\right)=\delta(q,\star) and such that, \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)\mathopen{}\mathclose{{}\left(q,\boldsymbol{a}}\right)=\delta(q,a_{0}\dots a_{d-1}) for each . Then let \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right),q_{0},F}\right).
This operation is called the parallelization of . The parallelization of the automaton pictured in 3(b) is pictured in Figure 4.
We now state two lemmas whose proofs are simple applications of the definitions. Those lemmas show that this notion of parallelization is coherent with the parallelization of words.
Lemma \thelemma.
Let and a -sequential automaton. The automaton accepts if and only if \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right) accepts \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right).
Lemma \thelemma.
Let and a -sequential automaton. The automaton \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right) accepts if and only if accepts \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(w}\right).
Finally, we state that changing the initial state commute with parallelization.
Lemma \thelemma.
Let be a -sequential automaton and a state of . The automaton \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)_{q} is equal to the automaton \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}_{q}}\right).
6.2 Algorithm
We now consider the problem of deciding whether a Büchi automaton is -parallel or -sequential. We now state the two main results of this section.
Theorem 6.1**.**
Let be an automaton over alphabet \Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\} with states. It is decidable in time O\mathopen{}\mathclose{{}\left(nb^{d}}\right) and space O\mathopen{}\mathclose{{}\left(n}\right) whether is a -parallel automaton.
Theorem 6.2**.**
Let be an automaton over alphabet \Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\} with states. It is decidable in time O\mathopen{}\mathclose{{}\left(nbd}\right) and space O\mathopen{}\mathclose{{}\left(nd}\right) whether is a -sequential automaton.
We prove both theorems simultaneously. More precisely, we prove the following proposition:
Proposition \theproposition.
Let . Let be an automaton over alphabet \Sigma_{b,d_{\text{par}}}\cup\mathopen{}\mathclose{{}\left\{\star}\right\} with states. It is decidable in time O\mathopen{}\mathclose{{}\left(nb^{d_{\text{par}}}d_{\text{seq}}}\right) and space O\mathopen{}\mathclose{{}\left(nd_{\text{seq}}}\right) whether recognize a subset of .
When and , this proposition implies Theorem 6.1, and when and , this proposition implies Theorem 6.2. In order to prove this proposition, we introduce the following sets of states.
Definition \thedefinition.
[, and ] Let be an automaton over alphabet \Sigma_{b,d_{\text{par}}}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}.
- •
Let be the set of states such that recognizes the empty language.
- •
For , let be the set of states with .
- •
Let be the set of states with
Intuitively, while the automaton reads the natural part of a vector, it visits successively a state of , a state of , …, a state of , and then, again a state of and so on. Similarly, while the automaton read the fractional part of the word, it visits states of . We could prove that, if accepts a subset of , then the intersection of two of those sets is included in . We now give example of those set of states.
Example \theexample.
Let be the automaton pictured in 3(a), and . Then Q_{\emptyset}=\mathopen{}\mathclose{{}\left\{q_{\emptyset,\mathcal{A}}}\right\}, Q_{0}=\mathopen{}\mathclose{{}\left\{q_{0}}\right\} and Q_{F}=\mathopen{}\mathclose{{}\left\{q_{[0,1],\mathcal{A}}}\right\}.
Let be the automaton pictured in 3(b), and . Then Q_{\emptyset}=\mathopen{}\mathclose{{}\left\{q_{\emptyset,\mathcal{A}}}\right\}, Q_{i}=\mathopen{}\mathclose{{}\left\{q_{i}}\right\} and Q_{F}=\mathopen{}\mathclose{{}\left\{q_{[0,1],\mathcal{A}},q_{\emptyset,\mathcal{A}}}\right\}.
We now characterize the automata accepting a subset of using sets introduced in Section 6.2. We then characterize those sets of states. All characterizations of those objects are straightforward from their definitions.
Proposition \theproposition.
Let be an automaton over alphabet \Sigma_{b,d_{\text{par}}}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}. It accepts a subset of if and only if, for each state .
Lemma \thelemma.
The set is the greatest set of states included in , which does not contain the accepting recurrent states and which is closed under taking predecessor.
Lemma \thelemma.
The sets is the smallest family of sets such that and for each , for each and for each , the state belongs to .
Lemma \thelemma.
The set is the smallest set containing all sets of the form for and for and .
It is now explained how to compute efficiently those sets.
Lemma \thelemma.
All sets of Section 6.2 are computable in time O\mathopen{}\mathclose{{}\left(nb^{d_{\text{par}}}d_{\text{seq}}}\right) and space O\mathopen{}\mathclose{{}\left(nd_{\text{seq}}}\right).
Proof.
Let us first consider the set . The algorithms is a straightforward application of the characterization given in Lemma 6.2. Tarjan’s algorithm [Tar72] can be used to compute the set of strongly connected component in time O\mathopen{}\mathclose{{}\left(nb^{d_{\text{par}}}}\right), and therefore the set of recurrent states. Furthermore, it is easy to associate in linear time to each state its set of predecessors. Let be the number of predecessors of a state .
Two sets PotentiallyEmpty and ToProcess are used by the algorithm. The algorithm initializes the set PotentiallyEmpty to and initializes the set ToProcess to the empty set. The algorithm runs on each recurrent state . For each state , if is accepting, then is removed from PotentiallyEmpty and added to ToProcess. The algorithm then runs on each element of ToProcess. For each state , the algorithm removes from ToProcess and runs on each predecessors of . For each , if is in PotentiallyEmpty, then is removed from PotentiallyEmpty and added to ToProcess. Finally, when ToProcess is empty, the algorithm halts and is the value of PotentiallyEmpty.
Let us now consider the complexity of this algorithm. At most states are added to ToProcess, and each state is added at most once. For each state added to ToProcess, each of its predecessor is considered in constant time. Thus the algorithm runs in time O\mathopen{}\mathclose{{}\left(n+\sum_{q\in Q}p_{q}}\right)=O\mathopen{}\mathclose{{}\left(nb^{d_{\text{par}}}}\right).
The -sets are computed simultaneously, using the characterization given in Section 6.2. The computation of the state is similar. The sets are initialized to the empty set, and ToProcess is initialized to \mathopen{}\mathclose{{}\left\{(q_{0},0)}\right\}. The algorithm runs on each . For each , the pair is removed from ToProcess and added into . The algorithm runs on each . For each , if \delta(q,\boldsymbol{a})\not\in Q_{\mathopen{}\mathclose{{}\left(i+1\mod d_{\text{seq}}}\right)}, then is added into ToProcess. When ToProcess is empty, all states of are indeed added to this set.
Let us consider the complexity. Each pair is removed at most once from ToProcess, thus the outer loop is executed at moste O\mathopen{}\mathclose{{}\left(nd_{\text{seq}}}\right) times. Each execution of this loop clearly runs in time O\mathopen{}\mathclose{{}\left(b^{d_{\text{par}}}}\right). This algorithm stores a number, a state, and set of states, thus it clearly takes space O\mathopen{}\mathclose{{}\left(nd_{\text{seq}}}\right).
∎ We now prove Section 6.2.
Proof.
The algorithm computes the sets of Section 6.2. The algorithm runs on each and rejects if . By Section 6.2, this algorithm accepts if an only if accepts a subset of . By Section 6.2, those sets can be computed in time O\mathopen{}\mathclose{{}\left(nb^{d_{\text{par}}}d_{\text{seq}}}\right) and space O\mathopen{}\mathclose{{}\left(nd_{\text{seq}}}\right), and the loops clearly runs in time O\mathopen{}\mathclose{{}\left(n}\right) and constant space. Thus, the whole algorithm runs in time O\mathopen{}\mathclose{{}\left(nb^{d_{\text{par}}}d_{\text{seq}}}\right) and space O\mathopen{}\mathclose{{}\left(nd_{\text{seq}}}\right). ∎
7 Fixing a component
In order to consider the two encodings of rational numbers, we must consider the vector of words \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle such that a suffix of some component belongs to or . More precisely, at some points of the run, the automaton will only have to or in some component . Since a component is fixed, we may change the alphabet to fix this letter. We do it by replacing this -th component by an atomic symbol .
We define a function which remove some component of a word in Section 7.1. We introduce the automata which reads those new words in Section 7.2.
7.1 Vector of words
We now introduced a new alphabet. Letters of this alphabet correspond to letters of with some component fixed. We could have considered , but this would lead to trouble when . Indeed, a word would then be an element of , where is the unique 0 tuple, and it would not be clear what the sequentialization of such a word would be. Instead of removing a component, we choose to replace it with an atomic symbol . The formal definition is now given.
Definition \thedefinition ().
For , let \Sigma_{b,d}^{\square\MVAt{}f}=\mathopen{}\mathclose{{}\left(\Sigma_{b,f-1}\otimes\mathopen{}\mathclose{{}\left\{\square}\right\}\otimes\Sigma_{d,b-f}}\right).
We now introduce a notation to change a word by fixing one of its component.
Definition \thedefinition (\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)).
We first consider -parallel words. Let , z\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\square}\right\}, a word whose alphabet is a set of -tuples. Let . Let \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right) be \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},S}\right\rangle, where \mathopen{}\mathclose{{}\left|{\boldsymbol{w}^{\prime}}}\right|=\mathopen{}\mathclose{{}\left|{\boldsymbol{w}}}\right|, , and for each .
We now consider -sequential words. Let \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star,\square}\right\}}\right)^{\infty}, then \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle w,S}\right\rangle}\right) is \mathopen{}\mathclose{{}\left\langle\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right)}\right)}\right),S}\right\rangle. Equivalently, this transformation consists in replacing each letter whose position is equivalent to modulo - not counting the ’s - by the letter .
The following three lemmas about are straightforward consequences from its definition.
Lemma \thelemma.
Let integers, z\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\square}\right\}, v\in\mathopen{}\mathclose{{}\left(\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\square}\right\}}\right)^{i} and w\in\mathopen{}\mathclose{{}\left(\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star,\square}\right\}}\right)^{\infty}, then \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(vw}\right)=v\operatorname{fix}^{z\MVAt{}f-i}\mathopen{}\mathclose{{}\left(w}\right).
Note that the letter does not belongs to . We now state that, if , then changing twice position is equivalent to doing only the last change.
Lemma \thelemma.
Let , z,z^{\prime}\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\square}\right\}, let a -parallel or a -sequential word. We have \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z^{\prime}\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)=\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right).
We now state that, if , then is a fixpoint of the function.
Lemma \thelemma.
*Let . Let z\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\square}\right\}. Let be a -parallel word. If then \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle. *
7.2 Automata
A notation is now introduced, in order to fix the digit read in some position of an automaton. In this section, we fix , .
Definition \thedefinition ().
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) be a -parallel Büchi automaton, then let:
[TABLE]
where \delta^{z\MVAt{}f}(q,\boldsymbol{a})=\delta(q,\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\boldsymbol{a}}\right)) for all \boldsymbol{a}\in\Sigma_{b,d}^{\square\MVAt{}f}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}.
Definition \thedefinition ().
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) be a -sequential Büchi automaton. Let:
[TABLE]
where Q^{\prime}=\mathopen{}\mathclose{{}\left(Q\otimes[d-1]}\right)\cup\mathopen{}\mathclose{{}\left\{q_{\emptyset,\mathcal{A}}}\right\} and where, for each state , , \delta^{z}((q,i),a)=\mathopen{}\mathclose{{}\left(\delta(q,a),i+1}\right) for each and i\in\mathopen{}\mathclose{{}\left\{0,\dots,d-2}\right\}, \delta^{z}((q,d-1),\square)=\mathopen{}\mathclose{{}\left(\delta(q,z),0}\right). For each state and each letter a\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star,\square}\right\} such that is not yet defined, it is set to .
It is now stated that the two transformations introduced above preserve weakness.
Lemma \thelemma.
Let be a weak -parallel automaton, then the automaton is weak. Let be a weak -sequential automaton, then the automaton is weak.
Proof.
For the case of -parallel automata, it suffices to remark that each strongly connected component of is a subset of a strongly connected component of . For the case of -sequential automata, it suffices to remark that a strongly connected component of is either \mathopen{}\mathclose{{}\left\{q_{\emptyset,\mathcal{A}}}\right\}, or a set such that \mathopen{}\mathclose{{}\left\{q\mid(q,i)\in S}\right\} is a strongly connected component of . ∎
We also state that changing the initial state of a -parallel automaton commute with the transformation introduced above.
Lemma \thelemma.
Let be a -parallel automaton and a state of . Then \mathopen{}\mathclose{{}\left(\mathcal{A}^{z\MVAt{}f}}\right)_{q}=\mathopen{}\mathclose{{}\left(\mathcal{A}_{q}}\right)^{z\MVAt{}f}.
Lemma \thelemma.
Let be a -sequential automaton and a state of . Then \mathopen{}\mathclose{{}\left(\mathcal{A}^{z}}\right)_{(q,0)}=\mathopen{}\mathclose{{}\left(\mathcal{A}_{q}}\right)^{z}.
Words and automata
We show, in this section, how the notations introduced in the two preceding sections interact. The first two lemmas deal with replacing a component with a .
Lemma \thelemma.
Let be a -parallel automaton. Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega} such that . The automaton accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle if and only if accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right).
Lemma \thelemma.
Let be a -sequential automaton. Let \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle\in\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}^{\omega} such that \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(w}\right)_{d-1}=z^{\omega}. The automaton accepts \mathopen{}\mathclose{{}\left\langle w,S}\right\rangle if and only if accepts \operatorname{fix}^{\square\MVAt{}d-1}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle w,S}\right\rangle}\right).
The following lemma deals with replacing a component of a vector by a single letter.
Lemma \thelemma.
Let be a -parallel automaton. Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}^{\square\MVAt{}f}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}. The automaton accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle if and only if accepts \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right).
The following lemma illustrates how the notation introduced above behaves on a word with a component whose suffix is .
Lemma \thelemma.
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right), , \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{*} and \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega} with . Then accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle if and only if \mathopen{}\mathclose{{}\left(\mathcal{A}^{z\MVAt{}f}}\right)_{\delta(q,\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle)} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle}\right).
Note that, in the last term, the function is still the transition function of and not the one of .
Proof.
The fact “ accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle” is equivalent to “\mathcal{A}_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle)} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle”. By Section 7.2, since , those statements are equivalent to “\mathopen{}\mathclose{{}\left(\mathcal{A}_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle)}}\right)^{z\MVAt{}f} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle}\right)”. By Section 7.2, they are also equivalent to: “\mathopen{}\mathclose{{}\left(\mathcal{A}^{z\MVAt{}f}}\right)_{\delta(q,\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle)} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},W}\right\rangle}\right)”. ∎
8 Characterizations of -parallel
RVA
Recall from the introduction that a RVA is a Büchi automaton accepting a saturated language. In this section, we give some characterizations of the -parallel RVAs. The last of those characterization allows us to give in Section 10 an algorithm which decides whether an automaton over alphabet \Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\} is a RVA. We use the other characterizations to prove the last one. We first prove a property of minimal RVA.
Lemma \thelemma.
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,A,\delta,q_{0},F}\right) a minimal -parallel RVA, then .
Proof.
Since is minimal, it suffices to prove L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}_{\delta(q_{0},\boldsymbol{0})}}}\right)=L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right), hence it suffices to prove that accepts if and only if for all \boldsymbol{w}\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}.
Let \boldsymbol{w}\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}. The automaton accepts if and only if accepts . Since is saturated and \mathopen{}\mathclose{{}\left[{\boldsymbol{0}\boldsymbol{w}}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\boldsymbol{w}}}\right]_{b}^{\mathbb{R}}, accepts if and only if it accepts . By transitivity of equivalence, accepts if and only if accepts . ∎
We now state the characterizations.
Proposition \theproposition.
Let be a minimal weak -parallel Büchi automaton such that . The following statement are equivalent:
The automaton is a RVA. 2. 2.
For all \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\in\Sigma_{b,d}^{*}\star\Sigma_{b,d}^{\omega} such that \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}} and such that accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle, accepts (\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}). 3. 3.
for all \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\in\Sigma_{b,d}^{*}\star\Sigma_{b,d}^{\omega} such that \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}, such that |\mathopen{}\mathclose{{}\left\{j\mid w_{j}\neq{}{w^{\prime}}_{j}}\right\}|=1, and such that accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle, accepts (\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}). 4. 4.
for each , for each , accessible in from , for each with ,
[TABLE]
where .
Note that Property (1) requires to consider -tuple of words, with ’s in potentially different positions, while in Property (2), both words have a single ’s at the same position. Property (2) requires to consider any pair of word whose natural part have the same length, while Property (3) restrict our study to the case where all but one components of the word are equal.
Proof.
The proof is done by the following sequence of implications. Property (1) implies Property (4), which implies Property (3), which implies Property (2), which implies Property (1).
Property (1) implies Property
(4)
Let as in the hypothesis. Let us prove that L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a})}}}\right)\subseteq L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{0\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a^{\prime}})}}}\right), the proof of the reverse inclusion is similar. Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}^{\square\MVAt{}f}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega} accepted by \mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a})}, let us prove that it is accepted by \mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{0\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a^{\prime}})}.
Since \mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a})} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle, by Lemma 7.2, accepts \operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right). Since is accessible from , there exists \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{*} such that \delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle)=q. Since accepts \operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right) and \delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle)=q, it follows that accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}\operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right). Let us prove that \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}\operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right)}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}^{\prime}\operatorname{fix}^{0\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right)}}\right]_{b}^{\mathbb{R}}. That is, for , we want to prove that \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}\operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right)}\right)_{i}}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}^{\prime}\operatorname{fix}^{0\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right)}\right)_{i}}}\right]_{b}^{\mathbb{R}}. For , it suffices to remark that:
[TABLE]
It remains to consider the case . Remark that
[TABLE]
and
[TABLE]
By Theorem 3.1, both of those words encode the same number.
Since accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}\operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right), \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}\operatorname{fix}^{b-1\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right)}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}^{\prime}\operatorname{fix}^{0\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right)}}\right]_{b}^{\mathbb{R}} and is saturated, accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},S}\right\rangle\boldsymbol{a}^{\prime}\operatorname{fix}^{0\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right). It follows that accepts \operatorname{fix}^{0\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right). Finally, since accepts \operatorname{fix}^{0\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle}\right), by Lemma 7.2, \mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a^{\prime}})} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},T}\right\rangle.
Property (4) implies Property
(3)
Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle and \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle be two words as in Property (3). Let us prove that accepts . Let be the only integer such that . As explained in Theorem 3.1, since \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle w_{f},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{F}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle w^{\prime}_{f},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{F}, since , and since their natural parts have the same length, then \mathopen{}\mathclose{{}\left\{w_{f},w^{\prime}_{f}}\right\}=\mathopen{}\mathclose{{}\left\{u_{f}a_{f}(b-1)^{\omega},u_{f}(a_{f}+1)0^{\omega}}\right\}, for some and a_{f}\in\Sigma_{b}\setminus\mathopen{}\mathclose{{}\left\{b-1}\right\}. Let us assume that is , the case where is is similar. Note that .
Let be the length of the prefix of (w_{f},\mathopen{}\mathclose{{}\left\{s}\right\}) before the occurrence of the letter . It is \mathopen{}\mathclose{{}\left|{u_{f}}}\right| if s>\mathopen{}\mathclose{{}\left|{u_{f}}}\right|, and \mathopen{}\mathclose{{}\left|{u_{f}}}\right|+1 otherwise. Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\mathopen{}\mathclose{{}\left[<l}\right]=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\mathopen{}\mathclose{{}\left[<l}\right] be this prefix. Let \boldsymbol{a}=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle[l] and \boldsymbol{a}^{\prime}=(\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\})[l]. Similarly, let \mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\mathopen{}\mathclose{{}\left[\geq{}l+1}\right] and \mathopen{}\mathclose{{}\left\langle\boldsymbol{v}^{\prime},V}\right\rangle=(\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\})\mathopen{}\mathclose{{}\left[\geq{}l+1}\right] be the suffixes of and after those occurrences of and of respectively. Note that the notations , and introduced above are consistent with the notations , and . Note also that , that , and that for all i\in[d-1]\setminus\mathopen{}\mathclose{{}\left\{f}\right\}. Hence \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle}\right)=\operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v}^{\prime},V}\right\rangle}\right). The notation introduced above is coherent with the notation . Since , and satisfy the hypothesis of Property (4). It follows that L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a})}}}\right)=L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a}^{\prime})}}}\right).
We can now prove that \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle is accepted by . Since \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle=\mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a}\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle is accepted by and , by Section 7.2, \mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a})} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle}\right). Since \mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a})} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle}\right) and L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a})}}}\right)=L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\delta(q,\boldsymbol{a}^{\prime})}}}\right), \mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a}^{\prime})} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle}\right). Since \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle}\right)=\operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v}^{\prime},V}\right\rangle}\right) and \mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a}^{\prime})} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle}\right), \mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\delta(q_{0},\mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a}^{\prime})} accepts \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{v}^{\prime},V}\right\rangle}\right). It follows from Section 7.2 that accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{u},U}\right\rangle\boldsymbol{a}^{\prime}\mathopen{}\mathclose{{}\left\langle\boldsymbol{v},V}\right\rangle=(\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}).
Property (3) implies Property
(2)
We must prove that, for all \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle,\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}, if accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle and \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{(\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\})}}\right]_{b}^{\mathbb{R}} then accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle. The proof is by induction on i=|\mathopen{}\mathclose{{}\left\{j\mid w_{j}\neq{}w^{\prime}_{j}}\right\}|. The case is trivial, since it means that \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle. Let us now assume that and that the induction hypothesis holds when |\mathopen{}\mathclose{{}\left\{j\mid w_{j}\neq{}w^{\prime}_{j}}\right\}|<i.
Since |\mathopen{}\mathclose{{}\left\{j\mid w_{j}\neq{}w^{\prime}_{j}}\right\}|=i and , there exists such that . Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime\prime},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega} such that and such that for all k\in[b-1]\setminus\mathopen{}\mathclose{{}\left\{f}\right\}. Note that |\mathopen{}\mathclose{{}\left\{j\mid w_{j}\neq{}w^{\prime\prime}_{j}}\right\}|=i-1, |\mathopen{}\mathclose{{}\left\{j\mid w^{\prime}_{j}\neq{}w^{\prime\prime}_{j}}\right\}|=1 and \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}.
Since |\mathopen{}\mathclose{{}\left\{j\mid w_{j}\neq{}w^{\prime\prime}_{j}}\right\}|=i-1 and \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}, by induction hypothesis accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle. Since |\mathopen{}\mathclose{{}\left\{j\mid w^{\prime\prime}_{j}\neq{}w^{\prime}_{j}}\right\}|=1 and \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}} and since accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle, by Property (3), accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w^{\prime}},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle.
Property
We must prove that, for all \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle,(\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\})\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}, if accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle and \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}} then accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle. Let us assume that , the case is similar. Since and accepts (\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}), accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{0}^{s^{\prime}-s},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle. Note that \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{0}^{s^{\prime}-s}\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}. Since \mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{0}^{s^{\prime}-s}\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle}}\right]_{b}^{\mathbb{R}}=\mathopen{}\mathclose{{}\left[{\mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s}\right\}^{\prime}}\right\rangle}}\right]_{b}^{\mathbb{R}} and accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{0}^{s^{\prime}-s}\boldsymbol{w},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle, by Property (2), accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w}^{\prime},\mathopen{}\mathclose{{}\left\{s^{\prime}}\right\}}\right\rangle. ∎
9 Characterization of -sequential automata
A characterization of -sequential automata is now given. This characterization is similar to Property 4 of Section 8. Instead of doing the whole proof again for sequential automata, we prove that this characterization is correct by proving that it implies the characterization of Section 8 on the parallelization of the -sequential automata.
Proposition \theproposition.
Let be a minimal weak -sequential Büchi automaton. The following statements are equivalent:
The automaton is a RVA. 2. 2.
- •
and
- •
For each accessible in from , for each , {\mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)}}\right)_{(\delta(q,a),0)}} and {\mathopen{}\mathclose{{}\left(\mathcal{A}^{0}}\right)_{(\delta(q,a+1),0)}} accept the same language.
In order to prove this proposition, we introduce the following lemma. This lemma allows us to reduce Property (2) of Section 9 to Property (4) of Section 8.
Lemma \thelemma.
Let be a weak -sequential Büchi automaton, , , a state of , and \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}^{\square\MVAt{}f}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}. The word \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle is accepted by \mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{z\MVAt{}f}}\right)_{(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}),0)} if and only if \mathopen{}\mathclose{{}\left(\mathcal{A}^{z}}\right)_{\delta(q,a_{0}\dots a_{f})} accepts a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right).
Proof.
By Section 7.2 “\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{z\MVAt{}f}}\right)_{(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}),0)} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle” is equivalent to: “\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})}}\right)^{z\MVAt{}f} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle”. By Section 7.2, it is equivalent to: “\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})}}\right) accepts \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)”, hence to “\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)}\right)_{q} accepts \boldsymbol{a}\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)”. By Section 6.1, it is also equivalent to: “\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}_{q}}\right) accepts \boldsymbol{a}\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)”. By Section 6.1, it is also equivalent to: “ accepts \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\boldsymbol{a}\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)”. Note that \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\boldsymbol{a}\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right) equals a_{0}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right), thus the above-mentionned properties are equivalent to: “ accepts a_{0}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)” and then to: “ accepts a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)”. By Section 7.2, it is equivalent to: “\mathopen{}\mathclose{{}\left(\mathcal{A}_{{}_{\delta(q,a_{0}\dots,a_{f})}}}\right)^{z} accepts \operatorname{fix}^{\square\MVAt{}d-1}\mathopen{}\mathclose{{}\left(a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)}\right)”.
Note that the length of is , and that , thus by Section 7.1, \operatorname{fix}^{\square\MVAt{}d-1}\mathopen{}\mathclose{{}\left(a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)}\right) equals a_{f+1}\dots a_{d-1}\operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)}\right). By definition of on -sequential number, \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)}\right) equals \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)}\right). By Section 7.1, \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right) equals \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}}\right). Since , by Section 7.1, \operatorname{fix}^{\square\MVAt{}f}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}}\right)=\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle. It follows that \operatorname{fix}^{\square\MVAt{}d-1}\mathopen{}\mathclose{{}\left(a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)}\right)}\right) equals a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right). Thus, all the above mentionned facts are equivalent to: “\mathopen{}\mathclose{{}\left(\mathcal{A}_{{}_{\delta(q,a_{0}\dots,a_{f})}}}\right)^{b-1} accepts a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)”. Finally, by Section 7.2, it is equivalent to “\mathopen{}\mathclose{{}\left(\mathcal{A}^{z}}\right)_{\delta(q,a_{0}\dots a_{f})} accepts a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right)”. ∎
Section 9 is now proven.
Proof.
Let us show that Property (1) implies Property (2). The proof of the first part of this Property is the same than the proof of Section 8. The proof of the second part of this Property is the same than the proof that Property (1) of Section 8 implies Property (4) of Section 8.
It remains to prove that Property (2) implies Property (1). We want to prove that is a RVA. Since is -sequential, it remains to prove that L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right) is saturated. It suffices to prove that \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right)}\right) is saturated. By Section 6.1, \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right) accepts \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right)}\right). Therefore, we only have to prove that \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right) is a RVA. By Section 8, it suffices to prove that \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q_{0},\boldsymbol{0})=q_{0} and that, for each , for each , accessible in from , for each with , L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{(b-1)\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})}}}\right)=L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{0\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}^{\prime})}}}\right) where .
Note that the first part of Property (2) clearly implies \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q_{0},\boldsymbol{0})=q_{0}. Let , , as above, it remains to prove that L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{(b-1)\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})}}}\right)\subseteq L_{\omega}\mathopen{}\mathclose{{}\left({\mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{0\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a^{\prime}})}}}\right), the reverse inclusion is similar. Let \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle\in\Sigma_{b,d}^{\square\MVAt{}f}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}^{\omega} accepted by \mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{(b-1)\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})}, we want to prove that it is accepted by \mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}^{\prime})}^{0\MVAt{}f}.
Since \mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{(b-1)\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle\in\mathopen{}\mathclose{{}\left(\Sigma_{b,d}^{\square\MVAt{}f}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}}\right)^{\omega}, by Section 9, \mathopen{}\mathclose{{}\left(\mathcal{A}_{\delta(q,a_{0}\dots a_{f-1}a_{f})}}\right)^{b-1} accepts a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right). By the second part of Property (2), it follows that \mathopen{}\mathclose{{}\left(\mathcal{A}_{\delta(q,a_{0}\dots a_{f-1}(a_{f}+1))}}\right)^{0} accepts a_{f+1}\dots a_{d-1}\operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right). By Section 9, it follows that \mathopen{}\mathclose{{}\left(\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathcal{A}}\right)^{0\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a^{\prime}})} accepts \mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle. ∎
10 Algorithms
We now show how to decide efficiently whether an automaton is a RVA.
Theorem 10.1**.**
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) an automaton with states. It is decidable in time O\mathopen{}\mathclose{{}\left(n\log(n)db^{d}}\right) and space O\mathopen{}\mathclose{{}\left(nb^{d}}\right) whether is a RVA.
Note that is the cardinality of the alphabet. Thus this algorithm is quasi-linear in the size of its input.
Proof.
Without loss of generality, it can be assumed that the automaton is minimal. The algorithm consists in three parts. First, the algorithm checks whether the algorithm of Theorem 6.1 applied on returns true. Secondly, the algorithm checks whether . Thirdly, the algorithm runs on each . For each , the algorithm generates the automata and and the data structure mentionned in Section 4.2. The algorithm runs on each and , as in Property (4) of Section 8. The algorithm then applies the algorithm of Section 4.2 to check whether, for all pairs (\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}),\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}^{\prime})), \mathopen{}\mathclose{{}\left(\mathcal{A}^{b-1\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a})} and \mathopen{}\mathclose{{}\left(\mathcal{A}^{0\MVAt{}f}}\right)_{\operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\delta}\right)(q,\boldsymbol{a}^{\prime})} accept the same language. If one of those checks fail the algorithm rejects. Otherwise, the algorithm accepts.
By Section 7.2, and are weak, thus, Section 4.2 can be used. It follows from Theorem 6.1, Section 8 and Section 8 that this algorithm accepts exactly the -parallel automata which are RVA.
It remains to consider the complexity. By Theorem 6.1, the first part runs in O\mathopen{}\mathclose{{}\left(nb^{d}}\right) and space O\mathopen{}\mathclose{{}\left(n}\right). The second part clearly runs in constant time and space. By Section 4.2, the last part runs in time O\mathopen{}\mathclose{{}\left(n\log(n)b^{d}d}\right) and space O\mathopen{}\mathclose{{}\left(n\log{n}b^{d}}\right). ∎
We now prove a similar theorem for -sequential automata.
Theorem 10.2**.**
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) an automaton with states. It is decidable in time O\mathopen{}\mathclose{{}\left(nd\log(nd)b}\right) and space O\mathopen{}\mathclose{{}\left(ndb}\right) whether is a RVA.
Proof.
Without loss of generality, it can be assumed that the automaton is minimal. The algorithm and its proof are similar to the ones of Theorem 10.1. The algorithm consists in three parts. Firstly, the algorithm applies the algorithm of Theorem 6.2 to check whether is a -sequential automaton. Secondly, it checks whether . Thirdly, the algorithm generates the automata and and the data structure mentionned in Section 4.2. The algorithm runs on each and . For each and , the algorithm applies the algorithm of Section 4.2 to check whether {\mathopen{}\mathclose{{}\left(\mathcal{A}^{(b-1)}}\right)_{\delta(q,a)}} and {\mathopen{}\mathclose{{}\left(\mathcal{A}^{0}}\right)_{\delta(q,a+1)}} accept the same language.
By Section 7.2, and are weak, thus, Section 4.2 can be used. It follows from Theorem 6.2 and Section 9 that this algorithm accepts exactly the -sequential automata which are RVAs.
It remains to consider the complexity. By Theorem 6.2, the first part runs in time O\mathopen{}\mathclose{{}\left(ndb}\right) and space O\mathopen{}\mathclose{{}\left(nd}\right). The second part runs in time O\mathopen{}\mathclose{{}\left(d}\right) and constant space. Finally, by Section 4.2, the third part runs in time O\mathopen{}\mathclose{{}\left(nd\log(nd)b}\right) and space O\mathopen{}\mathclose{{}\left(ndb}\right).
∎
A last algorithm is given for the special case of dimension .
Theorem 10.3**.**
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b},\delta,q_{0},F}\right) a minimal weak Büchi automaton with states. It is decidable in time O\mathopen{}\mathclose{{}\left(nb}\right) and space O\mathopen{}\mathclose{{}\left(n}\right) whether L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right) is saturated.
Note that is assumed minimal.
Proof.
Note that contains exactly one letter, \mathopen{}\mathclose{{}\left(\square}\right), thus both languages of Equation (4) are either or \mathopen{}\mathclose{{}\left(\square}\right)^{\omega}. It follows that Equation (4) holds if and only if is equivalent to , where is the set of states such that accepts the empty language.
The algorithm is now given. The algorithm checks whether . The algorithm computes and . The algorithm applies the algorithm of Section 6.2 to those two automata in order to compute the sets and . The algorithm runs on each state accessible from , and on each a\in\Sigma_{b}\setminus\mathopen{}\mathclose{{}\left\{b-1}\right\}. For each and , the algorithm checks whether is equivalent to . Finally, if one of the checks fail, the algorithm rejects, otherwise it accepts.
Let us consider the complexity. The automata and clearly takes space O\mathopen{}\mathclose{{}\left(n}\right). Applying the algorithm of Section 6.2 takes time O\mathopen{}\mathclose{{}\left(n}\right) and takes space O\mathopen{}\mathclose{{}\left(n}\right). For a set and a letter , checking the equivalence is done in constant time and space. Thus, the final loop runs in time O\mathopen{}\mathclose{{}\left(nb}\right) and constant space. Finaly, the whole algorithm runs in time O\mathopen{}\mathclose{{}\left(nb}\right) and space O\mathopen{}\mathclose{{}\left(n}\right). ∎
11 Considering negative reals
In this section, we consider the case of negative numbers. Given , encodes, in -complement representation, the number \mathopen{}\mathclose{{}\left[{w_{I}}}\right]_{b}^{I} if , -b^{\mathopen{}\mathclose{{}\left|{w_{I}}}\right|}+\mathopen{}\mathclose{{}\left[{w_{I}}}\right]_{b}^{I} if , and is undefined otherwise. Similarly, given , \mathopen{}\mathclose{{}\left[{aw_{I}\star w_{F}}}\right]_{b}^{\mathbb{R}} encodes, in -complement representation, the number encoded by , plus \mathopen{}\mathclose{{}\left[{w_{F}}}\right]_{b}^{F}.
When considering -complement representation, Theorem 3.1 must be changed as follows. For great enough, a real has two encoding whose natural part’s length is if and only if it is of the form with . If , those encodings are and , otherwise they are as in Equation (2).
A characterization of automata accepting saturated languages in -complement representation is now given. This characterization and its proof is similar to the ones of (8).
Proposition \theproposition.
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) a weak Büchi automaton over alphabet \Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}. It accepts a saturated language in -complement if and only if:
for all \boldsymbol{a}\in\mathopen{}\mathclose{{}\left\{0,(b-1)}\right\}^{d}, 2. 2.
for all \boldsymbol{a}\in\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\}\setminus\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\{0,(b-1)}\right\}^{d}}\right), 3. 3.
for each , for each , accessible in from , for each with ,
[TABLE]
where 4. 4.
[TABLE]
Property (4) allows to consider the case of the real 0. Note that Property (1) considers letters. It implies that this proposition does not lead to a polynomial time algorithm in the case of -sequential automata. In the case of -parallel automata, this proposition leads easily to algorithms, as Section 9 led to Theorem 10.1 and to Theorem 10.3.
Theorem 11.1**.**
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b,d}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) an automaton with states reading reals in -complement. It is decidable in time O\mathopen{}\mathclose{{}\left(n\log(n)db^{d}}\right) and space O\mathopen{}\mathclose{{}\left(nb^{d}}\right) whether is a RVA.
Theorem 11.2**.**
Let \mathcal{A}=\mathopen{}\mathclose{{}\left(Q,\Sigma_{b}\cup\mathopen{}\mathclose{{}\left\{\star}\right\},\delta,q_{0},F}\right) a minimal weak Büchi automaton with states reading reals in -complement. It is decidable in time O\mathopen{}\mathclose{{}\left(nb}\right) and space O\mathopen{}\mathclose{{}\left(n}\right) whether L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right) accepts a saturated language in -complement.
12 Conclusion
In this paper, we have proven that it is decidable in quasi-linear time whether a weak Büchi automaton reading digits and dots accept a language which encode a saturated set of vector reals.
Two natural questions remain open.
Can this algorithm be adapted for some classes of automata which are not weak. Even in the case of dimension 1, it seems complicated to test whether L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}_{\delta(q,0)}}}\right)=L_{\omega}\mathopen{}\mathclose{{}\left({\mathcal{A}}}\right), when the automaton is not weak.
Given an automaton which accept a set R\subseteq\mathopen{}\mathclose{{}\left(\mathbb{R}^{\geq 0}}\right)^{d}, is there some efficient way to compute a saturated automaton which also accept . One could compute a \FO\mathopen{}\mathclose{{}\left[\mathbb{R},\mathbb{Z}{};X_{b},+,<}\right]-formula defining , and from this formula a saturated Büchi automaton. However, this method is inneficient, and does not preserve weakness.
Index
- \mathopen{}\mathclose{{}\left[{.}}\right]_{b}^{F} §3.1
- \mathopen{}\mathclose{{}\left[{.}}\right]_{b}^{I} §3.1
- \mathopen{}\mathclose{{}\left[{.}}\right]_{b}^{\mathbb{R}} §3.1
- §2
- §2
- §2
- for an automaton and a state. §4.1, §4.1
- \mathopen{}\mathclose{{}\left[{\mathcal{A}}}\right]_{b}^{\mathbb{R}} Notation \thenotation
- Accessible §4.1
- for a -parallel Büchi automaton Definition \thedefinition, Definition \thedefinition
- Alphabet §2
- Concatenation of words §2
- -parallel language §3.4
- -sequential language §3.4
- Deterministic Büchi automaton §4.1
- §2
- Finite word §2
- Fractional part of a word of §3.1
- \mathopen{}\mathclose{{}\left[{L}}\right]_{b}^{\mathbb{R}} for a -parallel language. §3.4
- Language §2
- Letter §2
- Morphism of automata §4.2, §4.2
- §2
- \mathopen{}\mathclose{{}\left[n}\right] for . §2
- Natural part of a word of §3.1
- \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle w,S}\right\rangle}\right) §3.3
- Parallelization of a word §3.3
- Parallelization of an automaton §6.1
- \operatorname{par}_{d}\mathopen{}\mathclose{{}\left(L}\right) for a -sequential language §3.4
- Predecessor state §4.1
- w\mathopen{}\mathclose{{}\left[<n}\right] - Prefix of of length §2
- 3rd item
- 1st item
- Quotient of automata §4.2
- §2
- Run §4.1
- Run of an automaton §4.1
- Saturated language §3.4
- \operatorname{seq}_{d}\mathopen{}\mathclose{{}\left(\boldsymbol{w}}\right) §3.3
- Sequentialization of a word §3.3
- Definition \thedefinition
- Strongly connected components §4.1
- w\mathopen{}\mathclose{{}\left[\geq{}n}\right] - Suffix of without its first letters. §2
- \operatorname{fix}^{z\MVAt{}f}\mathopen{}\mathclose{{}\left(\mathopen{}\mathclose{{}\left\langle\boldsymbol{w},S}\right\rangle}\right) Definition \thedefinition
- -word §2
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[BBB 10] Bernard Boigelot, Julien Brusten, and Véronique Bruyère. On the sets of real numbers recognized by finite automata in multiple bases. Logical Methods in Computer Science , 6(1), 2010.
- 2[BBL 09] Bernard Boigelot, Julien Brusten, and Jérôme Leroux. A Generalization of Semenov’s Theorem to Automata over Real Numbers. In Renate A. Schmidt, editor, Automated Deduction, 22nd International Conference, CADE 2009 , volume 5663 of Lecture Notes in Computer Science , pages 469–484, Montréal, Canada, August 2009. Springer Berlin.
- 3[BHMV 94] Véronique Bruyère, Georges Hansel, Christian Michaux, and Roger Villemaire. Logic and p-recognizable sets of integers. Bull. Belg. Math. Soc , 1:191–238, 1994.
- 4[Cob 69] Alan Cobham. On the base-dependence of sets of numbers recognizable by finite automata. Mathematical systems theory , 3(2):186–192, 1969.
- 5[HW 60] Godfrey Harold Hardy and Edward Maitland Wright. An introduction to the theory of numbers, 1960. Autres tirages avec corrections : 1962, 1965, 1968, 1971, 1975.
- 6[Lö01] Christof Löding. Efficient minimization of deterministic weak omega automata, 2001.
- 7[Sem 77] A. L. Semenov. The presburger nature of predicates that are regular in two number systems. Siberian Math. J. , 18:289,299, 1977.
- 8[Tar 72] Robert Tarjan. Depth-first search and linear graph algorithms. SIAM Journal on Computing , 1(2):146–160, 1972.
