July 10, 2026
In this paper, we solve the reachability problem for branching vector addition systems (BVAS), a long standing open problem. Our approach is based on semilinear inductive invariants. More precisely, we prove that if a configuration of a BVAS is not reachable, then there exists an inductive invariant, given as a semilinear set, that does not contain this configuration. Based on this property, we deduce a very simple (enumerative) algorithm solving the reachability problem for BVAS.
Branching vector addition systems (BVAS) are a computational model for the distribution of additive resources through branching structures. The model can be traced back to the work of Rambow [1] in computational linguistics. To overcome the limitations of context-free grammars as a model of natural-language syntax, Rambow introduced multiset-valued linear index grammars (MV-LIG), in which nonterminals carry multisets of resources that are distributed among the children of a derivation node. When studying the language-emptiness problem for such grammars, the left-to-right order of derivation trees becomes irrelevant. The resulting abstraction is precisely a BVAS, and language emptiness can equivalently be viewed as a reachability problem.
A decade later, the same model was independently rediscovered in two seemingly unrelated contexts. Verma and Goubault-Larrecq [2] used BVAS to study a class of equational tree automata arising in the analysis of cryptographic protocols, obtaining decidability results for a lossy variant of the model. Around the same time, de Groote, Guillaume, and Salvati [3] proposed BVAS reachability as a natural automata-theoretic reformulation of provability in multiplicative exponential linear logic (MELL). In this setting, BVAS executions capture the flow of resources through proof trees.
Since then, BVAS and closely related models have appeared in a variety of areas of theoretical computer science, including logics over data trees [4]–[6], timed pushdown systems [7], verification of concurrent systems [8], and the semantics of higher-order functional languages [9].
Formally, a BVAS is a finite sequence \(\mathcal{B}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\) of finite subsets of \(\mathbb{Z}^d\). Each set \({\mathbf{\Delta}}_n\) in this sequence contains actions of arity \(n\). Intuitively, such an action \({\mathbf{v}} \in {\mathbf{\Delta}}_n\) may be viewed as the rewriting rule \(\mathtt{x}_1, \ldots, \mathtt{x}_n \rightarrow {\mathbf{v}} + \mathtt{x}_1 + \cdots + \mathtt{x}_n\) with formal parameters \(\mathtt{x}_1, \ldots, \mathtt{x}_n\). Configurations of \(\mathcal{B}\) are vectors in \(\mathbb{N}^d\), and executions are finite trees labeled by configurations in which every internal node is obtained by summing its \(n \ge 1\) children and adding an action from \({\mathbf{\Delta}}_n\). The reachability problem asks, given a BVAS, a target configuration and a finite set of initial configurations, whether there exists an execution with root labeled by the target and leaves labeled by initial configurations. The goal of this paper is to provide a solution to this long standing open problem.
Vector addition systems (VAS), or equivalently Petri nets, are obtained as the special case where \(r=1\). Executions then degenerate into sequences of configurations, and reachability asks whether a given target configuration can be obtained from an initial one by repeatedly applying additive actions from \({\mathbf{\Delta}}_1\).
VAS are a fundamental model for concurrency, and their reachability problem is one of the landmark decidability results in the theory of infinite-state systems. First posed in the late 1960s, it was shown decidable in the early 1980s through the works of Mayr [10] and Kosaraju [11]. The resulting proof was later refined by several authors, including Lambert [12], and became known as the KLM decomposition. Despite decades of subsequent work, the combinatorial principles underlying this decomposition remained only partially understood for a long time. One indication of this difficulty is that the first meaningful complexity upper bounds were obtained only much later [13] in 2015, culminating a few years later in the proof that VAS reachability is Ackermann-complete [14]–[16].
A conceptually different approach was introduced by Leroux in the 2010s [17], [18]. He showed that every unreachable configuration can be separated from the initial configurations by a semilinear (i.e., Presburger-definable) inductive invariant. Here, an inductive invariant is simply a set containing the initial configurations and closed under the actions of the VAS. This immediately yields a decision procedure by running in parallel one semi-algorithm enumerating executions and another enumerating semilinear sets until one is found to be an inductive invariant excluding the target.
Despite these successes for VAS, the decidability of BVAS reachability has remained open for more than thirty years. Existing decidability and complexity results are restricted to small dimensions [19]–[22], to lossy variants of the model [2], [23]–[25], and to bounded counters [26]. At the same time, neither of the two classical approaches to VAS reachability appears to extend naturally to branching executions.
The KLM decomposition appears particularly difficult to generalize. Its original presentation relies on a delicate combinatorial analysis of linear executions, and its deeper structure only emerged through much later work on well-quasi-orderings and ideals [13]. At present, even the right formulation of a KLM-style decomposition for BVAS remains elusive.
The situation is yet more encouraging for the invariant-based approach. Leroux proved that VAS reachability sets enjoy strong geometric properties: they are almost semilinear and can therefore be closely approximated by semilinear sets. These properties were recently extended to BVAS [22]. Crucially, these approximations are only available from above: while VAS reachability sets admit semilinear overapproximations whose error has strictly smaller dimension, they do not admit analogous semilinear underapproximations in general.
Leroux circumvents this limitation by growing simultaneously two semilinear sets. The first one, denoted by \({\mathbf{S}}\), initially contains the initial configurations. The second one, denoted by \({\mathbf{T}}\), initially contains an unreachable target configuration that one wishes to exclude from the final invariant. Throughout the construction, no execution leads from a configuration in \({\mathbf{S}}\) to a configuration in \({\mathbf{T}}\). At each step, \({\mathbf{T}}\) is enlarged using the complement of a semilinear over-approximation of \(\operatorname{Post}^*_{}({\mathbf{S}})\), the set of configurations reachable from \({\mathbf{S}}\). Symmetrically, \({\mathbf{S}}\) is enlarged using the complement of a semilinear over-approximation of the backward reachability set \(\operatorname{Pre}^*_{}({\mathbf{T}})\), i.e., the set of configurations from which one can reach \({\mathbf{T}}\). The crucial observation is that \(\operatorname{Pre}^*_{}({\mathbf{T}})\) is itself a VAS reachability set, namely the reachability set of \({\mathbf{T}}\) in the VAS obtained by replacing each action with its opposite. Consequently, the same geometric machinery can be used to approximate both \(\operatorname{Post}^*_{}({\mathbf{S}})\) and \(\operatorname{Pre}^*_{}({\mathbf{T}})\).
This symmetry disappears in the branching setting, where there is no satisfactory analogue of backward reachability. More precisely, there is no operator \(\text{Pre}^*\) satisfying \[{\mathbf{S}} \cap \operatorname{Pre}^*_{}({\mathbf{T}}) \neq \emptyset \quad\Longleftrightarrow\quad \operatorname{Post}^*_{}({\mathbf{S}})\cap {\mathbf{T}} \neq \emptyset,\] since BVAS executions witnessing \(\operatorname{Post}^*_{}({\mathbf{S}})\cap {\mathbf{T}}\neq \emptyset\) may require several configurations from \({\mathbf{S}}\).
Thus, the first challenge in extending the inductive-invariant approach to BVAS is to construct the invariant using only forward reasoning, i.e., without relying on \(\text{Pre}^*\) or on a second set \({\mathbf{T}}\). Instead, one must grow a single set of configurations \({\mathbf{S}}\), while ensuring that it never contains the unreachable target, despite having access only to over-approximations. This is, however, not the only obstacle. The tree-shaped structure of BVAS executions introduces additional challenges compared to VAS. For instance, given two sets of configurations \({\mathbf{A}}_1\) and \({\mathbf{A}}_2\) that are each closed under the actions of a VAS, their union \({\mathbf{A}}_1 \cup {\mathbf{A}}_2\) is also closed. This property no longer holds for BVAS as branching executions may mix configurations from \({\mathbf{A}}_1\) and from \({\mathbf{A}}_2\).
We solve the reachability problem for BVAS through a novel forward-only invariant construction. Our approach relies on several new results and constructions:
Our invariant is constructed iteratively. Starting from the empty set \({\mathbf{A}}\), we progressively add configurations until \({\mathbf{A}}\) becomes an inductive invariant. Throughout the construction, the set \({\mathbf{A}}\) excludes the unreachable target and is maintained as an attractor, a new notion related to inductive invariants that we introduce for BVAS to address the mix-approximation problem. An attractor is a set of configurations such that every execution with one leaf in the attractor and all other leaves in the attractor or reachable, has its root in the attractor. Inductive invariants are attractors, and attractors containing the initial configurations are inductive invariants. Moreover, the union of an attractor and the reachability set is an attractor.
We introduce an abstract graph \(\mathcal{G}\) that captures executions outside the current attractor \({\mathbf{A}}\). Nodes of \(\mathcal{G}\) are pairs \((\rho,{\mathbf{C}})\) where \(\rho\) is an execution and \({\mathbf{C}}\) is a finitely-generated cone. The concretization of such a node is the set of executions larger than \(\rho\) (for a natural extension of the known well-quasi-order on VAS executions) that increase the target of \(\rho\) by a vector in \({\mathbf{C}}\). Edges of \(\mathcal{G}\) are defined by a standard \(\exists\exists\)-abstraction of the BVAS semantics. We use the abstract graph \(\mathcal{G}\) to extract semilinear approximations of the reachable configurations that avoid the mix-approximation problem. To do so, we impose an homogeneity condition that enforces the cone \({\mathbf{C}}\) of a node to only depend on its strongly connected component.
We show that a part of the reachable configurations of a bottom strongly connected component \(\Gamma\) of \(\mathcal{G}\) can be captured by enlarging the attractor \({\mathbf{A}}\). Our construction is based on a new model, called well-structured vector addition systems (WSVAS), that naturally extends VAS with infinite sets of actions, while still preserving the well-quasi-order and amalgamation property on executions. We use WSVAS to simulate BVAS executions composed of a main branch with, on the side of this branch, configurations that are reachable or in \({\mathbf{A}}\).
Once the attractor \({\mathbf{A}}\) has been enlarged, the abstract graph \(\mathcal{G}\) is updated by removing \(\Gamma\) and by adding new nodes corresponding to executions in the concretization of some nodes in \(\Gamma\) that are still not captured by the enlarged attractor. In order to preserve the homogeneity property of \(\mathcal{G}\), we establish a geometric decomposition result, that we dub face stripping theorem. This theorem provides a way to decompose the difference of two particular semilinear sets into a sequence of semilinear sets that respects the order induced by the reachability relation of the BVAS. Moreover, the updated abstract graph is smaller than \(\mathcal{G}\) for a natural well-founded relation.
We iteratively enlarge the attractor and update the abstract graph until the latter becomes empty (which is bound to happen). At that point, the attractor is guaranteed to be an inductive invariant that excludes the unreachable target. This allows us to conclude that the reachability problem for BVAS is decidable.
Our result settles a long-standing open problem simultaneously arising in the theory of counter systems and in the proof theory of linear logic.
Understanding which extensions of VAS preserve decidability of reachability has been a recurring theme in the theory of infinite-state systems. Some extensions remain decidable despite their increased expressive power. This includes VAS equipped with a restricted form of zero tests, whose reachability problem was shown decidable in 2008 [27] and whose complexity was recently established to be Ackermann-complete [28], matching that of VAS. Another long-standing open problem was recently settled with the decidability of reachability in pushdown vector addition systems [29]. By contrast, the decidability of reachability remains open and actively investigated for unordered data nets [30]–[32].
The connection between counter systems, in particular VAS, and substructural logics, in particular linear logic, has motivated a long line of research. At an intuitive level, both formalisms reason about resources: VAS counters in one setting, and logical assumptions in the other. This intuition has repeatedly led to reductions relating fragments of linear logic and classes of counter systems. For example, Lincoln, Mitchell, Scedrov, and Shankar established the undecidability of linear-logic provability through a reduction from Minsky machines [33]. Conversely, Kanovich derived decidability for the !-Horn fragment of MELL by a reduction to VAS reachability [34]. BVAS provide a particularly striking instance of this connection through the inter-reducibility between BVAS reachability and provability in MELL, established by de Groote, Guillaume, and Salvati [3]. Our result entails that MELL provability is decidable.
We start with basic definitions and notations that are used throughout the paper. Let \(\mathbb{Z}\) denote the set of integers, \(\mathbb{N}\) denote the set of natural numbers, \(\mathbb{Q}\) denote the set of rational numbers, and \(\mathbb{Q}_{\geq 0}\) denote the set of non-negative rational numbers. We also introduce the sets \(\mathbb{N}_{>0}\) and \(\mathbb{Q}_{>0}\) defined as \(\mathbb{N}\setminus \{0\}\) and \(\mathbb{Q}_{\geq 0}\setminus\{0\}\), respectively.
A quasi-ordered set (qoset for short) is a pair \((X, \preceq)\) where \(X\) is a set and \(\preceq\) is a reflexive and transitive binary relation on \(S\). We let \(\operatorname{Min}_{\preceq}(X)\) denote the set of minimal elements of a qoset \((X, \preceq)\). Recall that a minimal element of \((X, \preceq)\) is an element \(m \in X\) such that \(x \preceq m \Rightarrow m \preceq x\) for all \(x \in X\). A partially-ordered set (poset for short) is a qoset \((X, \preceq)\) such that \(\preceq\) is antisymmetric. A well-quasi-ordered set (wqo for short) is a qoset \((X, \preceq)\) such that every infinite sequence \(x_0, x_1, x_2, \ldots\) of elements in \(X\) contains an infinite subsequence \(x_{i_0} \preceq x_{i_1} \preceq x_{i_2} \cdots\) (with \(i_0 < i_1 < i_2 \cdots\)). A well-partially-ordered set (wpo for short) is a poset \((X, \preceq)\) such that \((X, \preceq)\) is a wqo. We recall that every wqo \((X, \preceq)\) contains a finite set \(M \subseteq X\) such that \(\operatorname{Min}_{\preceq}(X) = \{x \in X \mid \exists m \in M : m \preceq x \preceq m\}\) and \(X = \bigcup_{m \in M} \{x \in X \mid m \preceq x\}\). In particular, every wpo \((X, \preceq)\) has finitely many minimal elements. A map \(f\) from a qoset \((X, \preceq_X)\) to a qoset \((Y, \preceq_Y)\) is order-preserving if for every \(a, b \in X\), it holds that \(a \preceq_X b \Rightarrow f(a) \preceq_Y f(b)\).
We consider a fixed dimension \(d \in \mathbb{N}_{>0}\) for the remainder of the paper. Vectors are typeset in bold face. Given \({\mathbf{x}} \in \mathbb{Q}^d\), we let \(({\mathbf{x}}(1), \ldots, {\mathbf{x}}(d))\) denote the vector of rational numbers defining \({\mathbf{x}}\). The dot-product of two vector \({\mathbf{x}},{\mathbf{y}}\in\mathbb{Q}^d\) is defined as \(\sum_{i=1}^d{\mathbf{x}}(i){\mathbf{y}}(i)\). The partial order \(\leq\) on \(\mathbb{Q}^d\) is the component-wise extension of the usual order \(\leq\) on \(\mathbb{Q}\) (i.e., \({\mathbf{x}} \leq {\mathbf{y}}\) when \({\mathbf{x}}(i) \leq {\mathbf{y}}(i)\) for all \(i \in \{1, \ldots, d\}\)). The sum and the subtraction of two vectors \({\mathbf{x}} + {\mathbf{y}}\) and \({\mathbf{x}}-{\mathbf{y}}\) are defined similarly component-wise. The sum and the subtraction operators over vectors are extended over sets \({\mathbf{X}},{\mathbf{Y}}\subseteq\mathbb{Q}^d\) by \({\mathbf{X}}+{\mathbf{Y}}\mathrel{\vcenter{:}}=\{{\mathbf{x}}+{\mathbf{y}}\mid {\mathbf{x}}\in{\mathbf{X}}\wedge{\mathbf{y}}\in{\mathbf{Y}}\}\) and \({\mathbf{X}}-{\mathbf{Y}}\mathrel{\vcenter{:}}= \{{\mathbf{x}}-{\mathbf{y}}\mid {\mathbf{x}}\in{\mathbf{X}}\wedge{\mathbf{y}}\in{\mathbf{Y}}\}\). To reduce clutter, singleton sets \(\{{\mathbf{x}}\}\) appearing in a sum of sets are shortly written \({\mathbf{x}}\) (i.e., without braces). We let \(\mathbb{Q}_{\geq 0}{\mathbf{X}}\) denote the set \(\{\lambda{\mathbf{x}} \mid \lambda\in \mathbb{Q}_{\geq 0}\wedge {\mathbf{x}}\in{\mathbf{X}}\}\).
A set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is called a periodic set if \({\mathbf{0}}\in {\mathbf{P}}\) and \({\mathbf{P}}+{\mathbf{P}}\subseteq {\mathbf{P}}\). The periodic set spanned by a set \({\mathbf{X}}\subseteq \mathbb{Z}^d\) is the set \(\operatorname{Per}({\mathbf{X}})\) of vectors of the form \({\mathbf{x}}_1+\cdots+{\mathbf{x}}_k\) where \(k\in\mathbb{N}\) and \({\mathbf{x}}_1,\ldots,{\mathbf{x}}_k\in {\mathbf{X}}\). This set is clearly the \(\subseteq\)-minimal periodic set containing \({\mathbf{X}}\). When \({\mathbf{X}}\) is finite, the periodic set \(\operatorname{Per}({\mathbf{X}})\) is said to be finitely-generated. We associate with a periodic set \({\mathbf{P}}\subseteq\mathbb{Z}^d\) the quasi-order \(\leq_{{\mathbf{P}}}\) on \(\mathbb{Z}^d\) defined by \({\mathbf{x}}\leq_{{\mathbf{P}}}{\mathbf{y}}\) if \({\mathbf{y}}\in {\mathbf{x}}+{\mathbf{P}}\). We recall the following folklore result, well-known when \({\mathbf{P}}\subseteq \mathbb{N}^d\). Its proof can be found in 9.
lemmalemFgperWqoOnZd A periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is finitely-generated if, and only if, \(\leq_{{\mathbf{P}}}\) is a wqo on \({\mathbf{P}}\).
A linear set is a set \({\mathbf{L}}\subseteq \mathbb{Z}^d\) of the form \({\mathbf{b}}+{\mathbf{P}}\) where \({\mathbf{b}}\in\mathbb{Z}^d\) and \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is a finitely-generated periodic set. A semilinear set is a finite union of linear sets. We recall that semilinear sets are effectively closed under union, intersection and complement. Semilinear sets coincide with the sets definable in the first-order theory \(\textrm{FO}(\mathbb{Z},+,\leq)\), known as Presburger arithmetic [35].
Let \({\mathbf{Q}}\subseteq \mathbb{Z}^d\) be a finitely-generated periodic set. A set \({\mathbf{S}}\subseteq \mathbb{Z}^d\) is said to be \({\mathbf{Q}}\)-cylindric if \({\mathbf{S}}+{\mathbf{Q}}\subseteq {\mathbf{S}}\). A set \({\mathbf{S}}\subseteq \mathbb{Z}^d\) is said to be finitary \({\mathbf{Q}}\)-cylindric if there exists a finite set \({\mathbf{B}}\subseteq \mathbb{Z}^d\) such that \({\mathbf{S}}={\mathbf{B}}+{\mathbf{Q}}\). Observe that \(\leq_{{\mathbf{Q}}}\) is a wqo on a \({\mathbf{Q}}\)-cylindric set \({\mathbf{S}}\) if, and only if, \({\mathbf{S}}\) is finitary \({\mathbf{Q}}\)-cylindric. This entails that \({\mathbf{Q}}\)-cylindric sets included in some finitary \({\mathbf{Q}}\)-cylindric set are finitary \({\mathbf{Q}}\)-cylindric. A binary relation \(R\) over \(\mathbb{Z}^d\) is said to be \({\mathbf{Q}}\)-diagonal if \(({\mathbf{x}},{\mathbf{y}})+({\mathbf{q}},{\mathbf{q}})\in R\) for every \(({\mathbf{x}},{\mathbf{y}})\in R\) and every \({\mathbf{q}}\in {\mathbf{Q}}\). Note that a binary relation is \({\mathbf{Q}}\)-diagonal if, and only if, it is \({\mathbf{Q}'}\)-cylindric for the finitely-generated periodic set \({\mathbf{Q}}'\mathrel{\vcenter{:}}=\{({\mathbf{q}},{\mathbf{q}}) \mid {\mathbf{q}}\in {\mathbf{Q}}\}\).
A set \({\mathbf{G}}\subseteq \mathbb{Z}^d\) is called a group if \({\mathbf{0}}\in {\mathbf{G}}\) and \({\mathbf{G}}+{\mathbf{G}}\subseteq {\mathbf{G}}\), and \(-{\mathbf{G}} \subseteq {\mathbf{G}}\). The group spanned by a set \({\mathbf{X}}\subseteq \mathbb{Z}^d\) is the set of vectors of the form \(z_1{\mathbf{x}}_1+\cdots+z_k{\mathbf{x}}_k\) where \(k\in\mathbb{N}\), \({\mathbf{x}}_1,\ldots,{\mathbf{x}}_k\in {\mathbf{X}}\), and \(z_1,\ldots,z_k\in\mathbb{Z}\). Let us recall that every group \({\mathbf{G}} \subseteq \mathbb{Z}^d\) is finitely-generated. Notice that the group spanned by a periodic set \({\mathbf{P}}\) is equal to \({\mathbf{P}}-{\mathbf{P}}\).
A set \({\mathbf{C}}\subseteq \mathbb{Q}^d\) is called a cone if \({\mathbf{0}}\in {\mathbf{C}}\), \({\mathbf{C}}+{\mathbf{C}}\subseteq {\mathbf{C}}\), and \(\mathbb{Q}_{\geq 0}{\mathbf{C}}\subseteq {\mathbf{C}}\). The cone spanned by a set \({\mathbf{X}}\subseteq \mathbb{Q}^d\) is the set \(\operatorname{Con}({\mathbf{X}})\) of vectors of the form \(\lambda_1{\mathbf{x}}_1+\cdots+\lambda_k{\mathbf{x}}_k\) where \(k\in\mathbb{N}\), \({\mathbf{x}}_1,\ldots,{\mathbf{x}}_k\in {\mathbf{X}}\), and \(\lambda_1,\ldots,\lambda_k\in\mathbb{Q}_{\geq 0}\). This set is clearly the \(\subseteq\)-minimal cone containing \({\mathbf{X}}\). Notice that \(\operatorname{Con}({\mathbf{P}}) = \mathbb{Q}_{\geq 0}{\mathbf{P}}\) for every periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\).
A set \({\mathbf{V}}\subseteq\mathbb{Q}^d\) is called a vector space if \({\mathbf{0}}\in{\mathbf{V}}\), \({\mathbf{V}}+{\mathbf{V}}\subseteq {\mathbf{V}}\), and \(\mathbb{Q}{\mathbf{V}}\subseteq {\mathbf{V}}\). The vector space spanned by a set \({\mathbf{X}}\subseteq \mathbb{Q}^d\) is the set \(\operatorname{Vec}({\mathbf{X}})\) of vectors of the form \(\lambda_1{\mathbf{x}}_1+\cdots+\lambda_k{\mathbf{x}}_k\) where \(k\in\mathbb{N}\), \({\mathbf{x}}_1,\ldots,{\mathbf{x}}_k\in {\mathbf{X}}\), and \(\lambda_1,\ldots,\lambda_k\in\mathbb{Q}\). Let us recall that any vector space \({\mathbf{V}}\subseteq\mathbb{Q}^d\) is spanned by a finite set \({\mathbf{X}}\subseteq {\mathbf{V}}\). The minimal cardinality of such a set \({\mathbf{X}}\) is called the dimension of \({\mathbf{V}}\) and it is denoted as \(\operatorname{dim}({\mathbf{V}})\). Let us recall that given two vector spaces \({\mathbf{V}}\subsetneq {\mathbf{W}}\) we have \(\operatorname{dim}({\mathbf{V}})<\operatorname{dim}({\mathbf{W}})\). It follows that \(\operatorname{dim}({\mathbf{V}})\in\{0,\ldots,d\}\) for every vector space \({\mathbf{V}}\subseteq \mathbb{Q}^d\). Moreover, if \({\mathbf{V}}\) is the vector space spanned by a set \({\mathbf{X}}\subseteq \mathbb{Q}^d\), then \({\mathbf{V}}\) is also spanned by a set of \(\operatorname{dim}({\mathbf{V}})\) vectors in \({\mathbf{X}}\). Notice that \(\operatorname{Vec}({\mathbf{C}}) = {\mathbf{C}}-{\mathbf{C}}\) for every cone \({\mathbf{C}}\subseteq \mathbb{Q}^d\).
We denote by \(\operatorname{Ball}_{{\mathbf{v}},\varepsilon}\) where \({\mathbf{v}}\in\mathbb{Q}^d\) and \(\varepsilon\in\mathbb{Q}_{>0}\) the open ball centered on \({\mathbf{v}}\) of radius \(\varepsilon\) and defined as the set of \({\mathbf{x}}\in\mathbb{Q}^d\) such that \({\mathopen{\|}{\mathbf{v}}-{\mathbf{x}}\mathclose{\|}}<\varepsilon\). A limit of a set \({\mathbf{X}}\subseteq \mathbb{Q}^d\) is a vector \({\mathbf{v}}\in\mathbb{Q}^d\) such that \(\operatorname{Ball}_{{\mathbf{v}},\varepsilon}\cap{\mathbf{X}}\not=\emptyset\) for every \(\varepsilon\in\mathbb{Q}_{>0}\). We denote by \(\overline{{\mathbf{X}}}\) the set of limits of \({\mathbf{X}}\), and called the topological closure of \({\mathbf{X}}\). When \(\overline{{\mathbf{X}}}={\mathbf{X}}\), we say that \({\mathbf{X}}\) is topologically closed. Recall that \(\overline{{\mathbf{X}}}\) is topologically closed for every set \({\mathbf{X}}\subseteq \mathbb{Q}^d\). Notice that if \({\mathbf{C}}\subseteq \mathbb{Q}^d\) is a cone, then \(\overline{{\mathbf{C}}}\) is a cone as well. Recall also that finitely-generated cones (including vector spaces) are topologically closed.
We recall the definition of full1 periodic sets from [36]. A periodic set \({\mathbf{P}}\subseteq\mathbb{Z}^d\) is said to be full if \({\mathbf{P}}={\mathbf{G}}\cap{\mathbf{C}}\) for a group \({\mathbf{G}}\subseteq\mathbb{Z}^d\) and a cone \({\mathbf{C}}\subseteq\mathbb{Q}^d\). Given a periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\), its linearization [18] is the full periodic set \(\operatorname{Lin}({\mathbf{P}})\mathrel{\vcenter{:}}= ({\mathbf{P}}-{\mathbf{P}})\cap \mathbb{Q}_{\geq 0}{\mathbf{P}}\). Clearly, a periodic set \({\mathbf{P}}\) is full if, and only if, \(\operatorname{Lin}({\mathbf{P}})={\mathbf{P}}\). The closed linearization [17] of a periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is the full periodic set \(\overline{\operatorname{Lin}}({\mathbf{P}})\mathrel{\vcenter{:}}=({\mathbf{P}}-{\mathbf{P}})\cap\overline{\mathbb{Q}_{\geq 0}{\mathbf{P}}}\). As a side remark, we observe that these two linearizations are upper closure operators (i.e., order-preserving, extensive and idempotent operators) on the complete lattice of periodic subsets of \(\mathbb{Z}^d\) ordered by inclusion.
A finitely-generated periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) if full if, and only if, \(\overline{\operatorname{Lin}}({\mathbf{P}})={\mathbf{P}}\), since finitely-generated cones are topologically closed.
Example 1. The set \(\{0\}\cup (2+\mathbb{N})\) is a finitely-generated periodic set that is not full while \(\{(0,0)\}\cup \mathbb{N}_{>0}^2\) is a full but not-finitely-generated periodic set.
A branching VAS (or BVAS for short) is a non-empty finite sequence \(\mathcal{B}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\) of finite subsets of \(\mathbb{Z}^d\). The natural number \(r \geq 1\) is the maximal arity of \(\mathcal{B}\), and each \({\mathbf{\Delta}}_n\) with \(n \in \{1,\ldots,r\}\) provides the set of \(n\)-ary actions. A configuration of \(\mathcal{B}\) is a vector in \(\mathbb{N}^d\). The set of runs of \(\mathcal{B}\) is defined inductively as follows.2 A run is a pair \(\rho \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\rho_1, \ldots, \rho_n))\) where \({\mathbf{c}} \in \mathbb{N}^d\) is called the target of \(\rho\) and \(\rho_1, \ldots, \rho_n\) is a (possibly empty) finite sequence of runs, with \(n \in \{0,\ldots,r\}\), whose respective targets \({\mathbf{c}}_1, \ldots, {\mathbf{c}}_n\) satisfy \({\mathbf{c}} - \sum_{j=1}^{n} {\mathbf{c}}_j\in {\mathbf{\Delta}}_n\) if \(n \geq 1\). Given such a run \(\rho\), we define \(\operatorname{tgt}(\rho) \mathrel{\vcenter{:}}= {\mathbf{c}}\), \(\operatorname{arity}(\rho) \mathrel{\vcenter{:}}= n\), \(\operatorname{act}(\rho) \mathrel{\vcenter{:}}= {\mathbf{c}} - \sum_{j=1}^{n} {\mathbf{c}}_j\), and \(\rho[j] \mathrel{\vcenter{:}}= \rho_j\) for each \(j \in \{1, \ldots, n\}\). The source of a run \(\rho \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\rho_1, \ldots, \rho_n))\) is the non-empty word \(\operatorname{src}(\rho) \in (\mathbb{N}^d)^+\) defined inductively by \(\operatorname{src}(\rho) \mathrel{\vcenter{:}}= {\mathbf{c}}\) if \(n = 0\) and \(\operatorname{src}(\rho) \mathrel{\vcenter{:}}= \operatorname{src}(\rho_1) \cdots \operatorname{src}(\rho_n)\) if \(n \geq 1\). We write \(\operatorname{Runs}(\mathcal{B})\) the set of runs of \(\mathcal{B}\). Given a language \(L\subseteq (\mathbb{N}^d)^+\), the reachability set from \(L\), written \(\operatorname{Reach}_{}(L)\), is the set of targets of runs \(\rho\) such that \(\operatorname{src}(\rho)\in L\).
Example 2. Consider the (\(3\)-dimensional) BVAS \(\mathcal{B}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_1, {\mathbf{\Delta}}_2)\) where \({\mathbf{\Delta}}_1 \mathrel{\vcenter{:}}= \{(-1, 1, 1)\}\) and \({\mathbf{\Delta}}_2 \mathrel{\vcenter{:}}= \{(0, -2, 1), (0, 0, -1)\}\). Some runs of this BVAS are depicted in 1. The run depicted in the left is \(\rho \mathrel{\vcenter{:}}= ((0, 0, 1), (\lambda, \lambda))\) with \(\lambda \mathrel{\vcenter{:}}= ((0, 1, 0), ())\). The run \(\lambda\) may be thought of as a (shared) “leaf” of the run \(\rho\). The run depicted in the middle is \(\sigma \mathrel{\vcenter{:}}= ((0, 1, 1), (\rho, ((0, 1, 1), \ldots)))\). Let \(\tau\) be the run depicted in the right. The targets of these runs are \(\operatorname{tgt}(\rho) = (0, 0, 1)\) and \(\operatorname{tgt}(\sigma) = (0, 1, 1)\) and \(\operatorname{tgt}(\tau) = (1, 1, 3)\). Their sources are \(\operatorname{src}(\rho) = (0, 1, 0) (0, 1, 0)\), \(\operatorname{src}(\sigma) = (0, 1, 0) (0, 1, 0) (1, 0, 0)\), and \(\operatorname{src}(\tau) = (0, 1, 0) (0, 0, 1) (2, 2, 0) (0, 1, 0)\). The run \(\sigma\) is a witness that \((0, 1, 1) \in \operatorname{Reach}_{}(\{(1, 0, 0), (0, 1, 0)\}^+)\). We will show in 3 that \((0, 1, 0) \not\in \operatorname{Reach}_{}(\{(1, 0, 0)\}^+)\). To conclude this example, we observe that there is a run with source \(s \mathrel{\vcenter{:}}= (0, 1, 0) (0, 1, 0) (0, 0, 0)\) and target \((0, 0, 0)\), but there is no run with source \(s' \mathrel{\vcenter{:}}= (0, 1, 0) (0, 0, 0) (0, 1, 0)\), even though the words \(s\) and \(s'\) are commutatively equivalent.
A VAS is a BVAS \(({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\) such that \(r = 1\). The following fact extends to BVAS runs the usual monotony property of VAS runs. Its proof is obtained by immediate induction on \(\rho\).
For every \({\mathbf{c}}_1, \ldots, {\mathbf{c}}_k, {\mathbf{x}}_1, \ldots, {\mathbf{x}}_k \in \mathbb{N}^d\) and every run \(\rho\) of \(\mathcal{B}\) with \(\operatorname{src}(\rho) = {\mathbf{c}}_1 \cdots {\mathbf{c}}_k\), there exists a run \(\sigma\) of \(\mathcal{B}\) with \(\operatorname{src}(\sigma) = ({\mathbf{c}}_1 + {\mathbf{x}}_1) \cdots ({\mathbf{c}}_k + {\mathbf{x}}_k)\) and \(\operatorname{tgt}(\sigma) = \operatorname{tgt}(\rho) + {\mathbf{x}}_1 + \cdots + {\mathbf{x}}_k\).
An initialized BVAS (or IBVAS for short) is a pair \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\) where \({\mathbf{\Delta}}_0 \subseteq \mathbb{N}^d\) is a finite set of initial configurations and \(\mathcal{B}\) is a BVAS. An initialized run (or irun for short) of \(\mathcal{S}\) is a run \(\rho\) of \(\mathcal{B}\) such that \(\operatorname{src}(\rho) \in {\mathbf{\Delta}}_0^+\). We let \(\operatorname{IRuns}(\mathcal{S})\) denote the set of iruns of \(\mathcal{S}\). The reachability set of \(\mathcal{S}\) is the set \(\operatorname{Reach}_{}(\mathcal{S}) \mathrel{\vcenter{:}}= \operatorname{Reach}_{}({\mathbf{\Delta}}_0^+)\). We also introduce the binary relation \(\xrightarrow{\mathcal{S}}\) on configurations defined by \({\mathbf{x}} \xrightarrow{\mathcal{S}} {\mathbf{y}}\) if \({\mathbf{y}} \in \operatorname{Reach}_{}({\mathbf{\Delta}}_0^* \, {\mathbf{x}} \, {\mathbf{\Delta}}_0^*)\).
The BVAS reachability problem takes as input an IBVAS \(\mathcal{S}\) and a configuration \({\mathbf{c}}\), and determines whether \({\mathbf{c}}\) is a member of \(\operatorname{Reach}_{}(\mathcal{S})\). Clearly, if \({\mathbf{c}}\in\operatorname{Reach}_{}(\mathcal{S})\) then there exists an irun \(\rho\) such that \(\operatorname{tgt}(\rho)={\mathbf{c}}\). It follows that the BVAS reachability problem is recursively enumerable. In order to prove that the problem is decidable, we show in this paper that if \({\mathbf{c}}\not\in\operatorname{Reach}_{}(\mathcal{S})\) then there exists a semilinear inductive invariant witnessing that property. We first recall some definitions.
An inductive invariant for an IBVAS \(\mathcal{S}= ({\mathbf{\Delta}}_0, ({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r))\) is a set \({\mathbf{I}}\subseteq \mathbb{N}^d\) such that for every \(n\in \{0,\ldots,r\}\) and for every \({\mathbf{a}}\in{\mathbf{\Delta}}_n\), the following property holds: \[{\mathbf{a}}+\underbrace{{\mathbf{I}}+\cdots+{\mathbf{I}}}_{\text{n times}} \quad \subseteq \quad {\mathbf{I}}\cup(\mathbb{Z}^d\setminus \mathbb{N}^d) \:.\] Notice that a set \({\mathbf{I}}\subseteq \mathbb{N}^d\) is an inductive invariant if, and only if, \({\mathbf{\Delta}}_0 \subseteq {\mathbf{I}}\) and \(\operatorname{Reach}_{}({\mathbf{I}}^+)\subseteq {\mathbf{I}}\). An immediate consequence of [fact:reach-shuffle] below is that the reachability set itself is an inductive invariant (in fact, \(\operatorname{Reach}_{}(\mathcal{S})\) is the \(\subseteq\)-least inductive invariant). It follows that \({\mathbf{c}}\not\in \operatorname{Reach}_{}(\mathcal{S})\) if, and only if, there exists an inductive invariant \({\mathbf{I}}\subseteq \mathbb{N}^d\) such that \({\mathbf{c}}\not\in{\mathbf{I}}\). We can effectively decide whether a given semilinear set is an inductive invariant. So the following theorem, applied with the semilinear set \({\mathbf{\Phi}}\mathrel{\vcenter{:}}=\mathbb{N}^d\setminus\{{\mathbf{c}}\}\), immediately entails that the BVAS reachability problem is decidable. This theorem is the main result of the paper.
Theorem 1. For every IBVAS \(\mathcal{S}\) and for every semilinear set \({\mathbf{\Phi}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}(\mathcal{S}) \subseteq {\mathbf{\Phi}}\), there exists a semilinear inductive invariant \({\mathbf{I}}\) for \(\mathcal{S}\) such that \({\mathbf{I}}\subseteq {\mathbf{\Phi}}\).
It is known [22] that the reachability set \(\operatorname{Reach}_{}(\mathcal{S})\) is semilinear when \(d\leq 5\). It follows that the previous theorem immediately holds with \({\mathbf{I}}\mathrel{\vcenter{:}}=\operatorname{Reach}_{}(\mathcal{S})\) in that case.
Example 3. Consider the (\(3\)-dimensional) initialized BVAS \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\) where \(\mathcal{B}\) is the BVAS of 2 and \({\mathbf{\Delta}}_0 \mathrel{\vcenter{:}}= \{(1, 0, 0)\}\). The set \({\mathbf{I}} \mathrel{\vcenter{:}}= \mathbb{N}^3 \setminus \{(0, 0, 0)\}\) is easily seen to be an inductive invariant for \(\mathcal{S}\). We derive that \((0, 0, 0) \not\in \operatorname{Reach}_{}(\mathcal{S})\). But \({\mathbf{I}}\) contains \((0, 1, 0)\), so it is not precise enough to conclude that \((0, 1, 0) \not\in \operatorname{Reach}_{}(\mathcal{S})\). The set \(\mathbb{N}^3 \setminus \{(0, 1, 0)\}\) is not an inductive invariant, since \((0, 0, -1) + {\mathbf{I}}+ {\mathbf{I}}\) contains \((0, 1, 0)\) which is not in \({\mathbf{I}}\). It is routinely checked that \({\mathbf{J}} \mathrel{\vcenter{:}}= \mathbb{N}^3 \setminus \{(0, 0, 0), (0, 1, 0)\}\) is an inductive invariant. This entails, in particular, that \((0, 1, 0) \not\in \operatorname{Reach}_{}(\mathcal{S})\).
Our definition of \(\operatorname{Reach}_{}(L)\) above is for arbitrary languages \(L\subseteq (\mathbb{N}^d)^+\), but we actually only care about reachability sets from commutative languages. Recall that a language \(L\) is commutative if \(uxyv \in L \Rightarrow uyxv \in L\) for every words \(u, v, x, y\). We also recall the definition of the shuffle operator, which provides an analogue of language concatenation in the commutative setting. The shuffle of two languages \(K\) and \(L\), written \(K \,{\shuffle}\, L\), is the set of words \(u_1 v_1 \cdots u_k v_k\) such that \(u_1 \cdots u_k \in K\) and \(v_1 \cdots v_k \in L\). Notice that \(K \,{\shuffle}\, L\) is commutative when \(K\) and \(L\) are commutative.
The inclusion \(\operatorname{Reach}_{}(K \,{\shuffle}\, \operatorname{Reach}_{}(L)^+) \subseteq \operatorname{Reach}_{}(K \,{\shuffle}\, L^+)\) holds for every languages \(K, L \subseteq (\mathbb{N}^d)^+\).
We prove 1 by iteratively transforming so-called safety witnesses. To define these safety witnesses, we need to introduce the notions of attractors and directed iruns. An attractor for an IBVAS \(\mathcal{S}= ({\mathbf{\Delta}}_0, \mathcal{B})\) is a set \({\mathbf{A}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}({\mathbf{A}}^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*) \subseteq {\mathbf{A}}\). In particular, both \(\emptyset\) and \(\mathbb{N}^d\) are attractors. The notion of attractor is closely related to the notion of inductive invariant. Indeed, every inductive invariant is an attractor, and every attractor \({\mathbf{A}}\) that contains \({\mathbf{\Delta}}_0\) is an inductive invariant. Notice that, by [fact:reach-shuffle], a set \({\mathbf{A}} \subseteq \mathbb{N}^d\) is an attractor if, and only if, \(\operatorname{Reach}_{}({\mathbf{A}}^+ \,{\shuffle}\, \operatorname{Reach}_{}(\mathcal{S})^*) \subseteq {\mathbf{A}}\). It follows that \({\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})\) is an inductive invariant for every attractor \({\mathbf{A}}\). The following lemma shows how to incrementally construct attractors.
Lemma 1. Let \({\mathbf{A}}\) be an attractor for \(\mathcal{S}\) and \({\mathbf{I}}\) be an inductive invariant for \(\mathcal{S}\) that contains \({\mathbf{A}}\). For every set \({\mathbf{X}} \subseteq \mathbb{N}^d\), the set \({\mathbf{A}} \cup \operatorname{Reach}_{}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) is an attractor for \(\mathcal{S}\).
Proof. Let \({\mathbf{A}}\) and \({\mathbf{I}}\) be as in the lemma. Note that \({\mathbf{A}} \cup {\mathbf{\Delta}}_0 \subseteq {\mathbf{I}}\) by assumption. For short, let us write \({\mathbf{E}} \mathrel{\vcenter{:}}= {\mathbf{A}} \cup \operatorname{Reach}_{}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\). We need to show that \({\mathbf{E}}\) is an attractor, i.e., that \(\operatorname{Reach}_{}({\mathbf{E}}^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*) \subseteq {\mathbf{E}}\). Observe that \(({\mathbf{Y}} \cup {\mathbf{Z}})^+ = {\mathbf{Y}}^+ \cup ({\mathbf{Y}}^* \,{\shuffle}\, {\mathbf{Z}}^+)\) for every sets \({\mathbf{Y}}, {\mathbf{Z}} \subseteq \mathbb{N}^d\). We get, by distributivity of shuffle over union, that \(\operatorname{Reach}_{}({\mathbf{E}}^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\) is the union of the set \(\operatorname{Reach}_{}({\mathbf{A}}^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\) and the set \(\operatorname{Reach}_{}({\mathbf{A}}^* \,{\shuffle}\, \operatorname{Reach}_{}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\). The first set is contained in \({\mathbf{A}} \subseteq {\mathbf{E}}\) since \({\mathbf{A}}\) is an attractor. According to [fact:reach-shuffle], the second set is contained in \(\operatorname{Reach}_{}({\mathbf{I}}^* \,{\shuffle}\, ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)^+)\) since \({\mathbf{A}} \cup {\mathbf{\Delta}}_0 \subseteq {\mathbf{I}}\). The observation that \({\mathbf{I}}^* \,{\shuffle}\, ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)^+ = {\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*\) entails that \(\operatorname{Reach}_{}({\mathbf{I}}^* \,{\shuffle}\, ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)^+) \subseteq {\mathbf{E}}\). We have shown that \(\operatorname{Reach}_{}({\mathbf{E}}^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*) \subseteq {\mathbf{E}}\). This concludes the proof of the lemma. ◻
Example 4. For every \(k \in \mathbb{N}\), the set \({\mathbf{A}}_k \mathrel{\vcenter{:}}= \{(x, y, z) \in \mathbb{N}^3 \mid x+y+z \geq k\}\) is an attractor for the initialized BVAS \(\mathcal{S}\) of 3. Indeed, the sets \({\mathbf{\Delta}}_1 + {\mathbf{A}}_k\), \({\mathbf{\Delta}}_2 + {\mathbf{A}}_k + {\mathbf{A}}_k\) and \({\mathbf{\Delta}}_2 + {\mathbf{A}}_k + \operatorname{Reach}_{}(\mathcal{S})\) are all contained in \({\mathbf{A}}_k \cup (\mathbb{Z}^d \setminus \mathbb{N}^d)\). The last inclusion holds because \((0, 0, 0) \not\in \operatorname{Reach}_{}(\mathcal{S})\), see 3. It follows, by induction on \(\rho\), that \(\operatorname{tgt}(\rho) \in {\mathbf{A}}_k\) for every run \(\rho\) with \(\operatorname{src}(\rho) \in {\mathbf{A}}_k^+ \,{\shuffle}\, {\mathbf{\Delta}}_0^*\). This means that \({\mathbf{A}}_k\) is an attractor. While \({\mathbf{A}}_0\) and \({\mathbf{A}}_1\) are inductive invariants, the attractors \({\mathbf{A}}_2, {\mathbf{A}}_3, \ldots\) are not inductive invariants as they do not contain \((1, 0, 0) \in {\mathbf{\Delta}}_0\).
The notion of directed iruns relies on cones (see 2) and on a wpo on iruns introduced in [22] with slightly different notations. Let us define the partial-order \(\sqsubseteq\) on runs of a BVAS \(\mathcal{B}\) inductively by \(\alpha \sqsubseteq \beta\) if \(\alpha = \beta\) or there exists \(j \in \{1, \ldots, \operatorname{arity}(\beta)\}\) such that \(\alpha \sqsubseteq \beta[j]\). We define the partial-order \(\trianglelefteq\) on runs of a BVAS \(\mathcal{B}\) inductively by \(\alpha \trianglelefteq \beta\) if there exists \(\beta' \sqsubseteq \beta\) such that \(\operatorname{tgt}(\alpha) \leq \operatorname{tgt}(\beta), \operatorname{tgt}(\beta')\), \(\operatorname{arity}(\alpha) = \operatorname{arity}(\beta')\), \(\operatorname{act}(\alpha) = \operatorname{act}(\beta')\), and \(\alpha[j] \trianglelefteq \beta'[j]\) for every \(j\).
Example 5 (Continued from 2). Consider the runs \(\rho\), \(\sigma\) and \(\tau\) depicted in 1. It holds that \(\rho \sqsubseteq \sigma\) and \(\rho \not\sqsubseteq \tau\). We also have \(\rho \trianglelefteq \sigma\) and \(\rho \trianglelefteq \tau\). The first assertion holds because \(\rho \sqsubseteq \sigma\) and \(\operatorname{tgt}(\rho) \leq \operatorname{tgt}(\sigma)\). Let us explain why the second assertion holds. We have \(\rho[1] \trianglelefteq \tau[1][1]\) since \(\rho[1] \sqsubseteq \tau[1][1]\) and \(\operatorname{tgt}(\rho[1]) = (0, 1, 0) = \operatorname{tgt}(\tau[1][1])\). Similarly, we have \(\rho[2] \trianglelefteq \tau[1][2]\) since \(\rho[2] \sqsubseteq \tau[1][2]\) and \(\operatorname{tgt}(\rho[2]) = (0, 1, 0) \leq (2, 1, 1) = \operatorname{tgt}(\tau[1][2])\). It follows that \(\rho \trianglelefteq \tau\) since \(\operatorname{tgt}(\rho) \leq \operatorname{tgt}(\tau), \operatorname{tgt}(\tau[1])\), \(\operatorname{arity}(\rho) = 2 = \operatorname{arity}(\tau[1])\), \(\operatorname{act}(\rho) = (0, -2, 1) = \operatorname{act}(\tau[1])\), and \(\rho[j] \trianglelefteq \tau[1][j]\) for every \(j\). To conclude this example, we observe that \(\sigma \ntrianglelefteq \tau\) for several reasons. One of them is that \((1, 0, 0)\) occurs in \(\operatorname{src}(\sigma)\) and does not occur in \(\operatorname{src}(\tau)\).
Our approach crucially relies on the following lemma, which was proved in [22] with slightly different notations. For the sake of completeness, we reprove this lemma in 10.
lemmalemIbvasWpoAndAmalgamation The pair \((\operatorname{IRuns}(\mathcal{S}), \trianglelefteq)\) is a wpo and satisfies the amalgamation property, i.e., for every iruns \(\rho \trianglelefteq \alpha, \beta\), there exists an irun \(\sigma\) such that \(\alpha, \beta \trianglelefteq \sigma\) and \(\operatorname{tgt}(\rho) + \operatorname{tgt}(\sigma) = \operatorname{tgt}(\alpha) + \operatorname{tgt}(\beta)\).
The partial-order \(\trianglelefteq\) on runs is a wqo on the set of iruns (see [lem:ibvas-wpo-and-amalgamation]), but it is not a wqo on the set of runs. For instance, in dimension one, the runs \(\rho_n\mathrel{\vcenter{:}}= (n,())\) where \(n\in\mathbb{N}\) are incomparable for \(\trianglelefteq\), i.e., \(\rho_m \ntrianglelefteq \rho_n\) when \(m \neq n\).
Consider an IBVAS \(\mathcal{S}\). For each irun \(\rho\) of \(\mathcal{S}\), we let \({\mathbf{P}}_\rho\) denote the periodic subset of \(\mathbb{N}^d\) defined by \({\mathbf{P}}_\rho \mathrel{\vcenter{:}}= \{\operatorname{tgt}(\sigma) - \operatorname{tgt}(\rho) \mid \sigma \in \operatorname{IRuns}(\mathcal{S})\wedge \rho\trianglelefteq \sigma\}\). The fact that \({\mathbf{P}}_\rho\) is periodic immediately follows from the amalgamation property of \(\trianglelefteq\). A directed irun of \(\mathcal{S}\) is a pair \(w \mathrel{\vcenter{:}}= (\rho_w, {\mathbf{C}}_w)\) where \(\rho_w\) is an irun of \(\mathcal{S}\) and \({\mathbf{C}}_w \subseteq \mathbb{Q}_{\geq 0}^d\) is a finitely-generated cone. We let \(\operatorname{IRuns}(w)\) denote the set of iruns \(\sigma\) such that \(\rho_w \trianglelefteq \sigma\) and \(\operatorname{tgt}(\sigma) \in \operatorname{tgt}(\rho_w) + {\mathbf{C}}_w\). We also introduce, for each directed irun \(w \mathrel{\vcenter{:}}= (\rho_w, {\mathbf{C}}_w)\), the periodic sets \({\mathbf{P}}_w, {\mathbf{Q}}_w \subseteq \mathbb{N}^d\) defined by \({\mathbf{P}}_w \mathrel{\vcenter{:}}= {\mathbf{P}}_{\rho_w} \cap {\mathbf{C}}_w\) and \({\mathbf{Q}}_w \mathrel{\vcenter{:}}= \overline{\operatorname{Lin}}({\mathbf{P}}_w)\). Note that3 \(\operatorname{tgt}(\operatorname{IRuns}(w)) = \operatorname{tgt}(\rho_w) + {\mathbf{P}}_w\). The following lemma will be shown in 4.2.
Lemma 2. The periodic set \({\mathbf{Q}}_w\) is finitely-generated for every directed irun \(w\) of \(\mathcal{S}\).
We introduce a binary relation \(\twoheadrightarrow_{}\) on directed iruns of \(\mathcal{S}\), defined by \(u \twoheadrightarrow_{}v\) if \(\alpha \sqsubseteq \beta\) for some \(\alpha \in \operatorname{IRuns}(u)\) and \(\beta \in \operatorname{IRuns}(v)\). A set \(W\) of directed iruns induces a (directed) graph \((W, \twoheadrightarrow_{W})\), where \(\twoheadrightarrow_{W}\) is the intersection of \(\twoheadrightarrow_{}\) and \(W \times W\). Let \(\stackrel{*}{\twoheadrightarrow}_{W}\) denote the reflexive and transitive closure of \(\twoheadrightarrow_{W}\). We say that \(W\) is homogeneous when \({\mathbf{C}}_u = {\mathbf{C}}_v\) for every \(u, v \in W\) such that \(u \stackrel{*}{\twoheadrightarrow}_{W} v \stackrel{*}{\twoheadrightarrow}_{W} u\). In that case, we also have \({\mathbf{Q}}_u = {\mathbf{Q}}_v\) for every \(u, v \in W\) such that \(u \stackrel{*}{\twoheadrightarrow}_{W} v \stackrel{*}{\twoheadrightarrow}_{W} u\). This property is an immediate consequence of 3 below. Assuming that \(W\) is homogeneous, for each SCC \(\Gamma\) of the graph \((W, \twoheadrightarrow_{W})\), we let \({\mathbf{C}}_\Gamma\) and \({\mathbf{Q}}_\Gamma\) denote the common \({\mathbf{C}}_\gamma\) and \({\mathbf{Q}}_\gamma\) where \(\gamma\) ranges over \(\Gamma\).
Lemma 3. It holds that \({\mathbf{Q}}_u \subseteq {\mathbf{Q}}_v\) for every directed iruns \(u, v\) of \(\mathcal{S}\) such that \(u \twoheadrightarrow_{}v\) and \({\mathbf{C}}_u \subseteq {\mathbf{C}}_v\).
Proof. Let \(u\) and \(v\) be directed iruns satisfying \(u \twoheadrightarrow_{}v\) and \({\mathbf{C}}_u \subseteq {\mathbf{C}}_v\). By definition of \(\twoheadrightarrow_{}\), there exist \(\alpha \in \operatorname{IRuns}(u)\) and \(\beta \in \operatorname{IRuns}(v)\) such that \(\alpha \sqsubseteq \beta\). It holds that \(\rho_u \trianglelefteq \alpha\) and \(\rho_v \trianglelefteq \beta\). We first show that \({\mathbf{z}} + {\mathbf{P}}_{\rho_u} \subseteq {\mathbf{P}}_{\rho_v}\) where \({\mathbf{z}} \mathrel{\vcenter{:}}=\operatorname{tgt}(\beta) - \operatorname{tgt}(\rho_v)\). Let \({\mathbf{x}} \in {\mathbf{P}}_{\rho_u}\). We have \({\mathbf{x}} = \operatorname{tgt}(\sigma) - \operatorname{tgt}(\rho_u)\) for some irun \(\sigma\) with \(\rho_u \trianglelefteq \sigma\). As \(\rho_u \trianglelefteq \alpha, \sigma\), we get from the amalgamation property of [lem:ibvas-wpo-and-amalgamation] that there exists an irun \(\hat{\alpha}\) such that \(\alpha, \sigma \trianglelefteq \hat{\alpha}\) and \(\operatorname{tgt}(\rho_u) + \operatorname{tgt}(\hat{\alpha}) = \operatorname{tgt}(\alpha) + \operatorname{tgt}(\sigma)\). Since \(\alpha \sqsubseteq \beta\) and \(\alpha \trianglelefteq \hat{\alpha}\), there exists an irun \(\hat{\beta}\) that satisfies \(\beta \trianglelefteq \hat{\beta}\) and \(\operatorname{tgt}(\hat{\beta}) - \operatorname{tgt}(\beta) = \operatorname{tgt}(\hat{\alpha}) - \operatorname{tgt}(\alpha)\). This claim can formally be proved by induction on \(\beta\). Intuitively, \(\hat{\beta}\) is obtained from \(\beta\) by replacing \(\alpha\) by \(\hat{\alpha}\) and translating the target configuration of each “ancestor” of \(\alpha\) in \(\beta\) by the vector \(\operatorname{tgt}(\hat{\alpha}) - \operatorname{tgt}(\alpha)\). The resulting irun \(\hat{\beta}\) satisfies \(\beta \trianglelefteq \hat{\beta}\) by construction. It is routinely checked that \({\mathbf{z}} + {\mathbf{x}} = \operatorname{tgt}(\beta) - \operatorname{tgt}(\rho_v) + \operatorname{tgt}(\sigma) - \operatorname{tgt}(\rho_u) = \operatorname{tgt}(\hat{\beta}) - \operatorname{tgt}(\rho_v)\), hence, \({\mathbf{z}} + {\mathbf{x}}\) is in \({\mathbf{P}}_{\rho_v}\) since \(\rho_v \trianglelefteq \beta \trianglelefteq \hat{\beta}\). We have shown that \({\mathbf{z}} + {\mathbf{P}}_{\rho_u} \subseteq {\mathbf{P}}_{\rho_v}\).
Now observe that \({\mathbf{z}} = \operatorname{tgt}(\beta) - \operatorname{tgt}(\rho_v)\) is in \({\mathbf{C}}_v\) since \(\beta \in \operatorname{IRuns}(v)\). Recall also that \({\mathbf{C}}_u \subseteq {\mathbf{C}}_v\) by assumption. It follows that \({\mathbf{z}} + {\mathbf{P}}_u = {\mathbf{z}} + ({\mathbf{P}}_{\rho_u} \cap {\mathbf{C}}_u) \subseteq {\mathbf{z}} + ({\mathbf{P}}_{\rho_u} \cap {\mathbf{C}}_v) \subseteq ({\mathbf{z}} + {\mathbf{P}}_{\rho_u}) \cap {\mathbf{C}}_v \subseteq {\mathbf{P}}_{\rho_v} \cap {\mathbf{C}}_v = {\mathbf{P}}_v\). From \({\mathbf{z}} + {\mathbf{P}}_u \subseteq {\mathbf{P}}_v\), we derive firstly that \(({\mathbf{P}}_u - {\mathbf{P}}_u) \subseteq ({\mathbf{P}}_v - {\mathbf{P}}_v)\), and secondly that \({\mathbf{z}} + k{\mathbf{p}} \in {\mathbf{P}}_v\) for every \({\mathbf{p}} \in {\mathbf{P}}_u\) and \(k \in \mathbb{N}\), hence, \({\mathbf{P}}_u \subseteq \overline{\mathbb{Q}_{\geq 0} {\mathbf{P}}_v}\). The latter inclusion entails that \(\overline{\mathbb{Q}_{\geq 0} {\mathbf{P}}_u} \subseteq \overline{\mathbb{Q}_{\geq 0} {\mathbf{P}}_v}\). We have shown that \(\overline{\operatorname{Lin}}({\mathbf{P}}_u) \subseteq \overline{\operatorname{Lin}}({\mathbf{P}}_v)\), which concludes the proof of the lemma as \({\mathbf{Q}}_u = \overline{\operatorname{Lin}}({\mathbf{P}}_u)\) and \({\mathbf{Q}}_v = \overline{\operatorname{Lin}}({\mathbf{P}}_v)\). ◻
Given an IBVAS \(\mathcal{S}\) and a semilinear set \({\mathbf{\Phi}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}(\mathcal{S}) \subseteq {\mathbf{\Phi}}\), a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\) is a pair \(({\mathbf{A}}, W)\) where \({\mathbf{A}} \subseteq {\mathbf{\Phi}}\) is a semilinear attractor for \(\mathcal{S}\) and \(W\) is an homogeneous finite set of directed iruns of \(\mathcal{S}\) such that for every irun \(\rho \in \operatorname{IRuns}(\mathcal{S})\), we have \(\operatorname{tgt}(\rho) \in {\mathbf{A}}\) or \(\rho \in \operatorname{IRuns}(w)\) for some \(w \in W\). One may wonder about the existence of safety witnesses. Consider the set \(W_{min}\) of directed iruns \((\rho, \mathbb{Q}_{\geq 0}^d)\) such that \(\rho \in \operatorname{Min}_{\trianglelefteq}(\operatorname{IRuns}(\mathcal{S}))\). The set \(W_{min}\) is finite by [lem:ibvas-wpo-and-amalgamation], hence, the pair \((\emptyset, W_{min})\) is a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\).
To prove 1, we iteratively transform safety witnesses until we get a safety witness of the form \(({\mathbf{A}}, \emptyset)\), in which case the semilinear attractor \({\mathbf{A}} \subseteq {\mathbf{\Phi}}\) is an inductive invariant for \(\mathcal{S}\). More precisely, we show the key property that for every safety witness \(({\mathbf{A}}, W)\) with \(W \neq \emptyset\), there exists a safety witness \(({\mathbf{A}}', W')\) such that \(W'\) is smaller than \(W\) for a natural well-founded relation on finite sets of directed iruns. This entails that a safety witness of the form \(({\mathbf{A}}, \emptyset)\) exists, and concludes the proof of 1. The remainder of the paper is devoted to the proof of this key property. To give a taste of the proof, we conclude this section with an overview of the construction of \(({\mathbf{A}}', W')\) from \(({\mathbf{A}}, W)\). This overview will be reformulated with full details in 7.
Consider a safety witness \(({\mathbf{A}}, W)\) with \(W \neq \emptyset\). Pick an arbitrary bottom SCC \(\Gamma\) of the graph \((W, \twoheadrightarrow_{W})\). We introduce the finitary \({\mathbf{Q}}_\Gamma\)-cylindric set \({\mathbf{Y}}_\Gamma \mathrel{\vcenter{:}}= \{\operatorname{tgt}(\rho_\gamma) \mid \gamma \in \Gamma\} + {\mathbf{Q}}_\Gamma\). Our approach is decomposed into two main steps:
Using 1, we show how to construct a finitary \({\mathbf{Q}}_\Gamma\)-cylindric set \({\mathbf{X}} \subseteq {\mathbf{Y}}_{\Gamma}\) such that firstly \({\mathbf{A}}' \mathrel{\vcenter{:}}= {\mathbf{A}} \cup {\mathbf{X}}\) is an attractor contained in \({\mathbf{\Phi}}\), secondly \({\mathbf{Y}}_\Gamma \subseteq {\mathbf{X}} - {\mathbf{Q}}_\Gamma\), and thirdly \(\xrightarrow{\mathcal{S}}\) has an empty intersection with \({\mathbf{X}} \times ({\mathbf{Y}}_\Gamma \setminus {\mathbf{X}})\).
We show that there exist some finitely-generated cones \({\mathbf{C}}_1, \ldots, {\mathbf{C}}_n\) contained in \({\mathbf{C}}_\Gamma\) and a disjoint decomposition4 \({\mathbf{S}}_1, \ldots, {\mathbf{S}}_n\) of \({\mathbf{Y}}_\Gamma \setminus {\mathbf{X}}\) such that \(\operatorname{dim}({\mathbf{C}}_i-{\mathbf{C}}_i)<\operatorname{dim}({\mathbf{C}}_\Gamma-{\mathbf{C}}_\Gamma)\) and \({\mathbf{S}}_i\) is finitary \(({\mathbf{Q}}\cap{\mathbf{C}}_i)\)-cylindric for every \(1\leq i\leq n\). The homogeneous set \(W'\) of directed iruns is then defined as \(W' \mathrel{\vcenter{:}}= (W\setminus \Gamma)\cup (W_1\cup\ldots W_n)\) where each \(W_i\) is a finite set of directed iruns obtained from \({\mathbf{S}}_i\).
By construction, the pair \(({\mathbf{A}}', W')\) defined in this way is a safety witness and \(W'\) is smaller than \(W\).
The rest of the paper presents the details of our proof. 5 is devoted to the first step (construction of \({\mathbf{A}}'\)) and 6 is devoted to the second step (construction of \(W'\)). Before that, we provide in the next section some geometrical properties of periodic sets and their linearizations, and we prove 2 along the way.
In [17], reachability sets of initialized VAS (a VAS is a BVAS \(({\mathbf{\Delta}}_1,\ldots,{\mathbf{\Delta}}_r\)) such that \(r=1\)) was proved to be almost semilinear, a class of sets extending the class of semilinear sets. This result was recently extended to the class of IBVAS in [22] by observing that IBVAS reachability sets are sections of initialized VAS reachability sets.
In 4.1, we recall the class of almost semilinear sets, based on the class of definable cones and asymptotically-definable periodic sets. We explain why the two linearization operators introduced in 2 provide ways to transfer properties from cones to periodic sets. In 4.2 we prove by structural induction on a irun \(\rho\) that the periodic set \({\mathbf{P}}_\rho \mathrel{\vcenter{:}}= \{\operatorname{tgt}(\sigma) - \operatorname{tgt}(\rho) \mid \sigma \in \operatorname{IRuns}(\mathcal{S})\wedge \rho\trianglelefteq \sigma\}\) is asymptotically-definable. From this property, we derive a proof of 2.
In 2, we introduced the linearization and the closed linearization of a periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) respectively by \(\operatorname{Lin}({\mathbf{P}})\mathrel{\vcenter{:}}=({\mathbf{P}}-{\mathbf{P}})\cap\operatorname{Con}({\mathbf{P}})\) and \(\overline{\operatorname{Lin}}({\mathbf{P}})\mathrel{\vcenter{:}}=({\mathbf{P}}-{\mathbf{P}})\cap \overline{\operatorname{Con}({\mathbf{P}})}\). As \({\mathbf{P}}-{\mathbf{P}}\) is a group, it is finitely-generated. It follows that properties on cones \(\operatorname{Con}({\mathbf{P}})\) and \(\overline{\operatorname{Con}({\mathbf{P}})}\) can be transfered to properties on the full periodic sets \(\operatorname{Lin}({\mathbf{P}})\) and \(\overline{\operatorname{Lin}}({\mathbf{P}})\).
A cone \({\mathbf{C}}\subseteq\mathbb{Q}^d\) is said to be definable [17], [18] if it can be denoted by a formula in \(\textrm{FO}(\mathbb{Q},+,\leq)\). It follows that finitely-generated cones are definable, and the intersection as well as the sum of two definable cones are definable. Recall [17] that a cone \({\mathbf{C}}\subseteq \mathbb{Q}^d\) is definable if, and only if, \(\overline{{\mathbf{C}}\cap{\mathbf{V}}}\) is a finitely-generated cone for every vector space \({\mathbf{V}}\subseteq\mathbb{Q}^d\). A periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is said to be asymptotically-definable [17] if the cone \(\operatorname{Con}({\mathbf{P}})\) is definable. It follows that finitely-generated periodic sets are asymptotically-definable.
Since \(\textrm{FO}(\mathbb{Q},+,\leq)\) admits quantification elimination, a subset of \(\mathbb{Q}^d\) is definable if, and only if, it is a boolean combination of open and closed half-spaces, i.e. sets of the form \(\{{\mathbf{x}}\in\mathbb{Q}^d \mid {\mathbf{a}}\cdot{\mathbf{x}}\sim 0\}\) where \({\mathbf{a}}\in\mathbb{Z}^d\) and \(\sim\) is either \(>\) or \(\geq\). One may wrongly think that a cone \({\mathbf{C}}\subseteq \mathbb{Q}^d\) is definable if, and only if, \({\mathbf{C}}\setminus\{{\mathbf{0}}\}\) is a conjunction of open and closed half-spaces (as claimed in [36]). For a counter-example, just pick the definable cone \({\mathbf{C}}\mathrel{\vcenter{:}}=\{(x,y)\in\mathbb{Q}_{\geq 0}\times\mathbb{Q}\mid x=0\Rightarrow y\geq 0\}\).
Example 6. The periodic set \({\mathbf{P}}\mathrel{\vcenter{:}}= \{(0,0)\}\cup \mathbb{N}_{>0}^2\) is asymptotically-definable. More generally, semilinear periodic sets are asymptotically-definable (see 6 below).
The following lemma shows that asymptotically-definable periodic sets are stable by intersection, sum, and projections.
Lemma 4. For every periodic sets \({\mathbf{P}},{\mathbf{Q}}\subseteq \mathbb{Z}^d\) and for every periodic set \({\mathbf{R}}\subseteq \mathbb{Z}^k\times\mathbb{Z}^d\) we have:
\(\operatorname{Con}({\mathbf{P}}\cap{\mathbf{Q}})=\operatorname{Con}({\mathbf{P}})\cap\operatorname{Con}({\mathbf{Q}})\),
\(\operatorname{Con}({\mathbf{P}}+{\mathbf{Q}})=\operatorname{Con}({\mathbf{P}})+\operatorname{Con}({\mathbf{Q}})\), and
\(\operatorname{Con}(\{{\mathbf{y}}\in\mathbb{Z}^d \mid \exists {\mathbf{x}}\in\mathbb{Z}^k,\, ({\mathbf{x}},{\mathbf{y}})\in{\mathbf{R}}\})= \{{\mathbf{y}}\in\mathbb{Q}^d \mid \exists {\mathbf{x}}\in\mathbb{Q}^k,\, ({\mathbf{x}},{\mathbf{y}})\in\operatorname{Con}({\mathbf{R}})\}\).
Proof. As \({\mathbf{P}}\cap{\mathbf{Q}}\) is included in the cone \(\operatorname{Con}({\mathbf{P}})\cap\operatorname{Con}({\mathbf{Q}})\), by minimality of the spanning cone, we deduce that \(\operatorname{Con}({\mathbf{P}}\cap{\mathbf{Q}})\subseteq \operatorname{Con}({\mathbf{P}})\cap\operatorname{Con}({\mathbf{Q}})\). For the converse inclusions, let \({\mathbf{c}}\in \operatorname{Con}({\mathbf{P}})\cap\operatorname{Con}({\mathbf{Q}})\). There exists \(n,m\in\mathbb{N}_{>0}\) such that \(n{\mathbf{c}}\in{\mathbf{P}}\) and \(m{\mathbf{c}}\in {\mathbf{Q}}\). As \({\mathbf{P}}\) and \({\mathbf{Q}}\) are periodic, we deduce that \(nm{\mathbf{c}}\in{\mathbf{P}}\cap{\mathbf{Q}}\). Hence \({\mathbf{c}}\in \operatorname{Con}({\mathbf{P}}\cap{\mathbf{Q}})\). We have prove the first equality.
As \({\mathbf{P}}+{\mathbf{Q}}\) is included in the cone \(\operatorname{Con}({\mathbf{P}})+\operatorname{Con}({\mathbf{Q}})\), by minimality of the spanning cone, we deduce that \(\operatorname{Con}({\mathbf{P}}+{\mathbf{Q}})\subseteq \operatorname{Con}({\mathbf{P}})+\operatorname{Con}({\mathbf{Q}})\). For the converse inclusions, let \({\mathbf{c}}\in \operatorname{Con}({\mathbf{P}})+\operatorname{Con}({\mathbf{Q}})\). There exists \({\mathbf{x}}\in \operatorname{Con}({\mathbf{P}})\) and \({\mathbf{y}}\in\operatorname{Con}({\mathbf{Q}})\) such that \({\mathbf{c}}={\mathbf{x}}+{\mathbf{y}}\). It follows that there exists \(n,m\in\mathbb{N}_{>0}\) such that \(n{\mathbf{x}}\in{\mathbf{P}}\) and \(m{\mathbf{y}}\in {\mathbf{Q}}\). As \({\mathbf{P}}\) and \({\mathbf{Q}}\) are periodic, we deduce that \(nm{\mathbf{x}}\in{\mathbf{P}}\) and \(nm{\mathbf{y}}\in{\mathbf{Q}}\). From \(nm{\mathbf{x}}+nm{\mathbf{y}}\in {\mathbf{P}}+{\mathbf{Q}}\), we derive \({\mathbf{c}}\in\operatorname{Con}({\mathbf{P}}+{\mathbf{Q}})\). We have proved the second equality.
Finally, let us introduce the projection \(\pi:\mathbb{Q}^k\times\mathbb{Q}^d\rightarrow\mathbb{Q}^d\) defined by \(\pi({\mathbf{x}},{\mathbf{y}})={\mathbf{y}}\). As \(\pi({\mathbf{R}})\) is included in the cone \(\pi(\operatorname{Con}({\mathbf{R}}))\), by minimality of the spanning cone we deduce that \(\operatorname{Con}(\pi({\mathbf{R}}))\subseteq \pi(\operatorname{Con}({\mathbf{R}}))\). For the converse inclusion, let \({\mathbf{y}}\in \pi(\operatorname{Con}({\mathbf{R}}))\). There exist \({\mathbf{x}}\in\mathbb{Q}^k\) such that \(({\mathbf{x}},{\mathbf{y}})\in\operatorname{Con}({\mathbf{R}})\). It follows that there exists \(n\in\mathbb{N}_{>0}\) such that \(n({\mathbf{x}},{\mathbf{y}})\in {\mathbf{R}}\). Hence \(n{\mathbf{y}}\in \pi({\mathbf{R}})\) and we deduce that \({\mathbf{y}}\in\operatorname{Con}(\pi({\mathbf{R}}))\). We have proved5 the equality \(\operatorname{Con}(\pi({\mathbf{R}}))=\pi(\operatorname{Con}({\mathbf{R}}))\). That is the third equality. ◻
As the intersection of a group (which is necessarily finitely-generated) with a definable cone is Presburger-definable, hence, semilinear, we easily derive that if \({\mathbf{P}}\subseteq\mathbb{Z}^d\) is a periodic set, then \(\operatorname{Lin}({\mathbf{P}})\) is semilinear, if and only if, \({\mathbf{P}}\) is asymptotically-definable. Moreover, as the intersection of a group with a finitely-generated cone is a finitely-generated periodic set, we also deduce that a periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is asymptotically-definable if, and only if, \(\overline{\operatorname{Lin}}({\mathbf{P}}\cap{\mathbf{V}})\) is a finitely-generated periodic set for every vector space \({\mathbf{V}}\subseteq\mathbb{Q}^d\). In particular, the following result holds.
Lemma 5. For every asymptotically-definable periodic set \({\mathbf{P}}\subseteq \mathbb{N}^d\), the periodic set \(\overline{\operatorname{Lin}}({\mathbf{P}})\) is finitely-generated.
An almost linear set is a set \({\mathbf{L}}\subseteq \mathbb{Z}^d\) of the form \({\mathbf{b}}+{\mathbf{P}}\) where \({\mathbf{b}}\in\mathbb{Z}^d\) and \({\mathbf{P}}\subseteq \mathbb{Z}^d\) is an asymptotically-definable periodic set. An almost semilinear set is a finite union of almost linear sets.
Lemma 6. Every almost semilinear periodic set is asymptotically-definable.
Proof. Assume that \({\mathbf{P}}\mathrel{\vcenter{:}}= ({\mathbf{b}}_1+{\mathbf{P}}_1)\cup ({\mathbf{b}}_n+{\mathbf{P}}_n)\) is a periodic set such that \({\mathbf{b}}_1,\ldots,{\mathbf{b}}_n\in\mathbb{Z}^d\), and \({\mathbf{P}}_1,\ldots,{\mathbf{P}}_n\subseteq \mathbb{Z}^d\) are asymptotically-definable periodic set. Since \({\mathbf{P}}\) is periodic, we deduce that \({\mathbf{P}}=\operatorname{Per}(\{{\mathbf{b}}_1,\ldots,{\mathbf{b}}_n\})+{\mathbf{P}}_1+\cdots+{\mathbf{P}}_n\). It follows that \({\mathbf{P}}\) is an asymptotically-definable periodic set from 4. ◻
Let us recall from [22] that the intersection of IBVAS reachability sets with semilinear sets are almost semilinear. This result can be easily extended to the relation \(\xrightarrow{\mathcal{S}}\) of an IBVAS by using the doubling counter technique, well-known for VAS, and formally defined in the proof of the following lemma. Recall from 3 that \({\xrightarrow{\mathcal{S}}} \subseteq \mathbb{N}^d \times \mathbb{N}^d\) is defined by \({\mathbf{x}} \xrightarrow{\mathcal{S}} {\mathbf{y}}\) if \({\mathbf{y}} \in \operatorname{Reach}_{}({\mathbf{\Delta}}_0^* \, {\mathbf{x}} \, {\mathbf{\Delta}}_0^*)\).
Lemma 7. For every IBVAS \(\mathcal{S}\), the intersection of \(\xrightarrow{\mathcal{S}}\) with a semilinear relation included in \(\mathbb{N}^d\times\mathbb{N}^d\) is an almost semilinear relation.
Proof. Let \(\mathcal{S}\mathrel{\vcenter{:}}=({\mathbf{\Delta}}_0,({\mathbf{\Delta}}_1,\ldots,{\mathbf{\Delta}}_r))\) be an IBVAS and let us prove that there exists an IBVAS \(\mathcal{S}'\) such that a section of \(\operatorname{Reach}_{}(\mathcal{S}')\) is exactly \(\xrightarrow{\mathcal{S}}\). The number of counters of \(\mathcal{S}'\) is \(2+2d\) and vectors in \(\mathbb{Z}^{2+2d}\) are denoted by tuples in \(\mathbb{Z}^2\times \mathbb{Z}^d\times\mathbb{Z}^d\).
We introduce the set \({\mathbf{E}}\) of tuples \(((-1,1),{\mathbf{e}}_i,{\mathbf{e}}_i)\) and \(((1,-1),{\mathbf{e}}_i,{\mathbf{e}}_i)\) where \(i\in\{1,\ldots,n\}\) and \({\mathbf{e}}_i\) is the \(i\)th unit vector of \(\mathbb{N}^d\) defined by \({\mathbf{e}}_i(i)=1\) and \({\mathbf{e}}_i(j)=0\) if \(j\not=i\). We introduce the set \({\mathbf{T}}_n\mathrel{\vcenter{:}}= \{((0,0),{\mathbf{0}})\}\times{\mathbf{\Delta}}_n\) for each \(n\in\{0,\ldots,r\}\) and the IBVAS \(\mathcal{S}'\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0',({\mathbf{\Delta}}_1',\ldots,{\mathbf{\Delta}}_r'))\) where \({\mathbf{\Delta}}'_0\mathrel{\vcenter{:}}= {\mathbf{T}}_0\cup \{((1,0),{\mathbf{0}},{\mathbf{0}}), ((0,1),{\mathbf{0}},{\mathbf{0}})\}\), \({\mathbf{\Delta}}'_1\mathrel{\vcenter{:}}= {\mathbf{T}}_1\cup {\mathbf{E}}\), and \({\mathbf{\Delta}}_n'\mathrel{\vcenter{:}}={\mathbf{T}}_n\) if \(n\geq 2\).
Observe by structural induction on the runs of \(\mathcal{S}\) and \(\mathcal{S}'\) that for every \((a,b)\in\mathbb{N}^2\) and \(({\mathbf{x}},{\mathbf{y}})\in \mathbb{N}^d\times\mathbb{N}^d\) we have: \[((a,b),{\mathbf{x}},{\mathbf{y}})\in \operatorname{Reach}_{}(\mathcal{S}')\Longleftrightarrow \begin{cases} {\mathbf{x}}={\mathbf{0}}\wedge {\mathbf{y}}\in \operatorname{Reach}_{}(\mathcal{S}) & \text{ if }(a,b)=(0,0)\\ {\mathbf{x}} \xrightarrow{\mathcal{S}} {\mathbf{y}}& \text{ if }a+b=1\\ \end{cases}\] Since the intersections of IBVAS reachability sets with semilinear sets are almost semilinear [22], we deduce that \(\operatorname{Reach}_{}(\mathcal{S}')\cap (\{(1,0),(0,1)\}\times\mathbb{N}^d\times\mathbb{N}^d)\) is almost semilinear. This set is exactly \(\{(1,0),(0,1)\}\times (\xrightarrow{\mathcal{S}})\). Finally, let us introduce the projection function \(\pi:\mathbb{Z}^2\times\mathbb{Z}^d\times\mathbb{Z}^d \rightarrow\mathbb{Z}^d\times\mathbb{Z}^d\) defined by \(\pi((a,b),{\mathbf{x}},{\mathbf{y}})\mathrel{\vcenter{:}}=({\mathbf{x}},{\mathbf{y}})\). 4 shows that the image by \(\pi\) of an asymptotically-definable periodic set is an asymptotically-definable periodic set. We deduce that the image by \(\pi\) of an almost semilinear set is an almost semilinear set. In particular, since \(\pi(\{(1,0),(0,1)\}\times (\xrightarrow{\mathcal{S}}))\) is equal to \(\xrightarrow{\mathcal{S}}\), we are done. ◻
Almost semilinear sets \({\mathbf{S}}\mathrel{\vcenter{:}}={\mathbf{b}}_1+{\mathbf{P}}_1\cup\ldots\cup{\mathbf{b}}_n+{\mathbf{P}}_n\) can be over-approximated by semilinear sets \({\mathbf{b}}_1+{\mathbf{Q}}_1\cup\ldots\cup{\mathbf{b}}_n+{\mathbf{Q}}_n\) obtained by replacing each asymptotically-definable periodic set \({\mathbf{P}}_i\) by the finitely-generated periodic set \({\mathbf{Q}}_i\mathrel{\vcenter{:}}=\overline{\operatorname{Lin}}({\mathbf{P}}_i)\). In order to recover from vectors in this over-approximation, vectors in \({\mathbf{S}}\), the following lemma will be central.
Lemma 8. Let \({\mathbf{P}} \subseteq \mathbb{N}^d\) be a periodic set and let \({\mathbf{Q}} \mathrel{\vcenter{:}}= \overline{\operatorname{Lin}}({\mathbf{P}})\). There exists a vector \({\mathbf{p}} \in {\mathbf{P}}\) such that for every \({\mathbf{g}} \in {\mathbf{P}}-{\mathbf{P}}\) and every \({\mathbf{x}} \in {\mathbf{p}} + {\mathbf{Q}}\), there exists \(r \in \mathbb{N}\) verifying \({\mathbf{g}} + (r + \mathbb{N}){\mathbf{x}} \subseteq {\mathbf{P}}\).
The previous lemma is a corollary of some geometrical results about the center of a periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\), written \(\operatorname{Cent}({\mathbf{P}})\) and defined as the set of vectors \({\mathbf{v}}\in \mathbb{Z}^d\) such that for every \({\mathbf{g}}\in{\mathbf{P}}-{\mathbf{P}}\) there exists \(r\in\mathbb{N}\) satisfying \({\mathbf{g}}+(r+\mathbb{N}){\mathbf{v}}\subseteq {\mathbf{P}}\).
Lemma 9. The center of a periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\) coincides with the set of vectors in \({\mathbf{P}}-{\mathbf{P}}\) of the form \(\mathbb{Q}_{>0}{\mathbf{p}}_1+\cdots+\mathbb{Q}_{>0}{\mathbf{p}}_n\) where \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_n\) is a sequence of vectors in \({\mathbf{P}}\) spanning the vector space \(\operatorname{Vec}({\mathbf{P}})\).
Proof. Assume first that \({\mathbf{v}}\) is a vector in the center of \({\mathbf{P}}\) and let \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_n\) be a sequence of vectors in \({\mathbf{P}}\) spanning the vector space \(\operatorname{Vec}({\mathbf{P}})\), and let \({\mathbf{p}}\mathrel{\vcenter{:}}={\mathbf{p}}_1+\cdots+{\mathbf{p}}_n\). There exists \(r\in\mathbb{N}\) such that \(-{\mathbf{p}}+(r+\mathbb{N}){\mathbf{v}}\subseteq {\mathbf{P}}\). It follows that \((r+1){\mathbf{v}}\) and \(r{\mathbf{v}}\) are both in \({\mathbf{P}}\). From \({\mathbf{v}}=(r+1){\mathbf{v}}-r{\mathbf{v}}\), we derive \({\mathbf{v}}\in {\mathbf{P}}-{\mathbf{P}}\). Let \({\mathbf{p}}_{n+1}\mathrel{\vcenter{:}}= (r+1){\mathbf{v}}-{\mathbf{p}}\) and observe that \({\mathbf{v}}=\frac{1}{r+1}({\mathbf{p}}_1+\cdots+{\mathbf{p}}_{n+1})\). Since \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_{n+1}\) is a sequence of vectors in \({\mathbf{P}}\) spanning \(\operatorname{Vec}({\mathbf{P}})\), we are done. Now, let us assume that \({\mathbf{v}}\in{\mathbf{P}}-{\mathbf{P}}\) is such that there exists a sequence \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_n\) of vectors in \({\mathbf{P}}\) spanning \(\operatorname{Vec}({\mathbf{P}})\) and such that \({\mathbf{v}}\in \mathbb{Q}_{>0}{\mathbf{p}}_1+\cdots+\mathbb{Q}_{>0}{\mathbf{p}}_n\). Let \({\mathbf{g}}\in{\mathbf{P}}-{\mathbf{P}}\). There exists \({\mathbf{p}}\in{\mathbf{P}}\) such that \({\mathbf{g}}+{\mathbf{p}}\in{\mathbf{P}}\). Since \({\mathbf{v}}\in{\mathbf{P}}-{\mathbf{P}}\), there exists \({\mathbf{q}}\in{\mathbf{P}}\) such that \({\mathbf{v}}+{\mathbf{q}}\in {\mathbf{P}}\). As \(-({\mathbf{p}}+{\mathbf{q}})\in \operatorname{Vec}({\mathbf{P}})=\mathbb{Q}{\mathbf{p}}_1+\cdots+\mathbb{Q}{\mathbf{p}}_n\), there exists \(m\in \mathbb{N}_{>0}\) such that \(-m({\mathbf{p}}+{\mathbf{q}})\in \mathbb{Z}{\mathbf{p}}_1+\cdots+\mathbb{Z}{\mathbf{p}}_n\). There also exists \(r\in\mathbb{N}_{>0}\) such that \(r{\mathbf{v}}\in \mathbb{N}_{>0}{\mathbf{p}}_1+\cdots+\mathbb{N}_{>0}{\mathbf{p}}_n\). By replacing \(r\) by a multiple of \(r\), we can also assume that \(-m({\mathbf{p}}+{\mathbf{q}})+r{\mathbf{v}}\in\mathbb{N}{\mathbf{p}}_1+\cdots+\mathbb{N}{\mathbf{p}}_n\). It follows that \(-m({\mathbf{p}}+{\mathbf{q}})+r{\mathbf{v}}\in{\mathbf{P}}\). We deduce that \(r{\mathbf{v}}\in {\mathbf{p}}+{\mathbf{P}}\), \(r{\mathbf{v}}\in {\mathbf{q}}+{\mathbf{P}}\), and \(r{\mathbf{v}}\in{\mathbf{P}}\). Now, let \(n\geq r^2+r\). The Euclidean divisor of \(n-(r^2+r)\) by \(r\) shows that there exists \(z\in \mathbb{N}\) and \(i\in\{0,\ldots,r-1\}\) such that \(n=r^2+r+zr+i\). It follows that \(n{\mathbf{v}}=r(r{\mathbf{v}})+r{\mathbf{v}}+zr{\mathbf{v}}+i{\mathbf{v}}\in r{\mathbf{q}}+{\mathbf{P}}+{\mathbf{p}}+{\mathbf{P}}+{\mathbf{P}}+i{\mathbf{v}}\subseteq (r-i){\mathbf{q}}+{\mathbf{p}}+i({\mathbf{v}}+{\mathbf{q}})+{\mathbf{P}}\subseteq {\mathbf{p}}+{\mathbf{P}}\). From \({\mathbf{g}}+{\mathbf{p}}\in {\mathbf{P}}\) we deduce that \({\mathbf{g}}+n{\mathbf{v}}\subseteq {\mathbf{P}}\). We have proved that \({\mathbf{g}}+(r^2+r+\mathbb{N}){\mathbf{v}}\subseteq {\mathbf{P}}\). Hence \({\mathbf{v}}\in\operatorname{Cent}({\mathbf{P}})\). ◻
Lemma 10. For every periodic set \({\mathbf{P}}\subseteq \mathbb{Z}^d\), it holds that \(\operatorname{Cent}({\mathbf{P}})+\overline{\operatorname{Lin}}({\mathbf{P}})=\operatorname{Cent}({\mathbf{P}})\).
Proof. Since \({\mathbf{0}}\in \overline{\operatorname{Lin}}({\mathbf{P}})\), the inclusion \(\operatorname{Cent}({\mathbf{P}})+\overline{\operatorname{Lin}}({\mathbf{P}})\supseteq\operatorname{Cent}({\mathbf{P}})\) is trivial. Let us prove the converse inclusion. We introduce the vector space \({\mathbf{V}}\mathrel{\vcenter{:}}=\operatorname{Vec}({\mathbf{P}})\). Let \({\mathbf{v}}\in \operatorname{Cent}({\mathbf{P}})\) and \({\mathbf{q}}\in \overline{\operatorname{Lin}}({\mathbf{P}})\). From 9, we deduce that \({\mathbf{v}}\in{\mathbf{P}}-{\mathbf{P}}\) and there exists a sequence \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_n\) of vectors in \({\mathbf{P}}\) spanning \({\mathbf{V}}\) and such that \({\mathbf{v}}=\lambda_1{\mathbf{p}}_1+\cdots+\lambda_n{\mathbf{p}}_n\) for some rational numbers \(\lambda_1,\ldots,\lambda_n\in\mathbb{Q}_{>0}\). Since \({\mathbf{q}}\in\overline{\operatorname{Lin}}({\mathbf{P}})\), we deduce that \({\mathbf{q}}\in{\mathbf{P}}-{\mathbf{P}}\). It follows that \({\mathbf{v}}+{\mathbf{q}}\in{\mathbf{P}}-{\mathbf{P}}\). Since \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_n\) is spanning the vector space \({\mathbf{V}}\), from Cramer’s rules, there exists a sequence \({\mathbf{a}}_1,\ldots,{\mathbf{a}}_n\in\mathbb{Q}^d\) such that for every \({\mathbf{w}}\in{\mathbf{V}}\), we have: \[{\mathbf{w}}=\sum_{i=1}^n({\mathbf{a}}_i\cdot{\mathbf{w}}){\mathbf{p}}_i\] Observe that there exists \(\varepsilon\in\mathbb{Q}_{>0}\) such that \(d{\mathopen{\|}{\mathbf{a}}_i\mathclose{\|}}\varepsilon<\lambda_i\) for every \(1\leq i\leq n\). Since \(|{\mathbf{a}}_i\cdot{\mathbf{w}}|\leq d{\mathopen{\|}{\mathbf{a}}_i\mathclose{\|}}\epsilon<\lambda_i\) for every \({\mathbf{w}}\in \operatorname{Ball}_{{\mathbf{0}},\varepsilon}\), we deduce the following inclusion: \[\label{eq:ballinclusion} \operatorname{Ball}_{{\mathbf{0}},\varepsilon}\cap{\mathbf{V}}\subseteq (-\lambda_1,\lambda_1){\mathbf{p}}_1+\cdots+(-\lambda_n,\lambda_n){\mathbf{p}}_n\tag{1}\] As \({\mathbf{q}}\in \overline{\operatorname{Con}({\mathbf{P}})}\), there exists \({\mathbf{x}}\in \operatorname{Ball}_{{\mathbf{q}},\varepsilon}\cap\operatorname{Con}({\mathbf{P}})\). Let \({\mathbf{w}}\mathrel{\vcenter{:}}={\mathbf{q}}-{\mathbf{x}}\). Since \({\mathbf{w}}\in \operatorname{Ball}_{{\mathbf{0}},\varepsilon}\cap{\mathbf{V}}\) and \({\mathbf{v}}=\lambda_1{\mathbf{p}}_1+\cdots+\lambda_n{\mathbf{p}}_n\), we deduce from 1 that \({\mathbf{v}}+{\mathbf{w}}\in \mathbb{Q}_{>0}{\mathbf{p}}_1+\cdots+\mathbb{Q}_{>0}{\mathbf{p}}_n\). Since \({\mathbf{x}}\in\operatorname{Con}({\mathbf{P}})\), there exists \({\mathbf{p}}_{n+1}\in {\mathbf{P}}\) such that \({\mathbf{x}}\in\mathbb{Q}_{>0}{\mathbf{p}}_{n+1}\). From \({\mathbf{v}}+{\mathbf{q}}={\mathbf{v}}+{\mathbf{w}}+{\mathbf{x}}\), we derive \({\mathbf{v}}+{\mathbf{q}}\in \mathbb{Q}_{>0}{\mathbf{p}}_1+\cdots+\mathbb{Q}_{>0}{\mathbf{p}}_{n+1}\). 9 shows that \({\mathbf{v}}+{\mathbf{q}}\in \operatorname{Cent}({\mathbf{P}})\). ◻
Finally, let us prove 8. Let \({\mathbf{P}} \subseteq \mathbb{N}^d\) be a periodic set and let \({\mathbf{Q}} \mathrel{\vcenter{:}}= \overline{\operatorname{Lin}}({\mathbf{P}})\). Let \({\mathbf{p}}\) be a vector obtained as a sum of vectors in \({\mathbf{P}}\) spanning the vector space \(\operatorname{Vec}({\mathbf{P}})\). Lemma 9 shows that \({\mathbf{p}}\in \operatorname{Cent}({\mathbf{P}})\). Let \({\mathbf{g}}\in{\mathbf{P}}-{\mathbf{P}}\) and \({\mathbf{x}}\in {\mathbf{p}}+{\mathbf{Q}}\). Lemma 10 shows that \({\mathbf{x}}\in\operatorname{Cent}({\mathbf{P}})\). It follows that there exists \(r\in\mathbb{N}\) such that \({\mathbf{g}}+(r+\mathbb{N}){\mathbf{x}}\subseteq {\mathbf{P}}\). We have proved the lemma.
It was shown in [22] that the reachability set of any IBVAS is almost semilinear.
In this section, we refine this result by exhibiting an almost semilinear decomposition. More precisely, we show that for every irun \(\rho\) of an IBVAS \(\mathcal{S}\), the periodic set6 \({\mathbf{P}}_\rho\) is asymptotically-definable. This property entails that the reachability set of \(\mathcal{S}\) is the almost semilinear set \(\bigcup_{\rho \in M} \operatorname{tgt}(\rho) + {\mathbf{P}}_\rho\) where \(M\) is the finite set \(M \mathrel{\vcenter{:}}= \operatorname{Min}_{\trianglelefteq}(\operatorname{IRuns}(\mathcal{S}))\). More importantly for us, the asymptotic definability of the periodic sets \({\mathbf{P}}_\rho\) will allow us to prove 2.
We introduce for a configurations \({\mathbf{c}}\in\mathbb{N}^d\) the so-called transformer relation [18] \(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}\) defined over \(\mathbb{N}^d\) by \({\mathbf{x}}\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}{\mathbf{y}}\) if \({\mathbf{c}}+{\mathbf{x}}\xrightarrow{\mathcal{S}} {\mathbf{c}}+{\mathbf{y}}\).
Lemma 11. The transformer relation \(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}\) is an asymptotically-definable periodic relation.
Proof. Since \(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}\) is equal to \((\xrightarrow{\mathcal{S}}\cap (({\mathbf{c}},{\mathbf{c}})+\mathbb{N}^d\times\mathbb{N}^d))-({\mathbf{c}},{\mathbf{c}})\), we deduce from 7 that \(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}\) is an almost semilinear relation. Clearly \(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}\) is transitive and reflexive. Moreover, it is periodic since \({\mathbf{x}}_1 \stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}{\mathbf{y}}_1\) and \({\mathbf{x}}_2 \stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}{\mathbf{y}}_2\) implies \({\mathbf{x}}_1+{\mathbf{x}}_2 \stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}{\mathbf{y}}_1+{\mathbf{x}}_2\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}{\mathbf{y}}_1+{\mathbf{y}}_2\). It follows from 6 that \(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}\) is asymptotically-definable. ◻
We are now ready to prove the following lemma.
Lemma 12. The periodic set \({\mathbf{P}}_\rho\) is asymptotically-definable for every irun \(\rho\in\operatorname{IRuns}(\mathcal{S})\).
Proof. Notice that for every irun \(\rho\mathrel{\vcenter{:}}=({\mathbf{c}},\rho_1,\ldots,\rho_n)\) the following equality holds: \[{\mathbf{P}}_\rho=\{{\mathbf{y}}\in \mathbb{N}^d \mid \exists {\mathbf{x}}\in {\mathbf{P}}_{\rho_1}+\cdots+{\mathbf{P}}_{\rho_n} \mid {\mathbf{x}} \stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright}{\mathbf{y}}\}\] From 4, we derive the following equality: \[\operatorname{Con}({\mathbf{P}}_\rho)=\{{\mathbf{y}}\in \mathbb{Q}_{\geq 0}^d \mid \exists {\mathbf{x}}\in \operatorname{Con}({\mathbf{P}}_{\rho_1})+\cdots+\operatorname{Con}({\mathbf{P}}_{\rho_n}) \mid ({\mathbf{x}},{\mathbf{y}}) \in\operatorname{Con}(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright})\}\] Let us recall from 11 that \(\operatorname{Con}(\stackrel{\mathcal{S},{\mathbf{c}}}{\curvearrowright})\) is a definable cone. So, by induction on the structure of \(\rho\), the previous equality shows that \(\operatorname{Con}({\mathbf{P}}_\rho)\) is a definable cone. ◻
We conclude this subsection with the proof of 2. Recall that this lemma claims that the periodic set \({\mathbf{Q}}_w\) is finitely-generated for every directed irun \(w\) of an IBVAS \(\mathcal{S}\). Let us also recall that, by definition, \({\mathbf{P}}_w = {\mathbf{P}}_{\rho_w} \cap {\mathbf{C}}_w\) and \({\mathbf{Q}}_w = \overline{\operatorname{Lin}}({\mathbf{P}}_w)\). We derive that \(\operatorname{Con}({\mathbf{P}}_w) = \operatorname{Con}({\mathbf{P}}_{\rho_w}) \cap {\mathbf{C}}_w\) is definable, since \(\operatorname{Con}({\mathbf{P}}_{\rho_w})\) is definable and \({\mathbf{C}}_w\) is a finitely-generated cone. It follows from 5 that \({\mathbf{Q}}_w\) is finitely-generated. We also observe that \(\operatorname{tgt}(\operatorname{IRuns}(w)) = \operatorname{tgt}(\rho_w) + {\mathbf{P}}_w\) is almost linear.
In this section, we present the main ingredient for the first step of our proof, namely the step where we expand the attractor (see the overview at the end of 3). This main ingredient is provided by the following technical lemma, that we call safe linearization lemma for BVAS.
Lemma 13. Let \({\mathbf{I}}\) be an inductive invariant for an IBVAS \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\) of the form \({\mathbf{I}}= {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})\) for some semilinear set \({\mathbf{A}} \subseteq \mathbb{N}^d\), and let \({\mathbf{b}} + {\mathbf{P}} \subseteq \mathbb{N}^d\) be an almost linear set. Define \({\mathbf{Q}} \mathrel{\vcenter{:}}= \overline{\operatorname{Lin}}({\mathbf{P}})\). For every semilinear set \({\mathbf{T}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}(({\mathbf{b}} + {\mathbf{P}}) \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}} \subseteq {\mathbf{I}}+ {\mathbf{Q}}\), there exists \(p \in {\mathbf{P}}\) such that \(\operatorname{Reach}_{}(({\mathbf{b}} + {\mathbf{p}} + {\mathbf{Q}})^+ \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}}\).
The remainder of this section is devoted to the proof of 13. Apart from this lemma, the material presented in this section is not used in the sequel. Firstly, we introduce a natural extension of VAS, shortly called WSVAS, and prove a safe linearization lemma for this extension. Secondly, we show how to simulate BVAS runs with source in \({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*\), where \({\mathbf{X}} \subseteq \mathbb{N}^d\), by WSVAS runs with source in \({\mathbf{X}}\). Thirdly, we prove that \(\operatorname{Reach}_{}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*) = \operatorname{Reach}_{}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) under a suitable condition on \({\mathbf{X}} \subseteq \mathbb{N}^d\). Lastly, we combine these three results to prove 13.
In this subsection, we prove a safe linearization lemma for an extension of VAS that permits infinitely many actions. The definition of this extension relies on the notion of diamond maps. We call a map \(f\) from a qoset \((X, \preceq)\) to \((\mathbb{Z}^d, \leq)\) diamond7 when for every \(x, a, b \in X\) such that \(x \sqsubseteq a, b\), there exists \(y \in X\) such that \(a, b \sqsubseteq y\) and \(f(x) + f(y) = f(a) + f(b)\).
A well-structured VAS (or WSVAS for short) is a triple \(\mathcal{V}\mathrel{\vcenter{:}}=(T, \sqsubseteq, \delta)\) where \((T, \sqsubseteq)\) is a wqo and \(\delta\) is an order-preserving and diamond map from \((T, \sqsubseteq)\) to \((\mathbb{Z}^d, \leq)\). Elements of \(T\) are called transitions. Given a transition \(t \in T\), the vector \(\delta(t) \in \mathbb{Z}^d\) is called the action of \(t\). Notice that every plain VAS \({\mathbf{A}} \subseteq \mathbb{Z}^d\) can be viewed as a WSVAS \((T, \sqsubseteq, \delta)\) by letting \(T\) be the finite set \({\mathbf{A}}\), \(\sqsubseteq\) be the equality relation on \({\mathbf{A}}\), and \(\delta\) be the identity function on \({\mathbf{A}}\).
We extend to WSVAS the usual semantic notions associated with VAS. This extension is natural, but we provide the details for the sake of completeness. Let us consider a WSVAS \(\mathcal{V}\mathrel{\vcenter{:}}=(T, \sqsubseteq, \delta)\) for the rest of this subsection. A configuration of \(\mathcal{V}\) is (as usual) a vector in \(\mathbb{N}^d\). A run of \(\mathcal{V}\) is a finite, non-empty, alternating sequence \(\rho \mathrel{\vcenter{:}}=({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\) of configurations \({\mathbf{c}}_i\) and transitions \(t_i\), satisfying \({\mathbf{c}}_i = {\mathbf{c}}_{i-1} + \delta(t_i)\) for all \(i \in \{1, \ldots, k\}\). We call \(k\) the length of \(\rho\), \({\mathbf{c}}_0\) the source of \(\rho\), written \(\operatorname{src}(\rho)\), and \({\mathbf{c}}_k\) the target of \(\rho\), written \(\operatorname{tgt}(\rho)\). The direction of \(\rho\) is the pair \(\operatorname{dir}(\rho) \mathrel{\vcenter{:}}=(\operatorname{src}(\rho), \operatorname{tgt}(\rho))\). The set of runs of \(\mathcal{V}\) is written \(\operatorname{Runs}(\mathcal{V})\). Given a set \({\mathbf{X}} \subseteq \mathbb{N}^d\), we let \(\operatorname{Reach}_{}({\mathbf{X}})\) denote the set of targets of runs \(\rho\) such that \(\operatorname{src}(\rho) \in {\mathbf{X}}\).
It is well-known that VAS runs can be equipped with a well-quasi-order [17], [37] that satisfies the amalgamation property [13]. This well-quasi-order can be lifted to WSVAS as follows. We introduce the binary relation \(\trianglelefteq\) on runs of \(\mathcal{V}\) defined by \(\rho \trianglelefteq \sigma\) if \(\rho = ({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\) and \(\sigma = \sigma_0 u_1 \sigma_1 \cdots u_k \sigma_k\) for some configurations \({\mathbf{c}}_0, \ldots, {\mathbf{c}}_k \in \mathbb{N}^d\), some runs \(\sigma_0, \ldots, \sigma_k \in \operatorname{Runs}(\mathcal{V})\) and some transitions \(t_1, \ldots, t_k, u_1, \ldots, u_k \in T\) such that \({\mathbf{c}}_i \leq \operatorname{src}(\sigma_i), \operatorname{tgt}(\sigma_i)\) for all \(i \in \{0, \ldots, k\}\) and \(t_i \sqsubseteq u_i\) for all \(i \in \{1, \ldots, k\}\). By lifting to WSVAS the proof arguments for VAS [13], [17], [37], we obtain that \(\trianglelefteq\) is a well-quasi-order that satisfies the amalgamation property, see [lem:wsvas-wqo-and-amalgamation] for the precise statement. The detailed proof of this lemma is deferred to 11 to avoid disrupting the flow of the paper.
lemmalemWsvasWqoAndAmalgamation The pair \((\operatorname{Runs}(\mathcal{V}), \trianglelefteq)\) is a wqo and satisfies the amalgamation property, i.e., for every runs \(\rho \trianglelefteq \alpha, \beta\), there exists a run \(\sigma\) such that \(\alpha, \beta \trianglelefteq \sigma\) and \(\operatorname{dir}(\rho) + \operatorname{dir}(\sigma) = \operatorname{dir}(\alpha) + \operatorname{dir}(\beta)\).
Corollary 1. For every runs \(\rho \trianglelefteq \sigma\) and for every \(r \in \mathbb{N}_{>0}\), there exists a run \(\sigma \trianglelefteq \tau\) such that \(\operatorname{dir}(\tau) = \operatorname{dir}(\rho) + r (\operatorname{dir}(\sigma) - \operatorname{dir}(\rho))\).
Proof. The corollary follows from [lem:wsvas-wqo-and-amalgamation] by induction on \(r\). ◻
Notice that \(\operatorname{dir}(\rho) \leq \operatorname{dir}(\sigma)\) for every runs \(\rho \trianglelefteq \sigma\). So an equivalent formulation of [lem:wsvas-wqo-and-amalgamation] is that the triple \((\operatorname{Runs}(\mathcal{V}), \trianglelefteq, \operatorname{dir}(\cdot))\) is itself a WSVAS (but of dimension \(2d\)). We conclude this subsection with a safe linearization lemma for WSVAS. This lemma will be used in 5.4 to prove our safe linearization lemma for BVAS.
Lemma 14. Let \({\mathbf{b}} + {\mathbf{P}} \subseteq \mathbb{N}^d\) be an almost linear set and define \({\mathbf{Q}} \mathrel{\vcenter{:}}= \overline{\operatorname{Lin}}({\mathbf{P}})\). For every semilinear set \({\mathbf{T}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}({\mathbf{b}} + {\mathbf{P}}) \subseteq {\mathbf{T}}\), there exists \({\mathbf{p}} \in {\mathbf{P}}\) such that \(\operatorname{Reach}_{}({\mathbf{b}} + {\mathbf{p}} + {\mathbf{Q}}) \subseteq {\mathbf{T}}\).
Proof. We introduce, for every semilinear set \({\mathbf{S}} \subseteq \mathbb{N}^d\), the binary relation \(\preceq_{{\mathbf{S}}}\) on \({\mathbf{S}}\) defined by \({\mathbf{x}} \preceq_{{\mathbf{S}}} {\mathbf{y}}\) if \({\mathbf{x}} + \mathbb{N}({\mathbf{y}} - {\mathbf{x}}) \subseteq {\mathbf{S}}\). This relation need not be transitive, but it is almost-full.8 Indeed, for every infinite sequence \({\mathbf{x}}_0, {\mathbf{x}}_1, {\mathbf{x}}_2, \ldots\) of elements in \({\mathbf{S}}\), there exist \(m, n \in \mathbb{N}\) with \(m < n\) such that \({\mathbf{x}}_m \preceq_{{\mathbf{S}}} {\mathbf{x}}_n\). The reason is twofold. First, there is a linear set \({\mathbf{L}} \mathrel{\vcenter{:}}= {\mathbf{b}}_{{\mathbf{L}}} + {\mathbf{Q}}_{{\mathbf{L}}} \subseteq {\mathbf{S}}\) that contains infinitely many \({\mathbf{x}}_i\). Second, \(({\mathbf{L}}, \leq_{{\mathbf{Q}}_{{\mathbf{L}}}})\) is a wqo (see 2.1.0.2) and \({\mathbf{x}} \preceq_{{\mathbf{L}}} {\mathbf{y}}\) for every \({\mathbf{x}}, {\mathbf{y}} \in {\mathbf{L}}\) with \({\mathbf{x}} \leq_{{\mathbf{Q}}_{{\mathbf{L}}}} {\mathbf{y}}\).
Let us now prove the lemma. Consider a semilinear set \({\mathbf{T}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}({\mathbf{b}} + {\mathbf{P}}) \subseteq {\mathbf{T}}\). According to 8, there exists a vector \({\mathbf{p}} \in {\mathbf{P}}\) such that for every \({\mathbf{q}} \in {\mathbf{Q}}\) and every \({\mathbf{x}} \in {\mathbf{p}} + {\mathbf{Q}}\), there exists \(r \in \mathbb{N}_{> 0}\) verifying \({\mathbf{q}} + r {\mathbf{x}} \in {\mathbf{P}}\). We introduce the set \({\mathbf{S}}_n \mathrel{\vcenter{:}}={\mathbf{b}} + n {\mathbf{p}} + {\mathbf{Q}}\) for each \(n \in \mathbb{N}\). Note that \(n {\mathbf{p}} \in {\mathbf{P}}\) for every \(n \in \mathbb{N}\), since \({\mathbf{P}}\) is periodic. It follows that to prove the lemma, we only need to show that \(\operatorname{Reach}_{}({\mathbf{S}}_n) \subseteq {\mathbf{T}}\) for some \(n \in \mathbb{N}\).
Suppose by contradiction that \(\operatorname{Reach}_{}({\mathbf{S}}_n) \not\subseteq {\mathbf{T}}\) for every \(n \in \mathbb{N}\). This means that for every \(n \in \mathbb{N}\), there exists a run \(\rho_n\) from some \({\mathbf{s}}_n \in {\mathbf{S}}_n\) to some \({\mathbf{t}}_n \in (\mathbb{N}^d \setminus {\mathbf{T}})\). We can write each \({\mathbf{s}}_n\) under the form \({\mathbf{s}}_n = {\mathbf{b}} + n {\mathbf{p}} + {\mathbf{q}}_n\) for some \({\mathbf{q}}_n \in {\mathbf{Q}}\).
Recall that \((\operatorname{Runs}(\mathcal{V}), \trianglelefteq)\) is a wqo by [lem:wsvas-wqo-and-amalgamation]. Recall also that \(({\mathbf{Q}}, \leq_{{\mathbf{Q}}})\) is a wqo since \({\mathbf{Q}}\) is a finitely-generated periodic set (see 2.1.0.2). As \(\mathbb{N}^d \setminus {\mathbf{T}}\) is semilinear, the relation \(\preceq_{\mathbb{N}^d \setminus {\mathbf{T}}}\) is almost-full (see above). So we can find an increasing pair \(m, n \in \mathbb{N}\) with \(m < n\) such that \(\rho_m \trianglelefteq \rho_n\), \({\mathbf{q}}_m \leq_{{\mathbf{Q}}} {\mathbf{q}}_n\) and \({\mathbf{t}}_m \preceq_{\mathbb{N}^d \setminus {\mathbf{T}}} {\mathbf{t}}_n\). Let us define \({\mathbf{y}} \mathrel{\vcenter{:}}= m {\mathbf{p}} + {\mathbf{q}}_m\) and \({\mathbf{x}} \mathrel{\vcenter{:}}={\mathbf{q}}_n - {\mathbf{q}}_m + (n-m) {\mathbf{p}}\). Observe that \({\mathbf{y}} \in {\mathbf{Q}}\) and that \({\mathbf{x}} \in {\mathbf{p}} + {\mathbf{Q}}\) since \({\mathbf{p}} \in {\mathbf{P}} \subseteq {\mathbf{Q}}\). We derive that there exists \(r \in \mathbb{N}_{> 0}\) such that \({\mathbf{y}} + r {\mathbf{x}} \in {\mathbf{P}}\).
According to 1 applied to \(\rho_m \trianglelefteq \rho_n\), there exists a run \(\tau\) such that \(\operatorname{src}(\tau) = {\mathbf{s}}_m + r({\mathbf{s}}_n - {\mathbf{s}}_m)\) and \(\operatorname{tgt}(\tau) = {\mathbf{t}}_m + r({\mathbf{t}}_n - {\mathbf{t}}_m)\). Observe that \(\operatorname{tgt}(\tau) \in (\mathbb{N}^d \setminus {\mathbf{T}})\) since \({\mathbf{t}}_m, {\mathbf{t}}_n \in (\mathbb{N}^d \setminus {\mathbf{T}})\) and \({\mathbf{t}}_m \preceq_{\mathbb{N}^d \setminus {\mathbf{T}}} {\mathbf{t}}_n\). Moreover, it is readily seen that \(\operatorname{src}(\tau) = {\mathbf{b}} + {\mathbf{y}} + r {\mathbf{x}}\), hence, \(\operatorname{src}(\tau) \in {\mathbf{b}} + {\mathbf{P}}\). This contradicts the assumption that \(\operatorname{Reach}_{}({\mathbf{b}} + {\mathbf{P}}) \subseteq {\mathbf{T}}\). ◻
This subsection shows how to simulate BVAS runs by WSVAS runs (see 16 below for a precise statement). We first introduce additional notations to clarify what we mean by simulation. The step relation of a WSVAS \(\mathcal{V}\mathrel{\vcenter{:}}=(T, \sqsubseteq, \delta)\) is the binary relation \(\xhookrightarrow{}_{\mathcal{V}}\) on \(\mathbb{N}^d\) defined by \({\mathbf{x}} \xhookrightarrow{}_{\mathcal{V}} {\mathbf{y}}\) if \({\mathbf{y}} = {\mathbf{x}} + \delta(t)\) for some \(t \in T\). Similarly, given a BVAS \(\mathcal{B}\mathrel{\vcenter{:}}=({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\) and a set \({\mathbf{I}}\subseteq \mathbb{N}^d\), the step relation of \(\mathcal{B}\) and \({\mathbf{I}}\) is the binary relation \(\xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}}\) on \(\mathbb{N}^d\) defined by \({\mathbf{x}} \xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}} {\mathbf{y}}\) if there exist \(n \in \{1, \ldots, r\}\) and \({\mathbf{a}} \in {\mathbf{\Delta}}_n\) such that \({\mathbf{y}} = {\mathbf{a}} + {\mathbf{x}} + \sum_{j=2}^n {\mathbf{c}}_j\) for some \({\mathbf{c}}_2, \ldots, {\mathbf{c}}_n \in {\mathbf{I}}\). We let \(\xhookrightarrow{*}_{\mathcal{V}}\) and \(\xhookrightarrow{*}_{\mathcal{B}, {\mathbf{I}}}\) denote the reflexive and transitive closure of \(\xhookrightarrow{}_{\mathcal{V}}\) and \(\xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}}\), respectively. Previously defined notations such as \(\operatorname{Reach}_{}(\cdot)\) and \(\trianglelefteq\) left the underlying system implicit. When the system under consideration is not clear from the context, we add it as a subscript to these notations to prevent confusion.
Lemma 15. For every set \({\mathbf{X}} \subseteq \mathbb{N}^d\), it holds that \(\operatorname{Reach}_{\mathcal{V}}({\mathbf{X}}) = \{{\mathbf{y}} \in \mathbb{N}^d \mid \exists {\mathbf{x}} \in {\mathbf{X}} : {\mathbf{x}} \xhookrightarrow{*}_{\mathcal{V}} {\mathbf{y}}\}\) and that \(\operatorname{Reach}_{\mathcal{B}}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*) = \{{\mathbf{y}} \in \mathbb{N}^d \mid \exists {\mathbf{x}} \in {\mathbf{X}} : {\mathbf{x}} \xhookrightarrow{*}_{\mathcal{B}, {\mathbf{I}}} {\mathbf{y}}\}\) when \(\operatorname{Reach}_{}({\mathbf{I}}^+) \subseteq {\mathbf{I}}\).
Proof. The first assertion follows from the easy observation that \({\mathbf{x}} \xhookrightarrow{*}_{\mathcal{V}} {\mathbf{y}}\) if, and only if, there is a run \(\rho\) of \(\mathcal{V}\) with \(\operatorname{src}(\rho) = {\mathbf{x}}\) and \(\operatorname{tgt}(\rho) = {\mathbf{y}}\). Similarly, assuming that \(\operatorname{Reach}_{}({\mathbf{I}}^+) \subseteq {\mathbf{I}}\), the second assertion follows from the observation that \({\mathbf{x}} \xhookrightarrow{*}_{\mathcal{B}, {\mathbf{I}}} {\mathbf{y}}\) if, and only if, there is a run \(\rho\) of \(\mathcal{B}\) with \(\operatorname{src}(\rho) \in (\{{\mathbf{x}}\} \,{\shuffle}\, {\mathbf{I}}^*)\) and \(\operatorname{tgt}(\rho) = {\mathbf{y}}\). Both directions of this second observation are routinely proved by induction. ◻
Lemma 16. For every IBVAS \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\) and semilinear set \({\mathbf{A}} \subseteq \mathbb{N}^d\), there exists a WSVAS \(\mathcal{V}\) such that \(\xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}}\) and \(\xhookrightarrow{}_{\mathcal{V}}\) coincide, where \({\mathbf{I}}\mathrel{\vcenter{:}}= {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})\).
Proof. Consider an IBVAS \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\) with \(\mathcal{B}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\), and a semilinear set \({\mathbf{A}} \subseteq \mathbb{N}^d\). We have \({\mathbf{A}} = \bigcup_{i=1}^k {\mathbf{b}}_i + {\mathbf{Q}}_i\) for some vectors \({\mathbf{b}}_1, \ldots, {\mathbf{b}}_k \in \mathbb{N}^d\) and some finitely-generated periodic sets \({\mathbf{Q}}_1, \ldots, {\mathbf{Q}}_k \subseteq \mathbb{N}^d\). Define \({\mathbf{I}}\mathrel{\vcenter{:}}= {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})\). We construct the desired WSVAS \(\mathcal{V}\mathrel{\vcenter{:}}=(T, \sqsubseteq, \delta)\) as follows. Let us first introduce the set \(\Theta \mathrel{\vcenter{:}}=\{0\} \times \operatorname{IRuns}(\mathcal{S}) \cup \bigcup_{i=1}^k \{i\} \times ({\mathbf{b}}_i + {\mathbf{Q}}_i)\) and the binary relation \(\preceq\) on \(\Theta\) defined by \(\eta \preceq \theta\) if
there exist \(\rho, \sigma \in \operatorname{IRuns}(\mathcal{S})\) such that \(\eta = (0, \rho)\), \(\theta = (0, \sigma)\) and \(\rho \trianglelefteq_{\mathcal{S}} \sigma\), or
there exists \(i \in \{1, \ldots, k\}\) and \({\mathbf{x}}, {\mathbf{y}} \in {\mathbf{b}}_i + {\mathbf{Q}}_i\) such that \(\eta = (i, {\mathbf{x}})\), \(\theta = (i, {\mathbf{y}})\) and \({\mathbf{x}} \leq_{{\mathbf{Q}}_i} {\mathbf{y}}\).
Recall that \((\operatorname{IRuns}(\mathcal{S}), \trianglelefteq)\) is a wqo by [lem:ibvas-wpo-and-amalgamation]. Recall also that each pair \(({\mathbf{b}}_i + {\mathbf{Q}}_i, \leq_{{\mathbf{Q}}_i})\) is a wqo since \({\mathbf{Q}}_i\) is a finitely-generated periodic set (see 2.1.0.2). It follows that \((\Theta, \preceq)\) is a wqo.
We also introduce the map \(\zeta : \Theta \rightarrow \mathbb{Z}^d\) defined by \(\zeta((0, \rho)) \mathrel{\vcenter{:}}=\operatorname{tgt}(\rho)\) and \(\zeta((i, {\mathbf{x}})) \mathrel{\vcenter{:}}={\mathbf{x}}\) for all \(\rho \in \operatorname{IRuns}(\mathcal{S})\), \(i \in \{1, \ldots, k\}\) and \({\mathbf{x}} \in ({\mathbf{b}}_i + {\mathbf{Q}}_i)\). It is routinely checked that \(\zeta\) is an order-preserving and diamond map from \((\Theta, \preceq)\) to \((\mathbb{Z}^d, \leq)\). This follows, firstly, from the amalgamation property of \((\operatorname{IRuns}(\mathcal{S}), \trianglelefteq)\) obtained from [lem:ibvas-wpo-and-amalgamation], and, secondly, from the following “amalgamation property” of \(({\mathbf{b}}_i + {\mathbf{Q}}_i, \leq_{{\mathbf{Q}}_i})\). For every \({\mathbf{x}}, {\mathbf{u}}, {\mathbf{v}} \in {\mathbf{b}}_i + {\mathbf{Q}}_i\), if \({\mathbf{x}} \leq_{{\mathbf{Q}}_i} {\mathbf{u}}, {\mathbf{v}}\) then the vector \({\mathbf{y}} \mathrel{\vcenter{:}}={\mathbf{u}} + {\mathbf{v}} - {\mathbf{x}}\) is in \({\mathbf{b}}_i + {\mathbf{Q}}_i\) and verifies \({\mathbf{u}}, {\mathbf{v}} \leq_{{\mathbf{Q}}_i} {\mathbf{y}}\).
The set \(T\) is defined as the set of triples \((n, {\mathbf{a}}, {\mathbf{h}})\) with \(n \in \{1, \ldots, r\}\), \({\mathbf{a}} \in {\mathbf{\Delta}}_n\) and \({\mathbf{h}} \in \Theta^{n-1}\). It is understood that \(\Theta^0\) is the singleton set \(\{()\}\). The binary relation \(\sqsubseteq\) on \(T\) is defined by \((n, {\mathbf{a}}, {\mathbf{h}}) \sqsubseteq (n', {\mathbf{a}}', {\mathbf{h}}')\) if \(n = n'\), \({\mathbf{a}} = {\mathbf{a}}'\) and \({\mathbf{h}}(j) \preceq {\mathbf{h}}'(j)\) for all \(j \in \{1, \ldots, n-1\}\). Since \({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r\) are finite, we derive from Dickson’s Lemma that \((T, \sqsubseteq)\) is a wqo. The map \(\delta : T \rightarrow \mathbb{Z}^d\) is defined by \(\delta(n, {\mathbf{a}}, {\mathbf{h}}) \mathrel{\vcenter{:}}={\mathbf{a}} + \sum_{j=1}^{n-1} \zeta({\mathbf{h}}(j))\). Since \(\zeta\) is order-preserving and diamond, so is \(\delta\).
We have shown that \(\mathcal{V}= (T, \sqsubseteq, \delta)\) is a WSVAS. It remains to show that \(\xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}}\) and \(\xhookrightarrow{}_{\mathcal{V}}\) coincide. We first observe that, by construction, \(\zeta(\Theta) = {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S}) = {\mathbf{I}}\). Assume that \({\mathbf{x}} \xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}} {\mathbf{y}}\). There exist \(n \in \{1, \ldots, r\}\) and \({\mathbf{a}} \in {\mathbf{\Delta}}_n\) such that \({\mathbf{y}} = {\mathbf{a}} + {\mathbf{x}} + \sum_{j=2}^{n} {\mathbf{c}}_j\) for some \({\mathbf{c}}_2, \ldots, {\mathbf{c}}_n \in {\mathbf{I}}\). So for each \(j \in \{2, \ldots, n\}\), there exists \(\theta_j \in \Theta\) such that \(\zeta(\theta_j) = {\mathbf{c}}_j\). Define \(t \mathrel{\vcenter{:}}=(n, {\mathbf{a}}, {\mathbf{h}})\) where \({\mathbf{h}} \in \Theta^{n-1}\) is defined by \({\mathbf{h}}(j) \mathrel{\vcenter{:}}=\theta_{j+1}\) for all \(j \in \{1, \ldots, n-1\}\). We observe that \(t \in T\) and \({\mathbf{y}} = {\mathbf{x}} + \delta(t)\), hence, \({\mathbf{x}} \xhookrightarrow{}_{\mathcal{V}} {\mathbf{y}}\). Conversely, assume that \({\mathbf{x}} \xhookrightarrow{}_{\mathcal{V}} {\mathbf{y}}\). There exists a transition \(t \mathrel{\vcenter{:}}=(n, {\mathbf{a}}, {\mathbf{h}})\) in \(T\) such that \({\mathbf{y}} = {\mathbf{x}} + \delta(t) = {\mathbf{x}} + {\mathbf{a}} + \sum_{j=1}^{n-1} \zeta({\mathbf{h}}(j))\). Since \(\zeta({\mathbf{h}}(j)) \in {\mathbf{I}}\) for each \(j \in \{1, \ldots, n-1\}\), we derive that \({\mathbf{x}} \xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}} {\mathbf{y}}\). We have shown that \(\xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}}\) and \(\xhookrightarrow{}_{\mathcal{V}}\) coincide. ◻
In this subsection, we show that, under a technical condition, BVAS runs with multiple sources outside an inductive invariant are equivalent, reachability-wise, to runs with only one such source. This property is formally stated in 17 below. We consider a BVAS \(\mathcal{B}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\) for the rest of this subsection.
Lemma 17. For every sets \({\mathbf{I}}, {\mathbf{P}}, {\mathbf{X}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}({\mathbf{I}}^+) \subseteq {\mathbf{I}}\), \({\mathbf{P}}\) is periodic and \({\mathbf{X}} + {\mathbf{P}} \subseteq {\mathbf{X}}\), if \(\operatorname{Reach}_{}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{I}}+ {\mathbf{P}}\) then it holds that \(\operatorname{Reach}_{}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*) = \operatorname{Reach}_{}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\).
Proof. Let \({\mathbf{I}}, {\mathbf{P}}\) and \({\mathbf{X}}\) be subsets of \(\mathbb{N}^d\) such that \(\operatorname{Reach}_{}({\mathbf{I}}^+) \subseteq {\mathbf{I}}\), \({\mathbf{P}}\) is periodic and \({\mathbf{X}} + {\mathbf{P}} \subseteq {\mathbf{X}}\). We put \({\mathbf{R}} \mathrel{\vcenter{:}}=\operatorname{Reach}_{}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*)\) and assume that \({\mathbf{R}} \subseteq {\mathbf{I}}+ {\mathbf{P}}\). We only need to show that \(\operatorname{Reach}_{}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{R}}\) as the converse inclusion trivially holds.
Let us show by induction that for every run \(\rho \in \operatorname{Runs}(\mathcal{B})\), if \(\operatorname{src}(\rho) \in ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) then \(\operatorname{tgt}(\rho) \in {\mathbf{R}}\). Consider a run \(\rho \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\rho_1, \ldots, \rho_n))\) and assume by induction that \(\operatorname{src}(\rho_i) \in ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) implies \(\operatorname{tgt}(\rho_i) \in {\mathbf{R}}\), for all \(i \in \{1, \ldots, n\}\). Suppose that \(\operatorname{src}(\rho) \in ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) and let us show that \(\operatorname{tgt}(\rho) \in {\mathbf{R}}\). Notice that \(\operatorname{src}(\rho_i) \in ({\mathbf{X}}^* \,{\shuffle}\, {\mathbf{I}}^*)\) for all \(i\), and that \(\operatorname{src}(\rho_j) \in ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) for some \(j\). To shorten notation, let us write \({\mathbf{c}}_i \mathrel{\vcenter{:}}=\operatorname{tgt}(\rho_i)\) for each \(i \in \{1, \ldots, n\}\). We make the following easy observations:
if \(\operatorname{src}(\rho_i) \in ({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\) then \({\mathbf{c}}_i \in {\mathbf{R}}\) by induction hypothesis. It follows that \({\mathbf{c}}_i \in {\mathbf{I}}+ {\mathbf{P}}\) since \({\mathbf{R}} \subseteq {\mathbf{I}}+ {\mathbf{P}}\) by assumption.
otherwise, \(\operatorname{src}(\rho_i) \in {\mathbf{I}}^+\) and it follows that \({\mathbf{c}}_i \in {\mathbf{I}}\), since \(\operatorname{Reach}_{}({\mathbf{I}}^+) \subseteq {\mathbf{I}}\).
These observations entail that \({\mathbf{c}}_i \in {\mathbf{I}}+ {\mathbf{P}}\) for all \(i\) and that \({\mathbf{c}}_j \in {\mathbf{R}}\) for some \(j\). By definition of \({\mathbf{R}}\), we get that \({\mathbf{c}}_j = \operatorname{tgt}(\sigma_j)\) for some run \(\sigma_j\) of \(\mathcal{B}\) such that \(\operatorname{src}(\sigma_j) \in ({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*)\). Let us define \(\rho'_j \mathrel{\vcenter{:}}=\sigma_j\) and \(\rho'_i \mathrel{\vcenter{:}}=({\mathbf{c}}_i, ())\) for all \(i \neq j\). Clearly, \(\rho'_i\) is a run of \(\mathcal{B}\) with same target as \(\rho_i\), for every \(i \in \{1, \ldots, n\}\). We derive that \(\rho' \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\rho'_1, \ldots, \rho'_n))\) is also a run of \(\mathcal{B}\). Moreover, the two following properties hold by construction. Firstly, \(\operatorname{src}(\rho'_j) = u {\mathbf{x}} v\) for some \({\mathbf{x}} \in {\mathbf{X}}\) and \(u, v \in {\mathbf{I}}^*\). Secondly, for every \(i \neq j\), \(\operatorname{tgt}(\rho'_i) = {\mathbf{h}}_i + {\mathbf{p}}_i\) for some \({\mathbf{h}}_i \in {\mathbf{I}}\) and \({\mathbf{p}}_i \in {\mathbf{P}}\). Note that \({\mathbf{h}}_i, {\mathbf{p}}_i \in \mathbb{N}^d\).
We now transform \(\rho'\) into a run \(\tau\) with \(\operatorname{tgt}(\tau) = \operatorname{tgt}(\rho')\) by removing \({\mathbf{p}}_i\) from \(\rho'_i\) for each \(i \neq j\) and adding \({\mathbf{p}} \mathrel{\vcenter{:}}=\sum_{i \neq j} {\mathbf{p}}_i\) to \(\rho'_j\). Formally, we define \(\tau_i \mathrel{\vcenter{:}}=({\mathbf{h}}_i, ())\) for all \(i \neq j\), and we construct \(\tau_j\) from \(\rho'_j\) as follows. According to [fact:monotony], there exists a run \(\tau_j\) of \(\mathcal{B}\) with \(\operatorname{src}(\tau_j) = u ({\mathbf{x}} + {\mathbf{p}}) v\) and \(\operatorname{tgt}(\tau_j) = \operatorname{tgt}(\rho'_j) + {\mathbf{p}}\). The assumption that \({\mathbf{X}} + {\mathbf{P}} \subseteq {\mathbf{X}}\) guarantees that \(\operatorname{src}(\tau_j) \in ({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*)\). Observe that each \(\tau_i\) is a run of \(\mathcal{B}\) and that \(\sum_{i=1}^n \operatorname{tgt}(\tau_i) = \sum_{i=1}^n \operatorname{tgt}(\rho'_i)\). We derive that \(\tau \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\tau_1, \ldots, \tau_n))\) is also a run of \(\mathcal{B}\). Moreover, it holds by construction that \(\operatorname{src}(\tau) \in ({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*)\). Therefore, \(\operatorname{tgt}(\rho) = \operatorname{tgt}(\tau) \in {\mathbf{R}}\). This concludes the induction and the proof of the lemma. ◻
We now have the required ingredients to prove 13. Consider an IBVAS \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\), two semilinear sets \({\mathbf{A}}, {\mathbf{T}} \subseteq \mathbb{N}^d\) and an almost linear set \({\mathbf{b}} + {\mathbf{P}} \subseteq \mathbb{N}^d\). Define \({\mathbf{I}}\mathrel{\vcenter{:}}= {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})\) and \({\mathbf{Q}} \mathrel{\vcenter{:}}= \overline{\operatorname{Lin}}({\mathbf{P}})\). Assume that \(\operatorname{Reach}_{\mathcal{B}}({\mathbf{I}}^+) \subseteq {\mathbf{I}}\) and that \(\operatorname{Reach}_{\mathcal{B}}(({\mathbf{b}} + {\mathbf{P}}) \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}} \subseteq {\mathbf{I}}+ {\mathbf{Q}}\). To prove 13, we need to show that there exists \(p \in {\mathbf{P}}\) such that \(\operatorname{Reach}_{\mathcal{B}}(({\mathbf{b}} + {\mathbf{p}} + {\mathbf{Q}})^+ \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}}\).
According to 16, there exists a WSVAS \(\mathcal{V}\) such that \(\xhookrightarrow{}_{\mathcal{B}, {\mathbf{I}}}\) and \(\xhookrightarrow{}_{\mathcal{V}}\) coincide. By 15, it holds that \(\operatorname{Reach}_{\mathcal{V}}({\mathbf{b}} + {\mathbf{P}}) = \operatorname{Reach}_{\mathcal{B}}(({\mathbf{b}} + {\mathbf{P}}) \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}}\). We derive from 14 that there exists \({\mathbf{p}} \in {\mathbf{P}}\) satisfying \(\operatorname{Reach}_{\mathcal{V}}({\mathbf{b}} + {\mathbf{p}} + {\mathbf{Q}}) \subseteq {\mathbf{T}}\). Define \({\mathbf{X}} \mathrel{\vcenter{:}}={\mathbf{b}} + {\mathbf{p}} + {\mathbf{Q}}\). Using 15 once more, we get that \(\operatorname{Reach}_{\mathcal{B}}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*) = \operatorname{Reach}_{\mathcal{V}}({\mathbf{X}}) \subseteq {\mathbf{T}}\). Note that \({\mathbf{X}} + {\mathbf{Q}} \subseteq {\mathbf{X}}\) and recall that \({\mathbf{T}} \subseteq {\mathbf{I}}+ {\mathbf{Q}}\). It follows from 17 that \(\operatorname{Reach}_{\mathcal{B}}({\mathbf{X}} \,{\shuffle}\, {\mathbf{I}}^*) = \operatorname{Reach}_{\mathcal{B}}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*)\), hence, \(\operatorname{Reach}_{\mathcal{B}}({\mathbf{X}}^+ \,{\shuffle}\, {\mathbf{I}}^*) = \operatorname{Reach}_{\mathcal{V}}({\mathbf{X}}) \subseteq {\mathbf{T}}\). This concludes the proof of 13.
Let \({\mathbf{Q}}\subseteq\mathbb{Z}^d\) be a full9 finitely-generated periodic set. In this section, we state and prove a way to decompose the difference of two finitary \({\mathbf{Q}}\)-cylindric sets \({\mathbf{X}}\subseteq{\mathbf{Y}}\subseteq \mathbb{Z}^d\). This decomposition, so-called the face-stripping theorem, is obtained by stripping \({\mathbf{Y}}\setminus {\mathbf{X}}\) following the faces (a classical notion recalled below) of the cone spanned by \({\mathbf{Q}}\). We first provide some definitions and then provide the statement of the main theorem and a central application of that result.
The orthogonal \({\mathbf{X}}^\perp\) of a set \({\mathbf{X}}\subseteq\mathbb{Q}^d\) is the set of vectors \({\mathbf{e}}\in\mathbb{Q}^d\) such that \({\mathbf{e}}\cdot{\mathbf{x}}=0\) for every \({\mathbf{x}}\in{\mathbf{X}}\) where \({\mathbf{e}}\cdot{\mathbf{x}}\) is the dot-product (see 2). Notice that \({\mathbf{X}}^\perp\) is a vector space. We say that a set \({\mathbf{F}}\subseteq \mathbb{Q}^d\) is a face of a finitely-generated cone \({\mathbf{C}}\subseteq\mathbb{Q}^d\) if \({\mathbf{F}}={\mathbf{C}}\cap{\mathbf{L}}^\perp\) for a finite set \({\mathbf{L}}\subseteq \mathbb{Q}^d\) of vectors \({\mathbf{e}}\in\mathbb{Q}^d\) satisfying \({\mathbf{e}}\cdot{\mathbf{c}}\geq 0\) for every \({\mathbf{c}}\in{\mathbf{C}}\). Since the intersection of a finitely-generated cone with a vector space is a finitely-generated cone, we deduce that a face is a finitely-generated cone. We denote by \(\mathcal{F}({\mathbf{C}})\) the set of faces of \({\mathbf{C}}\). Recall that \(\mathcal{F}({\mathbf{C}})\) is a finite set [39], \({\mathbf{C}}\in\mathcal{F}({\mathbf{C}})\) and for every face \({\mathbf{F}}\in \mathcal{F}({\mathbf{C}})\setminus\{{\mathbf{C}}\}\), we have \(\operatorname{dim}({\mathbf{F}}-{\mathbf{F}})<\operatorname{dim}({\mathbf{C}}-{\mathbf{C}})\)10.
Let \({\mathbf{Q}}\) be a full finitely-generated periodic set, let \({\mathbf{C}}\mathrel{\vcenter{:}}=\mathbb{Q}_{\geq 0}{\mathbf{Q}}\) be the finitely-generated cone spanned by \({\mathbf{Q}}\), and let \({\mathbf{F}}_1,\ldots,{\mathbf{F}}_n\) be a linearization of the set of faces of \({\mathbf{C}}\) with respect to \(\supseteq\). It follows that \(n=|\mathcal{F}({\mathbf{C}})|\), \(\mathcal{F}({\mathbf{C}})=\{{\mathbf{F}}_1,\ldots,{\mathbf{F}}_n\}\), \({\mathbf{F}}_1={\mathbf{C}}\), and \({\mathbf{F}}_i\supseteq {\mathbf{F}}_j\) implies \(i\leq j\).
Theorem 2 (Face-Stripping Theorem). Let \({\mathbf{X}}\subseteq {\mathbf{Y}}\) be two finitary \({\mathbf{Q}}\)-cylindric subsets of \(\mathbb{Z}^d\), and let \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) be subsets of \(\mathbb{Z}^d\) defined inductively for every \(i\in \{1,\ldots,n\}\) as follows where \({\mathbf{S}}_{<i}\mathrel{\vcenter{:}}={\mathbf{S}}_1\cup\ldots\cup{\mathbf{S}}_{i-1}\): \[{\mathbf{S}}_i\mathrel{\vcenter{:}}=\{{\mathbf{s}}\in\mathbb{Z}^d \mid {\mathbf{s}}+({\mathbf{Q}}\cap{\mathbf{F}}_i)\subseteq ({\mathbf{Y}}\setminus{\mathbf{S}}_{<i})\setminus {\mathbf{X}}\}\] Then \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) is a disjoint decompositionof \({\mathbf{Y}}\setminus{\mathbf{X}}\) such that for every \(i\in\{1,\ldots,n\}\) we have:
\({\mathbf{S}}_i\) is a finitary \(({\mathbf{Q}}\cap{\mathbf{F}}_i)\)-cylindric set, and
\({\mathbf{Y}}\setminus {\mathbf{S}}_{<i}\) is a finitary \({\mathbf{Q}}\)-cylindric set that contains \({\mathbf{X}}\).
Moreover, if \({\mathbf{Y}}\subseteq {\mathbf{X}}-{\mathbf{Q}}\) then \({\mathbf{S}}_1\) is empty.
Example 7. Let \({\mathbf{Q}}\) be the full finitely-generated periodic set \(\mathbb{N}^2\). Notice that \({\mathbf{C}}\mathrel{\vcenter{:}}=\operatorname{Con}({\mathbf{P}})\) is the cone \(\mathbb{Q}_{\geq 0}^2\). It follows that \(\mathcal{F}({\mathbf{C}})=\{{\mathbf{F}}_1,{\mathbf{F}}_2,{\mathbf{F}}_3,{\mathbf{F}}_4\}\) where \({\mathbf{F}}_1\mathrel{\vcenter{:}}= \mathbb{Q}_{\geq 0}^2\), \({\mathbf{F}}_2\mathrel{\vcenter{:}}=\mathbb{Q}_{\geq 0}\times\{0\}\), \({\mathbf{F}}_3\mathrel{\vcenter{:}}=\{0\}\times\mathbb{Q}_{\geq 0}\), and \({\mathbf{F}}_4=\{(0,0)\}\). Notice that \({\mathbf{F}}_i\subseteq {\mathbf{F}}_j\) implies \(i\leq j\). Let us introduce the finitary \({\mathbf{Q}}\)-cylindric sets \({\mathbf{X}}\mathrel{\vcenter{:}}= (6,6)+\mathbb{N}^2\) and \({\mathbf{Y}}\mathrel{\vcenter{:}}= \{(2,2),(0,4)\}+\mathbb{N}^2\). Those sets as well as the sets \({\mathbf{S}}_2,{\mathbf{S}}_3\) introduced by 2 are depicted in 2. Notice that \({\mathbf{S}}_1=\emptyset\), \({\mathbf{S}}_2=\{(2,2),(2,3),(0,4),(0,5)\}+(\mathbb{N}\times\{0\})\), \({\mathbf{S}}_3=\{(0,6), (1,6),(2,6),(3,6),(4,6),(5,6)\}+(\{0\}\times\mathbb{N})\), and \({\mathbf{S}}_4=\emptyset\).
We now prove the following central result satisfied by the decomposition given by the face-stripping theorem.
Lemma 18. Let \(R\) be a \({\mathbf{Q}}\)-diagonal11 binary relation over \(\mathbb{Z}^d\) such that \(R\cap ({\mathbf{X}}\times({\mathbf{Y}}\setminus {\mathbf{X}}))\) is empty. Then \(R\cap ({\mathbf{S}}_j \times{\mathbf{S}}_i)\) is empty for every \(0\leq i<j\leq n\).
Proof. Assume by contradiction that there exists \(({\mathbf{s}}_j,{\mathbf{s}}_i)\in R\cap ({\mathbf{S}}_j\times {\mathbf{S}}_i)\) for some \(0\leq i<j\leq n\). Let \({\mathbf{x}}\in {\mathbf{s}}_j+({\mathbf{Q}}\cap{\mathbf{F}}_i)\) and let us prove that \({\mathbf{x}}\not\in{\mathbf{X}}\). There exists \({\mathbf{q}}\in{\mathbf{Q}}\cap{\mathbf{F}}_i\) such that \({\mathbf{x}}={\mathbf{s}}_j+{\mathbf{q}}\). As \({\mathbf{S}}_i\) is \(({\mathbf{Q}}\cap{\mathbf{F}}_i)\)-cylindric, we deduce that \({\mathbf{y}}\mathrel{\vcenter{:}}={\mathbf{s}}_i+{\mathbf{q}}\) is in \({\mathbf{S}}_i\), and in particular in \({\mathbf{Y}}\setminus{\mathbf{X}}\). As \(({\mathbf{s}}_j,{\mathbf{s}}_i)\in R\) and \(R\) is \({\mathbf{Q}}\)-diagonal, we deduce that \(({\mathbf{x}},{\mathbf{y}})\in R\). As \(R\) has an empty intersection with \({\mathbf{X}}\times({\mathbf{Y}}\setminus {\mathbf{X}})\) and \({\mathbf{y}}\in {\mathbf{Y}}\setminus{\mathbf{X}}\), we deduce that \({\mathbf{x}}\not\in{\mathbf{X}}\). We have proved that \({\mathbf{s}}_j+({\mathbf{Q}}\cap{\mathbf{F}}_i)\) has an empty intersection with \({\mathbf{X}}\). Since \({\mathbf{s}}_j\in {\mathbf{S}}_j\) and \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) is a disjoint decomposition of \({\mathbf{Y}}\setminus{\mathbf{X}}\), we deduce that \({\mathbf{s}}_j\in{\mathbf{Y}}\setminus {\mathbf{S}}_{<i}\). As \({\mathbf{Y}}\setminus {\mathbf{S}}_{< i}\) is \({\mathbf{Q}}\)-cylindric, we deduce that \({\mathbf{s}}_j+({\mathbf{Q}}\cap{\mathbf{F}}_i)\subseteq {\mathbf{Y}}\setminus {\mathbf{S}}_{< i}\). Since \({\mathbf{s}}_j+({\mathbf{Q}}\cap{\mathbf{F}}_i)\) has an empty intersection with \({\mathbf{X}}\), it is included in \(({\mathbf{Y}}\setminus {\mathbf{S}}_{< i})\setminus {\mathbf{X}}\). Hence \({\mathbf{s}}_j\in {\mathbf{S}}_i\) and we get a contradiction since \({\mathbf{S}}_i\) and \({\mathbf{S}}_j\) are disjoint. Therefore \(R\cap ({\mathbf{S}}_j\times {\mathbf{S}}_i)\) is empty. ◻
Example 8. Let us come back to 7. Assume that \(R\) is a \(\mathbb{N}^2\)-diagonal relation such that there exists \(({\mathbf{x}},{\mathbf{y}})\in R\cap ({\mathbf{S}}_3\times{\mathbf{S}}_2)\). From \({\mathbf{x}}\in {\mathbf{S}}_3\) and \({\mathbf{y}}\in{\mathbf{S}}_2\), we deduce that \({\mathbf{x}}'\mathrel{\vcenter{:}}={\mathbf{x}}+(6,0)\in {\mathbf{X}}\) and \({\mathbf{y}}'\mathrel{\vcenter{:}}={\mathbf{y}}+(6,0)\in {\mathbf{Y}}\setminus{\mathbf{X}}\). As \(R\) is \(\mathbb{N}^2\)-diagonal, we deduce that \(({\mathbf{x}}',{\mathbf{y}}')\) is in \(R\cap ({\mathbf{X}}\times({\mathbf{Y}}\setminus{\mathbf{X}}))\).
The remainder of this section is devoted to the proof of 2. Apart from this theorem and 18, the material presented in this section is not used in the sequel.
Let us fix a full finitely-generated periodic set \({\mathbf{Q}}\), and let \({\mathbf{C}}\mathrel{\vcenter{:}}=\mathbb{Q}_{\geq 0}{\mathbf{Q}}\) be the cone spanned by \({\mathbf{Q}}\). Since \({\mathbf{C}}\) is a finitely-generated cone, the Farkas-Minkowski-Weyl theorem [39] shows that there exists a finite set \({\mathbf{E}}\subseteq \mathbb{Z}^d\) satisfying the following equality. \[\label{eq:dual}{\mathbf{C}}=\{{\mathbf{c}}\in\mathbb{Q}^d \mid \bigwedge_{{\mathbf{e}}\in {\mathbf{E}}}{\mathbf{e}}\cdot{\mathbf{c}}\geq 0\}\tag{2}\] Recall from the Farkas lemma [39] that a set \({\mathbf{F}}\subseteq \mathbb{Q}^d\) is a face of \({\mathbf{C}}\) if, and only if, \({\mathbf{F}}={\mathbf{C}}\cap{\mathbf{L}}^\perp\) where \({\mathbf{L}}\mathrel{\vcenter{:}}={\mathbf{E}}\cap{\mathbf{F}}^\perp\). It follows that \(\mathcal{F}({\mathbf{C}})\) is finite since it contains at most \(2^{|{\mathbf{E}}|}\) faces, \({\mathbf{C}}\) is the \(\subseteq\)-maximal face of \({\mathbf{C}}\), and \({\mathbf{E}}^\perp\) is the \(\subseteq\)-minimal face of \({\mathbf{C}}\). Notice that the minimal face is a vector space.
We first introduce some folklore results.
Lemma 19. For every face \({\mathbf{F}}\), there exists a vector \({\mathbf{q}}\in {\mathbf{Q}}\cap{\mathbf{F}}\) such that \({\mathbf{E}}\cap{\mathbf{F}}^\perp={\mathbf{E}}\cap{\mathbf{q}}^\perp\).
Proof. For every \({\mathbf{e}}\in{\mathbf{E}}\setminus{\mathbf{F}}^\perp\) there exists \({\mathbf{f}}_{{\mathbf{e}}}\in {\mathbf{F}}\) such that \({\mathbf{e}}\cdot{\mathbf{f}}_{{\mathbf{e}}}\not=0\). Since \({\mathbf{F}}\subseteq {\mathbf{C}}\), we have \({\mathbf{e}}'\cdot{\mathbf{f}}_{{\mathbf{e}}}\geq 0\) for every \({\mathbf{e}},{\mathbf{e}}'\in{\mathbf{E}}\). Now, just observe that \({\mathbf{f}}\mathrel{\vcenter{:}}= \sum_{{\mathbf{e}}\in {\mathbf{E}}\setminus{\mathbf{F}}^\perp}{\mathbf{f}}_{{\mathbf{e}}}\) is a vector in \({\mathbf{F}}\) such that \({\mathbf{E}}\cap{\mathbf{F}}^\perp={\mathbf{E}}\cap{\mathbf{f}}^\perp\). Since \({\mathbf{F}}\subseteq{\mathbf{C}}=\mathbb{Q}_{\geq 0}{\mathbf{Q}}\), there exists \(n\in\mathbb{N}_{>0}\) such that \(q\mathrel{\vcenter{:}}= n{\mathbf{f}}\) is in \({\mathbf{Q}}\). Notice that \({\mathbf{q}}\) satisfies the lemma. ◻
Lemma 20 ([39]). Let \(({\mathbf{a}}_j,c_j)_{1\leq j\leq k}\) be a sequence of pairs in \(\mathbb{Z}^d\times\mathbb{Z}\). There exists a finite set \({\mathbf{B}}\subseteq\mathbb{Z}^d\) such that the following equality holds. \[\{{\mathbf{s}}\in\mathbb{Z}^d \mid \bigwedge_{j=1}^k{\mathbf{a}}_j\cdot{\mathbf{s}}\geq c_j\} = {\mathbf{B}}+ \{{\mathbf{s}}\in\mathbb{Z}^d \mid \bigwedge_{j=1}^k{\mathbf{a}}_j\cdot{\mathbf{s}}\geq 0\}\]
Corollary 2. Let \({\mathbf{K}}\subseteq{\mathbf{E}}\), let \({\mathbf{H}}\) be the face \({\mathbf{C}}\cap {\mathbf{K}}^\perp\), and let \({\mathbf{P}}\) be the finitely-generated periodic set \({\mathbf{Q}}\cap{\mathbf{H}}\). For every mapping \(\lambda\in\mathbb{Q}^{{\mathbf{E}}}\), the following set \({\mathbf{S}}\) is a finitary \({\mathbf{P}}\)-cylindric set. \[{\mathbf{S}}\mathrel{\vcenter{:}}=\{{\mathbf{s}}\in{\mathbf{Q}} \mid \bigwedge_{{\mathbf{e}}\in{\mathbf{E}}}{\mathbf{e}}\cdot{\mathbf{s}}\geq \lambda({\mathbf{e}})\wedge\bigwedge_{{\mathbf{e}}\in{\mathbf{K}}}{\mathbf{e}}\cdot{\mathbf{s}}=\lambda({\mathbf{e}})\}\]
Proof. By observing that an equality of the form \({\mathbf{e}}\cdot{\mathbf{s}}=\lambda({\mathbf{e}})\) is equivalent to the conjunction of \({\mathbf{e}}\cdot{\mathbf{s}}\geq \lambda({\mathbf{e}})\) and \(-{\mathbf{e}}\cdot{\mathbf{s}}\geq -\lambda({\mathbf{e}})\), the proof follows from 20. ◻
Let \({\mathbf{X}}\subseteq {\mathbf{Y}}\subseteq \mathbb{Z}^d\) and \({\mathbf{F}}\) be a face of \({\mathbf{C}}\). We introduce the following \(({\mathbf{Q}}\cap{\mathbf{F}})\)-cylindric set: \[\operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\mathrel{\vcenter{:}}=\{{\mathbf{s}}\in\mathbb{Z}^d \mid {\mathbf{s}}+({\mathbf{Q}}\cap{\mathbf{F}})\subseteq {\mathbf{Y}}\setminus{\mathbf{X}}\}\]
Lemma 21. The set \({\mathbf{Y}}\setminus \operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\) is \({\mathbf{Q}}\)-cylindric for every \({\mathbf{Q}}\)-cylindric sets \({\mathbf{X}}\subseteq {\mathbf{Y}}\) and for every face \({\mathbf{F}}\) of \({\mathbf{C}}\).
Proof. Let us denote by \({\mathbf{S}}\) the set \(\operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\). Let \({\mathbf{y}}\in {\mathbf{Y}}\setminus {\mathbf{S}}\) and \({\mathbf{q}}\in {\mathbf{Q}}\), and let us prove that \({\mathbf{y}}+{\mathbf{q}}\in {\mathbf{Y}}\setminus {\mathbf{S}}\). Since \({\mathbf{y}}\not\in{\mathbf{S}}\), there exists \({\mathbf{p}}\in {\mathbf{Q}}\cap{\mathbf{F}}\) such that \({\mathbf{y}}+{\mathbf{p}}\not\in {\mathbf{Y}}\setminus{\mathbf{X}}\). As \({\mathbf{Y}}\) is \({\mathbf{Q}}\)-cylindric and \({\mathbf{p}}\in {\mathbf{Q}}\), we deduce that \({\mathbf{y}}+{\mathbf{p}}\in {\mathbf{Y}}\). It follows that \({\mathbf{y}}+{\mathbf{p}}\in{\mathbf{X}}\). Hence \({\mathbf{y}}+{\mathbf{q}}+{\mathbf{p}}\in{\mathbf{X}}\) since \({\mathbf{X}}\) is \({\mathbf{Q}}\)-cylindric. We derive \({\mathbf{y}}+{\mathbf{q}}\not\in {\mathbf{S}}\). Since \({\mathbf{y}}\in {\mathbf{Y}}\) and \({\mathbf{Y}}\) is \({\mathbf{Q}}\)-cylindric, we also get \({\mathbf{y}}+{\mathbf{q}}\in {\mathbf{Y}}\). Therefore \({\mathbf{y}}+{\mathbf{q}}\in {\mathbf{Y}}\setminus{\mathbf{S}}\). ◻
Lemma 22. For every \({\mathbf{Q}}\)-cylindric sets \({\mathbf{X}}\subseteq {\mathbf{Y}}\), the \(\subseteq\)-minimal face \({\mathbf{F}}_{min}\) satisfies \(\operatorname{extract}_{{\mathbf{F}}_{min}}({\mathbf{X}},{\mathbf{Y}})={\mathbf{Y}}\setminus {\mathbf{X}}\).
Proof. Trivially, \(\operatorname{extract}_{{\mathbf{F}}_{min}}({\mathbf{X}},{\mathbf{Y}})\) is a subset of \({\mathbf{Y}}\setminus {\mathbf{X}}\). For the converse inclusion, let \({\mathbf{y}}\in {\mathbf{Y}}\setminus{\mathbf{X}}\) and let us prove that for every \({\mathbf{q}}\in{\mathbf{Q}}\cap{\mathbf{F}}_{min}\) we have \({\mathbf{y}}+{\mathbf{q}}\in {\mathbf{Y}}\setminus{\mathbf{X}}\). Since \({\mathbf{Y}}\) is \({\mathbf{Q}}\)-cylindric we deduce that \({\mathbf{y}}+{\mathbf{q}}\in{\mathbf{Y}}\). Assume by contradiction that \({\mathbf{y}}+{\mathbf{q}}\in {\mathbf{X}}\). Since \({\mathbf{q}}\in {\mathbf{F}}_{min}\) we deduce that \(-{\mathbf{q}}\in {\mathbf{F}}_{min}\) since the minimal face \({\mathbf{F}}_{min}\) is a vector space. As \({\mathbf{Q}}\) is full, we deduce that \(-{\mathbf{q}}\in {\mathbf{Q}}\). As \({\mathbf{X}}\) is \({\mathbf{Q}}\)-cylindric, it follows that \(({\mathbf{y}}+{\mathbf{q}})-{\mathbf{q}}\in {\mathbf{X}}\). Hence \({\mathbf{y}}\in{\mathbf{X}}\) and we get a contradiction. Hence \({\mathbf{y}}+{\mathbf{q}}\not\in{\mathbf{X}}\). We have proved that \({\mathbf{y}}+({\mathbf{Q}}\cap{\mathbf{F}}_{min})\subseteq {\mathbf{Y}}\setminus{\mathbf{X}}\). Hence \({\mathbf{y}}\in \operatorname{extract}_{{\mathbf{F}}_{min}}({\mathbf{X}},{\mathbf{Y}})\) and we have proved the converse inclusion. ◻
Lemma 23. For every finitary \({\mathbf{Q}}\)-cylindric sets \({\mathbf{X}}\subseteq {\mathbf{Y}}\) and for every \(\subseteq\)-maximal face \({\mathbf{F}}\) such that \(\operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\) is non-empty, the set \(\operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\) is finitary \(({\mathbf{Q}}\cap{\mathbf{F}})\)-cylindric.
Proof. It is sufficient to prove that \(\leq_{{\mathbf{Q}}\cap{\mathbf{F}}}\) is a wqo on \(\operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\). So, let us consider a sequence \(({\mathbf{s}}_n)_{n\in\mathbb{N}}\) of vectors in that set. Since this sequence is in the finitary \({\mathbf{Q}}\)-cylindric set \({\mathbf{Y}}\), by extracting a subsequence we can assume w.l.o.g. that \(({\mathbf{s}}_n)_{n\in\mathbb{N}}\) is non-decreasing for \(\leq_{{\mathbf{Q}}}\). It follows that for every \({\mathbf{e}}\in {\mathbf{E}}\), the sequence \(({\mathbf{e}}\cdot{\mathbf{s}}_n)_{n\in\mathbb{N}}\) is a non-decreasing sequence of integers. By extracting a subsequence, we can assume w.l.o.g. that for every \({\mathbf{e}}\in {\mathbf{E}}\), the sequence \(({\mathbf{e}}\cdot{\mathbf{s}}_n)_{n\in\mathbb{N}}\) is either constant or unbounded. We denote by \({\mathbf{U}}\) the set of \({\mathbf{e}}\in{\mathbf{E}}\) such that this sequence is unbounded.
Since \({\mathbf{F}}\) is a face of \({\mathbf{C}}\), we have \({\mathbf{F}}={\mathbf{C}}\cap{\mathbf{L}}^\perp\) where \({\mathbf{L}}\mathrel{\vcenter{:}}= {\mathbf{E}}\cap{\mathbf{F}}^\perp\). We introduce the set \({\mathbf{K}}\mathrel{\vcenter{:}}={\mathbf{L}}\setminus {\mathbf{U}}\), the face \({\mathbf{H}}\mathrel{\vcenter{:}}= {\mathbf{C}}\cap {\mathbf{K}}^\perp\), the finitely-generated periodic set \({\mathbf{P}}\mathrel{\vcenter{:}}={\mathbf{Q}}\cap{\mathbf{H}}\), the mapping \(\lambda\in\mathbb{Z}^{{\mathbf{E}}}\) defined by \(\lambda({\mathbf{e}})\mathrel{\vcenter{:}}={\mathbf{e}}\cdot{\mathbf{s}}_0\). The set \({\mathbf{S}}\) introduced by 2 is thus a finitary \({\mathbf{P}}\)-cylindric set. In particular \(\leq_{{\mathbf{P}}}\) is a wqo on \({\mathbf{S}}\). As \(({\mathbf{s}}_n)_{n\in\mathbb{N}}\) is a sequence of vector in \({\mathbf{S}}\), by extracting a subsequence, we can assume w.l.o.g. that the sequence is non-decreasing for \(\leq_{{\mathbf{P}}}\).
Assume by contradiction that \({\mathbf{s}}_0+{\mathbf{P}}\not\subseteq {\mathbf{Y}}\setminus{\mathbf{X}}\). There exists \({\mathbf{p}}\in{\mathbf{P}}\) such that \({\mathbf{s}}_0+{\mathbf{p}}\not\in {\mathbf{Y}}\setminus{\mathbf{X}}\). Since \({\mathbf{Y}}\) is \({\mathbf{Q}}\)-cylindric, \({\mathbf{s}}_0\in{\mathbf{Y}}\), and \({\mathbf{p}}\in{\mathbf{Q}}\), we deduce that \({\mathbf{s}}_0+{\mathbf{p}}\in{\mathbf{Y}}\). It follows that \({\mathbf{s}}_0+{\mathbf{p}}\in {\mathbf{X}}\). There exists \(n\in\mathbb{N}\) such that for every \({\mathbf{e}}\in{\mathbf{U}}\) we have \({\mathbf{e}}\cdot{\mathbf{s}}_n\geq {\mathbf{e}}\cdot({\mathbf{s}}_0+{\mathbf{p}})\). 19 shows that there exists a vector \({\mathbf{q}}\in {\mathbf{Q}}\cap{\mathbf{F}}\) such that \({\mathbf{E}}\cap{\mathbf{F}}^\perp={\mathbf{E}}\cap{\mathbf{q}}^\perp\). By replacing \({\mathbf{q}}\) by a multiple of \({\mathbf{q}}\), we can assume w.l.o.g. that for every \({\mathbf{e}}\in {\mathbf{E}}\setminus{\mathbf{F}}^\perp\), we have \({\mathbf{e}}\cdot{\mathbf{q}}_n\geq 0\) where \({\mathbf{q}}_n\mathrel{\vcenter{:}}= {\mathbf{s}}_n-{\mathbf{s}}_0-{\mathbf{p}}+{\mathbf{q}}\). Moreover, for every \({\mathbf{e}}\) in \({\mathbf{E}}\cap{\mathbf{F}}^\perp={\mathbf{L}}\) either \({\mathbf{e}}\in {\mathbf{U}}\) and in this case \({\mathbf{e}}\cdot{\mathbf{q}}_n\geq {\mathbf{e}}\cdot{\mathbf{q}}\geq 0\), or \({\mathbf{e}}\in {\mathbf{K}}\) and in that case from \({\mathbf{e}}\cdot({\mathbf{s}}_n-{\mathbf{s}}_0)=0\), \({\mathbf{e}}\cdot-{\mathbf{p}}=0\) since \({\mathbf{p}}\in{\mathbf{P}}\subseteq {\mathbf{H}}\subseteq {\mathbf{K}}^\perp\), we deduce that \({\mathbf{e}}\cdot{\mathbf{q}}_n\geq {\mathbf{e}}\cdot{\mathbf{q}}\geq 0\). We have proved that \({\mathbf{e}}\cdot{\mathbf{q}}_n\geq 0\) for every \({\mathbf{e}}\in{\mathbf{E}}\). Hence \({\mathbf{q}}_n\in {\mathbf{C}}\). Since \({\mathbf{q}}_n\in {\mathbf{Q}}-{\mathbf{Q}}\) and \({\mathbf{Q}}\) is full, we deduce that \({\mathbf{q}}_n\in{\mathbf{Q}}\). As \({\mathbf{s}}_n+{\mathbf{q}}={\mathbf{s}}_0+{\mathbf{p}}+{\mathbf{q}}_n\), \({\mathbf{s}}_0+{\mathbf{p}}\in{\mathbf{X}}\), \({\mathbf{q}}_n\in{\mathbf{Q}}\), and \({\mathbf{X}}\) is \({\mathbf{Q}}\)-cylindric, we deduce that \({\mathbf{s}}_0+{\mathbf{p}}+{\mathbf{q}}_n\in{\mathbf{X}}\). We have proved that \({\mathbf{s}}_n+{\mathbf{q}}\in {\mathbf{X}}\). From \({\mathbf{s}}_n+({\mathbf{Q}}\cap{\mathbf{F}})\subseteq {\mathbf{Y}}\setminus{\mathbf{X}}\) and \({\mathbf{q}}\in {\mathbf{Q}}\cap{\mathbf{F}}\) we get a contradiction. Therefore \({\mathbf{s}}_0+({\mathbf{Q}}\cap{\mathbf{H}})\subseteq {\mathbf{Y}}\setminus{\mathbf{X}}\) since \({\mathbf{P}}={\mathbf{Q}}\cap{\mathbf{H}}\).
It follows that \(\operatorname{extract}_{{\mathbf{H}}}({\mathbf{X}},{\mathbf{Y}})\) is non-empty since it contains \({\mathbf{s}}_0\). As \({\mathbf{F}}\subseteq {\mathbf{H}}\), by maximality of \({\mathbf{F}}\), we deduce that \({\mathbf{F}}={\mathbf{H}}\). In particular \({\mathbf{P}}={\mathbf{Q}}\cap{\mathbf{F}}\). Since \(({\mathbf{s}}_n)_{n\in\mathbb{N}}\) is non-decreasing for \(\leq_{{\mathbf{P}}}\), we deduce that this sequence is non-decreasing for \(\leq_{{\mathbf{Q}}\cap{\mathbf{F}}}\). We have proved that \(\leq_{{\mathbf{Q}}\cap{\mathbf{F}}}\) is a wqo on \(\operatorname{extract}_{{\mathbf{F}}}({\mathbf{X}},{\mathbf{Y}})\). ◻
Now, let \({\mathbf{F}}_1,\ldots,{\mathbf{F}}_n\) be a linearization of the set of faces of \({\mathbf{C}}\) with respect to \(\supseteq\). Let \({\mathbf{X}}\subseteq {\mathbf{Y}}\) be two finitary \({\mathbf{Q}}\)-cylindric subsets of \(\mathbb{Z}^d\), and let \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) be subsets of \(\mathbb{Z}^d\) defined inductively for every \(i\in \{1,\ldots,n\}\) as follows where \({\mathbf{S}}_{<i}\mathrel{\vcenter{:}}={\mathbf{S}}_1\cup\ldots\cup{\mathbf{S}}_{i-1}\): \[{\mathbf{S}}_i\mathrel{\vcenter{:}}=\operatorname{extract}_{{\mathbf{F}}_i}({\mathbf{Y}}\setminus {\mathbf{S}}_{<i},{\mathbf{X}})\]
We introduce the set \(\mathcal{M}_i\) of faces \({\mathbf{F}}\) such that \(\operatorname{extract}_{{\mathbf{F}}}({\mathbf{Y}}\setminus {\mathbf{S}}_{< i},{\mathbf{X}})\) is non-empty.
Lemma 24. For every \(i\in\{1,\ldots,n+1\}\) the set \({\mathbf{Y}}\setminus {\mathbf{S}}_{< i}\) is \({\mathbf{Q}}\)-cylindric and \(\mathcal{M}_i\subseteq \{{\mathbf{F}}_i,\ldots,{\mathbf{F}}_n\}\).
Proof. Let us prove the lemma by induction on \(i\in \{1,\ldots,n+1\}\). The rank \(i=1\) is trivial. Assume the rank \(i\) proved for some \(i\in \{1,\ldots,n\}\). Since \({\mathbf{Y}}\setminus {\mathbf{S}}_{<i}\) is \({\mathbf{Q}}\)-cylindric, 21 shows that \(({\mathbf{Y}}\setminus {\mathbf{S}}_{< i})\setminus {\mathbf{S}}_i\), i.e. \({\mathbf{Y}}\setminus{\mathbf{S}}_{<i+1}\) is \({\mathbf{Q}}\)-cylindric. By construction observe that \(\mathcal{M}_{i+1}\subseteq \mathcal{M}_{i}\setminus\{{\mathbf{F}}_i\}\subseteq \{{\mathbf{F}}_{i+1},\ldots,{\mathbf{F}}_n\}\). We have proved the induction. ◻
The \({\mathbf{Q}}\)-cylindric set \({\mathbf{Y}}\setminus {\mathbf{S}}_{< i}\) is finitary since it is included in the finitary \({\mathbf{Q}}\)-cylindric set \({\mathbf{Y}}\). Observe that if \({\mathbf{S}}_i\) is non-empty, since \(\mathcal{M}_{i}\subseteq \{{\mathbf{F}}_i,\ldots,{\mathbf{F}}_n\}\), we deduce that \({\mathbf{F}}_i\) is a \(\subseteq\)-maximal face such that \(\operatorname{extract}_{{\mathbf{F}}_i}({\mathbf{Y}}\setminus {\mathbf{S}}_{<i},{\mathbf{X}})\) is non-empty. 23 shows that \({\mathbf{S}}_i\) is a finitary \(({\mathbf{Q}}\cap{\mathbf{F}}_i)\)-cylindric set. Notice that this last property is also trivially true when \({\mathbf{S}}_i\) is empty. Clearly the sets \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) are pairwise-disjoint subsets of \({\mathbf{Y}}\setminus {\mathbf{X}}\). Moreover, since \(\mathcal{M}_{n+1}=\emptyset\), 22 shows that \(({\mathbf{Y}}\setminus{\mathbf{S}}_{< n+1})\setminus {\mathbf{X}}\) is empty. It follows that \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) is a disjoint decomposition of \({\mathbf{Y}}\setminus{\mathbf{X}}\).
Finally, assume that \({\mathbf{Y}}\subseteq {\mathbf{X}}-{\mathbf{Q}}\) and let us prove that \({\mathbf{S}}_1\) is empty. Recall that \({\mathbf{F}}_1={\mathbf{C}}\). It follows that if \({\mathbf{S}}_1\) is non-empty, there exists \({\mathbf{s}}\in\mathbb{Z}^d\) such that \({\mathbf{s}}+{\mathbf{Q}}\subseteq {\mathbf{Y}}\setminus{\mathbf{X}}\). As \({\mathbf{s}}\in{\mathbf{Y}}\subseteq {\mathbf{X}}-{\mathbf{Q}}\), there exists \({\mathbf{q}}\in{\mathbf{Q}}\) such that \({\mathbf{s}}+{\mathbf{q}}\in {\mathbf{X}}\). We get a contradiction. Hence \({\mathbf{S}}_1\) is empty.
We have proved 2.
We are now equipped with the necessary ingredients to prove our main result, namely that every semilinear set \({\mathbf{\Phi}} \subseteq \mathbb{N}^d\) containing the reachability set of an IBVAS \(\mathcal{S}\) also contains a semilinear inductive invariant for \(\mathcal{S}\) (see 1). Let us consider, for the rest of this section, an IBVAS \(\mathcal{S}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_0, \mathcal{B})\) and a semilinear set \({\mathbf{\Phi}} \subseteq \mathbb{N}^d\) such that \(\operatorname{Reach}_{}(\mathcal{S}) \subseteq {\mathbf{\Phi}}\).
We first introduce a well-founded relation \(\Yleft\) on finite sets of directed iruns of \(\mathcal{S}\). The set \(\mathbb{N}^{d+1}\) is ordered by the strict lexicographic order \(<_{lex}\) defined by \((m_0, \ldots, m_d) <_{lex} (n_0, \ldots, n_d)\) if \((m_0, \ldots, m_d) \neq (n_0, \ldots, n_d)\) and the maximal12 \(i\) such that \(m_i \neq n_i\) satisfies \(m_i < n_i\). We associate with a directed irun \(w \mathrel{\vcenter{:}}= (\rho_w, {\mathbf{C}}_w)\) the vector \(\operatorname{rank}(w) \mathrel{\vcenter{:}}= (n_0, \ldots, n_d) \in \mathbb{N}^{d+1}\) defined by \(n_j = 1\) if \(j = \operatorname{dim}({\mathbf{C}}_w - {\mathbf{C}}_w)\), and \(n_j = 0\) otherwise. For every finite set \(W\) of directed iruns, we let \(\operatorname{rank}(W) \mathrel{\vcenter{:}}= \sum_{w \in W} \operatorname{rank}(w)\). The binary relation \(\Yleft\) on finite sets of directed iruns is defined by \(V \Yleft W\) if \(\operatorname{rank}(V) <_{lex} \operatorname{rank}(W)\). It is readily seen that \(\Yleft\) is a well-founded relation (i.e., there is no infinite sequence \(W_0, W_1, W_2, \ldots\) with \(W_{i+1} \Yleft W_i\) for all \(i\)).
We observe that for every semilinear set \({\mathbf{A}} \subseteq \mathbb{N}^d\), the pair \(({\mathbf{A}}, \emptyset)\) is a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\) if, and only if, the set \({\mathbf{A}}\) is an inductive invariant for \(\mathcal{S}\) such that \({\mathbf{A}} \subseteq {\mathbf{\Phi}}\). We have already shown in 3 that there exists a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\). The remainder of this section proves the key property stated in 25 (and already mentioned in 3). As \(\Yleft\) is well-founded, this entails that a safety witness of the form \(({\mathbf{A}}, \emptyset)\) exists, and concludes the proof of 1.
Lemma 25. For every safety witness \(({\mathbf{A}}, W)\) for \(\mathcal{S}\) and \({\mathbf{\Phi}}\), if \(W \neq \emptyset\) then there exists a safety witness \(({\mathbf{A}}', W')\) for \(\mathcal{S}\) and \({\mathbf{\Phi}}\) such that \(W' \Yleft W\).
As we hinted before, our proof of 25 uses 13 2. We also rely on the two following technical lemmas. The first one, 26, will help us show the premises of 13. The second one, 27, provides a sufficient condition for an attractor to “touch” a directed irun.
Lemma 26. Let \(({\mathbf{A}}, W)\) be a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\). For every directed irun \(u \in W\), the set \(\operatorname{Reach}_{}(\operatorname{tgt}(\operatorname{IRuns}(u)) \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\) is contained in \({\mathbf{A}} \cup \bigcup_{v \in V} \operatorname{tgt}(\operatorname{IRuns}(v))\), where \(V \mathrel{\vcenter{:}}= \{v \in W \mid u \twoheadrightarrow_{}v\}\).
Proof. Consider a run \(\beta\) with \(\operatorname{src}(\beta) \in (\operatorname{tgt}(\operatorname{IRuns}(u)) \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\). There exists an irun \(\alpha \in \operatorname{IRuns}(u)\) such that \(\operatorname{src}(\beta) \in (\{\operatorname{tgt}(\alpha)\} \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\). By replacing \(\operatorname{tgt}(\alpha)\) by \(\alpha\) in \(\beta\), we obtain an irun \(\hat{\beta}\) that satisfies \(\alpha \sqsubseteq \hat{\beta}\) and \(\operatorname{tgt}(\hat{\beta}) = \operatorname{tgt}(\beta)\). Since \(({\mathbf{A}}, W)\) is a safety witness, we have \(\operatorname{tgt}(\hat{\beta}) \in {\mathbf{A}}\) or \(\hat{\beta} \in \operatorname{IRuns}(v)\) for some \(v \in W\). In the latter case, we have \(u \twoheadrightarrow_{}v\) since \(\alpha \sqsubseteq \hat{\beta}\), \(\alpha \in \operatorname{IRuns}(u)\) and \(\hat{\beta} \in \operatorname{IRuns}(v)\), hence, \(v \in V\). We conclude that \(\operatorname{tgt}(\beta) = \operatorname{tgt}(\hat{\beta})\) is in \({\mathbf{A}} \cup \bigcup_{v \in V} \operatorname{tgt}(\operatorname{IRuns}(v))\). ◻
Lemma 27. Let \({\mathbf{Q}} \subseteq \mathbb{N}^d\) be a finitely-generated periodic set and let \({\mathbf{A}}\) be a \({\mathbf{Q}}\)-cylindric attractor for \(\mathcal{S}\). For every directed iruns \(u, v\) of \(\mathcal{S}\) such that \(u \twoheadrightarrow_{}v\) and \({\mathbf{Q}}_u = {\mathbf{Q}}_v = {\mathbf{Q}}\), if \({\mathbf{A}}\) intersects \(\operatorname{tgt}(\rho_u) + {\mathbf{Q}}\) then \({\mathbf{A}}\) intersects \(\operatorname{tgt}(\rho_v) + {\mathbf{Q}}\).
Proof. Let \(u\) and \(v\) be directed iruns of \(\mathcal{S}\) such that \(u \twoheadrightarrow_{}v\) and \({\mathbf{Q}}_u = {\mathbf{Q}}_v = {\mathbf{Q}}\). Assume that \({\mathbf{A}} \cap (\operatorname{tgt}(\rho_u) + {\mathbf{Q}})\) is not empty. There exists \({\mathbf{q}} \in {\mathbf{Q}}\) such that \((\operatorname{tgt}(\rho_u) + {\mathbf{q}}) \in {\mathbf{A}}\). We get from \(u \twoheadrightarrow_{}v\) that \(\alpha \sqsubseteq \beta\) for some \(\alpha \in \operatorname{IRuns}(u)\) and \(\beta \in \operatorname{IRuns}(v)\). Put \({\mathbf{x}} \mathrel{\vcenter{:}}= \operatorname{tgt}(\alpha)\) and \({\mathbf{y}} \mathrel{\vcenter{:}}= \operatorname{tgt}(\beta)\) to reduce clutter. By definition, we have \({\mathbf{x}} \in \operatorname{tgt}(\rho_u) + {\mathbf{P}}_u\) and \({\mathbf{y}} \in \operatorname{tgt}(\rho_v) + {\mathbf{P}}_v\). It follows from \({\mathbf{Q}}_u = {\mathbf{Q}}_v = {\mathbf{Q}}\) that \({\mathbf{x}} \in \operatorname{tgt}(\rho_u) + {\mathbf{Q}}\) and \({\mathbf{y}} \in \operatorname{tgt}(\rho_v) + {\mathbf{Q}}\). Note that \({\mathbf{y}} + {\mathbf{q}}\) is in \(\operatorname{tgt}(\rho_v) + {\mathbf{Q}}\). We now make two observations. Firstly, it holds that \(({\mathbf{x}} + {\mathbf{q}}) \in (\operatorname{tgt}(\rho_u) + {\mathbf{q}} + {\mathbf{Q}}) \subseteq {\mathbf{A}}\) since \({\mathbf{A}}\) is \({\mathbf{Q}}\)-cylindric. Secondly, we have \({\mathbf{y}} \in \operatorname{Reach}_{}(\{{\mathbf{x}}\} \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\) since \({\mathbf{x}} = \operatorname{tgt}(\alpha)\), \({\mathbf{y}} = \operatorname{tgt}(\beta)\) and \(\alpha \sqsubseteq \beta\). It follows by monotony of BVAS runs (see [fact:monotony]) that \(({\mathbf{y}} + {\mathbf{q}}) \in \operatorname{Reach}_{}(\{{\mathbf{x}} + {\mathbf{q}}\} \,{\shuffle}\, {\mathbf{\Delta}}_0^*) \subseteq {\mathbf{A}}\) since \(({\mathbf{x}} + {\mathbf{q}}) \in {\mathbf{A}}\) and \({\mathbf{A}}\) is an attractor. We have shown that \({\mathbf{y}} + {\mathbf{q}}\) is in \({\mathbf{A}} \cap (\operatorname{tgt}(\rho_v) + {\mathbf{Q}})\). ◻
Let us now prove 25. Consider a safety witness \(({\mathbf{A}}, W)\) for \(\mathcal{S}\) and \({\mathbf{\Phi}}\), and assume that \(W \neq \emptyset\). As in the overview presented at the end of 3, we pick an arbitrary bottom SCC \(\Gamma\) of the graph \((W, \twoheadrightarrow_{W})\) and we introduce the finitary \({\mathbf{Q}}_\Gamma\)-cylindric set \({\mathbf{Y}}_\Gamma \mathrel{\vcenter{:}}= \{\operatorname{tgt}(\rho_\gamma) \mid \gamma \in \Gamma\} + {\mathbf{Q}}_\Gamma\). Put \({\mathbf{I}}\mathrel{\vcenter{:}}= {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})\) and \({\mathbf{T}} \mathrel{\vcenter{:}}={\mathbf{A}} \cup ({\mathbf{Y}}_\Gamma \cap {\mathbf{\Phi}})\). Observe that \({\mathbf{I}}\) is an inductive invariant for \(\mathcal{S}\) since \({\mathbf{A}}\) is an attractor for \(\mathcal{S}\), and that \({\mathbf{T}}\) is semilinear since \({\mathbf{A}}\), \({\mathbf{Y}}_\Gamma\) and \({\mathbf{\Phi}}\) are semilinear. Pick a directed irun \(w \in \Gamma\). We will apply 13 to the set \(\operatorname{tgt}(\operatorname{IRuns}(w)) = \operatorname{tgt}(\rho_w) + {\mathbf{P}}_w\), which is almost linear (see 4.2). To do so, we need to show that \(\operatorname{Reach}_{}(\operatorname{tgt}(\operatorname{IRuns}(w)) \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}}\) and \({\mathbf{T}} \subseteq {\mathbf{I}}+ {\mathbf{Q}}_w\). The second inclusion follows from the observations that \({\mathbf{T}} \subseteq {\mathbf{A}} \cup {\mathbf{Y}}_\Gamma\), \({\mathbf{Y}}_\Gamma \subseteq \operatorname{Reach}_{}(\mathcal{S}) + {\mathbf{Q}}_\Gamma\) and \({\mathbf{Q}}_w = {\mathbf{Q}}_\Gamma\) since \(w \in \Gamma\). The first inclusion follows from the following relationships: \[\begin{align} \operatorname{Reach}_{}(\operatorname{tgt}(\operatorname{IRuns}(w)) \,{\shuffle}\, {\mathbf{I}}^*) & = \operatorname{Reach}_{}({\mathbf{A}}^* \,{\shuffle}\, \operatorname{tgt}(\operatorname{IRuns}(w)) \,{\shuffle}\, \operatorname{Reach}_{}(\mathcal{S})^*) & [{\mathbf{I}}= {\mathbf{A}} \cup \operatorname{Reach}_{}(\mathcal{S})] \\ & \subseteq {\mathbf{A}} \cup \operatorname{Reach}_{}(\operatorname{tgt}(\operatorname{IRuns}(w)) \,{\shuffle}\, \operatorname{Reach}_{}(\mathcal{S})^*) & [{\mathbf{A}} \text{ is an attractor}] \\ & \subseteq {\mathbf{A}} \cup \operatorname{Reach}_{}(\operatorname{tgt}(\operatorname{IRuns}(w)) \,{\shuffle}\, {\mathbf{\Delta}}_0^*) & [\text{\ref{fact:reach-shuffle}}] \\ & \subseteq {\mathbf{A}} \cup \bigcup_{\gamma \in \Gamma} \operatorname{tgt}(\operatorname{IRuns}(\gamma)) & [\text{\ref{lem:safety-witness-succ}}] \\ & \subseteq {\mathbf{A}} \cup ({\mathbf{Y}}_\Gamma \cap {\mathbf{\Phi}}) & [\text{see below}] \\ & = {\mathbf{T}} \end{align}\] The last inclusion holds because for every \(\gamma \in \Gamma\), we have \(\operatorname{tgt}(\operatorname{IRuns}(\gamma)) \subseteq \operatorname{Reach}_{}(\mathcal{S}) \subseteq {\mathbf{\Phi}}\) and \(\operatorname{tgt}(\operatorname{IRuns}(\gamma)) = \operatorname{tgt}(\rho_\gamma) + {\mathbf{P}}_\gamma \subseteq \operatorname{tgt}(\rho_\gamma) + {\mathbf{Q}}_\gamma \subseteq {\mathbf{Y}}_\Gamma\). According to 13, there exists \(p \in {\mathbf{P}}_w\) such that \(\operatorname{Reach}_{}((\operatorname{tgt}(\rho_w) + {\mathbf{p}} + {\mathbf{Q}}_w)^+ \,{\shuffle}\, {\mathbf{I}}^*) \subseteq {\mathbf{T}}\). We define \({\mathbf{R}} \mathrel{\vcenter{:}}= \operatorname{Reach}_{}((\operatorname{tgt}(\rho_w) + {\mathbf{p}} + {\mathbf{Q}}_w)^+ \,{\shuffle}\, {\mathbf{I}}^*)\) and \({\mathbf{X}} \mathrel{\vcenter{:}}= {\mathbf{R}} \cap {\mathbf{Y}}_\Gamma\). Let us show that the set \({\mathbf{X}}\) enjoys the properties claimed in the overview presented at the end of 3.
By monotony of BVAS runs (see [fact:monotony]), the set \({\mathbf{R}}\) is \({\mathbf{Q}}_w\)-cylindric. Recall that \({\mathbf{Q}}_w = {\mathbf{Q}}_\Gamma\) since \(w \in \Gamma\). It follows that \({\mathbf{X}}\) is finitary \({\mathbf{Q}}_\Gamma\)-cylindric since it is the intersection of the \({\mathbf{Q}}_\Gamma\)-cylindric set \({\mathbf{R}}\) and the finitary \({\mathbf{Q}}_\Gamma\)-cylindric set \({\mathbf{Y}}_\Gamma\). This entails, in particular, that \({\mathbf{X}}\) is semilinear.
We have \({\mathbf{X}} \subseteq {\mathbf{\Phi}}\) since \({\mathbf{X}} \subseteq {\mathbf{R}} \subseteq {\mathbf{T}} \subseteq {\mathbf{A}} \cup {\mathbf{\Phi}}\) and \({\mathbf{A}} \subseteq {\mathbf{\Phi}}\) as \(({\mathbf{A}}, W)\) is a safety witness.
The set \({\mathbf{A}} \cup {\mathbf{R}}\) is an attractor for \(\mathcal{S}\) by 1. Since \({\mathbf{R}} \subseteq {\mathbf{T}} \subseteq {\mathbf{A}} \cup {\mathbf{Y}}_\Gamma\), we derive that \({\mathbf{A}} \cup {\mathbf{R}} = {\mathbf{A}} \cup ({\mathbf{R}} \cap {\mathbf{Y}}_\Gamma) = {\mathbf{A}} \cup {\mathbf{X}}\). Therefore, the set \({\mathbf{A}} \cup {\mathbf{X}}\) is an attractor for \(\mathcal{S}\).
The set \({\mathbf{R}}\) is an attractor for \(\mathcal{S}\) by 1 (applied with \({\mathbf{A}} \mathrel{\vcenter{:}}= \emptyset\)). As mentioned above, \({\mathbf{R}}\) is \({\mathbf{Q}}_\Gamma\)-cylindric. Note that \({\mathbf{R}}\) intersects \(\operatorname{tgt}(\rho_w) + {\mathbf{Q}}_\Gamma\) since \({\mathbf{R}}\) contains \(\operatorname{tgt}(\rho_w) + {\mathbf{p}}\) and \({\mathbf{p}} \in {\mathbf{P}}_w \subseteq {\mathbf{Q}}_w = {\mathbf{Q}}_\Gamma\). It follows from 27 that \(\operatorname{tgt}(\rho_\gamma)\) is in \({\mathbf{R}} - {\mathbf{Q}}_\Gamma\) for every \(\gamma \in \Gamma\). We derive from \({\mathbf{R}} + {\mathbf{Q}}_\Gamma \subseteq {\mathbf{R}}\) and \({\mathbf{X}} = {\mathbf{R}} \cap {\mathbf{Y}}_\Gamma\) that \({\mathbf{Y}}_\Gamma \subseteq {\mathbf{X}} - {\mathbf{Q}}_\Gamma\).
For every \({\mathbf{r}} \in {\mathbf{R}}\) and \({\mathbf{y}} \in \mathbb{N}^d\) such that \({\mathbf{r}} \xrightarrow{\mathcal{S}} {\mathbf{y}}\), we have \({\mathbf{y}} \in \operatorname{Reach}_{}({\mathbf{R}} \,{\shuffle}\, {\mathbf{\Delta}}_0^*)\), hence, \({\mathbf{y}} \in {\mathbf{R}}\) as \({\mathbf{R}}\) is an attractor (see above). Since \({\mathbf{X}} = {\mathbf{R}} \cap {\mathbf{Y}}_\Gamma\), we derive that the binary relation \(\xrightarrow{\mathcal{S}}\) has an empty intersection with \({\mathbf{X}} \times ({\mathbf{Y}}_\Gamma \setminus {\mathbf{X}})\).
To summarize what we have done so far, we have constructed a finitary \({\mathbf{Q}}_\Gamma\)-cylindric set \({\mathbf{X}} \subseteq {\mathbf{Y}}_{\Gamma}\) such that firstly \({\mathbf{A}}' \mathrel{\vcenter{:}}= {\mathbf{A}} \cup {\mathbf{X}}\) is a semilinear attractor for \(\mathcal{S}\) contained in \({\mathbf{\Phi}}\), secondly \({\mathbf{Y}}_\Gamma \subseteq {\mathbf{X}} - {\mathbf{Q}}_\Gamma\), and thirdly \(\xrightarrow{\mathcal{S}}\) has an empty intersection with \({\mathbf{X}} \times ({\mathbf{Y}}_\Gamma \setminus {\mathbf{X}})\).
Before introducing the set \(W'\) of directed iruns, we first prove the following lemma.
Lemma 28. For every directed iruns \(w\) and for every iruns \(\rho\in \operatorname{IRuns}(w)\), we have:
\(\operatorname{IRuns}((\rho,{\mathbf{C}}_w))\subseteq \operatorname{IRuns}(w)\), and
\({\mathbf{P}}_\rho\cap{\mathbf{C}}_w\subseteq {\mathbf{Q}}_w\).
Proof. Let \(u\mathrel{\vcenter{:}}= (\rho,{\mathbf{C}}_w)\) and \(\sigma\in \operatorname{IRuns}(u)\). We have \(\rho\trianglelefteq\sigma\) and \(\operatorname{tgt}(\sigma)\in \operatorname{tgt}(\rho)+{\mathbf{C}}_w\). Moreover notice that \(\rho_w \trianglelefteq \rho\) and \(\operatorname{tgt}(\rho)\in \operatorname{tgt}(\rho_w)+{\mathbf{C}}_w\). We deduce that \(\operatorname{tgt}(\sigma)\in \operatorname{tgt}(\rho_w)+{\mathbf{C}}_w\). By transitivity of \(\trianglelefteq\) we derive \(\rho_w\trianglelefteq\sigma\). Hence \(\sigma\in \operatorname{IRuns}(w)\) and we have prove the first inclusion.
For the second inclusion, notice that \({\mathbf{C}}_u={\mathbf{C}}_w\), \(\rho\sqsubseteq\rho\), \(\rho\in \operatorname{IRuns}(u)\) and \(\rho\in \operatorname{IRuns}(w)\). 3 shows that \({\mathbf{Q}}_u\subseteq {\mathbf{Q}}_w\). Since \({\mathbf{P}}_u\subseteq{\mathbf{Q}}_u\) and \({\mathbf{P}}_u={\mathbf{P}}_\rho\cap{\mathbf{C}}_w\) we deduce the inclusion \({\mathbf{P}}_\rho\cap{\mathbf{C}}_w\subseteq {\mathbf{Q}}_w\). ◻
Let us recall that \({\mathbf{C}}_\Gamma\) is the finitely-generated cone satisfying \({\mathbf{C}}_\gamma={\mathbf{C}}_\Gamma\) for every \(\gamma\in \Gamma\). We introduce the finitely-generated cone \({\mathbf{C}}\mathrel{\vcenter{:}}=\operatorname{Con}({\mathbf{Q}}_\Gamma)\). From \({\mathbf{Q}}_\Gamma\subseteq {\mathbf{C}}_\Gamma\) we derive \({\mathbf{C}}\subseteq {\mathbf{C}}_\Gamma\). Let us fix a linearization \({\mathbf{F}}_1,\ldots,{\mathbf{F}}_n\) of the set of faces of \({\mathbf{C}}\) with respect to \(\supseteq\). It follows that \(n=|\mathcal{F}({\mathbf{C}})|\), \(\mathcal{F}({\mathbf{C}})=\{{\mathbf{F}}_1,\ldots,{\mathbf{F}}_n\}\), \({\mathbf{F}}_1={\mathbf{C}}\), and \({\mathbf{F}}_i\supseteq {\mathbf{F}}_j\) implies \(i\leq j\). We introduce the sequence \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) of subsets of \(\mathbb{Z}^d\) defined inductively for every \(i\in \{1,\ldots,n\}\) as follows where \({\mathbf{S}}_{<i}\mathrel{\vcenter{:}}={\mathbf{S}}_1\cup\ldots\cup{\mathbf{S}}_{i-1}\): \[{\mathbf{S}}_i\mathrel{\vcenter{:}}=\{{\mathbf{s}}\in\mathbb{Z}^d \mid {\mathbf{s}}+({\mathbf{Q}}\cap{\mathbf{F}}_i)\subseteq ({\mathbf{Y}}\setminus{\mathbf{S}}_{<i})\setminus {\mathbf{X}}\}\] Since \({\mathbf{X}} \subseteq {\mathbf{Y}}_{\Gamma}\) are finitary \({\mathbf{Q}}_\Gamma\)-cylindric, 2 shows that \({\mathbf{S}}_1,\ldots,{\mathbf{S}}_n\) is a disjoint decomposition of \({\mathbf{Y}}_\Gamma\setminus{\mathbf{X}}\) such that \({\mathbf{S}}_i\) is a finitary \(({\mathbf{Q}}\cap{\mathbf{F}}_i)\)-cylindric set for every \(1\leq i\leq n\). Moreover, since \({\mathbf{Y}}_\Gamma\subseteq{\mathbf{X}}-{\mathbf{Q}}_\Gamma\), we deduce that \({\mathbf{S}}_1\) is empty.
Let \(i\in\{2,\ldots,n\}\) and let us introduce the finitely-generated periodic set \({\mathbf{Q}}_i\mathrel{\vcenter{:}}={\mathbf{Q}}_\Gamma\cap {\mathbf{F}}_i\) and the set \(R_i\mathrel{\vcenter{:}}=\{\rho\in \operatorname{IRuns}(\Gamma)\mid \operatorname{tgt}(\rho)\in {\mathbf{S}}_i\}\). We denote by \(\leq_i\) the partial order \(\leq_{{\mathbf{Q}}_i}\). Since \({\mathbf{Q}}_i\) is a finitely-generated periodic set and \({\mathbf{S}}_i\) is a finitary \({\mathbf{Q}}_i\)-cylindric set, we deduce that \(\leq_i\) is a wpo on \({\mathbf{S}}_i\). We also introduce the partial order \(\trianglelefteq_i\) over \(R_i\) defined by \(\rho\trianglelefteq_i\sigma\) if \(\rho\trianglelefteq \sigma\) and \(\operatorname{tgt}(\rho)\leq_i\operatorname{tgt}(\sigma)\). Since \(\trianglelefteq\) is a wpo on \(\operatorname{IRuns}(\mathcal{S})\) and \(\leq_i\) is a wpo on \({\mathbf{S}}_i\), we deduce that \(\trianglelefteq_i\) is a wpo on \(R_i\). We introduce the finite set \(W_i\) of directed iruns \((\rho,F_i)\) where \(\rho\in\operatorname{Min}_{\trianglelefteq_i}(R_i)\). We are going to prove that the pair \(({\mathbf{A}}',W')\) is a safety witness satisfying 25 where \(W'\) is the following set of directed iruns. \[W'\mathrel{\vcenter{:}}= (W\setminus \Gamma)\cup \bigcup_{i=2}^n W_i\]
Let us first prove that \(W' \Yleft W\). We introduce \(i_\Gamma\mathrel{\vcenter{:}}=\operatorname{dim}({\mathbf{C}}_\Gamma-{\mathbf{C}}_\Gamma)\), and the natural numbers \(n_0,\ldots,n_d,n_0',\ldots,n_d'\) such that \(\operatorname{rank}(W)=(n_0,\ldots,n_d)\) and \(\operatorname{rank}(W')=(n_0',\ldots,n_d')\). Recall from 6 that \(\operatorname{dim}({\mathbf{F}}_i-{\mathbf{F}}_i)<\operatorname{dim}({\mathbf{C}}-{\mathbf{C}})\) for every \(i\in\{2,\ldots,n\}\). Moreover, since \({\mathbf{C}}\subseteq {\mathbf{C}}_\Gamma\), we deduce that \(\operatorname{dim}({\mathbf{F}}_i-{\mathbf{F}}_i)<i_\Gamma\). It follows that \(n'_{i_\Gamma}=n_{i_\Gamma}-|\Gamma|\) where \(|\Gamma|\) denotes the cardinal of \(\Gamma\), and \(n'_i=n_i\) for every \(i\in \{i_\Gamma+1,\ldots,d\}\). We deduce that \(\operatorname{rank}(W') <_{lex} \operatorname{rank}(W)\). Therefore \(W' \Yleft W\) as claimed.
Since \(W\) is homogeneous, we deduce from the following lemma that \(W'\) is homogeneous as well.
Lemma 29. For every \(i\in\{2,\ldots,n\}\), for every \(u\in W_i\), and for every \(v\in W'\) such that \(u\twoheadrightarrow_{}v\), there exists \(j\in\{i,\ldots,n\}\) such that \(v\in W_j\).
Proof. Clearly \(\xrightarrow{\mathcal{S}}\) is a \(\mathbb{N}^d\)-diagonal relation13, and in particular a \({\mathbf{Q}}_\Gamma\)-diagonal relation since \({\mathbf{Q}}_\Gamma\subseteq \mathbb{N}^d\). Moreover, as \(\xrightarrow{\mathcal{S}}\) has an empty intersection with \({\mathbf{X}}\times({\mathbf{Y}}_\Gamma\setminus {\mathbf{X}})\), 18 shows that \(\xrightarrow{\mathcal{S}}\) has an empty intersection with \({\mathbf{S}}_i\times{\mathbf{S}}_j\) for every \(1\leq j<i\leq k\).
Now, let \(u\in W_i\) for some \(i\in \{2,\ldots,n\}\) and \(v\in W'\) such that \(u\twoheadrightarrow_{}v\). It follows that \(\alpha\sqsubseteq\beta\) for some iruns \(\alpha\in \operatorname{IRuns}(u)\) and \(\beta\in \operatorname{IRuns}(v)\).
Assume by contradiction that \(v\in W\setminus \Gamma\). Since \(u\in W_i\), we deduce that \(u=(\rho_u,{\mathbf{F}}_i)\) where \(\rho_u\in \operatorname{IRuns}(\gamma)\) for some \(\gamma\in\Gamma\). As \({\mathbf{F}}_i\subseteq{\mathbf{C}}\), we derive from 28 that \(\operatorname{IRuns}(u)\subseteq \operatorname{IRuns}(\gamma)\). It follows that \(\alpha\in \operatorname{IRuns}(\gamma)\). From \(\alpha\in \operatorname{IRuns}(\gamma)\), \(\beta\in \operatorname{IRuns}(v)\), and \(\alpha\sqsubseteq\beta\), we deduce that \(\gamma\twoheadrightarrow_{W} v\). As \(\Gamma\) is a bottom SCC of \(W\), \(\gamma\in\Gamma\), and \(v\in W\), we deduce that \(v\in \Gamma\) and we get a contradiction. It follows that there exists \(j\in \{2,\ldots,n\}\) such that \(v\in W_j\).
Since \(\alpha\in \operatorname{IRuns}(u)\) we deduce that \(\operatorname{tgt}(\rho_u)\trianglelefteq_i\operatorname{tgt}(\alpha)\). In particular \(\operatorname{tgt}(\alpha)\in \operatorname{tgt}(\rho_u)+({\mathbf{P}}_{\rho_u}\cap {\mathbf{F}}_i)\). Since \({\mathbf{F}}_i\subseteq {\mathbf{C}}\subseteq{\mathbf{C}}_\Gamma\), we derive from 28 that \({\mathbf{P}}_{\rho_u}\cap{\mathbf{F}}_i\subseteq{\mathbf{Q}}_\Gamma\cap{\mathbf{F}}_i\). As \(\operatorname{tgt}(\rho_u)\in{\mathbf{S}}_i\) and \({\mathbf{S}}_i\) is \(({\mathbf{Q}}_\Gamma\cap{\mathbf{F}}_i)\)-cylindric, we deduce that \(\operatorname{tgt}(\alpha)\in{\mathbf{S}}_i\). Symmetrically, since \(\beta\in\operatorname{IRuns}(v)\), we deduce that \(\operatorname{tgt}(\beta)\in {\mathbf{S}}_j\). From \(\alpha\sqsubseteq \beta\), we deduce that \(\operatorname{tgt}(\alpha)\xrightarrow{\mathcal{S}}\operatorname{tgt}(\beta)\). As \(\operatorname{tgt}(\alpha)\in{\mathbf{S}}_i\) and \(\operatorname{tgt}(\beta)\in{\mathbf{S}}_j\), we deduce from the first paragraph that \(i\leq j\). ◻
In order to prove that \(({\mathbf{A}}',W')\) is a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\), it just remain to prove that for every irun \(\rho \in \operatorname{IRuns}(\mathcal{S})\), we have \(\operatorname{tgt}(\rho) \in {\mathbf{A}}'\) or \(\rho \in \operatorname{IRuns}(W')\). So, let \(\rho\in \operatorname{IRuns}(\mathcal{S})\) such that \(\operatorname{tgt}(\rho)\not\in {\mathbf{A}}'\). As \(({\mathbf{A}},W)\) is a safety witness and \(\operatorname{tgt}(\rho)\not\in{\mathbf{A}}\) we deduce that there exists \(w\in W\) such that \(\rho\in \operatorname{IRuns}(w)\). Clearly, if \(w\not\in \Gamma\) then \(w\in W'\) and in particular \(\rho\in \operatorname{IRuns}(W')\). So, let us assume that \(\rho\in \operatorname{IRuns}(\Gamma)\). It follows that \(\operatorname{tgt}(\rho)\in {\mathbf{Y}}_\Gamma\). If \(\operatorname{tgt}(\rho)\in {\mathbf{X}}\) then \(\operatorname{tgt}(\rho)\in{\mathbf{A}}'\), so we can assume that \(\operatorname{tgt}(\rho)\not\in {\mathbf{X}}\). Hence \(\operatorname{tgt}(\rho)\in {\mathbf{Y}}_\Gamma\setminus{\mathbf{X}}\). As \({\mathbf{S}}_2,\ldots,{\mathbf{S}}_n\) is a disjoint decomposition of \({\mathbf{Y}}_\Gamma\setminus {\mathbf{X}}\), there exists \(i\in\{2,\ldots,n\}\) such that \(\operatorname{tgt}(\rho)\in {\mathbf{S}}_i\). Hence \(\rho\in R_i\). We deduce that there exists \(u\in W_i\) such that \(\rho_u\trianglelefteq_i \rho\). In particular \(\rho_u\trianglelefteq \rho\) and \(\operatorname{tgt}(\rho)\in \operatorname{tgt}(\rho_u)+{\mathbf{F}}_i\). We deduce that \(\rho\in\operatorname{IRuns}(u)\subseteq \operatorname{IRuns}(W')\). We have proved that \(({\mathbf{A}}',W')\) is a safety witness for \(\mathcal{S}\) and \({\mathbf{\Phi}}\). We have proved 25.
We have established the decidability of reachability in branching vector addition systems, resolving a problem that has remained open for more than three decades.
Several questions remain open. First, our argument does not provide any complexity upper bound. For plain VAS, a complexity analysis of the invariant-based approach is known but it is based on the computational complexity of the KLM algorithm. Determining the complexity of BVAS reachability therefore appears to require new ideas, and perhaps fundamentally different algorithms. At present, even in dimension five, where decidability was previously established [22], no non-trivial complexity upper bound is known. Likewise, the best lower bound currently known is the Ackermann lower bound inherited from VAS reachability.
A second natural direction concerns extended BVAS (EBVAS), introduced in [5] as a counter automaton equivalent to two-variable first-order logic over data trees, and later connected in [9] to the observational equivalence problem for a finitary fragment of ML. The model of EBVAS enriches branching transitions with additional resource-transfer mechanisms, and is believed to be strictly more expressive than BVAS. The decidability of reachability for EBVAS remains open and, to the best of our knowledge, has not yet been systematically investigated. From the perspective of the present work, a first challenge would be to determine whether EBVAS have almost semilinear reachability set and whether this could be proved with the same approach as in [22].
Proof. If \({\mathbf{P}}\) is a finitely-generated periodic set, there exists a finite sequence \({\mathbf{p}}_1,\ldots,{\mathbf{p}}_k\in\mathbb{Z}^d\) such that \({\mathbf{P}}=\mathbb{N}{\mathbf{p}}_1+\cdots+\mathbb{N}{\mathbf{p}}_k\). Since \(\leq\) is a wqo on \(\mathbb{N}^k\) (Dickson’s Lemma), we deduce that \(\leq_{{\mathbf{P}}}\) is a wqo on \({\mathbf{P}}\). Conversely, assume that \(\leq_{{\mathbf{P}}}\) is a wqo on \({\mathbf{P}}\). We introduce the mapping \(f_{{\mathbf{s}}}:\mathbb{Z}^d\rightarrow \mathbb{Z}^d\) where \({\mathbf{s}}\in\{-1,1\}^d\) defined by \(f_{{\mathbf{s}}}({\mathbf{z}})=({\mathbf{s}}(1){\mathbf{z}}(1),\ldots,{\mathbf{s}}(d){\mathbf{z}}(d))\). The mapping is bijective since \(f_{{\mathbf{s}}}\circ f_{{\mathbf{s}}}\) is the identity. Notice that \({\mathbf{Q}}_{{\mathbf{s}}}\mathrel{\vcenter{:}}= f_{{\mathbf{s}}}({\mathbf{P}})\cap\mathbb{N}^d\) is a periodic set included in \(\mathbb{N}^d\) such that \(\leq_{{\mathbf{Q}}_s}\) is a wpo on \({\mathbf{Q}}_{{\mathbf{s}}}\). We introduce the finite set \({\mathbf{M}}_{{\mathbf{s}}}\mathrel{\vcenter{:}}=\operatorname{Min}_{\leq_{{\mathbf{Q}}_{{\mathbf{s}}}}}({\mathbf{Q}}_{{\mathbf{s}}}\setminus\{{\mathbf{0}}\})\). By induction on the norm \(\sum_{i=1}^d{\mathbf{q}}\) where \({\mathbf{q}}\in{\mathbf{Q}}_{{\mathbf{s}}}\), we derive that \({\mathbf{Q}}_{{\mathbf{s}}}=\operatorname{Per}({\mathbf{M}}_{{\mathbf{s}}})\). Now, just observe that \({\mathbf{M}}\mathrel{\vcenter{:}}=\bigcup_{{\mathbf{s}}}f_{{\mathbf{s}}}({\mathbf{M}}_{{\mathbf{s}}})\) satisfies \({\mathbf{P}}=\operatorname{Per}({\mathbf{M}})\). ◻
This appendix provides a detailed proof of [lem:ibvas-wpo-and-amalgamation]. As mentioned in 3, this lemma was proved in [22] with slightly different notations. We reprove it because our approach crucially relies on it.
Let us consider an IBVAS \(\mathcal{S}\mathrel{\vcenter{:}}=({\mathbf{\Delta}}_0, \mathcal{B})\) where \(\mathcal{B}\mathrel{\vcenter{:}}= ({\mathbf{\Delta}}_1, \ldots, {\mathbf{\Delta}}_r)\). To prove [lem:ibvas-wpo-and-amalgamation], we show that \((\operatorname{IRuns}(\mathcal{S}), \trianglelefteq)\) is a wpo (see 30) and that it satisfies the amalgamation property (see 31).
Lemma 30. The pair \((\operatorname{IRuns}(\mathcal{S}), \trianglelefteq)\) is a wpo.
Proof. It is straightforward to verify that \((\operatorname{IRuns}(\mathcal{S}),\trianglelefteq)\) is a poset. We therefore only need to show that it is a wqo. To show that it is a wqo, we will apply Kruskal’s lemma to “decorated” iruns. We first recall succinctly that lemma (see [40] for more details).
A tree \(t\) on a set \(A\) is defined inductively as a pair \((a,(t_1,\ldots, t_n))\) where \(a\in A\), \(n\in\mathbb{N}\), and \(t_1,\ldots,t_n\) is a sequence of trees on \(A\). Such a pair is simply denoted by \(a\langle t_1,\ldots,t_n\rangle\), and we denote by \(T(A)\) the set of trees on \(A\). Let \(\preceq\) be a quasi-order on \(A\). We introduce the quasi-order \(\preceq_T\) on \(T(A)\) inductively on the structure of a tree \(t\) by \(s\preceq_T t\) where \(s\mathrel{\vcenter{:}}= a\langle s_1,\ldots,s_n\rangle\) and \(t\mathrel{\vcenter{:}}= b\langle t_1,\ldots,t_m\rangle\) if (1) there exists \(i\in\{1,\ldots,m\}\) such that \(s\preceq_T t_i\), or (2) \(a\preceq b\) and there exists a sequence \(1\leq i_1<\ldots<i_n\leq m\) such that \(s_1\preceq_T t_{i_1}\wedge \ldots s_n\preceq_T t_{i_n}\). By the Kruskal theorem, we deduce that if \(\preceq\) is wqo on \(A\) then \(\preceq_T\) is wqo on \(T(A)\).
Let \(\Lambda = \bigcup_{n=1}^r \mathbb{N}^d \times \Delta_n \times (\mathbb{N}^d)^n\). We define a wqo \(\preceq\) on \(\Lambda\) by \(({\mathbf{x}}, \delta, {\mathbf{y}}) \preceq ({\mathbf{x}}', \delta', {\mathbf{y}}')\) if \({\mathbf{x}} \le {\mathbf{x}}'\), \(\delta = \delta'\) and \({\mathbf{y}} \le {\mathbf{y}}'\) belong to the same set \((\mathbb{N}^d)^n\). Clearly \(\preceq\) is a wqo on \(\Lambda\) and we deduce that \(\preceq_T\) is a wqo on \(T(\Lambda)\).
We introduce the (decoration) function \(f:\operatorname{IRuns}(\mathcal{S}) \to T(\Lambda)\) defined by induction on iruns \(\rho \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\rho_1,...,\rho_n))\) by \(f(\rho)\mathrel{\vcenter{:}}= \lambda \langle f(\rho_1),...,f(\rho_n) \rangle\) with \(\lambda \mathrel{\vcenter{:}}= ({\mathbf{c}}, \operatorname{act}(\rho), (\operatorname{tgt}(\rho_1),...,\operatorname{tgt}(\rho_n)))\). By structural induction on \(\sigma\), notice that \(\rho\trianglelefteq \sigma\) if, and only if, \(f(\rho) \preceq_{T(\Lambda)} f(\sigma)\wedge \operatorname{tgt}(\rho)\leq \operatorname{tgt}(\sigma)\). It follows that \(\trianglelefteq\) is a wpo on \(\operatorname{IRuns}(\mathcal{S})\). ◻
Lemma 31. For every iruns \(\rho, \alpha, \beta\) such that \(\rho \trianglelefteq \alpha, \beta\), there exists an irun \(\sigma\) such that \(\alpha, \beta \trianglelefteq \sigma\) and \(\operatorname{tgt}(\rho) + \operatorname{tgt}(\sigma) = \operatorname{tgt}(\alpha) + \operatorname{tgt}(\beta)\).
Proof. We now prove the amalgamation property by structural induction on \(\rho\). Let \(\rho \trianglelefteq \alpha, \beta\) be three iruns. Following the definition of \(\trianglelefteq\), there are subruns \(\alpha' \sqsubseteq \alpha\) and \(\beta' \sqsubseteq \beta\) such that \(\operatorname{tgt}(\rho) \le \operatorname{tgt}(\alpha), \operatorname{tgt}(\alpha'), \operatorname{tgt}(\beta), \operatorname{tgt}(\beta')\), \(\operatorname{arity}(\rho) = \operatorname{arity}(\alpha') = \operatorname{arity}(\beta')\), \(\operatorname{act}(\rho) = \operatorname{act}(\alpha') = \operatorname{act}(\beta')\) and \(\rho[j] \trianglelefteq \alpha'[j], \beta'[j]\) for every \(j\). Define \(n \mathrel{\vcenter{:}}= \operatorname{arity}(\rho)\). By induction hypothesis, for each \(j \in [1,n]\) there is an irun \(\sigma_j\) such that \(\alpha'[j], \beta'[j] \trianglelefteq \sigma_j\) and \(\operatorname{tgt}(\rho[j]) + \operatorname{tgt}(\sigma_j) = \operatorname{tgt}(\alpha'[j]) + \operatorname{tgt}(\beta'[j])\). Summing these equalities over \(j=1,\ldots,n\) and adding \(\operatorname{act}(\rho)\) yields \[\label{eq:sum-amalg} \operatorname{tgt}(\alpha') + \operatorname{tgt}(\beta') = \operatorname{tgt}(\rho) + \operatorname{act}(\rho) + (\sum_{j=1}^n \operatorname{tgt}(\sigma_j))\tag{3}\]
Let \(\alpha''\) be a run obtained from \(\alpha\) by replacing a subrun \(\alpha'\) by just a leaf labeled by \(\operatorname{tgt}(\alpha')\). Since \(\operatorname{tgt}(\beta') \ge \operatorname{tgt}(\rho)\), by [fact:monotony], there is a run \(\hat{\alpha}\) with \(\operatorname{src}(\hat{\alpha}) \in \Delta_0^* (\operatorname{tgt}(\alpha') + \operatorname{tgt}(\beta') - \operatorname{tgt}(\rho)) \Delta_0^*\) and \(\operatorname{tgt}(\hat{\alpha}) = \operatorname{tgt}(\alpha) + \operatorname{tgt}(\beta') - \operatorname{tgt}(\rho)\). By a similar argument, we construct a run \(\hat{\beta}\) such that \(\operatorname{src}(\hat{\beta}) \in \Delta_0^* (\operatorname{tgt}(\beta') + \operatorname{tgt}(\alpha) - \operatorname{tgt}(\rho)) \Delta_0^*\) and \(\operatorname{tgt}(\hat{\beta}) = \operatorname{tgt}(\beta) + \operatorname{tgt}(\alpha) - \operatorname{tgt}(\rho)\).
Let \(\sigma'\) be the irun \(\left(\operatorname{act}(\rho) + \sum_{j=1}^n \operatorname{tgt}(\sigma_j), (\sigma_1,...,\sigma_n) \right)\). Using 3 , we can replace in \(\hat{\alpha}\) a leaf labeled \(\operatorname{tgt}(\alpha')+\operatorname{tgt}(\beta')-\operatorname{tgt}(\rho)\) by the irun \(\sigma'\). The resulting irun is denoted by \(\tau\). The irun \(\sigma\) is obtained by similarly replacing in \(\hat{\beta}\) a leaf labeled \(\operatorname{tgt}(\beta') + \operatorname{tgt}(\alpha) - \operatorname{tgt}(\rho)\) by \(\tau\).
There only remains to show that \(\alpha, \beta \trianglelefteq \sigma\). It is readily seen that \(\beta' \trianglelefteq \tau\) (by considering the subrun \(\sigma' \sqsubseteq \tau\)). We conclude that \(\beta \trianglelefteq \sigma\) by induction, using the following observation.
Let \(n \in \mathbb{N}\) and \(\eta \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\eta_1,...,\eta_n)), \theta \mathrel{\vcenter{:}}= ({\mathbf{c}}, (\theta_1,...,\theta_n))\) be two runs. If \(\eta_j \trianglelefteq \theta_j\) for all \(j \in [1,n]\), then \(\eta \trianglelefteq \theta\).
The same fact allows us to show that \(\alpha \trianglelefteq \tau\). We deduce that \(\alpha \trianglelefteq \sigma\) thanks to the following fact.
Let \(\eta, \theta\) be two runs. If \(\operatorname{tgt}(\eta) \le \operatorname{tgt}(\theta)\) and \(\eta \trianglelefteq \theta'\) for some \(\theta' \sqsubseteq \theta\), then \(\eta \trianglelefteq \theta\).
◻
This appendix provides the detailed proof of [lem:wsvas-wqo-and-amalgamation]. As mentioned in 5.1, we essentially lift to WSVAS existing proof arguments for VAS [13], [17], [37].
Let us consider a WSVAS \(\mathcal{V}\mathrel{\vcenter{:}}=(T, \sqsubseteq, \delta)\). To prove [lem:wsvas-wqo-and-amalgamation], we show that \((\operatorname{Runs}(\mathcal{V}), \trianglelefteq)\) is a wqo (see 3) and that it satisfies the amalgamation property (see 33).
The binary relation \(\trianglelefteq\) can be characterized in terms of subsequence embedding. Recall that for every qoset \((\Sigma, \preceq)\), the subsequence embedding is the quasi-order \(\preceq^*\) on \(\Sigma^*\) defined by \(u \preceq^* v\) if \(u = a_1 \cdots a_k\) and \(v = v_0 b_1 v_1 \cdots b_k v_k\) for some \(v_i \in \Sigma^*\) and \(a_i, b_i \in \Sigma\) such that \(a_i \preceq b_i\). To characterize \(\trianglelefteq\) in terms of \(\preceq^*\), we consider the alphabet \(\Sigma = \mathbb{N}^d \times T \times \mathbb{N}^d\) equipped with the quasi-order \(\preceq\) on \(\Sigma\) defined by \(({\mathbf{x}}, t, {\mathbf{y}}) \preceq ({\mathbf{x}}', t', {\mathbf{y}}')\) if \({\mathbf{x}} \leq {\mathbf{x}}'\), \(t \sqsubseteq t'\) and \({\mathbf{y}} \leq {\mathbf{y}}'\). The encoding of a run \(\rho \mathrel{\vcenter{:}}=({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\), written \(\langle \rho \rangle\), is the sequence in \(\Sigma^*\) defined by \(\langle \rho \rangle \mathrel{\vcenter{:}}=({\mathbf{c}}_0, t_1, {\mathbf{c}}_1) \cdots ({\mathbf{c}}_{k-1}, t_k, {\mathbf{c}}_k)\). Note that \(\langle \rho \rangle\) is the empty sequence if \(\rho\) has length zero.
Lemma 32. For every runs \(\rho\) and \(\sigma\), it holds that \(\rho \trianglelefteq \sigma\) if, and only if, \(\operatorname{dir}(\rho) \leq \operatorname{dir}(\sigma)\) and \(\langle \rho \rangle \preceq^* \langle \sigma \rangle\).
Proof. For the “only if” direction, assume that \(\rho = ({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\) and \(\sigma = \sigma_0 u_1 \sigma_1 \cdots u_k \sigma_k\) for some configurations \({\mathbf{c}}_0, \ldots, {\mathbf{c}}_k\), some runs \(\sigma_0, \ldots, \sigma_k\) and some transitions \(t_1, \ldots, t_k, u_1, \ldots, u_k\) such that \({\mathbf{c}}_i \leq \operatorname{src}(\sigma_i), \operatorname{tgt}(\sigma_i)\) for all \(i \in \{0, \ldots, k\}\) and \(t_i \sqsubseteq u_i\) for all \(i \in \{1, \ldots, k\}\). We have \(\operatorname{src}(\rho) = {\mathbf{c}}_0 \leq \operatorname{src}(\sigma_0) = \operatorname{src}(\sigma)\) and \(\operatorname{tgt}(\rho) = {\mathbf{c}}_k \leq \operatorname{tgt}(\sigma_k) = \operatorname{tgt}(\sigma)\), hence, \(\operatorname{dir}(\rho) \leq \operatorname{dir}(\sigma)\). Observe firstly that \(\langle \sigma \rangle = \langle \sigma_0 \rangle \, (\operatorname{tgt}(\sigma_0), u_1, \operatorname{src}(\sigma_1)) \, \langle \sigma_1 \rangle \cdots (\operatorname{tgt}(\sigma_{k-1}), u_k, \operatorname{src}(\sigma_k)) \, \langle \sigma_k \rangle\), and secondly that \(({\mathbf{c}}_{i-1}, t_i, {\mathbf{c}}_i) \preceq (\operatorname{tgt}(\sigma_{i-1}), u_i, \operatorname{src}(\sigma_i))\) for all \(i \in \{1, \ldots, k\}\). It follows that the encodings of \(\rho\) and \(\sigma\) satisfy \(\langle \rho \rangle = ({\mathbf{c}}_0, t_1, {\mathbf{c}}_1) \cdots ({\mathbf{c}}_{k-1}, t_k, {\mathbf{c}}_k) \preceq^* (\operatorname{tgt}(\sigma_0), u_1, \operatorname{src}(\sigma_1)) \cdots (\operatorname{tgt}(\sigma_{k-1}), u_k, \operatorname{src}(\sigma_k)) \preceq^* \langle \sigma \rangle\).
Conversely, assume that \(\operatorname{dir}(\rho) \leq \operatorname{dir}(\sigma)\) and \(\langle \rho \rangle \preceq^* \langle \sigma \rangle\). Let us write \(\rho\) as \(\rho = ({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\). We derive from \(\langle \rho \rangle \preceq^* \langle \sigma \rangle\) that \(\langle \sigma \rangle\) may be written as \(\langle \sigma \rangle = w_0 ({\mathbf{x}}_1, u_1, {\mathbf{y}}_1) w_1 \cdots ({\mathbf{x}}_k, u_k, {\mathbf{y}}_k) w_k\) for some sequences \(w_0, \ldots, w_k \in \Sigma^*\) and some triples \(({\mathbf{x}}_1, u_1, {\mathbf{y}}_1), \ldots, ({\mathbf{x}}_k, u_k, {\mathbf{y}}_k) \in \Sigma\) such that \(({\mathbf{c}}_{i-1}, t_i, {\mathbf{c}}_i) \preceq ({\mathbf{x}}_i, u_i, {\mathbf{y}}_i)\) for all \(i \in \{1, \ldots, k\}\). It follows that \(\sigma\) may be written as \(\sigma = \sigma_0 u_1 \sigma_1 \cdots u_k \sigma_k\) with \(w_i = \langle \sigma_i \rangle\) for all \(i \in \{0, \ldots, k\}\). Since \(\langle \sigma \rangle = \langle \sigma_0 \rangle \, ({\mathbf{x}}_1, u_1, {\mathbf{y}}_1) \, \langle \sigma_1 \rangle \cdots ({\mathbf{x}}_k, u_k, {\mathbf{y}}_k) \, \langle \sigma_k \rangle\), we get that \(\operatorname{src}(\sigma) = \operatorname{src}(\sigma_0)\), \(\operatorname{tgt}(\sigma_{i-1}) = {\mathbf{x}}_i\) and \({\mathbf{y}}_i = \operatorname{src}(\sigma_i)\) for all \(i \in \{1, \ldots, k\}\), and \(\operatorname{tgt}(\sigma_k) = \operatorname{tgt}(\sigma)\). Recall that \({\mathbf{c}}_0 = \operatorname{src}(\rho) \leq \operatorname{src}(\sigma)\), \({\mathbf{c}}_k = \operatorname{tgt}(\rho) \leq \operatorname{tgt}(\sigma)\) and \(({\mathbf{c}}_{i-1}, t_i, {\mathbf{c}}_i) \preceq ({\mathbf{x}}_i, u_i, {\mathbf{y}}_i)\) for all \(i \in \{1, \ldots, k\}\). It follows that \({\mathbf{c}}_i \leq \operatorname{src}(\sigma_i), \operatorname{tgt}(\sigma_i)\) for all \(i \in \{0, \ldots, k\}\) and \(t_i \sqsubseteq u_i\) for all \(i \in \{1, \ldots, k\}\). We have shown that \(\rho \trianglelefteq \sigma\). ◻
Corollary 3. The pair \((\operatorname{Runs}(\mathcal{V}), \trianglelefteq)\) is a wqo.
Proof. The pair \((\mathbb{N}^d, \leq)\) is a wqo by Dickson’s Lemma. Since \((T, \sqsubseteq)\) is a wqo, we get that \((\Sigma, \preceq)\) is also a wqo. It follows from Higman’s Lemma that \((\Sigma^*, \preceq^*)\) is a wqo. The corollary then follows from 32. ◻
Corollary 4. Let \(\rho\) and \(\sigma\) be two runs such that \(\rho = \rho_0 t_1 \rho_1 \cdots t_k \rho_k\) and \(\sigma = \sigma_0 u_1 \sigma_1 \cdots u_k \sigma_k\) for some runs \(\rho_0, \ldots, \rho_k, \sigma_0, \ldots, \sigma_k\) and some transitions \(t_1, \ldots, t_k, u_1, \ldots, u_k\). It holds that \(\rho \trianglelefteq \sigma\) if \(\rho_i \trianglelefteq \sigma_i\) for all \(i \in \{0, \ldots, k\}\) and \(t_i \sqsubseteq u_i\) for all \(i \in \{1, \ldots, k\}\).
Proof. We have \(\operatorname{src}(\rho) = \operatorname{src}(\rho_0) \leq \operatorname{src}(\sigma_0) = \operatorname{src}(\sigma)\) as \(\rho_0 \trianglelefteq \sigma_0\). Similarly, \(\operatorname{tgt}(\rho) = \operatorname{tgt}(\rho_k) \leq \operatorname{tgt}(\sigma_k) = \operatorname{tgt}(\sigma)\) as \(\rho_k \trianglelefteq \sigma_k\). Let us show that \(\langle \rho \rangle \preceq^* \langle \sigma \rangle\). Observe that \[\begin{align} \langle \rho \rangle & = \langle \rho_0 \rangle \, (\operatorname{tgt}(\rho_0), t_1, \operatorname{src}(\rho_1)) \, \langle \rho_1 \rangle \cdots (\operatorname{tgt}(\rho_{k-1}), t_k, \operatorname{src}(\rho_k)) \, \langle \rho_k \rangle \\ \langle \sigma \rangle & = \langle \sigma_0 \rangle \, (\operatorname{tgt}(\sigma_0), u_1, \operatorname{src}(\sigma_1)) \, \langle \sigma_1 \rangle \cdots (\operatorname{tgt}(\sigma_{k-1}), u_k, \operatorname{src}(\sigma_k)) \, \langle \sigma_k \rangle \end{align}\] According to 32, we have \(\operatorname{src}(\rho_i) \leq \operatorname{src}(\sigma_i)\), \(\operatorname{tgt}(\rho_i) \leq \operatorname{tgt}(\sigma_i)\) and \(\langle \rho_i \rangle \preceq^* \langle \sigma_i \rangle\) for all \(i \in \{0, \ldots, k\}\). This entails in particular that \((\operatorname{tgt}(\rho_{i-1}), t_i, \operatorname{src}(\rho_i)) \preceq (\operatorname{tgt}(\sigma_{i-1}), u_i, \operatorname{src}(\sigma_i))\) for all \(i \in \{1, \ldots, k\}\). We derive that \(\langle \rho \rangle \preceq^* \langle \sigma \rangle\). The corollary then follows from 32. ◻
Lemma 33. For every runs \(\rho, \alpha, \beta\) such that \(\rho \trianglelefteq \alpha, \beta\), there exists a run \(\sigma\) such that \(\alpha, \beta \trianglelefteq \sigma\) and \(\operatorname{dir}(\rho) + \operatorname{dir}(\sigma) = \operatorname{dir}(\alpha) + \operatorname{dir}(\beta)\).
Proof. We use some additional notations in this proof. Given a run \(\rho = ({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\) and a vector \({\mathbf{x}} \in \mathbb{N}^d\), we let \(\rho{\uparrow}{\mathbf{x}}\) denote the alternating sequence \(({\mathbf{c}}_0 + {\mathbf{x}}, t_1, {\mathbf{c}}_1 + {\mathbf{x}}, \ldots, t_k, {\mathbf{c}}_k + {\mathbf{x}})\). It is readily seen that \(\rho{\uparrow}{\mathbf{x}}\) is also a run and that \(\rho \trianglelefteq \rho{\uparrow}{\mathbf{x}}\). Given two runs \(\rho, \rho'\) such that \(\operatorname{tgt}(\rho) = \operatorname{src}(\rho')\), we let \(\rho \star\rho'\) denote the run obtained by concatenating \(\rho\) and \(\rho'\) in the obvious way (the target of \(\rho\) and the source of \(\rho'\) are merged together). Note that \(\langle \rho \rangle, \langle \rho' \rangle \preceq^* \langle \rho \star\rho' \rangle\). Let us now prove the lemma.
Consider a run \(\rho = ({\mathbf{c}}_0, t_1, {\mathbf{c}}_1, \ldots, t_k, {\mathbf{c}}_k)\) and let \(\alpha, \beta\) be runs such that \(\rho \trianglelefteq \alpha, \beta\). By definition of \(\trianglelefteq\), it holds that \(\alpha = \alpha_0 u_1 \alpha_1 \cdots u_k \alpha_k\) and \(\beta = \beta_0 v_1 \beta_1 \cdots v_k \beta_k\) for some runs \(\alpha_0, \ldots, \alpha_k, \beta_0, \ldots, \beta_k\) and some transitions \(u_1, \ldots, u_k, v_1, \ldots, v_k\) such that \({\mathbf{c}}_i \leq \operatorname{src}(\alpha_i), \operatorname{src}(\beta_i), \operatorname{tgt}(\alpha_i), \operatorname{tgt}(\beta_i)\) for all \(i \in \{0, \ldots, k\}\) and \(t_i \sqsubseteq u_i, v_i\) for all \(i \in \{1, \ldots, k\}\). Since \(\delta\) is a diamond map from \((T, \sqsubseteq)\) to \((\mathbb{Z}^d, \leq)\), there exist \(w_1, \ldots, w_k \in T\) such that \(u_i, v_i \sqsubseteq w_i\) and \(\delta(t_i) + \delta(w_i) = \delta(u_i) + \delta(v_i)\) for all \(i \in \{1, \ldots, k\}\). To construct the desired run \(\sigma\), we introduce for each \(i \in \{0, \ldots, k\}\) the vectors \({\mathbf{f}}_i, {\mathbf{g}}_i, {\mathbf{h}}_i \in \mathbb{N}^d\) and the runs \(\sigma_i, \sigma'_i\) defined by: \[\begin{align} {\mathbf{f}_i} & = \operatorname{src}(\alpha_i) + \operatorname{src}(\beta_i) - {\mathbf{c}}_i & \sigma_i & = \alpha_i{\uparrow}(\operatorname{src}(\beta_i) - {\mathbf{c}}_i) \\ {\mathbf{g}_i} & = \operatorname{tgt}(\alpha_i) + \operatorname{src}(\beta_i) - {\mathbf{c}}_i & \sigma'_i & = \beta_i{\uparrow}(\operatorname{tgt}(\alpha_i) - {\mathbf{c}}_i) \\ {\mathbf{h}_i} & = \operatorname{tgt}(\alpha_i) + \operatorname{tgt}(\beta_i) - {\mathbf{c}}_i \end{align}\] Observe that \(\operatorname{src}(\sigma_i) = {\mathbf{f}_i}\), \(\operatorname{tgt}(\sigma_i) = \operatorname{src}(\sigma'_i) = {\mathbf{g}_i}\) and \(\operatorname{tgt}(\sigma'_i) = {\mathbf{h}_i}\). Moreover, it is routinely checked that \({\mathbf{f}}_i = {\mathbf{h}}_{i-1} + \delta(w_i)\) for all \(i \in \{1, \ldots, k\}\). We derive that the alternating sequence \[\sigma \;= \; (\sigma_0 \star\sigma'_0) \, w_1 \, (\sigma_1 \star\sigma'_1) \cdots \, w_k \, (\sigma_k \star\sigma'_k)\] is a run. Moreover, we have \(\operatorname{src}(\sigma) = {\mathbf{f}}_0 = \operatorname{src}(\alpha_0) + \operatorname{src}(\beta_0) - {\mathbf{c}}_0 = \operatorname{src}(\alpha) + \operatorname{src}(\beta) - \operatorname{src}(\rho)\) and \(\operatorname{tgt}(\sigma) = {\mathbf{h}}_k = \operatorname{tgt}(\alpha_k) + \operatorname{tgt}(\beta_k) - {\mathbf{c}}_k = \operatorname{tgt}(\alpha) + \operatorname{tgt}(\beta) - \operatorname{tgt}(\rho)\). This entails that \(\operatorname{dir}(\rho) + \operatorname{dir}(\sigma) = \operatorname{dir}(\alpha) + \operatorname{dir}(\beta)\). It remains to show that \(\alpha, \beta \trianglelefteq \sigma\). We will use 4 to do so.
Let \(i \in \{0, \ldots, k\}\) and let us show that \(\alpha_i, \beta_i \trianglelefteq (\sigma_i \star\sigma'_i)\). The definitions of \(\sigma_i\) and \(\sigma'_i\) immediately entail that \(\alpha_i \trianglelefteq \sigma_i\) and \(\beta_i \trianglelefteq \sigma'_i\), hence, \(\langle \alpha_i \rangle \preceq^* \langle \sigma_i \rangle\) and \(\langle \beta_i \rangle \preceq^* \langle \sigma'_i \rangle\) by 32. It follows that \(\langle \alpha_i \rangle, \langle \beta_i \rangle \preceq^* (\sigma_i \star\sigma'_i)\) since \(\langle \sigma_i \rangle, \langle \sigma'_i \rangle \preceq^* (\sigma_i \star\sigma'_i)\). Notice that \(\operatorname{src}(\sigma_i \star\sigma'_i) = {\mathbf{f}_i} \geq \operatorname{src}(\alpha_i), \operatorname{src}(\beta_i)\) and \(\operatorname{tgt}(\sigma_i \star\sigma'_i) = {\mathbf{h}_i} \geq \operatorname{tgt}(\alpha_i), \operatorname{tgt}(\beta_i)\). We derive, again by 32, that \(\alpha_i, \beta_i \trianglelefteq (\sigma_i \star\sigma'_i)\).
We have shown in the previous paragraph that \(\alpha_i, \beta_i \trianglelefteq (\sigma_i \star\sigma'_i)\) for all \(i \in \{0, \ldots, k\}\). Recall that \(u_i, v_i \sqsubseteq w_i\) for all \(i \in \{1, \ldots, k\}\). It follows from 4 that \(\alpha, \beta \trianglelefteq \sigma\). ◻
Our definition of full periodic set slightly generalizes the one given in [36] since the cone \({\mathbf{C}}\) is not required to be finitely-generated in our case.↩︎
In the literature, BVAS runs are classically defined as unordered rooted trees whose nodes are labeled by configurations [2]. We choose an inductive, term-based definition as it simplifies some definitions and some proofs. Our term-based definition is clearly equivalent (for reachability) to the classical tree-based definition.↩︎
It is understood that \(\operatorname{tgt}(R)\mathrel{\vcenter{:}}=\{\operatorname{tgt}(\rho)\mid \rho\in R\}\) for every set of runs \(R\).↩︎
A disjoint decomposition of a set \(X\) is a partition of \(X\) that allows the emptyset, i.e., a finite sequence \(X_1,\ldots,X_n\) of subsets of \(X\) such that \(X=X_1\cup\cdots\cup X_n\) and \(X_i\cap X_j=\emptyset\) for every \(i\neq j\).↩︎
The same proof shows that \(\operatorname{Con}(\pi({\mathbf{R}}))=\pi(\operatorname{Con}({\mathbf{R}}))\) for any linear mapping \(\pi\).↩︎
Recall that by definition \({\mathbf{P}}_\rho = \{\operatorname{tgt}(\sigma) - \operatorname{tgt}(\rho) \mid \sigma \in \operatorname{IRuns}(\mathcal{S})\wedge \rho\trianglelefteq \sigma\}\).↩︎
The name diamond comes from the observation that if \(x \sqsubseteq a, b \sqsubseteq y\) and \(f(x) + f(y) = f(a) + f(b)\) then the differences \(d_{xa} = f(a) - f(x)\), \(d_{xb} = f(b) - f(x)\), \(d_{ay} = f(y) - f(a)\) and \(d_{by} = f(y) - f(b)\) satisfy \(d_{xa} = d_{by}\) and \(d_{xb} = d_{ay}\).↩︎
A binary relation \(R\) on a set \(X\) is almost-full [38] if for every infinite sequence \((x_n)_{n\in\mathbb{N}}\) of elements in \(X\), there exists \(m<n\) such that \((x_m, x_n) \in R\). Note that a qoset \((X, \preceq)\) is a wqo if, and only if, \(\preceq\) is almost-full.↩︎
See [rem:full] for details.↩︎
Since \({\mathbf{F}}={\mathbf{C}}\cap{\mathbf{L}}^\perp\) and \({\mathbf{F}}\not={\mathbf{C}}\) we deduce that the vector space \({\mathbf{V}}\mathrel{\vcenter{:}}={\mathbf{C}}-{\mathbf{C}}\) cannot be included in \({\mathbf{L}}^\perp\). In particular the vector space \({\mathbf{W}}\mathrel{\vcenter{:}}=({\mathbf{F}}-{\mathbf{F}})\cap{\mathbf{L}}^\perp\) is strictly included in \({\mathbf{V}}\). As \({\mathbf{W}}\subsetneq {\mathbf{V}}\) we deduce that \(\operatorname{dim}({\mathbf{W}})<\operatorname{dim}({\mathbf{V}})\).↩︎
In the usual definition of \(<_{lex}\), the condition \(m_i < n_i\) must hold for the minimal \(i\) such that \(m_i \neq n_i\). In our definition, we consider the maximal such \(i\), as it is more convenient for our purposes.↩︎
See [par:diagonal] for the definition of diagonal relations.↩︎