# Bringing memory to Boolean networks: a unifying framework

Maximilien Gadouleau, Loïc Paulevé, Sara Riva

<figure><img src="image_1.png" /></figure>

## To cite this version:

Maximilien Gadouleau, Loïc Paulevé, Sara Riva. Bringing memory to Boolean networks: a unifying framework. Journal of Computer and System Sciences, 2025, pp.103729. 10.1016/j.jcss.2025.103729. hal-05342924

HAL Id: hal-05342924

https://hal.science/hal-05342924v1

Submitted on 3 Nov 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>
# Bringing memory to Boolean networks: a unifying framework

Maximilien Gadouleau¹, Loïc Paulevé², Sara Riva³

¹ Department of Computer Science, Durham University, Durham, UK

² Univ. Bordeaux, CNRS, Bordeaux INP, LaBRI, UMR 5800, F-33400 Talence, France

³ Univ. Lille, CNRS, Centrale Lille, UMR 9189 CRISTAL, F-59000 Lille, France

**Abstract.** Boolean networks are extensively applied as models of complex dynamical systems, aiming at capturing essential features related to causality and synchronicity of the state changes of components along time. Dynamics of Boolean networks result from the application of their Boolean map according to a so-called update mode, specifying the possible transitions between network configurations. In this paper, we explore update modes that possess a memory on past configurations, and provide a generic framework to define them. We show that recently introduced modes such as the most permissive and interval modes can be naturally expressed in this framework, and we propose novel update modes, the history-based, trapping, and subcube-based modes. Building on the unified definitions, we provide a comprehensive comparison of memory-based update modes, resulting in their hierarchy by simulation and weak simulation. Finally, we highlight consequences of introducing memory on the notions of trajectory and attractors.

## 1 Introduction

Boolean networks (BNs) are a fundamental framework for addressing complex systems, with prominent applications in biology, ecology, and social sciences [10, 18, 7, 18]. Closely related to cellular automata, BNs consider a finite number of components, or automata, each having its own neighborhood and rule for computing its next Boolean state from the configuration of the network.

A large amount of theoretical work underlined the importance of the scheduling of the update of states of components for the dynamics that can be generated, the so-called *update mode*. One natural mode is the parallel (or synchronous) mode, where all components are updated simultaneously and instantaneously, generating deterministic dynamics. Other classical update modes are the (fully) asynchronous mode where only one component can be updated at a time, and the general asynchronous mode where any subset of components can be updated simultaneously, potentially leading to non-deterministic dynamics. By definition, the general asynchronous trajectories subsume the asynchronous and synchronous trajectories. The converse is, in general, false. Update modes also impact the so-called *limit* configurations, that are the configurations from which any reachable configuration can return to them. Limit configurations constitute the *attractors* of dynamics as they represent a set of configurations that, once reached, can no longer be evaded. Limit configurations are a prime subject of study in the literature, notably for determining their number and size, e.g., [10, 5, 6, 14], as well as their robustness to update modes, e.g., [2, 1].

When employing BNs as models of complex dynamical systems, such as gene regulation within cells, update modes aim at reflecting hypotheses related to the duration, speed, probability, and other quantitative features of the transitions. For instance, asynchronous modes can be motivated by the fact that genes can require different amounts of proteins to become active [20, 19].

There is a rich catalog of update modes defined in the literature that consider various restrictions related to the synchronicity and sequentiality of updates. These modes can be compared in terms of weak simulation relations: an update mode $\mu$ weakly simulates another update mode $\mu'$ if, for any BN, for any pair of its configurations, if there is a trajectory between these configurations with $\mu'$, then there is a trajectory with $\mu$ as well. This relationship enables to draw a hierarchy of update
modes [16], where most of them are weakly simulated by the general asynchronous mode. There is
a notable exception with a couple of recently introduced unconventional update modes that enable
generating trajectories impossible with the general asynchronous mode. The *interval* update mode [4],
inspired by work on concurrent systems by the means of Petri nets, considers cases when the state
change of a component can be put on hold for a while. During that period, other components still
observe the old value of it, and can evolve accordingly and before the new state is finally revealed.
This can generate new trajectories, leading to configurations that are not reachable with the general
asynchronous mode. The *most permissive* update mode [13] generalizes this abstraction by considering
that a component in the process of changing of state can be viewed as in superposition of both states.
This mode was motivated by the Boolean modeling of quantitative systems: e.g., during the increase of
the state of a component, there can be a time when it is sufficiently high for acting on one component
and not high enough for acting on another one. Lately, the *cuttable extension* update mode [12] was
introduced as a mode generating more trajectories than the interval, but less than the most permissive,
in order to better capture monotone changes of component states.

One of the common ingredients between the interval, cuttable, and most permissive modes is the account of some kind of *memory* of the state changes: it is because they remember that a component is changing that they can interleave additional transitions before applying the change, generating additional but plausible trajectories. Note that another mode named *BNs with memory* has been recently introduced [8]. However, as demonstrated in [15], it actually boils down to having a fixed set of components to update asynchronously while another set updates in parallel.

In this paper, we aim at emphasizing on the effect of memory in update modes of BNs, both by
introducing new modes around this feature, and by studying their relationship with others, as well as
related combinatorial properties.

To that end, we propose a unifying framework for defining update modes with memory by char-
acterizing the trajectories they generate. This allows to account for a sequence of configurations that
have been computed since an initial one, and compute elongation of the trajectory based on this se-
quence. Besides reformulating above-mentioned update modes, we take advantage of the framework
to introduce novel elementary update modes using memory: the *history-based*, the *trapping*, and the
*subcube-based* update modes. Intuitively, the history-based mode extends the asynchronous by allow-
ing to take any configuration of the past, instead of the latter only, to compute the next state of the
component. Then, the trapping mode extends the history-based by allowing to take any configuration
of the past as the base next configuration. Informally, this could be seen as some sort of time traveling:
after the update of some components, one can return to a past configuration and enable state changes
based on knowledge of the future (which can then be different). Finally, the subcube-based mode relies
on the smallest subcube enclosing the configurations of the trajectory: the next configuration results
from the update of any configuration of that subcube, with the state of one component computed
from to any other configuration of the subcube.

One can naturally derive that the asynchronous trajectories are a subset of history-based tra-
jectories, being themselves a subset of trapping trajectories. In this paper, we establish simulation
and weak simulation relationships with the interval, cuttable, most permissive and introduced update
modes (Sect. 3; Fig. 2). In particular, we demonstrate that cuttable and history-based modes are
incomparable, while both weakly simulating the interval, and both being weakly simulated by the
most permissive, which in turns, is weakly simulated by the trapping mode. We also show that the
trapping mode is weakly bisimilar to the subcube-based mode. We provide a similar hierarchy by
considering inclusion of trajectories (simulation).

Another important result is that most permissive and trapping modes have the same limit config-
urations, and have the same limit configurations reachable from any configuration (Sect. 4).

The paper is structured as follows. Sect. 2 introduces our generic framework to express memory-
based update modes which is employed to define novel trapping, history-based, and subcube-based
update modes, and give equivalent definitions of asynchronous, most permissive, interval and cuttable
update modes. Then, Sect. 3 provides a simulation and weak-simulation hierarchy between those up-
dates, and Sect. 4 highlight important consequences of using memory in update modes on trajectories
and attractors. Finally, Sect. 5 discusses the contributions of the paper.
## Notations

We denote the Boolean set by $\mathbb{B} = \{0,1\}$ and for any positive integer $n$, we denote $[n] = \{1, \dots, n\}$. A configuration is $x = (x_1, \dots, x_n) \in \mathbb{B}^n$. For any $S \subseteq [n]$, we denote $x_S = (x_s : s \in S)$ and $x_{-S} = (x_t : t \notin S)$, and we use the notation $x = (x_S, x_{-S})$. We shall identify an element $i \in [n]$ with the corresponding singleton $\{i\}$, so that $x = (x_i, x_{-i})$ for instance. For any two configurations $x, y \in \mathbb{B}^n$, we denote the set of components where they differ by $\Delta(x, y) = \{i \in [n] : x_i \neq y_i\}$ and their Hamming distance by $d_H(x, y) = |\Delta(x, y)|$. For any Boolean variable $a \in \mathbb{B}$, we denote its negation by $\neg a = 1 - a$; we extend this notation to configurations of any length by componentwise negation: $\neg x = (\neg x_1, \dots, \neg x_n)$.

A subcube of $\mathbb{B}^n$ is any $X \subseteq \mathbb{B}^n$ such that there exist two disjoint sets of configurations $S, T \subseteq [n]$ with $X = \{x \in \mathbb{B}^n : x_S = 0, x_T = 1\}$. For any set $A \subseteq \mathbb{B}^n$, the principal subcube of $A$, denoted by $[A]$, is the smallest subcube containing $A$. If $A = \{a_1, \dots, a_k\}$, we also denote $[A] = [a_1, \dots, a_k]$. If $X$ is a subcube and $x \in X$, then there is a unique $y \in X$ such that $X = [x, y]$; we refer to $y$ as the opposite of $x$ in $X$, and we denote it by $y = X - x$.

A Boolean network (BN) with $n$ components is a mapping $f : \mathbb{B}^n \to \mathbb{B}^n$. We denote the set of BNs with $n$ components as $F(n)$. Any BN $f \in F(n)$ can be viewed as $f = (f_1, \dots, f_n)$ where $f_i : \mathbb{B}^n \to \mathbb{B}$ is given by $f_i(x) = f(x)_i$ for all $i \in [n]$.

A trapspace of $f \in F(n)$ is a subcube $X \subseteq \mathbb{B}^n$ such that $f(X) \subseteq X$. The collection of all trapspaces of $f$ is closed under intersection. Then for any $x \in \mathbb{B}^n$, there is a smallest trapspace of $f$ that contains $x$, which we shall refer to as the principal trapspace of $x$ (with respect to $f$). For the sake of simplicity, we denote it by $T_f(x)$. The principal trapspace $T_f(x)$ can be recursively computed as follows: let $T_0 = \{x\}$ and $T_i = [T_{i-1} \cup f(T_{i-1})]$, then $T_n = T_f(x)$. In particular, $[x, f(x)] \subseteq T_f(x)$. A trapspace $T$ is minimal if there is no trapspace $T'$ with $T' \subsetneq T$. Clearly, any minimal trapspace is principal, but the converse does not necessarily hold.

A (directed) graph is $\Gamma = (V, E)$, where $V$ is the set of vertices and $E \subseteq V^2$ is the set of edges. The asynchronous graph of a BN $f \in F(n)$ is the graph $A(f) = (V, E)$ where $V = \mathbb{B}^n$ and

$$E = \{(f_i(x), x_{-i}) : x \in \mathbb{B}^n, i \in [n]\}.$$

Note that in most literature, one removes the loops $(x, x)$ from the asynchronous graph, that occur every time $f_i(x) = x_i$, yet we shall keep those loops instead in our definition. However, when drawing the asynchronous graph, we shall not display the loops and instead draw the underlying hypercube with thin black lines and the arcs of the graph with thick blue arrows. See below for an example of a BN, for which we give the asynchronous graph and all the principal and minimal trapspaces.

**Example 1.1.** Let $f \in F(3)$ be defined as

<table><thead><tr><th>x</th><th>f(x)</th></tr></thead><tbody><tr><td>000</td><td>110</td></tr><tr><td>001</td><td>100</td></tr><tr><td>010</td><td>000</td></tr><tr><td>011</td><td>110</td></tr><tr><td>100</td><td>100</td></tr><tr><td>101</td><td>101</td></tr><tr><td>110</td><td>110</td></tr><tr><td>111</td><td>110</td></tr></tbody></table>

The asynchronous graph of $f$ is given by:
<figure><img src="image_3.png" /></figure>

Then the principal trapspaces of f are given below, where $T_f(100)$, $T_f(101)$ and $T_f(110)$ are the only minimal trapspaces of f:

$$T_f(000) = [000, 110] = \{x : x_3 = 0\}$$

$$T_f(001) = [001, 110] = \{x\} = \mathbb{B}^3$$

$$T_f(010) = [010, 100] = \{x : x_3 = 0\}$$

$$T_f(011) = [011, 100] = \{x\} = \mathbb{B}^3$$

$$T_f(100) = [100, 100] = \{100\}$$

$$T_f(101) = [101, 101] = \{101\}$$

$$T_f(110) = [110, 110] = \{110\}$$

$$T_f(111) = [111, 110] = \{x : x_1 = x_2 = 1\}.$$

# 2 Update modes for dynamics with memory

## 2.1 A unified framework

In this section, we give a unified framework for defining update modes that rely on memory along trajectories. We focus on the fully asynchronous case, whereby one component updates its state at each given time.

Before giving the unified framework in its generality, we would like to illustrate it via the example of an asynchronous trajectory. Consider the network f from Example 1.1. By following the arcs of the asynchronous graph, we have a trajectory

$$x^0 = 011 \rightarrow x^1 = 010 \rightarrow x^2 = 000 \rightarrow x^3 = 100 \rightarrow x^4 = 100.$$

Each update is of the form

$$x^{a-1} = (x_{i^a}^{a-1}, x_{-i^a}^{a-1}) \rightarrow x^a = (f_{i^a}(x^{a-1}), x_{-i^a}),$$

where $i^a$ is the component updated at time a. We note that $i^4$ could be any index in $[n]$, since $x^3$ is a fixed point, but this is inconsequential. As such, we can succinctly represent each update by the index $i^a \in [n]$, and the whole trajectory can be obtained from its starting configuration $x^0 = 011$ and the sequence $i^1 = 3, i^2 = 2, i^3 = 1, i^4 = 1$.

In order to add memory to our model of trajectories, we will allow two generalisations:

1. the function $f_{i^a}$ may be applied to a **source configuration** $s^a \in \mathbb{B}^n$, which may be distinct from $x^{a-1}$, so that $x_{i^a}^a = f_{i^a}(s^a)$;

2. the rest of the configuration can be taken from a **target configuration** $t^a \in \mathbb{B}^n$, which again may be distinct from $x^{a-1}$, so that $x_{-i^a}^a = t_{-i^a}^a$

As such, the transition becomes

$$x^{a-1} = (x_{i^a}^{a-1}, x_{-i^a}^{a-1}) \rightarrow x^a = (f_{i^a}(s^a), t_{-i^a}^a), \quad (1)$$
and it can be represented by the triple

$$w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n.$$

Again, different choices for $w^a$ may lead to the same next configuration $x^a$, but an entire trajectory $x^0 \to \dots \to x^l$ can be obtained from $x^0$ and the sequence of triples $w^1, \dots, w^l$. For instance, the asynchronous trajectory above can be obtained from its starting configuration $x^0 = 011$ and the sequence of triples

$$w^1 = (3,011,011), \quad w^2 = (2,010,010), \quad w^3 = (1,000,000), \quad w^4 = (1,100,100).$$

In its full generality, a (fully asynchronous) **trajectory** is a sequence $(x^0, \dots, x^l) \in (\mathbb{B}^n)^*$ such that for all $1 \le a \le l$, there exists $t \in [x^0, \dots, x^{a-1}]$ such that $d_H(t, x^a) \le 1$. In particular, a **geodesic** is a trajectory $(x^0, \dots, x^l)$ such that $d_H(x^{a-1}, x^a) = 1$ for all $1 \le a \le l$ and $l = d_H(x^0, x^l)$; this is equivalent to a shortest path from $x^0$ to $x^l$ in the hypercube. A prefix of the trajectory $(x^0, \dots, x^l)$ is any $(x^0, \dots, x^a)$ for $0 \le a \le l$, or the empty sequence. An **update mode** is a mapping $\mu$ which assigns, for any $n$ and any BN $f \in F(n)$, a collection of trajectories closed by taking prefixes (i.e. if $(x^0, \dots, x^l) \in \mu(f)$, then $(x^0, \dots, x^a) \in \mu(f)$). Since we shall fix the BN in the remainder of this section, we shall omit the dependence on $f$ in our notation. To emphasize that $(x^0, \dots, x^l)$ is a $\mu$-trajectory, we write $x^0 \to_{\mu} \dots \to_{\mu} x^l$. A pair of configurations $(x, y)$ is a **reachability pair** for an update mode $\mu$ if there exists a $\mu$-trajectory $x = x^0 \to_{\mu} \dots \to_{\mu} x^l = y$, and we say that $y$ is **reachable** from $x$ and denote it with $x \to_{\mu}^* y$.

In this paper, we consider update modes that satisfy certain constraints. In particular, we assume that $\mu$ only produces trajectories where each update is of the form of Equation (1) for some reasonable choices of source and target configurations. More precisely, the trajectories are $(x^0, \dots, x^l)$, where for each $1 \le a \le l$, there exists $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ such that:

1. $s^a \in [x^0, \dots, x^{a-1}]$ is a configuration made up of states with different time stamps from the trajectory, so that $f_{i^a}$ is applied to state values that are drawn from the trajectory's history;

2. similarly, $t^a \in [x^0, \dots, x^{a-1}]$, so that the remainder of the $x^a$ configuration is made up of state values drawn from the trajectory's history;

3. the configuration $x^a$ is given by $x^a = (f_{i^a}(s^a), t^a)_{i^a}$.

Different update modes correspond to different constraints over $i^a$, $s^a$, and $t^a$ (the case without any further constraints will be the so-called subcube update mode). We list below the update modes that we shall consider in this paper. None of those applies any restriction on $i^a$: it can be any component in $[n]$ at any time step. We shall highlight some important properties of these update modes with memory in Section 4, once they have been presented and thoroughly compared.

## 2.2 Update modes

### 2.2.1 Asynchronous updates

We begin with the simplest update mode, namely asynchronous updates [20]. Let $f \in F(n)$. The asynchronous updating mode considers $x \to y$ iff $\exists i \in [n]$ such that $y_i = f_i(x)$ and $y_{-i} = x_{-i}$.

In this case, a component is updated at each step and the result is calculated and applied to the last configuration visited. Then, we select $i^a$ and apply $f_{i^a}$ to the current configuration $x^{a-1}$. In other words, $x \to_A y$ if and only if $(x, y)$ is an arc in the asynchronous graph of $f$. Thus, the memory consists only of the current configuration. In our framework, the definition is as follows.

**Asynchronous updates A:** All trajectories $(x^0, \dots, x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* source $s^a = x^{a-1}$;

* target $t^a = x^{a-1}$.
**Example 2.1.** Let us consider the network $\mathcal{A} \in \mathcal{F}(2)$ defined by

$$A_1(x) = \neg x_1 \lor \neg x_2,$$

$$A_2(x) = \neg x_1 \lor \neg x_2.$$

From the asynchronous graph of $\mathcal{A}$ (shown below), we can see that $00 \to_{\mathcal{A}}^* 11$. A possible asynchronous trajectory $00 \to_{\mathcal{A}} 10 \to_{\mathcal{A}} 11 \to_{\mathcal{A}} 01$ is detailed in the table below.

<figure><img src="image_4.png" /></figure>

<table><thead><tr><th>a</th><th>i<sup>a</sup></th><th>s<sup>a</sup></th><th>t<sup>a</sup></th><th>x<sup>a</sup></th></tr></thead><tbody><tr><td>0</td><td></td><td></td><td></td><td>00</td></tr><tr><td>1</td><td>1</td><td>00</td><td>00</td><td>10</td></tr><tr><td>2</td><td>2</td><td>10</td><td>10</td><td>11</td></tr><tr><td>3</td><td>1</td><td>11</td><td>11</td><td>01</td></tr></tbody></table>

### 2.2.2 History-based updates

We now inject some amount of memory in our update mode. We introduce the history-based updates, where the component $i^a$ has a delay in getting the information about the current configuration and in fact works on a superseded version thereof. As a result, $f_{i^a}$ is not necessarily applied to the current configuration $x^{a-1}$, but to any configuration $s^a \in \{x^0, \dots, x^{a-1}\}$ that has already occurred. In our framework, this becomes:

**History-based updates H:** All trajectories $(x^0, \dots, x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* source $s^a \in \{x^0, \dots, x^{a-1}\}$;

* target $t^a = x^{a-1}$.

**Example 2.2.** Let us consider the network $\mathcal{H} \in \mathcal{F}(3)$ given by

$$H_1(x) = 1,$$

$$H_2(x) = x_1,$$

$$H_3(x) = x_2.$$

The asynchronous graph of $\mathcal{H}$ is given below, as well as a possible H-trajectory. The table is a possible representation of the trajectory $000 \to_{\mathcal{H}} 100 \to_{\mathcal{H}} 110 \to_{\mathcal{H}} 111 \to_{\mathcal{H}} 101$. It shows how $i^a, s^a$ and $t^a$ are chosen in each step. A new equivalent representation is proposed in Figure 1.

<figure><img src="image_5.png" /></figure>

<table><thead><tr><th>a</th><th>i<sup>a</sup></th><th>s<sup>a</sup></th><th>t<sup>a</sup></th><th>x<sup>a</sup></th></tr></thead><tbody><tr><td>0</td><td></td><td></td><td></td><td>000</td></tr><tr><td>1</td><td>1</td><td>000</td><td>000</td><td>100</td></tr><tr><td>2</td><td>2</td><td>100</td><td>100</td><td>110</td></tr><tr><td>3</td><td>3</td><td>110</td><td>110</td><td>111</td></tr><tr><td>4</td><td>2</td><td>000</td><td>111</td><td>101</td></tr></tbody></table>

### 2.2.3 Trapping updates

So far, all our updates applied $f_{i^a}$ to some source configuration $s^a$ and copied the rest of the current configuration: $x_{-i^a}^a = x_{-i^a}^{a-1}$. Let us now consider an update mode in which the rest of the configuration can be taken from the history of the trajectory. Trapping updates are the natural generalisation of history-based updates, where both the source $s^a$ and the target $t^a$ are chosen from the set
$\{x^0, \dots, x^{a-1}\}$. Thus, it allows accounting for possible delays in updating a component, and it allows the result of the update to be applied on a past configuration, becoming the new current configuration. The term “Trapping updates” come from the fact, proved in the sequel, that $x \to_T^* y$ if and only if $y \in T_f(x)$. In our framework, this turns out to be formalised as follows.

**Trapping updates T:** All trajectories $(x^0, \dots, x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* source $s^a \in \{x^0, \dots, x^{a-1}\}$;

* target $t^a \in \{x^0, \dots, x^{a-1}\}$.

**Example 2.3.** Let us consider the network $T \in \mathbb{F}(2)$ defined by

$$T_1(x) = 1, \\ T_2(x) = x_1 \lor x_2.$$

The asynchronous graph of $T$ is given below, as well as a possible T-trajectory showing how $00 \to_T^* 01$. Note how $x^3$ is computed with $t^3 = 00 \neq x^2$.

<figure><img src="image_6.png" /></figure>

### 2.2.4 Most permissive updates

We now focus on the most permissive updates introduced in [13]. This updating technique can be defined using dynamic states or hypercubes, let us recall the definition in this first form.

In this update mode, the change of state of the components is broken down into two stages, with a dynamic state indicating an increase $\nearrow$ or decrease $\searrow$. The set of possible states of a component is denoted $\mathbb{P} = \{0, \nearrow, \searrow, 1\}$. When a component is in a dynamic state, the other components in the network can arbitrarily read 0 or 1. The function $\gamma: \mathbb{P}^n \to 2^{\mathbb{B}^n}$ associates with any configuration $x \in \mathbb{P}^n$ the set of configurations that correspond to it. Then, $\gamma(x) = \{x' \in \mathbb{B}^n | \forall i \in [n], x_i \in \mathbb{B} \Rightarrow x'_i = x_i\}$. In this semantics, it is therefore defined that, $\forall x, y \in \mathbb{P}^n, x \to y$ iff $\exists i \in [n] : \Delta(x, y) = \{i\}$ and

$$y_i = \begin{cases} \nearrow & \text{if } x_i < f_i(z) \text{ for some } z \in \gamma(x) \\ 1 & \text{if } x_i = \nearrow \\ \searrow & \text{if } x_i > f_i(z) \text{ for some } z \in \gamma(x) \\ 0 & \text{if } x_i = \searrow. \end{cases}$$

The most permissive update mode considers that a component in the process of changing of state can be viewed as in superposition of both states. As such, in our framework, this is equivalent to allowing a different delay for any $j$, hence $f_{i^a}$ is now applied to some $s^a$ where each $s_j^a$ can be chosen from $\{x_j^0, \dots, x_j^{a-1}\}$; this is equivalent to $s^a \in [x^0, \dots, x^{a-1}]$.

The most permissive update mode can therefore be formalised in our framework as follows.

**Most permissive updates M:** All trajectories $(x^0, \dots, x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* source $s^a \in [x^0, \dots, x^{a-1}]$;

* target $t^a = x^{a-1}$.
The correspondence between the two definitions is given in Sect. A.1.

In [13], most permissive updates were motivated by the abstraction of quantitative systems by Boolean networks: the fact that the source configuration can be chosen within the subcube $[x^0, ..., x^{a-1}]$ aims at capturing the potential heterogeneity of influence thresholds and time scales between component updates. They demonstrated that most permissive updates allow capturing all the dynamics possible in any quantitative refinement of the BN, while the (general) asynchronous mode hinder the prediction of several observed trajectories.

**Example 2.4.** Let us consider the network $M \in F(3)$ defined by

$$ 
\begin{aligned}
M(000) &= 110, \\
M(010) &= 011, \\
M(x) &= x \text{ otherwise.}
\end{aligned}
 $$

The asynchronous graph of M is given below, as well as a possible M-trajectory showing how $000 \to_M^* 111$.

<figure><img src="image_7.png" /></figure>

<table><thead><tr><th>a</th><th>i<sup>a</sup></th><th>s<sup>a</sup></th><th>t<sup>a</sup></th><th>x<sup>a</sup></th></tr></thead><tbody><tr><td>0</td><td></td><td></td><td></td><td>000</td></tr><tr><td>1</td><td>1</td><td>000</td><td>000</td><td>100</td></tr><tr><td>2</td><td>2</td><td>000</td><td>100</td><td>110</td></tr><tr><td>3</td><td>3</td><td>010</td><td>110</td><td>111</td></tr></tbody></table>

### 2.2.5 Subcube-based updates

Subcube-based updates are defined similarly to trapping updates, but instead consider the subcube $[x^0, ..., x^{a-1}]$ containing the configuration already visited for both the source $s^a$ and the target $t^a$.

**Subcube-based updates S:** All trajectories $(x^0, ..., x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* source $s^a \in [x^0, ..., x^{a-1}]$;

* target $t^a \in [x^0, ..., x^{a-1}]$.

**Example 2.5.** Let us consider the network $S \in F(3)$ given by

$$ 
\begin{aligned}
S(000) &= 100 \\
S(100) &= 110 \\
S(110) &= 111 \\
S(x) &= x \text{ otherwise.}
\end{aligned}
 $$

The asynchronous graph of S is given below, as well as a possible S-trajectory showing how $000 \to_S^* 001$.

<figure><img src="image_8.png" /></figure>

<table><thead><tr><th>a</th><th>i<sup>a</sup></th><th>s<sup>a</sup></th><th>t<sup>a</sup></th><th>x<sup>a</sup></th></tr></thead><tbody><tr><td>0</td><td></td><td></td><td></td><td>000</td></tr><tr><td>1</td><td>1</td><td>000</td><td>000</td><td>100</td></tr><tr><td>2</td><td>2</td><td>100</td><td>000</td><td>010</td></tr><tr><td>3</td><td>3</td><td>110</td><td>000</td><td>001</td></tr></tbody></table>
### 2.2.6 Interval updates

The interval update was initially introduced for Petri nets in [3], and later adapted to BNs in [4], as a mean to capture transitions that could occur while a component is changing of state, i.e., while the component is committed to change, but the change has not been applied yet. This was formalised by proposing to consider that each component $i \in [n]$ is decoupled in two nodes: a *write* node ($2i - 1$) storing the next value and a *read* node ($2i$) for the current value. Whenever a state change for a component is triggered, only its write node is updated first. Then, the read node will be updated later, but in the meantime, other components can change of value based on the read node state.

Let us define a function $\tau: \mathbb{B}^{2n} \to \mathbb{B}^n$ which map a configuration of the interval semantics to a configuration of the BN $f$ by projecting on the read nodes, i.e., $\tau(z)_i = z_{2i}$ for every $i \in [n]$. Given a BN $f$ with $n$ components, $\tilde{f}$ is a BN with $2n$ components where $\forall i \in [n]$, we have $\tilde{f}_{2i}(z) = z_{2i-1}$ and

$$ \tilde{f}_{2i-1}(z) = \begin{cases} f_i(\tau(z)) & \text{if } z_{2i} = z_{2i-1} \\ z_{2i-1} & \text{otherwise} \end{cases}. $$

**Example 2.6.** Let us consider the network $\mathcal{I} \in \mathcal{F}(3)$ given by

$$ \begin{align*} \mathcal{I}(000) &= 111, \\ \mathcal{I}(100) &= 101, \\ \mathcal{I}(101) &= 111, \\ \mathcal{I}(110) &= 010, \\ \mathcal{I}(x) &= x \quad \text{otherwise.} \end{align*} $$

We can obtain the following possible sequence of asynchronous iterations of $\tilde{f}$ with the interval semantics. We insert spaces in the configurations to facilitate the identification of the two read/write components corresponding to each of the original components.

$$ 00 00 00 \to 10 00 00 \to 10 00 10 \to 10 10 10 \to 11 10 10 \to 11 11 10 \to 01 11 10 \to 00 11 10 \to 00 11 11 $$

Hence, the configuration 011 of $\mathcal{I}$ is reachable from 000 according to this update mode.

This decoupling introduces a natural notion of memory: while the update of the component is pending, its previous state is kept. Compared to the history-based update mode, this forbids to update a component with respect to any previous configuration, but only from the most recent state of components, ignoring any pending change. Indeed, consider the following scenario for history-based updates: the same component is updated twice, say $a < b$ and $i^a = i^b = i$, with $s^a = x^{a'}$ and $s^b = x^{b'}$ such that $a' > b'$. In that scenario, the first update $a$ uses a more recent version $x^{a'}$ of the configuration that the second update $b$. Such a scenario cannot occur in interval updates.

In our framework, the definition of the interval update requires coupling each configuration $x^a$ of a trajectory with a vector $V^a$ associating to each component the time to read its state. Intuitively, for any component $j$, having $V_j^a < a - 1$ enables to use its state prior to its latest state change (thus, $j$ state change is pending), whereas $V_j^a = a - 1$ ensures that its state change has been completed, and other components read it. When a component $i$ is updated at time $a$, we impose that $V_i^a = a - 1$, i.e., the most recent state of $i$ must be used. This captures the fact that a component has to have completed its state change before being updated again, which is enforced by the original definition of the Interval update mode [3, 4]. We also enforce $V^a \ge V^{a-1}$ (i.e., for any component $j$, $V_j^a \ge V_j^{a-1}$), which forbids the scenario described above for history-based updates.

**Interval updates I:** All trajectories $(x^0, \dots, x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* vector $V^a \in \mathbb{N}^n$ such that $V^0 = 0^n$, $V^a \ge V^{a-1}$, $V^a \le (a-1)^n$ and $V_{ia}^a = a-1$;

* source $s^a$ with $s_j^a = x_j^{V_j^a}$ for all $j \in [n]$;
• target $t^a = x^{a-1}$.

Notice that, in general, several $V^a$ can be possible, modelling different schedule of state change completions, possibly enabling reaching different configurations. The asynchronous update mode, where no memory of previous states is used, corresponds to the case whenever $V^a = (a-1)^n$ for any time $a \ge 1$. The correspondence between the two definitions is given in Sect. A.2. Intuitively, the memory-based trajectories correspond to the projection of sequences of interval iterations over the write nodes and $V^a$ reflect the read nodes.

**Example 2.7.** Let us consider the network of the previous example. The asynchronous graph of $|\cdot|$ is shown below. We also show an example of 1-trajectory.

<figure><img src="image_9.png" /></figure>

<table><thead><tr><th>a</th><th>i<sup>a</sup></th><th>V<sup>a</sup></th><th>s<sup>a</sup></th><th>t<sup>a</sup></th><th>x<sup>a</sup></th></tr></thead><tbody><tr><td>0</td><td></td><td>[0 0 0]</td><td></td><td></td><td>000</td></tr><tr><td>1</td><td>1</td><td>[0 0 0]</td><td>000</td><td>000</td><td>100</td></tr><tr><td>2</td><td>3</td><td>[0 0 1]</td><td>000</td><td>100</td><td>101</td></tr><tr><td>3</td><td>2</td><td>[0 2 1]</td><td>000</td><td>101</td><td>111</td></tr><tr><td>4</td><td>1</td><td>[3 3 1]</td><td>110</td><td>111</td><td>011</td></tr></tbody></table>

In the trajectory shown, all components are first updated once with using the memory of the initial state (as done in the previous example). Then, the first component is updated again based on the most recent value of components 1, 2, but using the previous state of component 3 ($V_3^4 = 1$, i.e., the time just before the last update of 3). Indeed, with $V^4 = [3 \ 3 \ 1]$, we obtain $s^4 = x_1^3 x_2^3 x_3^1 = 110$ and $|(110)_1| = 0$. Thus, $x^4 = 011$. It can be seen that the trajectories in this example and the previous one are equivalent. Intuitively, updating the read component based on the write component corresponds to updating the value in $V^a$.

### 2.2.7 Cuttable updates

Finally, we consider the cuttable update mode introduced in [12], which generalizes the interval update mode by considering a finer description of the delay of state changes. Essentially, with the interval update mode, a component can have a delay to apply (transmit) its state change. Once it is transmitted (the read node is updated), all the components of the network will read its new state. The cuttable update mode allows having different delays of transmission for each component of the network. Thus, instead of having a read node per component, there is a read node per pair of components. The read node copies the state of the (unique) write node of components asynchronously. Hence, after a change of state of a component $i$ has been fired, there can be moments whenever a component $j$ has access to its newer state, while another component $k$ has access to its previous state.

Let us recall the definition of an *E*-extension of a Boolean network *f*. For simplicity, let us define *E* as the set of pairs $(i, j)$ such that component $i$ influences the value of component $j$ (i.e., $x_i$ is involved in the function $f_j$). It is possible to define the BN $\tilde{f}: \mathbb{B}^{n+|E|} \rightarrow \mathbb{B}^{n+|E|}$ such that

$$ \begin{aligned} \tilde{f}_i(x) &= f_i(\tau^i(x)) & \text{for all } i \in [n], \\ \tilde{f}_e(x) &= x_j & \text{if } e = (j, k) \in E, \end{aligned} $$

where $\tau^i: \mathbb{B}^{n+|E|} \rightarrow \mathbb{B}^n$ is defined, for all $j \in [n]$ as:

$$ \tau^i(x)_j = \begin{cases} x_{(j,i)} & \text{if } (j,i) \in E \\ x_j & \text{otherwise.} \end{cases} $$
**Example 2.8.** Let us consider the network $C \in F(3)$ given by

$$ 
\begin{aligned}
C_1(x) &= 1, \\
C_2(x) &= x_1, \\
C_3(x) &= x_2 \land \neg x_1.
\end{aligned}
 $$

The set E is $\{(1,2), (2,3), (1,3)\}$. Let us consider the starting configuration 000 000 where the first three components are the original ones and the other three correspond to the different elements E in exactly the order presented. If we update the first component, we obtain $f_1(\tau^1(000 000)) = f_1(000) = 1$ since $\tau^1(000 000)_1 = \tau^1(000 000)_2 = \tau^1(000 000)_3 = 0$. Then, we reach 100 000. Updating the (1,2) component, we compute 100 100. Updating now the second one, we have $f_2(\tau^2(100 100)) = f_1(100) = 1$ since $\tau^2(100 100)_1 = 1$ and $\tau^2(100 100)_2 = \tau^2(100 100)_3 = 0$. Then, we reach 110 100. Updating the (2,3) component, we compute 110 110. To conclude, we now update the third component, then, $f_3(\tau^3(110 110)) = f_1(010) = 1$ since $\tau^3(110 110)_2 = 1$ and $\tau^3(110 110)_1 = \tau^3(110 110)_3 = 0$. Indeed, we are able to reach 111 110 given the fact that the third component is able to see the first component at value 0 while the second could see it active.

With our framework, we generalize the vector $V^a$ of the interval update mode to a matrix $C^a$ in which each element $C_{i,j}^a$ is equal to the last moment $k$ (with $k \in \{0, \dots, a-1\}$) in which the value of the component $j$ has been transmitted to the component $i$. At first, $C^0$ is a matrix consisting of only zeros. Remark that several values of a $C^a$ matrix may change from the previous $C^{a-1}$ matrix as this corresponds to propagating changes of different components affecting the component $i$. Moreover, it is possible to have a delay for a node to transmit its next value to itself, i.e. having $C_{i,i}^a < a-1$ for any component $i$.

**Cuttable updates C:** All trajectories $(x^0, \dots, x^l)$ obtained by $x^0 \in \mathbb{B}^n$ and $w^a = (i^a, s^a, t^a) \in [n] \times \mathbb{B}^n \times \mathbb{B}^n$ for $1 \le a \le l$, where

* matrix $C^a \in \mathbb{N}^{n \times n}$ such that $C^0 = 0^{n \times n}$, $C^a \ge C^{a-1}$ and, for all $i, j \in [n]$, $C^a \le (a-1)^{n \times n}$;

* source $s^a$ with $s_j^a = x_j^{C_{i,j}^a}$ for all $j \in [n]$;

* target $t^a = x^{a-1}$.

The correspondence with the initial definition is given in Sect. A.3, and generalizes the one for the interval updates: the memory-based trajectories correspond to the projection over the write nodes.

**Example 2.9.** Let us consider the network of the previous example. The asynchronous graph of C is given here below with an example of a C-trajectory. The same trajectory is also given in Figure 1 in a different format.
<figure><img src="image_10.png" /></figure>

<table><thead><tr><th>a</th><th>i<sup>a</sup></th><th>C<sup>a</sup></th><th>s<sup>a</sup></th><th>t<sup>a</sup></th><th>x<sup>a</sup></th></tr></thead><tbody><tr><td>0</td><td></td><td>(0 0 0<br>0 0 0<br>0 0 0)</td><td></td><td></td><td>000</td></tr><tr><td>1</td><td>1</td><td>(0 0 0<br>0 0 0<br>0 0 0)</td><td>000</td><td>000</td><td>100</td></tr><tr><td>2</td><td>2</td><td>(0 0 0<br>1 0 0<br>0 0 0)</td><td>100</td><td>100</td><td>110</td></tr><tr><td>3</td><td>3</td><td>(0 0 0<br>1 0 0<br>0 2 0)</td><td>010</td><td>110</td><td>111</td></tr></tbody></table>

We can emphasise how this trajectory corresponds to that of the previous example. Indeed the first component to be activated is the first one that, given the local function, cannot do anything other than activate itself. When updating the second component, the information that the first one has been activated can be transmitted. In the previous example, this is done by updating component (1,2), whereas here it is done by setting the corresponding value of the matrix to 1 to take into account the first component as an active one. In both cases, this means that the value of the first component causes the second component to activate. When updating the third component, one can decide not to take into account the change of state made by the first component but only consider the second active component. In the previous example, this is done by updating component (2,3) and not updating component (1,3). Here, this corresponds to updating the value of the matrix for the interaction between the second and third components, but not between the first and third. Here too, the result is that the third component changes to 1.

# 3 Comparing the different update modes

## 3.1 Hierarchy by reachability and trajectory for the different update modes

We are interested in comparing the collections of reachability pairs amongst the different update modes listed above. For any update mode $\mu \in \{A, H, T, M, S, I, C\}$, we denote its collection of reachability pairs by $\mu^* = \{(x, y) : x \to_{\mu}^* y\}$. Then $\nu$ weakly simulates $\mu$ if $\mu^* \subseteq \nu^*$ for all BNs. In Figure 2, a strict containment $\mu^* \subseteq \nu^*$ means that the containment $\mu^* \subseteq \nu^*$ holds for all BNs and that there exists a BN where this containment is strict.

Our hierarchy by reachability is based on a hierarchy by trajectory. As such, we also give the full hierarchy of trajectory in Figure 2. Again, a strict containment $\mu \subseteq \nu$ means that the containment $\mu \subseteq \nu$ holds for all BNs and that there exists a BN where this containment is strict. Clearly, if $\mu \subseteq \nu$, then $\mu^* \subseteq \nu^*$.

**Theorem 3.1.** The hierarchy by reachability and trajectory for the update modes listed in Section 2 is given in Figure 2.

The rest of this subsection is devoted to the proof of Theorem 3.1, broken down into items (a) to (j). The structure of the proof is displayed in Figure 3.

$$ (a) A \subseteq H \subseteq T \subseteq S \text{ and hence } A^* \subseteq H^* \subseteq T^* \subseteq S^*. $$
<figure><img src="image_11.png" /><figcaption>Figure 1: Possible trajectories of certain BNs according to different update modes (see Examples 2.2 and 2.9).</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Figure 2: Hierarchy of different update modes. A darker background is used to highlight the update modes introduced for the first time in this work.</figcaption></figure>
<figure><img src="image_13.png" /><figcaption>Figure 3: Structure of the proof of Theorem 3.1. On the edges, the letters identifying the corresponding part of the paper are indicated. Solid blue edges correspond to inclusions, while dotted red edges correspond to non-inclusions.</figcaption></figure>

This follows from the definitions of the different update modes.

$$ (b) \mathbf{H} \subseteq \mathbf{M} \subseteq \mathbf{S} \text{ and hence } \mathbf{H}^* \subseteq \mathbf{M}^* \subseteq \mathbf{S}^*. $$

Again, this follows from the definitions of the different update modes.

$$ (c) \mathbf{A} \subseteq \mathbf{I} \subseteq \mathbf{C} \subseteq \mathbf{M} \text{ and hence } \mathbf{A}^* \subseteq \mathbf{I}^* \subseteq \mathbf{C}^* \subseteq \mathbf{M}^*. $$

Indeed, an A-trajectory is an I-trajectory with $V_j^a = a-1$ for all $a \ge 1$ and $j \in [n]$; an I-trajectory is a C-trajectory with $C_{j,i}^a = V_j^a$ for all $0 \le a \le l$ and $j, i \in [n]$; and a C-trajectory is an M-trajectory since $s^a \in [x^0, \dots, x^{a-1}]$ for all $1 \le a \le l$.

$$ (d) \mathbf{T}^* = \mathbf{S}^*. $$

We now prove that the trapping update mode and the subcube-based update mode allow exactly to reach any configuration in the whole principal trapspace.

**Proposition 3.2.** For all $f \in F(n)$, and all $x, y \in \mathbb{B}^n$, the following are equivalent:

1. $y$ is reachable from $x$ by trapping updates, i.e. $x \to_T^* y$;

2. $y$ is reachable from $x$ by subcube-based updates, i.e. $x \to_S^* y$;

3. $y \in T_f(x)$.

*Proof.* 1 $\implies$ 2. Trivial.
2 = ⇒ 3. Let $x = x^0 \to_S \cdots \to_S x^l = y$. We prove that $x^a \in T_f(x)$ by induction on $0 \le a \le l$. The case $a = 0$ is trivial, therefore suppose it holds for up to $a-1$. We have $s^a, t^a \in [x^0, \dots, x^{a-1}] \subseteq T_f(x)$. Let $u^a = f(s^a)$, then again $u^a \in T_f(x)$ since $T_f(x)$ is a trapspace. We obtain

$$x^a = (f_{i^a}(s^a), t_{-i^a}^a) = (u_{i^a}^a, t_{-i^a}^a) \in [u^a, t^a] \subseteq T_f(x).$$

3 = ⇒ 1. We prove that if a configuration $y$ (hence $x$) is reachable from $x$ by trapping updates, then so are all the configurations in $T_f(y)$ (hence $T_f(x)$). We first prove that if $y$ is reachable from $x$ by trapping updates, then any $z \in [x, y]$ is reachable from $x$. Let $x = x^0 \to_T \cdots \to_T x^l = y$, then for all $j \in \Delta(x, y)$, there exists $0 \le b(j) \le l-1$ such that $y_j = f_j(x^{b(j)})$ (since the source $s^a$ always belongs to $\{x^0, \dots, x^{l-1}\}$). Therefore, one can reach $z$ by extending the trajectory as follows: if $\Delta(x, z) = \{j_1, \dots, j_k\}$, let $w^{l+a} = (j_a, b(j_a), x)$ for $1 \le a \le k$, then $x^{l+k} = z$. Therefore, the set $\{y: x \to_T^* y\}$ of configurations reachable from $x$ is a subcube. We now prove that if $y$ is reachable from $x$, then $f(y)$ is also reachable from $x$. Let $x = x^0 \to_T \cdots \to_T x^l = y$ and define $w^{l+j} = (i^{l+j} = j, s^{l+j} = y, t^{l+j} = x^{l+j-1})$ for all $j \in [n]$; it is then easy to verify that $x^{l+n} = f(y)$. Thus $\{y: x \to_T^* y\}$ is a trapspace containing $x$, and hence it contains $T_f(x)$. □

$$(e) \quad I^* \subseteq H^*.$$

We first prove two lemmas about history-based and interval trajectories, respectively.

**Lemma 3.3.** If $x^0 \to_H \cdots \to_H x^l$ is a history-based trajectory, then so is $x^0 \to_H \cdots \to_H x^l \to_H x^{l+1} = x^l$.

*Proof.* Let $w^l = (i^l, s^l = x^l, t^l = x^{l-1})$ where $l' < l$. Define $w^{l+1} = (i^{l+1} = i^l, s^{l+1} = s^l, t^{l+1} = x^l)$; we then have $x^{l+1} = (f_{i^{l+1}}(s^{l+1}) = x_{i^l}^l, t_{-i^{l+1}}^{l+1} = x_{-i^l}^l) = x^l$. □

**Lemma 3.4.** If $x \to_I^* y$, there is always an interval trajectory $x = x^0 \to_I x^1 \to_I \cdots \to_I x^p = y$ with $d_H(s^{a-1}, s^a) \le 1$ for all $1 \le a \le p$.

*Proof.* Let $x = x^0 \to_I \cdots \to_I x^l = y$ be an interval trajectory where $d_H(s^{a-1}, s^a) \le 1$ for all $1 \le a \le p-1$ and $d_H(s^{p-1}, s^p) > 1$. Let us prove how we can replace the transition $x^p \to_I x^{p+1}$ with a sequence of transitions $u^0 = x^p \to_I \cdots \to_I u^n = x^{p+1}$ and still have an interval trajectory.

For any $0 \le i \le n$, let $v^i$ be the configuration such that $v^i_j = s_j^p$ for all $1 \le j \le i$ and $v^i_j = s_j^{p-1}$ for all $i+1 \le j \le n$. We then have $d_H(v^i, v^{i-1}) \le 1$ for all $1 \le i \le n$. Let $u^i$ be recursively defined as $u^0 = x^p$ and $u^i = (f_i(v^{i-1}), u_{-i}^{i-1})$.

Denote $\dot{x}^a = x^a$ for all $0 \le a \le p$, $\dot{x}^{p+i} = u^i$ for all $1 \le i \le n$, $\dot{x}^{a+n} = x^{a+1}$ for all $a \ge p+1$. We prove that

$$\dot{x}^0 = x^0 \to \cdots \to \dot{x}^p = x^p = u^0 \to \cdots \to \dot{x}^{p+n} = u^n = x^{p+1} \to \cdots \to \dot{x}^{l+n-1} = x^l$$

is an admissible interval trajectory. The first part, $\dot{x}^0 \to_I \cdots \to_I \dot{x}^p$, follows from our hypothesis. For the second part, $\dot{x}^p \to_I \cdots \to_I \dot{x}^{p+n}$, use $w^{p+i} = (i^p, v^{i-1}, u^{i-1})$. For the third part, $\dot{x}^{p+n} \to_I \cdots \to_I \dot{x}^{n+1-l}$, then $\dot{w}^{n-1+a} = w^a$ is a valid triple for interval updates. □

We can now prove the main result.

**Proposition 3.5.** Given two configurations $x$ and $y$, if $x \to_I^* y$, then $x \to_H^* y$.

*Proof.* Let $x = x^0 \to_I x^1 \to_I \cdots \to_I x^l = y$ be an interval trajectory with corresponding triples $w^a = (i^a, s^a, t^a)$ for all $1 \le a \le l$. According to Lemma 3.4, we assume $d_H(s^{a-1}, s^a) \le 1$ for all $1 \le a \le l$.

We first prove, by induction over $1 \le a \le l$, that there always exists a history-based trajectory $x = x^0 \to_H s^1 \to_H \cdots \to_H s^a$. The basic case $a = 1$ is trivial because $s^1 = x^0$. Assume the statement holds for $a-1$, i.e. $x = x^0 \to_H s^1 \to_H \cdots \to_H s^{a-1}$ is a history-based trajectory. Lemma 3.3 settles the case where $s^a = s^{a-1}$, hence we assume $s^{a-1} \ne s^a$ and, according to Lemma 3.4, $\Delta(s^{a-1}, s^a) = \{j\}$. Then, for $q = V_j^a$, we have $q < a$ and $x_j^q = s_j^a$. Suppose, for the sake of contradiction, that $x_j^m = x_j^q$
for all $0 \le m \le q$. Then, $s_j^m = x_j^q$ for all $0 \le m \le q$, and in particular $s_j^{a-1} = s_j^a$, which is the desired contradiction. Therefore, there exists $q' < q$ such that $f_j(s^{q'}) = x_j^q$. Thus, let $s^a = s^{q'}$ and $i^a = j$. We obtain $(f_j(s^{q'})) = s_j^a, s_{-j}^{a-1}) = s^a$.

We now prove that we can extend the history-based trajectory all the way to $y$. More formally, we prove that $x = x^0 \to s^1 \to \dots \to s^l \to \dots \to y$ is a history-based trajectory, where $s^l = g^l \to \dots \to g^m \to \dots \to g^{l+|\Delta|} = y$ is any geodesic. Let $\Delta = \Delta(s^l, y)$ and let $i^m$ the coordinate where $g^m$ and $g^{m-1}$ differ for all $l+1 \le m \le l+|\Delta|$, so that $\{i^{l+1}, \dots, i^{l+|\Delta|}\} = \Delta$. For all $j \in \Delta$, since $s_j^l = x_j^b \ne y_j$ (for some $b < l$), there exists $q_j$ such that $j = i^{q_j}$ and $f_j(s^{q_j}) = y_j$. Then $x = x^0 \to s^1 \to \dots \to s^l \to g^{l+1} \to \dots \to g^{l+|\Delta|} = y$ is a history-based trajectory with $(i^m, s^m, t^m)$ for all $l+1 \le m \le l+|\Delta|$, where $s^m = s^{q_{im}}$ and $t^m = g^{m-1}$. $\square$

(f) $I \not\subseteq T$.

*Proof (An interval trajectory that is not trapping).* Let $I$ be the network from Example 2.7. Then we claim that $(000, 100, 101, 111, 011)$ is an I-trajectory but not a T-trajectory.

We have already shown that it is an I-trajectory. It is not a T-trajectory, as $x_1^4 \ne x_1^3$ implies that $i^4 = 1$, while $l_1(x^0) = l_1(x^1) = l_1(x^2) = l_1(x^3) = 1$ implies that $s^4 \notin \{x^0, \dots, x^3\}$. $\square$

(g) $T^* \not\subseteq M^*$ and hence $T \not\subseteq M$.

All the update modes considered in this paper have the property that trajectories can be compressed. Our definition of trajectory allows for duplicates, i.e. transitions $x^{a-1} \to_\mu x^a$ where $x^{a-1} = x^a$; a simple example is when $x^{a-1}$ is a fixed point of $f$ and $s^a = t^a = x^{a-1}$. The update modes in this paper are then closed by removing duplicates.

Formally, let us call a trajectory $y^0 \to_\mu \dots \to_\mu y^l$ **compressed** if $y^a \ne y^{a-1}$ for all $1 \le a \le l$. For any trajectory, its **compressed version** is obtained by removing all duplicates; clearly the latter is indeed compressed.

**Lemma 3.6.** For all $\mu \in \{A, H, T, M, S, I, C\}$, if $x^0 \to_\mu \dots \to_\mu x^l$ is a $\mu$-trajectory, then so is its compressed version.

*Proof.* We only need to prove that one can remove one duplicate of a $\mu$-trajectory and still obtain a $\mu$-trajectory. Let the $\mu$-trajectory $x^0 \to_\mu \dots x^{b-1} \to_\mu x^b \to_\mu x^l$ be described by the triples $w^a = (i^a, s^a, t^a)$ for all $1 \le a \le l$, and let the duplicate be $x^b = x^{b-1}$. Consider the $\mu$-trajectory $\hat{x}^0 \to_\mu \dots \to_\mu \hat{x}^{l-1}$ described by $\hat{w}^a = (\hat{i}^a, \hat{s}^a, \hat{t}^a)$, where

$$ (\hat{i}^a, \hat{s}^a, \hat{t}^a) = \begin{cases} (i^a, s^a, t^a) & \text{if } a \le b-1 \\ (i^{a+1}, s^{a+1}, t^{a+1}) & \text{if } a \ge b. \end{cases} $$

The beginning of the trajectory satisfies $\hat{x}^0 \to_\mu \dots \to_\mu \hat{x}^{b-1} = x^0 \to_\mu \dots x^{b-1}$. Then, by induction on $b-1 \le a \le l-1$, we can easily verify that $\hat{x}^a = x^{a-1}$ and that $\hat{x}^0 \to_\mu \dots \to_\mu \hat{x}^a$ is indeed a $\mu$-trajectory. We conclude that removing the duplicate $x^b = x^{b-1}$ still yields a $\mu$-trajectory. $\square$

**Corollary 3.7.** If there is a $\mu$-trajectory from $x$ to $y$, then there is a compressed $\mu$-trajectory from $x$ to $y$.

For this and the following items, we aim to prove that for a given pair $x, y$ of configurations, there is no $\mu$-trajectory from $x$ to $y$ for a particular update mode $\mu$ (for this item, the most permissive update mode). Based on Corollary 3.7, we always prove that there is no compressed $\mu$-trajectory from $x$ to $y$.

*Proof (A trapping reachability pair that is not most permissive).* Let $T$ be the network from Example 2.3. We claim that $(00, 01)$ is a T-reachability pair but not a M-reachability pair. First, we have already given a T-trajectory from 00 to 01. Second, any M-trajectory starting at $x^0 = 00$ must have $x^1 = 10$. Therefore, any trajectory reaching $y = 01$ must have some $a \ge 2$ with $i^a = 1$ and $T_1(s^a) = 0$, which is the desired contradiction. $\square$
(h) $H^* \not\subseteq C^*$ and hence $H \not\subseteq C$.

*Proof (A history-based reachability pair that is not cuttable).* Let us consider the network $\mathcal{H}$ from Example 2.2, with $\mathcal{H}_1(x) = 1$, $\mathcal{H}_2(x) = x_1$ and $\mathcal{H}_3(x) = x_2$. We have shown that $y = 101$ is $\mathcal{H}$-reachable from $x = 000$; let us now prove that $y$ is not $\mathcal{C}$-reachable from $x$.

Suppose that there is a cuttable trajectory $x = x^0 \to_{\mathcal{C}} \dots \to_{\mathcal{C}} x^l = y$. We start with $x^0 = 000$ with $C_{i,j}^0 = 0$ for all $i, j$. In this network, we must activate the second to activate the third component. For this reason, the first component must be updated. Then, we consider $i^1 = 1$ and $C^1 = C^0$. Accordingly, $s^1 = x^0$ and $x^1 = 100$. Afterwards, to update the second component (i.e., $i^2 = 2$), we must consider $C_{2,1}^2 = 1$ and $C_{i,j}^2 = C_{i,j}^1$ otherwise. As a result, $s^2 = x_1^1 x_2^0 x_3^0 = 100$ and $x^2 = 110$. Later, $x^3$ can be calculated with $i^3 = 3$, $C_{3,2}^3 = 2$ and $C_{i,j}^3 = C_{i,j}^2$ otherwise. Accordingly, $s^3 = x_1^1 x_2^2 x_3^0 = 110$ and $x^3 = 111$. At this point, to reach the configuration 101, we should be able to update the second component by considering a matrix $C^4$ where $C_{2,1}^4 = 0$ (to deactivate the second component). However, this is not possible as $C^4 \ge C^3$. In conclusion, 101 cannot be reached by 000.

This argument is displayed in the left column of Figure 1. $\square$

(i) $C^* \not\subseteq H^*$.

*Proof (A cuttable reachability pair that is not history-based).* Let us consider the network $\mathcal{C}$ from Example 2.9 with $C_1(x) = 1$, $C_2(x) = x_1$ and $C_3(x) = x_2 \wedge \neg x_1$.

We have shown that $y = 111$ is $\mathcal{C}$-reachable from $x = 000$; let us now prove that $y$ is not $\mathcal{H}$-reachable from $x$. According to the history-based updates, we can reach $x^1 = 100$ (with $s^0 = x^0$ and $i^1 = 1$) and $x^2 = 110$ (with $s^2 = x^1$ and $i^2 = 2$). However, it is impossible to reach the configuration 010 (the only configuration that allows the third component to be activated). We can therefore conclude that 111 is unreachable.

This argument is displayed in the right column of Figure 1. $\square$

(j) $I^* \not\subseteq A^*$.

*Proof (An interval reachability pair that is not asynchronous).* Let us consider the network $\mathcal{I}$ from Example 2.7. We have shown that $y = 011$ is reachable from $x = 000$ by interval updates. However, it is easily seen that 011 is not reachable from 000 by asynchronous updates. $\square$

## 3.2 Refinement of the hierarchy by reachability

We make two notes about the hierarchy by reachability in Figure 2.

The hierarchy by reachability gives $C^* \subseteq \mathcal{M}^*$ and $H^* \subseteq \mathcal{M}^*$, or in other words a reachability pair that is either history-based or cuttable is most permissive. We now prove that there are most permissive reachability pairs that are neither history-based nor cuttable, i.e. $\mathcal{M}^* \neq (H^* \cup C^*)$. Let $\mathcal{C} \in \mathcal{F}(3)$ from the proof of (i) and $\mathcal{H}$ from the proof of (h), and let $f \in \mathcal{F}(6)$ be defined by

$$f(x_{123}, x_{456}) = (\mathcal{C}(x_{123}), \mathcal{H}(x_{456})).$$

Then $(000000, 111101)$ is a reachability pair that is most permissive but neither history-based nor cuttable.

Similarly, the hierarchy by reachability gives $I^* \subseteq H^*$ and $I^* \subseteq C^*$, or in other words any interval reachability pair is both history-based and cuttable. We now prove that there are some reachability pairs are both history-based and cuttable but not interval, i.e. $I^* \neq (H^* \cap C^*)$. We use a similar example to that above – as each trajectory is not an interval trajectory, but this time, we use a middle component that gets activated when either trajectory is used. The details are given in Figure 4.

## 3.3 Equivalent update modes

In Section 3.1, when discussing reachability we only considered the inclusion relation $\mu^* \subseteq \nu^*$; here we consider two equivalence relations for update modes based on reachability. First, for any $x$, let
$$f_1(x) = 1, f_2(x) = x_1, f_3(x) = x_2$$

$$f_5(x) = 1, f_6(x) = x_5, f_7(x) = x_6 \land \neg x_5$$

<figure><img src="image_14.png" /></figure>

$$f_4(x) = (x_1 \land \neg x_2 \land x_3) \lor (x_5 \land x_6 \land x_7)$$

<figure><img src="image_15.png" /><figcaption>Figure 4: Example of a history-based and cuttable trajectory that is not interval. The example is also valid concerning reachability.</figcaption></figure>
$\mu^*(x) = \{y : x \to_{\mu}^* y\}$ be the set of configurations reachable from $x$. Then say two update modes are **commensurate** if there exist two functions $\phi, \psi : \mathbb{N} \to \mathbb{N}$ such that for all BNs $f$ and all configurations $x$,

$$|\mu^*(x)| \leq \phi(|\nu^*(x)|), \quad |\nu^*(x)| \leq \psi(|\mu^*(x)|).$$

In other words, the number of reachable configurations in one mode gives an estimate of the number of reachable configurations in the other. Second, we say that a configuration $y$ is a **min-trapspace configuration** if its principal trapspace is minimal. We say $\mu$ and $\nu$ are **min-trapspace-equivalent** if for all BNs $f$, all configurations $x$, and all min-trapspace configurations $y$, $x \to_{\mu}^* y$ if and only if $x \to_{\nu}^* y$.

We now classify the commensurate and min-trapspace-equivalent update modes from our list, and show these two notions are equivalent. Since $T^* = S^*$, we omit $S$.

**Theorem 3.8.** Let $\mu, \nu \in \{A, H, T, M, I, C\}$. The following are equivalent:

1. $\mu$ and $\nu$ are commensurate;

2. $\mu$ and $\nu$ are min-trapspace-equivalent;

3. either $\mu = \nu$ or $\{\mu, \nu\} = \{T, M\}$.

We first prove that $M$ and $T$ are min-trapspace-equivalent (Lemma 3.9) and commensurate (Proposition 3.10).

Then, using examples, we show that: (1) that the most permissive/history-based update mode is neither min-trap-equivalent nor commensurate to the cuttable/interval update mode. (Example 3.12); (2) the most permissive/cuttable update mode is neither min-trap-equivalent nor commensurate to the history-based/interval update mode (Example 3.13); (3) the interval and asynchronous update modes are neither min-trapspace-equivalent nor commensurate (Example 3.14).

**Lemma 3.9.** For any configuration $x$ and any min-trapspace configuration $y \in T_f(x)$ (i.e., $x \to_{\mathbb{T}}^* y$), we have $x \to_{\mathbb{M}}^* y$.

*Proof.* We first prove that $x \to_{\mathbb{M}}^* u := T_f(x) - x$. Let $z \in T_f(x)$ be the furthest configuration reachable from $x$ in $M$, and let $x = x^0 \to_{\mathbb{M}} \cdots \to_{\mathbb{M}} x^{l-1} = z$. For the sake of contradiction, assume $z \neq u$. Since $[x, z]$ is a strict subcube of $T_f(x)$, it is not a trapspace, hence there exists $s^l \in [x, z] \subseteq [x^0, \dots, x^{l-1}]$ such that $f(s^l) \notin [x, z]$. In particular, there exists a component $i^l \in [n]$ such that $x_{i^l} = z_{i^l} \neq f_{i^l}(s^l)$. Letting $w^l = (i^l, s^l, t^l = z)$, we obtain $x^l$ that is reachable from $x$ and yet is further away from $x$ than $z$ is, which is the desired contradiction.

Let $x^0 = x \to_{\mathbb{M}} \cdots \to_{\mathbb{M}} x^l = u$. Now, for all $j \in [n]$, there exists $s^{l+j} \in T_f(y)$ with $f_j(z) = y_j$. Indeed, suppose, for the sake of contradiction, that $f_i(z) = \neg y_i$ for all $z \in T_f(y)$. Then the subcube $T_f(y) \cap \{x \in \mathbb{B}^n : x_i = \neg y_i\}$ is a trapspace that is strictly contained in $T_f(y)$, which is the desired contradiction.

Therefore, the trajectory $x^0 = x \to_{\mathbb{M}} \cdots \to_{\mathbb{M}} x^l = u = u^0 \to_{\mathbb{M}} u^1 \to_{\mathbb{M}} \cdots \to_{\mathbb{M}} u^n = y$ is indeed an $M$-trajectory with $w^{l+j} = (j, s^{l+j}, u^{l-1})$ for all $1 \le j \le n$. $\square$

We now prove that trapping and most permissive update modes are commensurate. In fact, we can be a lot more precise.

**Proposition 3.10.** For any configuration $x$ with $|T^*(x)| = 2^d$, we have $|M^*(x)| \ge L(d) = 2^{\lfloor d/2 \rfloor} + 2^{\lceil d/2 \rceil} - 1$. Conversely, for any $L(d) \le k \le 2^d$, there exists $f \in F(d)$ and $x \in \mathbb{B}^d$ such that $T_f(x) = \mathbb{B}^d$ while $|M^*(x)| = k$.

*Proof.* Without loss, let $d = n$ and $x = 0^n$. Let $C$ be the set of local functions $f_i$ that are constant (equal to 1) in $T_f(x) = \mathbb{B}^n$, and let $c = |C|$ and $D = [n] \setminus C$. Then $x$ can always reach the following two sets of configurations in $M$.

1. $Y = \{y \in \mathbb{B}^n : y_C = 1\}$. The proof is similar to that of Lemma 3.9: first reach $u = T_f(x) - x = 1 \dots 1$, then for all $i \ge c + 1$, there exists $s^i$ such that $f_i(s^i) = y_i$, hence $y$ can be reached.
2. $Z = \{z \in \mathbb{B}^n : z_D = 0\}$. Any geodesic from $x$ to $z$ is a most permissive trajectory.

We have $|Y| = 2^{n-c}$, $|Z| = 2^c$, and $|Y \cap Z| = 1$, thus $x$ can reach at least $2^{n-c} + 2^c - 1 \ge L(d)$ configurations.

We prove, by induction on $n$, that for any $L(n) \le k \le 2^n$ there exists $f \in F(n)$ and $x \in \mathbb{B}^n$ such that $T_f(x) = \mathbb{B}^n$ and $|\mathbb{M}^*(x)| = k$. We also use its immediate consequence: for any $n \ge 1$ and any $1 \le r \le 2^n$, there exists $f \in F(n)$ and $x \in \mathbb{B}^n$ such that $|\mathbb{M}^*(x)| = r$. The claim is trivial for $n = 1$ so let us assume it holds up to $n-1$. Let $c = \lfloor n/2 \rfloor$ and define $q$ and $r$ as the quotient and remainder of the following long division:

$$k + 2^{n-c} - 2^c = q(2^{n-c} - 1) + r.$$

Let $Q$ be an up-set of $\mathbb{B}^c$ (i.e. if $s \in Q$ and $t \ge s$, then $t \in Q$) with $|Q| = q$ and let $q^*$ be a minimal element of $Q$.

By induction hypothesis, let $g \in F(n-c)$ and $z = 0^{n-c} \in \mathbb{B}^{n-c}$ such that $|\mathbb{M}^*(z)| = r$. Let $C = \{1, \dots, c\}$ and $D = \{c+1, \dots, n\}$ and let $f \in F(n)$ be defined as

$$f_C(x) = 1_C, \\ f_D(x) = \begin{cases} \neg x_D & \text{if } x_C \in Q \setminus \{q^*\} \\ g(x_D) & \text{if } x_C = q^* \\ x_D & \text{if } x_C \notin Q. \end{cases}$$

Since the local functions in $C$ are constant and equal to 1, any $\mathbb{M}$-trajectory is monotone with respect to $x_C$, i.e. if $x^0 \to_{\mathbb{M}} \dots \to_{\mathbb{M}} x^l$, then $x_C^0 \le \dots \le x_C^l$. For any $\alpha \in \mathbb{B}^c$, let $R_\alpha = \{y \in \mathbb{M}^*(x) : y_C = \alpha\}$; then $R_\alpha = \bigcup_{\beta \le \alpha} R_\beta$.

We can now determine the configurations reachable from $x$. Firstly, if $\alpha \in \mathbb{B}^c \setminus Q$, then $f_D(\alpha, x_D)$ reduces to the identity, hence $R_\alpha = \{(\alpha, z)\}$. Secondly, if $\alpha = q^*$, then $f_D(\alpha, x_D)$ reduces to $g$, hence $R_{q^*} = \{(q^*, b) : b \in \mathbb{M}^*(z)\}$. Thirdly, if $\alpha \in Q \setminus \{q^*\}$, then $f_D(\alpha, x_D)$ reduces to the negation, hence $R_\alpha = \{(\alpha, a) : a \in \mathbb{B}^{n-c}\}$. Therefore, $x$ reaches the following set of configurations:

$$\mathbb{M}^*(x) = \{(\alpha, z) : \alpha \in \mathbb{B}^c \setminus Q\} \cup \{(q^*, b) : b \in \mathbb{M}^*(z)\} \cup \{(\alpha, a) : \alpha \in Q \setminus \{q^*\}, a \in \mathbb{B}^{n-c}\},$$

$$\text{whence } |\mathbb{M}^*(x)| = (2^c - q) + r + 2^{n-c}(q - 1) = k. \quad \square$$

**Corollary 3.11.** For any configuration $x$, we have

$$|\mathbb{M}^*(x)| \le |\mathbb{T}^*(x)|, \quad |\mathbb{T}^*(x)| \le (|\mathbb{M}^*(x)|)^2.$$

Therefore, the most permissive and trapping update modes are commensurate.

We now exhibit three examples of min-trapspace configurations that are reachable in some update mode $\mu$ but not in another mode $\nu$; these three examples also show that $\mu$ and $\nu$ are not commensurate. Since the three examples follow a similar structure, we only provide a detailed explanation for the first example. We use the following shorthand notation: for all integers $i \le j$, let $i..j = \{i, i+1, \dots, j\}$.

**Example 3.12** (Min-trapspace configurations reachable in history-based but not in cuttable). Let $H \in F(3)$ be the network from Example 2.2 and let $s = 101$. It is easily seen that there is no $C$-trajectory starting at $x^0 = 000$ such that $s^a = s$. Then, for any $n \ge 5$, let $\hat{H} \in F(n)$ be defined as

$$\hat{H}(x) = \begin{cases} (\neg x_{123}, \neg x_{4..n-1}, 1) & \text{if } x_n = 1 \\ (\mathbb{H}(x_{123}), 0_{4..n-1}, 0) & \text{if } x_n = 0 \text{ and } x_{4..n-1} = 0 \text{ and } x_{123} \neq s \\ (\mathbb{H}(s), 0_{4..n-1}, 1) & \text{if } x_n = 0 \text{ and } x_{4..n-1} = 0 \text{ and } x_{123} = s \\ x & \text{otherwise.} \end{cases}$$

Note that there is only one transition from the hyperplane $I = \{x \in \mathbb{B}^n : x_n = 0\}$ to its parallel $J = \{x \in \mathbb{B}^n : x_n = 1\}$. We note that $J$ is a minimal trapspace, as $T_f(y) = J$ for all $y \in J$. Then the configuration $\hat{x} = 0^n$ can reach the whole of $J$ in $H$ but it can only reach at most the seven
configurations {($y_{123}$, $0_{4..n-1}$, 0) : $y \neq s$} in $\mathbb{C}$. Therefore, the history-based and cuttable update modes are not min-trapspace-equivalent.

This example also shows that the history-based and cuttable update modes are not commensurate. Indeed, we have

$$|\mathbb{H}^*(\hat{x})| \geq 2^{n-1}, \quad |\mathbb{C}^*(\hat{x})| \leq 7.$$

Thus, there is no function $\psi: \mathbb{N} \to \mathbb{N}$ such that $|\mathbb{H}^*(x)| \leq \psi(|\mathbb{C}^*(x)|)$ for all configurations $x$, as $\psi(7)$ would be unbounded.

Finally, since $\mathbb{M}^*(\hat{x}) \supseteq \mathbb{H}^*(\hat{x})$ and $\mathbb{I}^*(\hat{x}) \subseteq \mathbb{C}^*(\hat{x})$, this example shows more generally that the most permissive/history-based update mode is neither min-trap-equivalent nor commensurate to the cuttable/interval update mode.

**Example 3.13** (Min-trapspace configurations reachable in cuttable but not in history-based). Let $\mathbb{C} \in \mathbb{F}(3)$ be the network from Example 2.9 and $s = 010$, then again no history-based or interval trajectory starting at $x^0 = 000$ can have $s^a = s$. Then, for any $n \geq 5$, let $\hat{\mathbb{C}} \in \mathbb{F}(n)$ be defined as

$$\hat{\mathbb{C}}(x) = \begin{cases} (\neg x_{123}, \neg x_{4..n-1}, 1) & \text{if } x_n = 1 \\ (\mathbb{C}(x_{123}), 0_{4..n-1}, 0) & \text{if } x_n = 0 \text{ and } x_{4..n-1} = 0 \text{ and } x_{123} \neq s \\ (\mathbb{C}(s), 0_{4..n-1}, 1) & \text{if } x_n = 0 \text{ and } x_{4..n-1} = 0 \text{ and } x_{123} = s \\ x & \text{otherwise.} \end{cases}$$

This example is a “mirror image” to Example 3.12. As such, this example shows that the most permissive/cuttable update mode is neither min-trap-equivalent nor commensurate to the history-based/interval update mode.

**Example 3.14** (Min-trapspace configurations reachable in interval but not in asynchronous). Let $\mathbb{I} \in \mathbb{F}(3)$ be the network from Example 2.7 and $s = 011$, then there again no asynchronous trajectory starting at $x^0 = 000$ can have $s^a = s$. Then, for any $n \geq 5$, let $\hat{\mathbb{I}} \in \mathbb{F}(n)$ be defined as

$$\hat{\mathbb{I}}(x) = \begin{cases} (\neg x_{123}, \neg x_{4..n-1}, 1) & \text{if } x_n = 1 \\ (\mathbb{I}(x_{123}), 0_{4..n-1}, 0) & \text{if } x_n = 0 \text{ and } x_{4..n-1} = 0 \text{ and } x_{123} \neq s \\ (\mathbb{I}(s), 0_{4..n-1}, 1) & \text{if } x_n = 0 \text{ and } x_{4..n-1} = 0 \text{ and } x_{123} = s \\ x & \text{otherwise.} \end{cases}$$

Similarly to the previous examples, this example shows that the interval update mode is neither min-trapspace-equivalent nor commensurate to the asynchronous update mode.

# 4 Consequences of using memory in update modes

In this subsection, we would like to highlight one important common point and three major differences between the asynchronous update mode A and any other update mode with memory $\mu \in \{\mathbb{H}, \mathbb{T}, \mathbb{M}, \mathbb{S}, \mathbb{I}, \mathbb{C}\}$ discussed in this paper. The key observation is that the memory of the trajectory offers a context upon which more transitions are allowed. Therefore, when we arrive at a particular configuration $x^{a-1}$, one may usually perform more transitions than what would be allowed if the trajectory were starting from there, as given by the asynchronous graph. This yields the following four features of update modes that use memory. In the sequel, we assume $\mu \in \{\mathbb{H}, \mathbb{T}, \mathbb{M}, \mathbb{S}, \mathbb{I}, \mathbb{C}\}$ and we fix the Boolean network $f \in \mathbb{F}(n)$.

1. Trajectories closed by concatenation. Note that in a general update mode $\nu$, as defined at the start of Section 2.1, we may have two consecutive $\nu$-trajectories $x^0 \to_{\nu} \cdots \to_{\nu} x^l$ and $x^l = y^0 \to_{\nu} \cdots \to_{\nu} y^m$ such that their concatenation $x^0 \to \cdots \to x^l = y^0 \to \cdots \to y^m$ is no longer a $\nu$-trajectory. This happens for instance if the update mode $\nu$ constrains the source $s^a$ and the target $t^a$ to be equal to the starting configuration of the trajectory. However, for any $\mu \in \{\mathbb{A}, \mathbb{H}, \mathbb{T}, \mathbb{M}, \mathbb{S}, \mathbb{I}, \mathbb{C}\}$, trajectories are closed under concatenation: if $x^0 \to_{\mu} \cdots \to_{\mu} x^l$ and
$x^l = y^0 \to_\mu \dots \to_\mu y^m$, then $x^0 \to_\mu \dots \to_\mu x^l = y^0 \to_\mu \dots \to_\mu y^m$. Intuitively, if the transitions $y^{a-1} \to y^a$ are allowed with only the memory from $x^l = y^0$, then they will still be allowed with an enhanced memory that goes back to $x^0$.

2. **Trajectories not closed by suffix.** Say a $\mu$-trajectory $(x^0, \dots, x^l)$ for some update mode $\mu$ is **suffix-closed** if for all $1 \le a \le l$, $(x^a, \dots, x^l)$ is also a $\mu$-trajectory. Asynchronous trajectories are suffix-closed, i.e. if $x^0 \to_A x^1 \to_A \dots \to_A x^l$, then for all $1 \le a \le l$, $x^a \to_A \dots \to_A x^l$. This is no longer the case for any update mode $\mu$ with memory. In fact, any $\mu$-trajectory that is not an asynchronous trajectory (such a trajectory exists due to the hierarchy by trajectory in Figure 2) is not suffix-closed, as it takes advantage of memory to use a transition that is not allowed in the asynchronous case. For instance, the H-trajectory in Example 2.2 is not suffix-closed: the suffix (111, 101) is not an H-trajectory since 111 is a fixed point.

3. **No transition graph.** This item is closely related to the previous one. The asynchronous update mode could be simply represented by a transition graph, namely the asynchronous graph $\mathbf{A}(f): x^0 \to_{\mathbf{A}} x^1 \to_{\mathbf{A}} \dots \to_{\mathbf{A}} x^l$ if and only if $(x^{a-1}, x^a)$ is an arc in $\mathbf{A}(f)$. The same cannot be said for any other update mode discussed in this paper. Indeed, for any update mode with memory $\mu$, we have $x^0 \to_\mu x^1$ if and only if $(x^0, x^1)$ is an arc in $\mathbf{A}(f)$; as such, the only possible choice for a “$\mu$-transition graph” (i.e. a transition graph according to $\mu$) would be $\mathbf{A}(f)$. However, as shown in the hierarchy by trajectory, there exists a $\mu$-trajectory that is not asynchronous (see Example 2.7 for instance); hence the $\mu$-trajectories cannot be represented by a transition graph.

4. **No clear definition of limit configurations and attractors.** In the asynchronous update mode, there is a clear definition of an **A-limit configuration** of $f$: those are the configurations $y$ such that, if $y \to_A^* x$, then $x \to_A^* y$. Equivalently, they belong to the terminal strong components of the asynchronous graph. In particular, any fixed point is a limit configuration for the asynchronous update mode. An **A-attractor** of $f$ is any set of configurations of the form $\mathbf{A}^*(y)$, where $y$ is a limit configuration; equivalently it is a terminal strong component of the asynchronous graph.

One can generalise these definitions to any update mode $\mu$: say $y$ is a $\mu$-**limit configuration** of $f$ if $y \to_\mu^* x$ implies $x \to_\mu^* y$, and a $\mu$-**attractor** of $f$ is any set of configurations of the form $\mu^*(y)$, where $y$ is a $\mu$-**limit configuration**. These definitions are mathematically valid, and indeed for any fixed point $y$, $y$ is a $\mu$-**limit configuration** and $\{y\}$ is a $\mu$-**attractor**. Moreover, Lemma 3.9 yields the following characterisation of $\mu$-attractors for $\mu \in \{\mathbf{M}, \mathbf{T}, \mathbf{S}\}$.

**Proposition 4.1.** Let $f \in \mathbf{F}(n)$ and $\mu \in \{\mathbf{M}, \mathbf{T}, \mathbf{S}\}$. Then the $\mu$-**limit configurations** of $f$ are the **min-trapspace configurations** and the $\mu$-**attractors** of $f$ are its **minimal trapspaces**.

*Proof.* Firstly, if $y$ is a min-trapspace-configuration and $z \in T_f(y)$, then $T_f(z) \subseteq T_f(y)$, hence $T_f(z) = T_f(y)$ by minimality, and $z$ is also a min-trapspace configuration.

Now, suppose $y$ is a min-trapspace-configuration and $z \in \mu^*(y)$. We then have $z \in T_f(y)$ and by Lemma 3.9, $\mu^*(z) = T_f(z) = T_f(y)$. Thus $y \in \mu^*(z)$ and $y$ is a $\mu$-**limit configuration**.

Conversely, if $x$ is not a min-trapspace, then by Lemma 3.9 there exists a min-trapspace configuration $y$ such that $y \in \mu^*(x)$. However, since $T_f(y) \subsetneq T_f(x)$, we have $x \notin \mu^*(y)$. Thus, $x$ is not a $\mu$-**limit configuration**.

Finally, since $\mu^*(y) = T_f(y)$ for any min-trapspace configuration, any minimal trapspace is a $\mu$-attractor and vice versa. $\square$

However, an undesirable aspect of that definition of limit configurations is that there is no neat hierarchy by limit configurations that reflects the power of using memory, akin to what we have obtained for reachability and trajectories. Indeed, a configuration $y$ can be a $\mu$-**limit but not a A-limit**, and vice versa.

We illustrate this situation via the following two examples. For each, we give three graphs (omitting loops, as usual): the asynchronous graph $\mathbf{A}$ in blue, the asynchronous reachability
graph $A^*$ with arcs $x \to_A^* y$ in red, and the history reachability graph $H^*$ with arcs $x \to_H^* y$ in orange. In the first example, 00 is an A-limit configuration but not an H-limit configuration (as $00 \to_H^{*} 11$ but $11 \not\to_H^{*} 00$).

<figure><img src="image_16.png" /></figure>

In the second example, 11 is an H-limit configuration but not an A-limit configuration (as $11 \to_A^{*} 01$ but $01 \not\to_A^{*} 11$).

<figure><img src="image_17.png" /></figure>

We make a final remark about attractors. Asynchronous attractors satisfy the following absorption property: if $x^0 \to_A \cdots \to_A x^l$ and $x^a$ belongs to the A-attractor $A$ for some $0 \le a \le l-1$, then $x^{a+1}, \dots, x^l$ all belong to $A$ as well. However, our definition of $\mu$-attractors does not preserve the absorption property. Some trajectories (such as the one in Example 2.2) can even go through fixed points! As such, the term “attractor” may be misleading when it comes to update modes with memory.

# 5 Discussion

We proposed a novel and unifying characterization of BN dynamics that can exploit a memory along trajectories in order to reach configurations that are not reachable with conventional (general) asynchronous updates. We have shown how update modes of the literature such as the most permissive, the interval, and the cuttable modes can be expressed in this framework, emphasizing the notion of memory they employ. Besides existing modes, we took advantage of this framework to introduce three novel update modes: the history-based mode, which can use any past configuration as a reference to update its current one, and the trapping and subcube-based modes, which can also revive and update a past configuration. The comparison of trajectories and reachable configurations between these memory-based update modes resulted in a hierarchy of (weak) simulation, in which the trapping mode, and its equivalent subcube-based mode, subsume all others, including the most permissive mode. Moreover, trapping and most permissive modes coincide on the reachability of configurations in minimal trapspaces, which in these cases, are the attractors of the dynamics.

In [15, 16], authors also provided a unifying characterization of these unconventional update modes as non-deterministic updates of components, in contrast with standard block-sequential or (a)synchronous updates, which are deterministic. These non-deterministic updates reflect some sort of strong asynchronicity within the computation of the update of one component, enabling to generate more trajectories. Here, we brought a different view on these modes, by focusing on a notion of memory used to compute next configurations from the knowledge of past ones. In addition to a complementary understanding of modes having larger dynamics than the general asynchronous, our framework can ease and motivate the definition of further update modes to be explored.

The update modes and hierarchy we considered here are based on a fully asynchronous definition of the trajectories, where only one component is updated at a time. In future work, these definitions could be extended to synchronous and general asynchronous modes where all or subsets of components are
updated simultaneously. Finally, the results on trapping, subcube-based, and most permissive modes
call for further study on the combinatorics and structure of BN trapspaces.

**Acknowledgments** Work of LP was supported by the French Agence Nationale pour la Recherche (ANR) in the scope of the project "BNeDiction" (grant number ANR-20-CE45-0001). Work of SR was supported by the French Agence Nationale pour la Recherche (ANR) in the scope of the project "REBON" (grant number ANR-23-CE45-0008).

References

[1] J. Aracena, J. Demongeot, E. Fanchon, and M. Montalva. On the number of different dynamics in boolean networks with deterministic update schedules. *Mathematical Biosciences*, 242:188–194, 2013.

[2] J. Aracena, E. Goles, A. Moreira, and L. Salinas. On the robustness of update schedules in boolean networks. *BioSystems*, 97:1–8, 2009.

[3] Thomas Chatain, Stefan Haar, Maciej Koutny, and Stefan Schwoon. Non-atomic transition firing in contextual nets. In *Applications and Theory of Petri Nets*, volume 9115 of *Lecture Notes in Computer Science*, pages 117–136. Springer, 2015.

[4] Thomas Chatain, Stefan Haar, and Loïc Paulevé. Boolean networks: beyond generalized asymp-
chronicity. In *Cellular Automata and Discrete Complex Systems: 24th IFIP WG 1.5 International Workshop, AUTOMATA 2018, Ghent, Belgium, June 20–22, 2018, Proceedings 24*, pages 29–42. Springer, 2018.

[5] J. Demongeot, A. Elena, M. Noual, and S. Sené. Random boolean networks and attractors of their intersecting circuits. In *2011 IEEE Workshops of International Conference on Advanced Information Networking and Applications*, page 483–487. IEEE, 2011.

[6] E. Dubrova and M. Teslenko. A sat-based algorithm for finding attractors in synchronous boolean networks. *IEEE/ACM Transactions on Computational Biology and Bioinformatics*, 8(5):1393–1399, 2011.

[7] C. Gaucherel, H. Théro, A. Puiseux, and V. Bonhomme. Understand ecosystem regime shifts by modelling ecosystem development using boolean networks. *Ecological Complexity*, 31:104–114, 2017.

[8] Eric Goles, Fabiola Lobos, Gonzalo A. Ruz, and Sylvain Sené. Attractor landscapes in Boolean networks with firing memory: a theoretical study applied to genetic networks. *Natural Computing*, 19:295–319, 2020.

[9] Michel Grabisch and Agnieszka Rusinowska. A model of influence based on aggregation functions. *Mathematical Social Sciences*, 66(3):316–330, 2013.

[10] Konstantin Klemm and Stefan Bornholdt. Stable and unstable attractors in boolean networks. *Physical Review E*, 72(5), 2005.

[11] Arnau Montagud, Jonas Béal, Luis Tobalina, Pauline Traynard, Vigneshwari Subramanian, Bence Szalai, Róbert Alföldi, László Puskás, Alfonso Valencia, Emmanuel Barillot, Julio Saez-Rodriguez, and Laurence Calzone. Patient-specific boolean models of signalling networks guide personalised treatments. *eLife*, 11, 2022.

[12] Aurélien Naldi, Adrien Richard, and Elisa Tonello. Linear cuts in boolean networks. *Natural Computing*, 22(3):431–451, 2023.

[13] Loïc Paulevé, Juraj Kolčák, Thomas Chatain, and Stefan Haar. Reconciling qualitative, abstract, and scalable modeling of biological networks. *Nature communications*, 11(1):4256, 2020.
[14] Loïc Paulevé and Adrien Richard. Static analysis of boolean networks based on interaction graphs: a survey. *Electronic Notes in Theoretical Computer Science*, 284:93 – 104, 2011.

[15] Loïc Paulevé and Sylvain Sené. Non-deterministic updates of Boolean networks. In *27th IFIP WG 1.5 International Workshop on Cellular Automata and Discrete Complex Systems (AUTOMATA 2021)*, volume 90 of *Open Access Series in Informatics (OASICS)*, pages 10:1–10:16, Dagstuhl, Germany, 2021. Schloss Dagstuhl – Leibniz-Zentrum für Informatik.

[16] Loïc Paulevé and Sylvain Sené. Boolean networks and their dynamics: the impact of updates. In *Systems Biology Modelling and Analysis: Formal Bioinformatics Methods and Tools*. Wiley, 2022.

[17] Alexis Poindron. A general model of binary opinions updating. *Mathematical Social Sciences*, 109:52–76, 2021.

[18] Jordan C. Rozum, Colin Campbell, Eli Newby, Fatemeh Sadat Fatemi Nasrollahi, and Réka Albert. *Boolean Networks as Predictive Models of Emergent Biological Behaviors*. Cambridge University Press, 2024.

[19] René Thomas and Richard d'Ari. *Biological Feedback*. CRC Press, Boca Raton, Florida, USA, 1990.

[20] René Thomas. Boolean formalization of genetic control circuits. *Journal of Theoretical Biology*, 42(3):563–585, 1973.

# A Proofs of equivalence of memory-based definitions

We prove the equivalence of definitions of memory-based trajectories with the original iteration-based definitions (Sect. 2.2).

## A.1 Most permissive updates

We follow the notations of Sect. 2.2.4.

Let us consider any memory-based most permissive trajectory $(x^0, \dots, x^l)$. Let us define $\tilde{x}^0 = x^0$, and for any $1 \le a \le l$, $\tilde{x}^a \in \mathbb{P}^n$ such that $\Delta(\tilde{x}^{a-1}, \tilde{x}^a) = \Delta(x^{a-1}, x^a) = \{i^a\}$, and $\tilde{x}_{ia}^a = \lambda$ if $x^a = 1$ and $\tilde{x}_{ia}^a = \lambda$ if $x^a = 0$. Then, remark that for any $0 \le a \le l$, $[x^0, \dots, x^a] = \gamma(\tilde{x}^a)$. Thus, $\tilde{x}^0 \to \dots \to \tilde{x}^l$ is a valid sequence of most permissive iterations.

Conversely, let $x^0 \to \tilde{x}^1 \to \dots \to \tilde{x}^l$ be any sequence of most permissive iterations, with $\tilde{x}^1, \dots, \tilde{x}^l \in \mathbb{P}^n$. Given $\tilde{x} \in \mathbb{P}^n$, let us define the configuration $\beta(\tilde{x}) \in \mathbb{B}^n$ as $\beta(\tilde{x})_i = 1$ whenever $\tilde{x}_i \in \{1, \lambda\}$ and $\beta(\tilde{x})_i = 0$ otherwise. Remark that for any $k \in \{0, \dots, l\}$, $\gamma(\tilde{x}^k) \subseteq [x^0, \beta(\tilde{x}^1), \dots, \beta(\tilde{x}^k)]$. Thus, there exists a corresponding memory-based trajectory $(x^0, \dots, \beta(\tilde{x}^l))$, where we filter out iterations that change a component state from $\lambda$ (resp. $\ominus$) to 1 (resp. 0) to avoid successive repetition of a configuration. Formally, the corresponding memory-based trajectory is $(x^0, \beta(\tilde{x}^{\pi^{-1}(1)}), \dots, \beta(\tilde{x}^{\pi^{-1}(l')}))$, with $\pi: \{0, \dots, l\} \to \{0, \dots, l\}$ such that $\pi(0) = 0$, and for any $b \in \{1, \dots, l\}$, $\pi(b) = \pi(b-1)$ whenever $\beta(\tilde{x}^b) = \beta(\tilde{x}^{b-1})$ and $\pi(b) = \pi(b-1)+1$ otherwise, and $l' = \pi(l)$.

## A.2 Interval updates

We follow the notations of Sect. 2.2.6.

Let us consider any memory-based interval trajectory $(x^0, \dots, x^l)$ with associated $V^a$ vectors and $s^a$ configurations for $0 \le a \le l$, considering $s^0 = x^0$. Intuitively, to obtain the corresponding interval iterations, we will map the $x^a$ configurations to the *write* nodes, and $s^a$ configurations to the *read* nodes: given any pair of configurations $x, s \in \mathbb{B}^n$, let us define the configuration $z(x, s) \in \mathbb{B}^{2n}$ as follows: for all $i \in [n]$, $z(x, s)_{2i-1} = x_i$ and $z(x, s)_{2i} = s_i$. Given any $1 \le a < l$, we show there is a sequence of asynchronous iterations of $\tilde{f}$ from the configuration $z(x^{a-1}, s^{a-1})$ to the configuration $z(x^a, s^a)$. The idea is to first update the *read* nodes: for any component $i \in \Delta(s^{a-1}, s^a)$, by definition of $s^a$ and $V^a$,
$s_i^a = x_i^{V_i^a} = x^{a-1}$. Therefore, $f_{2i}(z(x^{a-1}, s^{a-1})) = x^{a-1}$. By updating only components in $\Delta(s^{a-1}, s^a)$, there is a sequence of iterations from $z(x^{a-1}, s^{a-1})$ to $z(x^{a-1}, s^a)$. Let $i^a$ be the component updated between $x^{a-1}$ and $x^a$. Because $V_{i^a}^a = a-1$, $x^{a-1} = s^a$. Thus, $\tilde{f}_{2i^a-1}(z(x^{a-1}, s^a)) = f_{i^a}(s^a) = x_{i^a}^a$. Hence, $z(x^{a-1}, s^a) \to z(x^a, s^a)$.

Conversely, given a sequence of interval iterations $z(x^0, x^0) \to z^1 \to \dots \to z^l$, one can compute a corresponding memory-based trajectory $(x^0, x^1 = \tau_w(z^{\pi^{-1}(1)}), \dots, x'^1 = \tau_w(z^{\pi^{-1}(l')}))$ corresponding on the projection over the write nodes, with $\tau_w : \mathbb{B}^{2n} \to \mathbb{B}^n$ maps configurations of the interval semantics to configurations of the BN $f$ by projecting on the write nodes, i.e., $\tau_w(z)_i = z_{2i-1}$ for every $i \in [n]$; and with $\pi : \{0, \dots, l\} \to \{0, \dots, l\}$ such that $\pi(0) = 0$ and for any $b \in \{1, \dots, l\}$, $\pi(b) = \pi(b-1)$ whenever $\tau_w(z^b) = \tau_w(z^{b-1})$ and $\pi(b) = \pi(b-1)+1$ otherwise, and $l' = \pi(l)$. The corresponding vectors $V^a$ for $1 \le a \le l'$ are defined such that $s_j^a = x_j^{V_j^a} = \tau(z^{\pi^{-1}(a)})_j$ for all $j \in [n]$.

## A.3 Cuttable updates

We follow the notations of Sect. 2.2.7.

The correspondence between memory-based trajectories and sequences of cuttable iterations follows the same scheme as in the previous section: between two configurations $x^{a-1}$, $x^a$ of a memory-based trajectory, there exists a corresponding sequence of iterations that first update the read nodes according to $C^a$, and then update the write node corresponding to the component $i^a$. Conversely, given a sequence of cuttable iterations, one obtain a corresponding memory-based trajectory by projecting over the write nodes.

Let us consider any memory-based cuttable trajectory $(x^0, \dots, x^l)$ with associated $C^a$ matrices and $s^a$ configurations for $0 \le a \le l$, considering $C^0 = 0^{n \times n}$ and $s^0 = x^0$. Given a configuration $x \in \mathbb{B}^n$ of the BN $f$, a trajectory $(x^0, \dots, x^a)$, and any matrix $C \le (a-1)^{n \times a}$, let us define the configuration $z(x, (x^0, \dots, x^a), C) \in \mathbb{B}^{n+|E|}$ of the E-extension of $f$ as follows: for all $i \in [n]$, $z(x, C)_i = x_i$, and for all $(j, k) \in E$, $z(x, C)_{(j,k)} = x_j^{C_{k,j}}$. Given any $1 \le a < l$, we show there is a sequence of asynchronous iterations of $\tilde{f}$, the E-extension of $f$, from the configuration $z(x^{a-1}, C^{a-1})$ to the configuration $z(x^a, C^a)$. The idea is to first update the read nodes, i.e., all the nodes $(j, k) \in [n] \times [n]$ such that $C_{k,j}^a \ne C_{k,j}^{a-1}$: by definition, $\tilde{f}_{(j,k)}(z(x^{a-1}, C^{a-1})) = x_j^{C_{k,j}^{a-1}}$. This leads to a sequence of iterations from $z(x^{a-1}, C^{a-1})$ to $z(x^{a-1}, C^a)$. Let $i^a$ be the component updated between $x^{a-1}$ and $x^a$: we obtain that $s^a = \pi^{i^a}(x^{a-1})$, thus $\tilde{f}_{i^a}(z(x^{a-1}, C^a)) = x_{i^a}^a$. Hence, $z(x^{a-1}, C^a) \to z(x^a, C^a)$.

Conversely, given a sequence of iterations $z(x^0, C^0) \to z^1 \to \dots \to z^l$ of the E-extension BN $\tilde{f}$, one can compute a corresponding memory-based trajectory $(x^0, x^1 = \tau_w(z^{\pi^{-1}(1)}), \dots, x'^1 = \tau_w(z^{\pi^{-1}(l')}))$ corresponding on the projection over the write nodes, with $\tau_w : \mathbb{B}^{n+|E|} \to \mathbb{B}^n$ maps configurations of $\tilde{f}$ to configurations of $f$ by projecting on the write nodes, i.e., $\tau_w(z)_i = z_i$ for every $i \in [n]$; and with $\pi : \{0, \dots, l\} \to \{0, \dots, l\}$ such that $\pi(0) = 0$ and for any $b \in \{1, \dots, l\}$, $\pi(b) = \pi(b-1)$ whenever $\tau_w(z^b) = \tau_w(z^{b-1})$ and $\pi(b) = \pi(b-1)+1$ otherwise, and $l' = \pi(l)$. The corresponding matrices $C^a$ for $1 \le a \le l'$ are defined such that $x_j^{C_{k,j}^a} = z_{(j,k)}^{\pi^{-1}(a)}$ for all $j, k \in [n]$.